Regex terraform本地exec中的转义url
假设我有:-Regex terraform本地exec中的转义url,regex,bash,sed,terraform,Regex,Bash,Sed,Terraform,假设我有:- variable "url" { value = "https://sqs.eu-central-1.amazonaws.com/11111111/my_queue.fifo" } provisioner "local-exec" { command = <<-EOT sed -i "s/URL.*:.*/URL: $url/g" "./test.yaml" EO
variable "url" {
value = "https://sqs.eu-central-1.amazonaws.com/11111111/my_queue.fifo"
}
provisioner "local-exec" {
command = <<-EOT
sed -i "s/URL.*:.*/URL: $url/g" "./test.yaml"
EOT
}
我想知道如何用terraform的URL变量替换我的
URL:“
元素?”?我尝试了很多次,但它返回了regex错误。逃离地狱:cry在测试中设置url
最简单的方法是使用。在这种情况下,您的test.yaml
将是:
kind: ConfigMap
apiVersion: v1
metadata:
name: test
namespace: default
data:
URL: ""
kind: ConfigMap
apiVersion: v1
metadata:
name: test
namespace: default
data:
URL: "${url}"
以及地形代码:
variable "url" {
default = "https://sqs.eu-central-1.amazonaws.com/11111111/my_queue.fifo"
}
output "test" {
value = templatefile("./test.yaml", {url = var.url})
}
我想您所需要的就是sed-I“s,URL.*:*,URL:$URL,g.”/test.yaml“
(假设,
中从来没有出现过$URL
)。或者,将其转义以用于sed
替换模式。请参见此操作是否仅适用于.yaml文件而不是tf文件,我尝试过这样做,但它给了我错误``对资源类型的引用后面必须至少有一个属性访问,并指定资源名称```@BilalBayasut是的,它与yaml
一起工作。答案中给出的例子是工作一。生活更安全,谢谢you@BilalBayasut没问题。很高兴它成功了:-)