o
    iq                     @   sD   d dl Z d dlmZ d dlmZ d dlmZmZ G dd deZ	dS )    N)pretty_json)api)report_errorsreport_warningsc                   @   s$   e Zd Zedd Zedd ZdS )ServiceCheckClientc                 C   s   |j ddd}|jddd}d|_|j dd	d}|jdd	d |jd
dd |jddd |jddd d |jddd d |jddd d |j| jd d S )Nservice_checkzPerform service checks)helpVerbsverb)titledestTcheckztext for the message	host_namez%name of the host submitting the checkstatusz\integer for the status of the check. i.e: '0': OK, '1': WARNING, '2': CRITICAL, '3': UNKNOWNz--timestampzPOSIX timestamp of the event)r   defaultz	--messagez'description of why this status occurredz--tagszcomma separated list of tags)func)
add_parseradd_subparsersrequiredadd_argumentset_defaults_check)cls
subparsersparserverb_parserscheck_parser r   R/home/ubuntu/.local/lib/python3.10/site-packages/datadog/dogshell/service_check.pysetup_parser   s   zServiceCheckClient.setup_parserc                 C   s   |j t_|j}|jrttdd |jdD }nd }tjj	|j	|j
t|j|j|j|d}t| t| |dkrCtt| d S tt| d S )Nc                 S   s   g | ]
}|  r|  qS r   )strip).0tr   r   r   
<listcomp>'   s    z-ServiceCheckClient._check.<locals>.<listcomp>,)r   r   r   	timestampmessagetagspretty)timeoutr   _timeoutformatr'   sortedsetsplitServiceCheckr   r   intr   r%   r&   r   r   printr   jsondumps)r   argsr+   r'   resr   r   r   r   "   s$    zServiceCheckClient._checkN)__name__
__module____qualname__classmethodr   r   r   r   r   r   r      s
    
r   )
r2   datadog.util.formatr   datadogr   datadog.dogshell.commonr   r   objectr   r   r   r   r   <module>   s
   