File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/suse_ip.cpython-310.pyc
o
�N�g8� � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddl Zddl
mZ e�e
�Zeje�ej�ejjjd��d�ZdZdddd dd
d�ZdZd
ZdZdZdZdZdd� Zdd� Z dd� Z!dd� Z"dd� Z#dd� Z$dd� Z%d d!� Z&d"d#� Z'd$d%� Z(d&d'� Z)d(d)� Z*d*d+� Z+d,d-� Z,d.d/� Z-d0d1� Z.d2d3� Z/d4d5� Z0d6d7� Z1d8d9� Z2d:d;� Z3d<d=� Z4d>d?� Z5d@dA� Z6dBdC� Z7dDdE� Z8dFdG� Z9dHdI� Z:dJdK� Z;dLdM� Z<dNdO� Z=d^dPdQ�Z>dRdS� Z?d^dTdU�Z@dVdW� ZAdXdY� ZBdZd[� ZCd\d]� ZDdS )_zG
The networking module for SUSE based distros
.. versionadded:: 3005
� N)�CommandExecutionErrorZsuse_ip)�loader�ip�0Z16�1�layer2)� ad_selectZ tx_queues� lacp_rateZ max_bonds�use_carrier�xmit_hash_policyz/etc/sysconfig/networkz/etc/sysconfig/network/configz/etc/sysconfig/network/routes)�yes�on�truer T)�no�off�falser F)�eth�bond�alias�cloneZipsecZdialup�bridge�slave�vlan�ipip�ibc C s t d dkrtS dS )z3
Confine this module to SUSE based distros
Z os_familyZSuse)FziThe suse_ip execution module cannot be loaded: this module is only available on SUSE based distributions.)�
__grains__�__virtualname__� r r �H/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/suse_ip.py�__virtual__J s r c C s2 t |t�r|f}d}|�| |d�dd� |D ���S )�c
Build an appropriate error message from a given option and
a list of expected values.
z;Invalid option -- Interface: {}, Option: {}, Expected: [{}]�|c s � � | ]}t |�V qd S �N��str��.0�er r r � <genexpr>_ � � z#_error_msg_iface.<locals>.<genexpr>��
isinstancer% �format�join��iface�option�expected�msgr r r �_error_msg_ifaceW s
r4 c C s d}|� | ||�S )r zAInvalid option -- Route interface: {}, Option: {}, Expected: [{}])r- r/ r r r �_error_msg_routesb s r5 c C s t �d| ||� d S )Nz:Using default option -- Interface: %s Option: %s Value: %s��log�info)r0 �opt�valuer r r �_log_default_ifacek s �r; c C s0 t |t�r|f}d}|�| d�dd� |D ���S )r z6Invalid network setting -- Setting: {}, Expected: [{}]r! c s r"