Terraform,Python外部提供程序不提供嵌套对象

时间:2019-11-14 22:40:42

标签: python terraform

我正在尝试找到一种使用python外部数据提供程序返回嵌套字典的方法。我现在正在使用terraform_external_data python软件包,但是可以征求建议。 这是我的代码。

terraform.tf

provider "external" {
  version = "~> 1.2"
}

data "external" "vip_config" {
  program = ["python", "${path.module}/f5-terraform-ext-data.py"]

}

output "output_all_result_data" {
  value = data.external.vip_config.result
}

f5-terraform-ext-data.py

@terraform_external_data
def f5_ext_data(tf_query):

    tf_query.update({"name": "pool1"})

    return tf_query


if __name__ == '__main__':
    f5_ext_data()

以上方法有效,并且给了我类似的东西:

output_all_result_data = {
  "name": "pool1"
}

但是我正在看的是获得更多嵌套词典的一种方法。如下所示:

{"pool":[{"name":"pool1"},{"name":"pool2"}]}

当我返回此数据时,它不起作用。错误错误为:

Error: failed to execute "python": Values must be strings.

任何建议如何使其起作用?我可以使其在Python中运行,但不适用于数据提供程序。 Terraform给我错误。

谢谢。

0 个答案:

没有答案