2015-02-05 14 views
0

Рассмотрим мой файл SLS,Как использовать значения переменных в формуле соли?

state1: 
cmd.run: 
    - order: 1 
    - name: | 
    USER_NAME='username' 
    USERPWD='password' 
    DB_NAME='test' 
    USER_TOBE_CREATED='new_user' 
    PASSWORD='newpass' 

mysql_user.present: 
    - order: 2 
    - host: localhost 
    - username: USER_TOBE_CREATED 
    - password: PASSWORD 
    - connection_user: USER_NAME 
    - connection_pass: USERPWD 
    - connection_charset: utf8 
    - saltenv: 
    - LC_ALL: "en_US.utf8" 

mysql_grants.present: 
    - order: 3 
    - grant: all privileges 
    - database: DB_NAME.* 
    - user: USER_TOBE_CREATED 

В штатах mysql_user.present и mysql_grants.present Я использую переменные USER_TOBE_CREATED, USER_NAME, USERPWD и т.д., чьи значения присваиваются в государственной cmd.run. Как я могу заставить эти два состояния использовать фактические значения этих переменных ?. Здесь он принимает имя переменной как значение.

ответ

0

Вы можете объявить переменные в самом файле состояния, то есть:

{% set user_name = "name" %}

и:

state1: 
cmd.run: 
    - order: 1 
    - name: | 
    USER_NAME='{{ user_name }}' 

Вы можете повторно использовать переменную, как столько раз, сколько вы хотите внутри файла состояния. Сообщите мне, если это поможет.

+0

Да, это сработало. Огромное спасибо. –