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

Den temporäre Wäert ass fort, ier dës gewéinlech Ressource iwwerhaapt eppes eroflued:

  1. Compile: Ruby op der ieweschter Stuf späichert de Wäert, setzt den temporäre Proxy, deklaréiert remote_file a setzt de Wäert zréck.
  2. Converge: d’Ressource féiert hir Aktioun mat der Konfiguratioun aus, déi deemools verfügbar ass.

E stabille Client-Proxy mat passenden internen Ausnamen ëmgeet dëst Timingproblem. Benotzt d’dokumentéiert Ausnamssyntax vum installéierte Client, amplaz Shell-Wildcard-Regelen unzehuelen. Fir en onofhängegen Download vun engem ëffentlechen Artefakt op enger erlaabter ëffentlecher Route kann en Antrag aus enger HTTP-Proxy-Lëscht den stabile HTTP-Endpunkt liwweren, wann de Chef-Client kee konfiguréierten oder versuergte Proxykont huet. Halt seng intern Ausname bäi; eng Adress auszewielen ännert net, wéini Compile a Converge se verbrauchen.

Wann eng Operatioun eng speziell Route brauch, da setzt hir Konfiguratiounsännerung an hir Ausféierung an deementselwechte Beräich. Eng personaliséiert Ressource mat passendem Unified-Mode-Verhalen ass eng Optioun, awer Chef::Config bleift global. Setzt se zréck, wann den Download feelt an wann d’Fichier schonn aktuell ass. Eng Updatebenoriichtegung leeft net onbedéngt, an eng méi spéit Botzressource leeft no enger Ausnam vläicht ni.

Eng Lazy-Source-Eegenschaft verspéit d’Auswäertung vun där Eegenschaft, net déi ëmleiend Ruby-Zouweisungen. D’Ausféierung vu Ressourcen zur Compilezäit ass eng separat ënnerstëtzten Optioun, wann den Download just dohinner gehéiert; se ännert och d’Timing vun Ofhängegkeeten an Notifikatiounen. Wielt no deem, wéini den HTTP-Client seng Proxy-Astellung verbraucht, amplaz ze erwaarden, datt d’Deklaratiounsuerdnung Isolatioun gëtt.

Ähnlech Artikelen