B
    `l                 @   st   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d Zedkrpe  dS )    )absolute_importdivisionprint_functionz1.1ZstableinterfaceZ	certified)metadata_versionstatusZsupported_bya  
module: secret
author:
  - Aljaz Kosir (@aljazkosir)
  - Manca Bizjak (@mancabizjak)
  - Miha Dolinar (@mdolin)
  - Tadej Borovsak (@tadeboro)
short_description: Manage Sensu Go secrets
description:
  - Create, update or delete Sensu secret.
  - For more information, refer to the Sensu documentation at
    U(https://docs.sensu.io/sensu-go/latest/operations/manage-secrets/secrets/).
version_added: 1.6.0
extends_documentation_fragment:
  - sensu.sensu_go.requirements
  - sensu.sensu_go.auth
  - sensu.sensu_go.name
  - sensu.sensu_go.namespace
  - sensu.sensu_go.state
seealso:
  - module: sensu.sensu_go.secret_info
  - module: sensu.sensu_go.secrets_provider_env
  - module: sensu.sensu_go.secrets_provider_vault
  - module: sensu.sensu_go.secrets_provider_info
options:
  provider:
    description:
      - Name of the secrets provider that backs the secret value.
      - Required if I(state) is C(present).
    type: str
  id:
    description:
      - Secret's id in the provider store.
      - Required if I(state) is C(present).
    type: str
az  
- name: Create an environment varibale-backed secret
  sensu.sensu_go.secret:
    name: env_secret
    provider: env
    id: MY_ENV_VARIABLE

- name: Create a HashiCorp Vault-backed secret
  sensu.sensu_go.secret:
    name: hashi_valut_secret
    provider: vault
    id: secret/store#name

- name: Delete a secret
  sensu.sensu_go.secret:
    name: my_secret
    state: absent
z
object:
  description: Object representing Sensu secret.
  returned: success
  type: dict
  sample:
    metadata:
      name: sensu-ansible
      namespace: default
    id: 'secret/database#password'
    provider: vault
)AnsibleModule   )	argumentserrorsutilsZ
enterprisez
secrets/v1c           
   C   s
  ddddgfg} t | dttddddtd	d
td	d
dd}t|jd }ttt	|jd d|jd }tdt	t|jd |jd dt
|jddd}y0t|jd ||||j\}}|j||d W n6 tjk
r } z|jt|d W d d }~X Y nX d S )NstateZpresentprovideridTauthname	namespacestr)type)r   r   )required_ifZsupports_check_modeZargument_specZsecretsZSecret)r   r   )r   api_versionmetadataspec)changedobject)msg)r   dictr	   Zget_specZget_sensu_clientparamsr   Zbuild_url_path	API_GROUPAPI_VERSIONZget_spec_payloadZsync_v1Z
check_modeZ	exit_jsonr
   ErrorZ	fail_jsonr   )r   moduleclientpathpayloadr   secrete r&   h/home/dcms/DCMS/lib/python3.7/site-packages/ansible_collections/sensu/sensu_go/plugins/modules/secret.pymain]   s2    r(   __main__N)
__future__r   r   r   r   __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   &%