例如,假设我以这种方式定义了几个资源(以.tf
格式):
resource resource_type X {
name = "X"
}
resource resource_type Y {
name = "Y"
}
...
Run Code Online (Sandbox Code Playgroud)
现在让我们稍后说我想创建新资源,每个资源都对应于先前创建的资源之一(X,Y,...) 有没有办法创建一个列表来保存先前创建的资源,然后循环该资源列表如下:
variable "list_of_previously_created_resources" {
type = list(resource)
default = [resource_type.X, resource_type.Y, ...]
}
# Now create corresponding resources:
resource type_Dependent d {
for_each = var.list_of_previously_created_resource
some_attribute = each.value.name
depends_on = [each.value]
}
Run Code Online (Sandbox Code Playgroud)
上面的语法当然不起作用,但我尽力给出了我想做的伪代码。重要的是,我不一定要循环遍历该类型的每个资源,"resource_type"
而只是循环我在列表变量中手动定义的资源。
我在文档中没有看到任何描述执行此操作的最佳方法的内容,所以我在这里。
我正在尝试docker-compose
在开发环境中本地运行我的 Node 项目以及 Firestore 模拟器。
我的 Node 项目有一个 Dockerfile,如下所示:
WORKDIR /app
ADD package*.json ./
RUN npm install
ADD bin ./bin
CMD [ "npm", "run", "dev" ]
Run Code Online (Sandbox Code Playgroud)
然后我有一个单独的 Dockerfile,Dockerfile.firestore
用于容器化 Firestore 模拟器。这个 Dockerfile 看起来像这样:
FROM node:alpine
RUN apk add openjdk11
RUN npm install -g firebase-tools
WORKDIR /app
CMD [ "firebase", "--project=xrechnung-app", "emulators:start", "--only", "firestore" ]
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml 的写法如下:
version: "3"
services:
api:
image: api
build:
context: api
dockerfile: Dockerfile.dev
depends_on:
- db
environment:
- PORT=3000
ports:
- 3000:3000
volumes: …
Run Code Online (Sandbox Code Playgroud) node.js firebase docker google-cloud-platform google-cloud-firestore