क्या कोई कृपया बता सकता है कि कैसे मूल्य सूची में परिभाषित मूल्य।aws_ec2.yml फ़ाइल?

मैं नीचे दिए गए टैग उदाहरणों पर ansible-playbook निष्पादित करना चाहता हूं। जहां मुझे पर्यावरण को परिभाषित करने की आवश्यकता है: इन्वेंट्री में चरण। aws_ec2.yml। अर्थात कुंजी में या उपसर्ग में?

      tags:
        Environment: stage

नीचे इनवेंटरी.aws_ec2.yml फ़ाइल है।

plugin: aws_ec2
regions:
  - us-east-2
  - us-west-2

keyed_groups:
  # Add hosts to tag name groups
  #  - key: tags.Role
  #    prefix: role_
  #    separator: ""
  - key: tags.Environment
    prefix: stage
    separator: ""
0
Vishal Patil 26 अक्टूबर 2020, 13:51

1 उत्तर

सबसे बढ़िया उत्तर

जब आप key: tags.Environment का उपयोग करते हैं, तो इस टैग के प्रत्येक भिन्न मान से एक समूह बनाया जाएगा, prefix ansible में बनाए गए प्रत्येक समूह के नाम में एक उपसर्ग जोड़ना है (मैं आपको इस मामले में अनुशंसा करता हूं) उपयोग "Environment") और separator उपसर्ग और टैग के मान के बीच वर्ण जोड़ने के लिए है (डिफ़ॉल्ट रूप से "_" है)। अपना aws_ec2.yml लिखने का एक तरीका है

plugin: aws_ec2
regions:
  - us-east-2
  - us-west-2

keyed_groups:
  - key: tags.Environment
    prefix: Environment
    separator: "_"

उदाहरण के लिए, यदि आपके पास टैग के साथ 4 ec2 उदाहरण हैं: पर्यावरण = चरण और टैग के साथ 2 ec2 उदाहरण: पर्यावरण = उत्पाद, आपके पास दो समूह होंगे, Environment_stage और Environment_prod तो आप बना सकते हैं इस तरह आपकी प्लेबुक

- name: Testing my groups
  hosts: Environment_stage
  gather_facts: yes

  tasks:
  - name: Debug my ec2 instances
    debug:
      msg: "hostname: {{ ansible_hostname }}" 
1
gary lopez 26 अक्टूबर 2020, 15:52