წაშალეთ ცარიელი play ცვლადი, რომელიც Ansible-ის პროქსი რუკას მალავს
ინვენტარის ჯგუფის ცვლადები აგებენ play დონის განცხადებასთან, მაშინაც კი, როცა ეს განცხადება ცარიელია ან null.
თუ group_vars განსაზღვრავს პროქსი რუკას, მაგრამ დავალება ცარიელ მნიშვნელობას იღებს, მოძებნეთ იგივე ცვლადი, რომელიც play-შია გამოცხადებული. play ცვლადს უფრო მაღალი პრიორიტეტი აქვს; ცარიელი ჩანაცვლება მაინც გადაფარავს ინვენტარს.
გარე ჩამოტვირთვისთვის, რომელსაც საჯარო HTTP პროქსის გამოყენება უშვებს, HTTP პროქსების სია ინვენტარის მნიშვნელობებისთვის კანდიდატურ მისამართებს გვაწვდის. რუკა ინვენტარში დატოვეთ:
proxy_env:
http_proxy: http://proxy.example.net:8080
https_proxy: http://proxy.example.net:8080შემდეგ გამოიყენეთ ის განზრახულ დავალებაზე play დონის proxy_env: ჩანაცვლების გარეშე:
environment: "{{ proxy_env | default({}) }}"თუ როლს სარეზერვო ვარიანტი სჭირდება, როლის ნაგულისხმევებში ცარიელი რუკა ინვენტარის მნიშვნელობებზე დაბლა დგას და ინვენტარს იმარჯვებინებს.
ნაჩვენები ფილტრი undefined-ს ამუშავებს და არა ყველა ცარიელად მოჩვენებულ მდგომარეობას. გამოკვეთილი null უკვე განსაზღვრულია, ამიტომ ჩვეულებრივი default({}) არ შლის ამ უფრო მაღალი პრიორიტეტის გადაფარვას.
სანამ პროქსის საბოლოო წერტილს შეცვლით, შეამოწმეთ დაზარალებული ჰოსტის ეფექტური მნიშვნელობა. environment დირექტივა დავალების შეყვანას მხოლოდ მას შემდეგ აწვდის, რაც ცვლადების პრიორიტეტმა ის რუკა აირჩია, რომელსაც ის აფასებს.