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'文件嗎? –