File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/openvswitch.cpython-310.pyc
Back
o ;jD � @ s d Z ddlZddlZddlmZmZ ddlmZ e� e �Zdd� Zdd� Z d d � Zdd� Zd9dd�Zdd� Zdd� Zdd� Zdd� Zd:dd�Zd;dd�Zdd� Zd d!� Zd<d#d$�Zd;d%d&�Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd=d/d0�Zd1d2� Z d>d3d4�Z!d=d5d6�Z"d=d7d8�Z#dS )?z� Support for Open vSwitch - module with basic Open vSwitch commands. Suitable for setting up Openstack Neutron. :codeauthor: Jiri Kotlin <jiri.kotlin@ultimum.io> � N)�ArgumentValueError�CommandExecutionError)�jsonc C s t jj�d�r dS dS )z; Only load the module if Open vSwitch is installed � ovs-vsctlZopenvswitch)FzMissing dependency: ovs-vsctl)�salt�utils�path�which� r r �L/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/openvswitch.py�__virtual__ s r c C � | rdS dS )z� Returns --may-exist parameter for Open vSwitch command. Args: may_exist: Boolean whether to use this parameter. Returns: String '--may-exist ' or empty string. z--may-exist � r )� may_existr r r �_param_may_exist � r c C r )z� Returns --if-exist parameter for Open vSwitch command. Args: if_exists: Boolean whether to use this parameter. Returns: String '--if-exist ' or empty string. z--if-exists r r )� if_existsr r r �_param_if_exists+ r r c C s | dkrdS dS )z� Evaulates Open vSwitch command`s retcode value. Args: retcode: Value of retcode field from response, should be 0, 1 or 2. Returns: True on 0, else False r TFr )�retcoder r r �_retcode_to_bool; s r r � c C s | dkr|� |�}|S dS )a1 Evaulates Open vSwitch command`s retcode value. Args: retcode: Value of retcode field from response, should be 0, 1 or 2. stdout: Value of stdout filed from response. splitstring: String used to split the stdout default new line. Returns: List or False. r F)�split)r �stdoutZsplitstring�retr r r �_stdout_list_splitK s r c C s� t | t�rdd� | �� D �S t | t�rWt| �dkrW| d }| d }|dkr1t |t�r1dd� |D �S |d krUt |t�rU|D ]}t |t�rIt|�dkrM| S q<d d� |D �S | S t | t�rcdd� | D �S | S )a, Converts from the JSON output provided by ovs-vsctl into a usable Python object tree. In particular, sets and maps are converted from lists to actual sets or maps. Args: obj: Object that shall be recursively converted. Returns: Converted version of object. c S s i | ]\}}t |�t |��qS r �� _convert_json)�.0�key�valr r r � <dictcomp>k � z!_convert_json.<locals>.<dictcomp>� r � �setc S � g | ]}t |��qS r r �r �elemr r r � <listcomp>p � z!_convert_json.<locals>.<listcomp>�mapc S s i | ]}|d t |d ��qS )r r# r r&