0
私は新しくAnsibleです。 私は、EC2の事実を使って起動時間を取得するために、できるだけ早く使用できるEC2インスタンスを作成しました。日付の可能な値の比較EC2
ただし、起動時を日付形式で保存できません。
私の目標もそれを見つけて、いくつかの操作を実行でき、システムの日付と打ち上げ時間日付の違いを(得ることです。
どれガイダンスが高く評価されています。
よろしく、 ネアシュシャルマ
私は新しくAnsibleです。 私は、EC2の事実を使って起動時間を取得するために、できるだけ早く使用できるEC2インスタンスを作成しました。日付の可能な値の比較EC2
ただし、起動時を日付形式で保存できません。
私の目標もそれを見つけて、いくつかの操作を実行でき、システムの日付と打ち上げ時間日付の違いを(得ることです。
どれガイダンスが高く評価されています。
よろしく、 ネアシュシャルマ
to_datetime(format)
フィルタがあるAnsible 2.2ので
ここ
があなたの仕事のための例です。
---
- hosts: localhost
gather_facts: yes
tasks:
- name: local date
debug:
msg: "{{ ansible_date_time.iso8601 }}"
- ec2_remote_facts:
region: eu-west-1
register: ec2
- name: instance date
debug:
msg: "{{ ec2.instances[0].launch_time }}"
- name: date difference in days
debug:
msg: "{{ (ansible_date_time.iso8601[:19] | to_datetime(fmt) - ec2.instances[0].launch_time[:19] | to_datetime(fmt)).days }}"
vars:
fmt: "%Y-%m-%dT%H:%M:%S"
注[:19]
ミリ秒とタイムゾーン文字の処理を避けるため、最初の19文字を取得するには、
結果:
PLAY [localhost] ***************************************************************
TASK [setup] *******************************************************************
ok: [localhost]
TASK [local date] **************************************************************
ok: [localhost] => {
"msg": "2017-02-03T18:39:12Z"
}
TASK [ec2_remote_facts] ********************************************************
ok: [localhost]
TASK [instance date] ***********************************************************
ok: [localhost] => {
"msg": "2016-09-21T15:43:40.000Z"
}
TASK [date difference in days] *************************************************
ok: [localhost] => {
"msg": "135"
}
PLAY RECAP *********************************************************************
localhost : ok=5 changed=0 unreachable=0 failed=0
が – Naresh
'ansible_date_time.iso8601あなたに非常に多くの..Konstantinスヴォーロフをありがとう| to_datetime( '%Y-%m-%dT%H:%M:%SZ')も動作します。 –