2017-09-02 16 views
0

すべての運を試しましたが、うまく動作しませんでした。私は環境変数のチェックを条件付きで設定し、次にincludeと2つのタスクを使ってmain.ymlでプレーやタスクを実行する必要があります。環境がgroups_vars変数ファイル "すべて" 環境に設定されているmain.yml条件変数を設定することができます

- include: createnonprod.yml 
when: "{{ environment }}" == 'dev' or "{{ environment }}" == 'qa' or " 
{{ environment }}" == 'preprod' 

- include: createprod.yml 
when: "{{ environment }}" == 'prod' 

:チェックする

"{{ lookup('env','ENVIRONMENT') }}" 

しかし、このロジックは

(OR)

に失敗します

このロジックを実行して、変数

create.yml

- name: Install all users from IAM of the AWS Account. 
    shell: "{{ scriptdir }}/install.sh -i {{ iamgroup }},{{ sudogroup }} -s {{ sudogroup }}" 
    when: "{{ environment }}" == 'dev' or "{{ environment }}" == 'qa' or "{{ environment }}" == 'preprod' 

- name: Install all users from IAM of the AWS Account. 
    shell: "{{ scriptdir }}/install.sh -i {{ iamgroup }},{{ sudogroup }} -s {{ sudogroup }}" 
    when: "{{ environment }}" == 'prod' 

をチェックするための条件に動作ロジックで私を助けてください。私はこのエラーを取得する:

fatal: [localhost]: FAILED! => {"failed": true, "reason": "ERROR! 
Syntax Error while loading YAML.\n\n\nThe error appears to have been in 
'/tmp/ansible/roles/provision/users/tasks/create.yml': line 18, column 
22, but may\nbe elsewhere in the file depending on the exact syntax 
problem.\n\nThe offending line appears to be:\n\n when:\n - {{ 
env_type }} == 'dev'\n     ^here\nWe could be wrong, 
but this one looks like it might be an issue with\nmissing quotes. 
Always quote template expression brackets when they\nstart a value. For 
instance:\n\n with_items:\n  - {{ foo }}\n\nShould be written 
as:\n\n with_items:\n  - \"{{ foo }}\"\n"} 

答えて

1

The When Statement

The when clause, which contains a raw Jinja2 expression without double curly braces

when: environment == 'dev' or environment == 'qa' or environment == 'preprod' 

when: environment == 'prod' 
関連する問題