
    Vhl                     ~    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: 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utils
enterprisez
secrets/v1c                     ddddgfg} t        | dt        t        j                  dddd      t        d	
      t        d	
                  }t        j                  |j
                  d         }t        j                  t        t        |j
                  d   d|j
                  d         }t        dt        t        |j
                  d   |j
                  d         t        j                  |j
                  dd            }	 t        j                  |j
                  d   ||||j                        \  }}|j                  ||       y # t        j                  $ r%}|j!                  t#        |             Y d }~y d }~ww xY w)NstatepresentprovideridTauthname	namespacestr)type)r   r   )required_ifsupports_check_modeargument_specsecretsSecret)r   r   )r   api_versionmetadataspec)changedobject)msg)r   dictr   get_specget_sensu_clientparamsr   build_url_path	API_GROUPAPI_VERSIONget_spec_payloadsync_v1
check_mode	exit_jsonr   Error	fail_jsonr   )r   moduleclientpathpayloadr#   secretes           i/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/sensu/sensu_go/plugins/modules/secret.pymainr:   ]   s[   	)j$/0K  vvwDu%
F ''f(=>F;k :IfD v&mmK0
 ''z4HG%--MM'"FD'6;L;L
 	8<< %SV$$%s   AE	 	FE<<F__main__N)
__future__r   r   r   r   __metaclass__ANSIBLE_METADATADOCUMENTATIONEXAMPLESRETURNansible.module_utils.basicr   module_utilsr   r   r   r+   r,   r:   __name__     r9   <module>rG      sn    A @  ! #J&
 5 3 3	"%J zF rF   