2
的特定格式的现有文件动态地或预先生成可变的变量我有一个可以创建ECS Taskdefinition的简单操作手册。 例如:如何从AWS ECS
#variable file, vars.yml
---
containers:
- name: nash-test
essential: true
image: nash-test
memory: 256
portMappings:
- containerPort: 8080
hostPort: 80
protocol: tcp
environment:
- name: USERNAME
value: test-user
name: PASSWORD
value: pass123
name: MYSQL
value: mysqldb.com:3306
下面是剧本的执行文件main.yml
---
- hosts: localhost
connection: local
gather_facts: true
vars_files:
- ["vars.yml"]
tasks:
- name: Create task definition for ECS Cluster
ecs_taskdefinition:
state: present
family: avinash-environment
containers: "{{containers}}"
region: us-east-1
register: ecs_taskdef
这上面优良样板工程....但我想做出一些变量动态地使用或产生的是前也很好。
在我的情况,我有以下的文件在我的本地目录
#containers_variables
name: USERNAME
value: test-user
name: PASSWORD
value: pass123
name: MYSQL
value: mysqldb.com:3306
然后ansible变量文件预计,看起来像这样
#variable file, vars.yml
---
containers:
- name: nash-test
essential: true
image: nash-test
memory: 256
portMappings:
- containerPort: 8080
hostPort: 80
protocol: tcp
environment:
- #the values from container_variables have to be populated or dynamically read for this list purpose
有没有简单的解决这个?我尝试使用可靠的查找模块,但即时格式错误,其中说“type = list”正在预期。 这些家伙的任何想法?
在'environment'定义中有一个错字 - 应该有一个'-'符号来定界列表项。关于你的问题:你能以yaml或JSON格式存储你的'containers_variables'文件吗? –