�
�Udac @` s� d d l m Z m Z m Z e Z i d d 6d g d 6d d 6Z d Z d Z d d
l m
Z
m Z m Z y/ d d l
Z
d d l j Z d d l m Z Wn e k
r� n Xd
� Z e d k r� e � n d S( i ( t absolute_importt divisiont print_functions 1.1t metadata_versiont previewt statust communityt supported_bysW
---
module: tower_user
author: "Wayne Witzel III (@wwitzel3)"
version_added: "2.3"
short_description: create, update, or destroy Ansible Tower user.
description:
- Create, update, or destroy Ansible Tower users. See
U(https://www.ansible.com/tower) for an overview.
options:
username:
description:
- The username of the user.
required: True
first_name:
description:
- First name of the user.
last_name:
description:
- Last name of the user.
email:
description:
- Email address of the user.
required: True
password:
description:
- Password of the user.
superuser:
description:
- User is a system wide administrator.
type: bool
default: 'no'
auditor:
description:
- User is a system wide auditor.
type: bool
default: 'no'
state:
description:
- Desired state of the resource.
default: "present"
choices: ["present", "absent"]
requirements:
- ansible-tower-cli >= 3.2.0
extends_documentation_fragment: tower
s
- name: Add tower user
tower_user:
username: jdoe
password: foobarbaz
email: [email protected]
first_name: John
last_name: Doe
state: present
tower_config_file: "~/tower_cli.cfg"
- name: Add tower user as a system administrator
tower_user:
username: jdoe
password: foobarbaz
email: [email protected]
superuser: yes
state: present
tower_config_file: "~/tower_cli.cfg"
- name: Add tower user as a system auditor
tower_user:
username: jdoe
password: foobarbaz
email: [email protected]
auditor: yes
state: present
tower_config_file: "~/tower_cli.cfg"
- name: Delete tower user
tower_user:
username: jdoe
email: [email protected]
state: absent
tower_config_file: "~/tower_cli.cfg"
( t TowerModulet tower_auth_configt tower_check_modeN( t settingsc C` se t d t d t � d t � d t � d t d t � d t d t � d t d d
d t � d t d d
d t � d
t d d d g d d � � } t d | d t � } | j j d � } | j j d � } | j j d � } | j j d � } | j j d � } | j j d � } | j j d � } | j j d
� } i | d 6| d
6}
t | � } t j | � �� t | � t
j d � } y~ | d k r�| j d | d | d | d | d | d | d | d t � }
|
d |
d <n! | d k r�| j
d | � }
n WnD t j t j t j f k
r?} | j d d j | � d t � n XWd QX|
d |
d <| j |
� d S( Nt usernamet requiredt
first_namet last_namet passwordt no_logt emailt superusert typet boolt defaultt auditort statet choicest presentt absentt
argument_spect supports_check_modet usert is_superusert is_system_auditort create_on_missingt idt msgs Failed to update the user: {0}t changed( t dictt Truet FalseR t paramst getR R t runtime_valuesR
t tower_clit get_resourcet modifyt deletet exct ConnectionErrort
BadRequestt AuthErrort fail_jsont formatt exit_json( R t moduleR R R R R R R R t json_outputt
tower_authR t resultt excinfo( ( s_ /usr/lib/python2.7/site-packages/ansible/modules/web_infrastructure/ansible_tower/tower_user.pyt mainr sF
!)t __main__( t
__future__R R R R t
__metaclass__t ANSIBLE_METADATAt
DOCUMENTATIONt EXAMPLESt"