ভার্সেলটি যখন yML এ অনুপস্থিত থাকে তখন ত্রুটি ছুঁড়ে ফেলতে বাধ্য করে?


8

অপরিবর্তিত yML ফাইলগুলিতে ভেরটি প্রতিস্থাপন করার সময় কি উত্তরকে জোর করা সম্ভব? খালি স্ট্রিংয়ের পরিবর্তে নিঃশব্দে পরিবর্তিত একটি ত্রুটি ফেলে দেওয়া কি?

উত্তর:


9

হ্যা এটা সম্ভব. জটিল ভেরিয়েবল ডেটা অ্যাক্সেসের অধীনে অনলাইন ডকুমেন্টেশন পরীক্ষা করুন ।

ঠিক এটি করার জন্য একটি উদাহরণ সরবরাহ করা হয়েছে:

tasks:
    - shell: echo "I've got '{{ foo }}' and am not afraid to use it!"
      when: foo is defined

    - fail: msg="Bailing out: this play requires 'bar'"
      when: bar is not defined

8

[defaults]আপনার উত্তরযোগ্য cfg বিভাগে এই লাইনটি যুক্ত করুন :

error_on_undefined_vars = True

কোনও ভেরিয়েবল অপরিজ্ঞাত করা থাকলে আপনি এখন একটি ত্রুটি বার্তা পাবেন।


আমি বিশ্বাস করি যে বিকল্পটির জন্য 1.3 প্রয়োজন, যা শীঘ্রই আসছে তবে এখনও প্রকাশ করা হয়নি।
mblakele

1

এতে আপনার ভেরিয়েবলগুলি সংজ্ঞায়িত করুন

roles/<role_name>/defaults/main.yml

মত:

SUPERVAR:
  VAR1:foo
  VAR2:bar

এবং তারপর করতে

roles/<role_name>/tasks/main.yml

মত:

- fail: msg="{{ item }} is not defined"
  when: not {{ item }}
  with_items:
    - SUPERVAR.VAR1
    - SUPERVAR.VAR2
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.