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 հաճախորդը սպառում իր պրոքսի կարգավորումը, փոխարենը սպասելու, որ հայտարարությունների հերթականությունը մեկուսացում կապահովի։

Առնչվող հոդվածներ