previous = Chef::Config[:http_proxy]
Chef::Config[:http_proxy] = 'http://proxy.example.net:8080'

remote_file '/var/tmp/package.zip' do
  source 'https://downloads.example.net/package.zip'
end

Chef::Config[:http_proxy] = previous

დროებითი მნიშვნელობა უკვე გაქრა, სანამ ეს ჩვეულებრივი რესურსი რამეს ჩამოტვირთავს:

  1. Compile: ზედა დონის Ruby ინახავს მნიშვნელობას, აყენებს დროებით პროქსის, აცხადებს remote_file-ს და აღადგენს მნიშვნელობას.
  2. Converge: რესურსი ასრულებს თავის მოქმედებას მაშინ ხელმისაწვდომი კონფიგურაციით.

შესაბამისი შიდა გამონაკლისებით სტაბილური კლიენტის პროქსი თავიდან ირიდებს ამ დროის პრობლემას. გამოიყენეთ დაყენებული კლიენტის დოკუმენტირებული გამონაკლისის სინტაქსი და არ ივარაუდოთ shell wildcard-ის წესები. დაშვებულ საჯარო მარშრუტზე საჯარო არტეფაქტის დამოუკიდებელი ჩამოტვირთვისთვის HTTP პროქსების სიის ჩანაწერს შეუძლია უზრუნველყოს სტაბილური HTTP ბოლო წერტილი, როცა Chef კლიენტს არ აქვს კონფიგურირებული ან შენახული პროქსის ანგარიში. შეინარჩუნეთ მისი შიდა გამონაკლისები; მისამართის არჩევა არ ცვლის, როდის მოიხმარენ მას compile და converge.

თუ ერთ ოპერაციას განსაკუთრებული მარშრუტი სჭირდება, მისი კონფიგურაციის ცვლილება და შესრულება ერთსა და იმავე არეში მოათავსეთ. შესაბამისი unified-mode ქცევის მქონე მორგებული რესურსი ერთი ვარიანტია, მაგრამ Chef::Config გლობალური რჩება. აღადგინეთ ის, როცა ჩამოტვირთვა ვერ ხერხდება და როცა ფაილი უკვე აქტუალურია. განახლების შეტყობინება უპირობოდ არ სრულდება, ხოლო მოგვიანო გასუფთავების რესურსი შესაძლოა გამონაკლისის შემდეგ არასოდეს შესრულდეს.

lazy source თვისება აყოვნებს ამ თვისების შეფასებას და არა მიმდებარე Ruby მინიჭებებს. compile-ის დროს რესურსების შესრულება ცალკე მხარდაჭერილი არჩევანია, როცა ჩამოტვირთვა სწორედ მაშინ უნდა მოხდეს; ის ასევე ცვლის დამოკიდებულებებისა და შეტყობინებების დროს. აირჩიეთ იმის მიხედვით, როდის მოიხმარს HTTP კლიენტი თავის პროქსის პარამეტრს და არა იმის იმედით, რომ გამოცხადების რიგი იზოლაციას მოგვცემს.

დაკავშირებული სტატიები