File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/states/__pycache__/pbm.cpython-310.pyc
o
�N�g�Q � @ s� d Z ddlZddlZddlZddlmZmZ ddlmZ ddl m
Z
z
ddlmZ dZ
W n ey7 dZ
Y nw e�e�Zd d
� Zdd� Zd
d� Zdd� Zdd� ZdS )aY
Manages VMware storage policies
(called pbm because the vCenter endpoint is /pbm)
Examples
========
Storage policy
--------------
.. code-block:: python
{
"name": "salt_storage_policy"
"description": "Managed by Salt. Random capability values.",
"resource_type": "STORAGE",
"subprofiles": [
{
"capabilities": [
{
"setting": {
"type": "scalar",
"value": 2
},
"namespace": "VSAN",
"id": "hostFailuresToTolerate"
},
{
"setting": {
"type": "scalar",
"value": 2
},
"namespace": "VSAN",
"id": "stripeWidth"
},
{
"setting": {
"type": "scalar",
"value": true
},
"namespace": "VSAN",
"id": "forceProvisioning"
},
{
"setting": {
"type": "scalar",
"value": 50
},
"namespace": "VSAN",
"id": "proportionalCapacity"
},
{
"setting": {
"type": "scalar",
"value": 0
},
"namespace": "VSAN",
"id": "cacheReservation"
}
],
"name": "Rule-Set 1: VSAN",
"force_provision": null
}
],
}
Dependencies
============
- pyVmomi Python Module
pyVmomi
-------
PyVmomi can be installed via pip:
.. code-block:: bash
pip install pyVmomi
.. note::
Version 6.0 of pyVmomi has some problems with SSL error handling on certain
versions of Python. If using version 6.0 of pyVmomi, Python 2.6,
Python 2.7.9, or newer must be present. This is due to an upstream dependency
in pyVmomi 6.0 that is not supported in Python versions 2.7 to 2.7.8. If the
version of Python is not in the supported range, you will need to install an
earlier version of pyVmomi. See
`Issue #29537 <https://github.com/saltstack/salt/issues/29537>` for more
information.
� N)�ArgumentValueError�CommandExecutionError)�recursive_diff)� list_diff)�VmomiSupportTFc C s. t sdS dtjv rtjdkrtjdk rdS dS )N)Fz,State module did not load: pyVmomi not foundz vim25/6.0)� � )r r � )FzaState module did not load: Incompatible versions of Python and pyVmomi present. See Issue #29537.T)�HAS_PYVMOMIr Z
versionMap�sys�version_info� r
r
�C/opt/saltstack/salt/lib/python3.10/site-packages/salt/states/pbm.py�__virtual__q s
r c C s dS )z
Init function
Tr
)�lowr
r
r �mod_init� s r c
C s� t �|�}td � }t�d|� t|� d� � d }t�d| |� t�d|� d}| i ddd �}g }i }d}d} �zTtd
� } td | �}
t�d|
� |�d
�r�t|d
�dkr\td��|d
d }|
d
d }t |d |�dg �dd�}
|d
= |�d�r�|d= |d= t
|t|��}|
d
= t
|
|�}|js�|
js�|j�r�d|j
v s�d|j
v r�td��d}td �rg }|jr�|�dd� |j�d�D �� |js�|
jr�|�d� |jr�|�dd� |j�d�D �� |
jr�|�d� |�dd� |
j�d�D �� |�d �| |d�|��� ntd! |
d || d"� |�d#|� d$�� t�|d% � |j
}|j
g|d
<