小编Mac*_*zuk的帖子

Terraform - 模块之间的依赖关系

我试图告诉 terraform 资源依赖于其他资源。问题是资源位于不同的模块中。依赖资源看起来像这样:

variable dependency {
  type = "list"
  default = []
}

resource "docker_container" "web" {
  depends_on = "${var.dependency}"
...
Run Code Online (Sandbox Code Playgroud)

然后我“调用”模块:

module "wordpress" {
  source = "../modules/wordpress"
  dependency = [ "${module.provision.res}" ]
}
Run Code Online (Sandbox Code Playgroud)

我得到了错误:

  on ../modules/wordpress/main.tf line 11, in resource "docker_container" "web":
  11:   depends_on = "${var.dependency}"

A static list expression is required.
Run Code Online (Sandbox Code Playgroud)

看起来我不能在“depends_on”中使用变量。如何在模块之间创建依赖关系?

PS:我依赖的资源是一个 null_resource,它提供了一些配置。每次更改时我都需要重建一些东西。

terraform

4
推荐指数
1
解决办法
1996
查看次数

MongoDB - 使用键中的空格访问游标

我的集合包含空格的键,我不知道如何从js脚本访问它.例如:

c = db.collection.find()
    while(c.hasNext()) {
    print(c.next().'my key with spaces');
}
Run Code Online (Sandbox Code Playgroud)

不行.怎么做?

javascript mongodb mongodb-query

3
推荐指数
1
解决办法
539
查看次数

打印由空格以外的分隔符分隔的函数参数

我需要使用非标准分隔符打印参数的函数(而不是由创建的空格my_func() { echo "$@"; }).像这样的东西:

$ my_func foo bar baz
foo;bar;baz
Run Code Online (Sandbox Code Playgroud)

参数数量各不相同,我不需要尾随分隔符.有任何想法吗?

bash

3
推荐指数
1
解决办法
30
查看次数

如何从AWS EC2 describe-instances获取公共DNS名称

我试图做一个简单的脚本,查询我的ec2实例,并获取与我的过滤器匹配的实例的公共dns名称。我的第一枪:

#!/bin/bash

aws ec2 describe-instances \
    --filters "Name=tag:app,Values=swarm-cluster" \
              "Name=tag:role,Values=manager" \
    --query "Reservations[*].Instances[*].PublicDnsName"
Run Code Online (Sandbox Code Playgroud)

几乎可以用,但是我得到了一些难看的东西:

[
    [
        ""
    ],
    [
        "ec2-xxx-xxx-xxx-xxx.venus-central-1.compute.amazonaws.com"
    ]
]
Run Code Online (Sandbox Code Playgroud)

我只想列出FQDN,每行一个。如何格式化输出?我知道,我可以使用tr,sed等来完成此操作,但我想使用更复杂的方法。:)

bash json amazon-ec2 amazon-web-services jq

0
推荐指数
1
解决办法
74
查看次数