�
�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
Z d d l
m Z d d l m
Z
d d
l m Z d d l Z d e f d � � YZ d � Z e d k r� e � n d S( i ( t absolute_importt divisiont print_functions 1.1t metadata_versiont previewt statust communityt supported_bys3
---
module: rundeck_project
short_description: Manage Rundeck projects.
description:
- Create and remove Rundeck projects through HTTP API.
version_added: "2.4"
author: "Loic Blot (@nerzhul)"
options:
state:
description:
- Create or remove Rundeck project.
choices: ['present', 'absent']
default: 'present'
name:
description:
- Sets the project name.
required: True
url:
description:
- Sets the rundeck instance URL.
required: True
api_version:
description:
- Sets the API version used by module.
- API version must be at least 14.
default: 14
token:
description:
- Sets the token to authenticate against Rundeck API.
required: True
sI
- name: Create a rundeck project
rundeck_project:
name: "Project_01"
api_version: 18
url: "https://rundeck.example.org"
token: "mytoken"
state: present
- name: Remove a rundeck project
rundeck_project:
name: "Project_02"
url: "https://rundeck.example.org"
token: "mytoken"
state: absent
sd
rundeck_response:
description: Rundeck response when a failure occurs
returned: failed
type: str
before:
description: dictionary containing project information before modification
returned: success
type: dict
after:
description: dictionary containing project information after modification
returned: success
type: dict
( t
AnsibleModule( t to_native( t fetch_urlNt RundeckProjectManagerc B` sD e Z d � Z d � Z d d d � Z d � Z d � Z d � Z RS( c C` s
| | _ d S( N( t module( t selfR ( ( sV /usr/lib/python2.7/site-packages/ansible/modules/web_infrastructure/rundeck_project.pyt __init__] s c C` sd | d d k r0 | j j d d d | d � n0 | d d k r` | j j d d d | d � n d S( NR i� t msgsQ Token not allowed. Please ensure token is allowed or has the correct permissions.t rundeck_responset bodyi� s Fatal Rundeck API error.( R t fail_json( R
t infos( ( sV /usr/lib/python2.7/site-packages/ansible/modules/web_infrastructure/rundeck_project.pyt handle_http_code_if_needed` s
t GETc C` s
t | j d | j j d | j j d | f d t j | � d | d i d d 6d d 6| j j d
d 6�\ } } | j | � | d k r | j � } | d k r y t j | � } | | f SWq� t k
r� } | j j
d
d t | � | f � q� Xq n | | f S( Ns %s/api/%d/%st urlt api_versiont datat methodt headerss application/jsons Content-Typet Acceptt tokens X-Rundeck-Auth-Tokent R sH Rundeck response was not a valid JSON. Exception was: %s. Object was: %s( R
R t paramst jsont dumpsR t Nonet readt loadst
ValueErrorR R ( R
t queryR R t respt infot json_respt e( ( sV /usr/lib/python2.7/site-packages/ansible/modules/web_infrastructure/rundeck_project.pyt request_rundeck_apig s&