Rabbitmq地形provider支持cacert_file
作为自变量,即自定义CA的文件路径。我的自定义CA存储在AWS ssm参数中。我需要获取它,将其放入文件中,并使用cacert_file
的文件值路径。
所以,首先我获取值:
data "aws_ssm_parameter" "rabbitmq_cacert_file" {
name = "/shared/${var.metaenv}/rabbitmq/ca"
}
然后,我使用此值创建一个临时文件:
resource "local_file" "rabbitmq_ca" {
content = data.aws_ssm_parameter.rabbitmq_cacert_file.value
filename = "${path.module}/rabbitmq_cacert_file"
}
最后,我在提供程序中使用此文件:
provider "rabbitmq" {
endpoint = "https://myhost:8443"
username = myuser
password = mypass
cacert_file = local_file.rabbitmq_ca.filename
}
但是我在制定锻炼计划时遇到了问题:
Error: open ./rabbitmq_cacert_file: no such file or directory
on main.tf line 28, in provider "rabbitmq":
28: provider "rabbitmq" {
我认为这是一个依赖性问题:当提供程序的配置尝试读取该文件时,尚未创建该文件。
由于无法添加dependency on provider,有没有办法解决我的问题?