File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/pillar/__pycache__/csvpillar.cpython-310.pyc
Back
o ;jf � @ s: d Z ddlZddlZdZdd� Z d dd �ZdS )af Store key/value pairs in a CSV file .. versionadded:: 2016.11.0 Example configuration: .. code-block:: yaml ext_pillar: - csv: /path/to/file.csv # or ext_pillar: - csv: path: /path/to/file.csv namespace: 'subkey' fieldnames: - col1 - col2 - col2 The first column must be minion IDs and the first row must be dictionary keys. E.g.: ========== ========= ====== id role env ========== ========= ====== jerry web prod stuart web stage dave web qa phil db prod kevin db stage mike db qa ========== ========= ====== Will produce the following Pillar values for a minion named "jerry": .. code-block:: python { 'role': 'web', 'env': 'prod', } � N�csvc C s t S )N)�__virtualname__� r r �I/opt/saltstack/salt/lib/python3.10/site-packages/salt/pillar/csvpillar.py�__virtual__7 s r �id�excelc C s� t jj�|d��8} tj| ||||d�} | D ]"}|| | kr7|r,||i W d � S | W d � S qW d � i S 1 sCw Y i S )ag Read a CSV into Pillar :param str path: Absolute path to a CSV file. :param str idkey: (Optional) The column name of minion IDs. :param str namespace: (Optional) A pillar key to namespace the values under. :param list fieldnames: (Optional) if the first row of the CSV is not column names they may be specified here instead. �r)�restkey�restval�dialectN)�salt�utils�filesZfopenr Z DictReader)ZmidZpillar�pathZidkey� namespaceZ fieldnamesr r r �fZsheet�rowr r r � ext_pillar; s"