File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/states/__pycache__/keystone.cpython-310.pyc
o
�N�gk � @ s� d Z dd� Zdadad!dd�Z d"d d
�Zd!dd�Z d#d
d�Zd!dd�Z d#dd�Z d!dd�Z
d!dd�Zd!dd�Z d$dd�Z
d!dd�Z d%dd�Zd&dd �ZdS )'a�
Management of Keystone users
============================
:depends: - keystoneclient Python module
:configuration: See :py:mod:`salt.modules.keystone` for setup instructions.
.. code-block:: yaml
Keystone tenants:
keystone.tenant_present:
- names:
- admin
- demo
- service
Keystone roles:
keystone.role_present:
- names:
- admin
- Member
admin:
keystone.user_present:
- password: R00T_4CC3SS
- email: admin@domain.com
- roles:
admin: # tenants
- admin # roles
service:
- admin
- Member
- require:
- keystone: Keystone tenants
- keystone: Keystone roles
nova:
keystone.user_present:
- password: '$up3rn0v4'
- email: nova@domain.com
- tenant: service
- roles:
service:
- admin
- require:
- keystone: Keystone tenants
- keystone: Keystone roles
demo:
keystone.user_present:
- password: 'd3m0n$trati0n'
- email: demo@domain.com
- tenant: demo
- roles:
demo:
- Member
- require:
- keystone: Keystone tenants
- keystone: Keystone roles
nova service:
keystone.service_present:
- name: nova
- service_type: compute
- description: OpenStack Compute Service
c C s dt v rdS dS )z9
Only load if the keystone module is in __salt__
z
keystone.authZkeystone)Fz#keystone module could not be loaded)�__salt__� r r �H/opt/saltstack/salt/lib/python3.10/site-packages/salt/states/keystone.py�__virtual__F s r � � tenant_idNc K sN zt td dd| i|���d��dkrdadaW dS W dS ty& Y dS w )ze
Sets global variables _OS_IDENTITY_API_VERSION and _TENANT_ID
depending on API version.
zkeystone.api_version�profile�v� Z
project_idNr )�floatr �strip�
_TENANT_ID�_OS_IDENTITY_API_VERSION�KeyError)r �connection_argsr r r �_api_versionS s"