B
    `
                 @   s|   d dl mZmZmZ eZddgddZdZdZdZ	d d	l
mZ d
dlmZmZmZ dd Zdd Zdd Zedkrxe  dS )    )absolute_importdivisionprint_functionz1.1ZstableinterfaceZ	certified)metadata_versionstatusZsupported_bya  
module: tessen
author:
 - Paul Arthur (@flowerysong)
 - Manca Bizjak (@mancabizjak)
 - Aljaz Kosir (@aljazkosir)
 - Tadej Borovsak (@tadeboro)
short_description: Manage Sensu's Tessen configuration
description:
  - Enable or disable Tessen service.
  - For more information, refer to the Sensu documentation at
    U(https://docs.sensu.io/sensu-go/latest/reference/tessen/).
version_added: 1.0.0
extends_documentation_fragment:
  - sensu.sensu_go.requirements
  - sensu.sensu_go.auth
options:
  state:
    description:
      - Enable or disable sending anonymized data to Sensu Inc.
    choices: [ enabled, disabled ]
    type: str
    required: True
zX
- name: Disable Tessen
  sensu.sensu_go.tessen:
    state: disabled
  register: result
zx
object:
  description: Object representing Sensu tessen.
  returned: success
  type: dict
  sample:
    opt_out: false
)AnsibleModule   )	argumentserrorsutilsc             C   s2   |  |}|jdkr,td||j|j|jS )N   z#GET {0} failed with status {1}: {2})getr   r
   Z	SyncErrorformatdatajson)clientpathresp r   h/home/dcms/DCMS/lib/python3.7/site-packages/ansible_collections/sensu/sensu_go/plugins/modules/tessen.pyr   ?   s
    

r   c             C   sF   t | |}t||r>|r"d|fS t| || dt | |fS d|fS )NTF)r   r   Z	do_differput)r   r   payload
check_modeZremote_objectr   r   r   syncG   s    
r   c           
   C   s   t dttdtddgdddd} t| jd }td d}t| jd	 dkd
}y&t|||| j	\}}| j
||d W n4 tjk
r } z| jt|d W d d }~X Y nX d S )NTauthZenableddisabled)choicesrequired)state)Zsupports_check_modeZargument_spectessenr   )Zopt_out)changedobject)msg)r   dictr	   Zget_specZget_sensu_clientparamsr   Zbuild_core_v2_pathr   r   Z	exit_jsonr
   ErrorZ	fail_jsonstr)moduler   r   r   r    r   er   r   r   mainS   s     r)   __main__N)
__future__r   r   r   type__metaclass__ZANSIBLE_METADATAZDOCUMENTATIONZEXAMPLESZRETURNZansible.module_utils.basicr   Zmodule_utilsr	   r
   r   r   r   r)   __name__r   r   r   r   <module>   s   	