0
私の必要条件は、変数ファイルを私のAnsibleスクリプトに動的に含めることです。私は私のVARSディレクトリにdev.yml
を続ければ、私のansible task-S3から変数ファイルを引き出す方法
- name: Include vars file
include_vars: vars/dev.yml
- name: Some other task
cp: copy something
上記の動作中に、以下の置くことによってそれを行うことができます。今私は実際にディレクトリにdev.ymlを入れたくないので、私はS3からそれを抜き出し、その中で変数を使いたいと思っています。以下のようなもの -
- name: Get dev file
s3:
bucket: bucket_name
object: object_name
dest: "dest_directory" ## Here I want the destination to be vars/dev.yml
mode: get
aws_access_key: "{{ s3.aws_access_key }}"
aws_access_key: "{{ s3.aws_secret_key }}"
- name: Include vars file
include_vars: vars/dev.yml
- name: Some other task that uses vars in dev.yml
template: render some template using vars in dev.yml and copy to server
上記は実際には機能しません。これはどうすればいいですか?
なぜこれが機能しないのですか? dev.ymlは、管理対象ホストではなく、制御ホスト上でフェッチされるべきであることに留意してください。 –
@ ConstantinSuvorov - わかりました、ありがとうございます。しかし、現在はまず 's3'モジュールを使用して管理対象ホスト上のファイルをダウンロードし、' fetch'モジュールを使用してそれを制御ホストにコピーし、それを使って変数をロードします。 s3からホストを制御するファイルを直接取得する方法はありますか? –
は 'delegate_to'で試行されましたか? –