3 \¼meÓ ã @sÈUdZddlZddlmZddlmZddlmZddlm Z ddl m Z m Z ddl mZejeƒZeZd d gZd Zd Zd ddedƒeedddgdgdœZe e eƒZee eeddœdd„Zdd„ZdS)z)Apt Pipelining: configure apt pipelining.éN)Údedent)Úutil)ÚCloud)ÚConfig)Ú MetaSchemaÚ get_meta_doc)Ú PER_INSTANCEZubuntuZdebianz+/etc/apt/apt.conf.d/90cloud-init-pipeliningzQ//Written by cloud-init per 'apt_pipelining' Acquire::http::Pipeline-Depth "%s"; Zcc_apt_pipeliningzApt PipeliningzConfigure apt pipelininga This module configures apt's ``Acquite::http::Pipeline-Depth`` option, which controls how apt handles HTTP pipelining. It may be useful for pipelining to be disabled, because some web servers, such as S3 do not pipeline properly (LP: #948461). Value configuration options for this module are: * ``os``: (Default) use distro default * ``false`` disable pipelining altogether * ````: Manually specify pipeline depth. This is not recommended.zapt_pipelining: falsezapt_pipelining: oszapt_pipelining: 3Úapt_pipelining)ÚidÚnameÚtitleÚ descriptionÚdistrosÚ frequencyZexamplesZactivate_by_schema_keys)r ÚcfgÚcloudÚargsÚreturncCst|jddƒ}t|ƒjƒjƒ}|dkr2tdttƒn>|d kr>dS|dd„td d ƒDƒkrdt|ttƒn tjd |ƒdS) Nr ÚosZfalseÚ0ÚnoneÚ unchangedcSsg|] }t|ƒ‘qS©)Ústr)Ú.0Úbrrú'/usr/lib/python3.6/cc_apt_pipelining.pyú Fszhandle..réz%Invalid option for apt_pipelining: %s)rrr) ÚgetrÚlowerÚstripÚwrite_apt_snippetÚLOGÚ DEFAULT_FILEÚrangeZwarning)r rrrZapt_pipe_valueZapt_pipe_value_srrrÚhandle>s r&cCs&t|}tj||ƒ|jd||ƒdS)z0Writes f_name with apt pipeline depth 'setting'.z+Wrote %s with apt pipeline depth setting %sN)Ú APT_PIPE_TPLrZ write_fileÚdebug)ZsettingÚlogZf_nameZ file_contentsrrrr"Ls r")Ú__doc__ZloggingÚtextwraprZ cloudinitrZcloudinit.cloudrZcloudinit.configrZcloudinit.config.schemarrZcloudinit.settingsrZ getLoggerÚ__name__r#rrr$r'ÚmetarÚlistr&r"rrrrÚs4