मैं निम्नलिखित कार्य का उपयोग करके प्रमाणपत्र.पेम फ़ाइल की सामग्री को एक चर में संग्रहीत करने का प्रयास कर रहा हूं:

 - name: Get the contents of the root certificate
   shell: cat {{ ca_certificate_file }}

 - name: Decode data and store as fact
   set_fact:
     root_certificate_content: "{{ ca_certificate_data.stdout }}"

वेरिएबल root_certificate_content में फ़ाइल की संपूर्ण सामग्री है लेकिन एक नई लाइन के बजाय यह इसे एक स्थान से बदल रही है। मेरे पास एक तरीका है जिससे मैं प्रमाणपत्र सामग्री प्राप्त कर सकता हूं क्योंकि यह चर में है।

1
Abc 8 जुलाई 2019, 11:43

1 उत्तर

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

लुकअप प्लग इन आज़माएं

- set_fact:
    root_certificate_content: "{{ lookup('file', ca_certificate_file) }}"

उदाहरण के लिए "the variable "root_certificate_content" should have the contents of the file as it is. If the file has a new line then it should come as the new line"। नीचे का नाटक

- hosts: localhost
  tasks:
    - set_fact:
        root_certificate_content: "{{ lookup('file', 'cert1') }}"
    - debug:
        msg: "{{ root_certificate_content.split('\n') }}"

फ़ाइल के साथ (प्रत्येक नई पंक्ति के साथ 3 पंक्तियाँ)

$ cat cert1 
line 1
line 2
line 3

चर की सामग्री देता है root_certificate_content (प्रत्येक में नई पंक्ति के साथ 3 पंक्तियाँ)

"msg": [
    "line 1", 
    "line 2", 
    "line 3"
]

"if you just show the value of root_certificate_content without using .split('\n') in the debug msg"

- debug:
    var: root_certificate_content

फिर स्ट्रिंग में न्यूलाइन देखी जा सकती है

"root_certificate_content": "line 1\nline 2\nline 3"
0
Vladimir Botka 8 जुलाई 2019, 10:47