
    Vh
                         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 Zd Zd Zedk(  r e        yy)    )absolute_importdivisionprint_functionz1.1stableinterface	certified)metadata_versionstatus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                     | j                  |      }|j                  dk7  r:t        j                  dj	                  ||j                  |j
                              |j                  S )N   z#GET {0} failed with status {1}: {2})getr	   r   	SyncErrorformatdatajson)clientpathresps      i/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/sensu/sensu_go/plugins/modules/tessen.pyr   r   ?   sU    ::dD{{c188t{{DIIVX 	X99    c                     t        | |      }t        j                  ||      r+|rd|fS t        j                  | ||       dt        | |      fS d|fS )NTF)r   r   	do_differput)r   r   payload
check_moderemote_objects        r   syncr"   G   sV    %M}g.= 		&$(S&&&-r   c            
         t        dt        t        j                  d      t        ddgd                  } t        j                  | j
                  d         }t        j                  d d      }t        | j
                  d	   dk(  
      }	 t        |||| j                        \  }}| j                  ||       y # t        j                  $ r%}| j                  t        |             Y d }~y d }~ww xY w)NTauthenableddisabled)choicesrequired)state)supports_check_modeargument_spectessenr)   )opt_out)changedobject)msg)r   dictr   get_specget_sensu_clientparamsr   build_core_v2_pathr"   r    	exit_jsonr   Error	fail_jsonstr)moduler   r   r   r.   r,   es          r   mainr<   S   s     v&"J/
	F ''f(=>F##D(3Dg&*4G%vtWf6G6GH8<< %SV$$%s   .B= =C5C00C5__main__N)
__future__r   r   r   type__metaclass__ANSIBLE_METADATADOCUMENTATIONEXAMPLESRETURNansible.module_utils.basicr   module_utilsr   r   r   r   r"   r<   __name__ r   r   <module>rI      sl    A @  ! 2
 5 3 3	 %0 zF r   