
    Vhj                        d dl mZmZmZ eZd dlZd dlmZ d dl	m
Z
 dZ	 d dlZdZdZ	 d dlmZ d dlmZ d d	lmZ dZ G d
 d      Zy# e$ r  ej                          ZdZY <w xY w# e$ r  ej                          ZdZY Cw xY w)    )absolute_importdivisionprint_functionN)missing_required_lib)LooseVersionTF)InfluxDBClient)__version__)
exceptionsc                   .    e Zd Zd Zd Zed        Zd Zy)InfluxDbc                 p   || _         | j                   j                  | _        | j                          | j                  d   | _        | j                  d   | _        | j                  d   | _        | j                  d   | _        | j                  d   | _        | j                  j                  d      | _	        y )Nhostnameportpathusernamepassworddatabase_name)
moduleparams	check_libr   r   r   r   r   getr   )selfr   s     s/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/community/general/plugins/module_utils/influxdb.py__init__zInfluxDb.__init__$   s    kk((J/KK'	KK'	J/J/![[___=    c                     t         s*| j                  j                  t        d      t               t
        s+| j                  j                  t        d      t               y y )Nrequests)msg	exceptioninfluxdb)HAS_REQUESTSr   	fail_jsonr   REQUESTS_IMP_ERRHAS_INFLUXDBINFLUXDB_IMP_ERR)r   s    r   r   zInfluxDb.check_lib/   sI    KK!!&::&FRb!cKK!!&::&FRb!c r   c                  @   t        t        dd      t        dd      t        dd      t        dddg	      t        ddd
dg      t        dd      t        dd
      t        d      t        dd      t        di       t        dd      t        dd            S )Nstr	localhost)typedefaultinti   rootlogin_username)r)   r*   aliasesTlogin_password)r)   r*   no_logr/   boolF)r)      dicti\  )r   r   r   r   r   sslvalidate_certstimeoutretriesproxiesuse_udpudp_port)r4    r   r   influxdb_argument_speczInfluxDb.influxdb_argument_spec6   s    uk:5$/5"-uf?O>PQufTL\K]^&%0VT:e$eQ/fb1fe4ud3
 	
r   c                    t        | j                  | j                  | j                  | j                  | j
                  | j                  d   | j                  d   | j                  d   | j                  d   | j                  d   | j                  d         }t        t              }|t        d      k\  r|j                  | j                  d	   
       |t        d      k\  r|j                  | j                         t        di |S )Nr5   r6   r7   r:   r;   r9   )hostr   r   r   databaser5   
verify_sslr7   r:   r;   r9   z4.1.0r8   )r8   z5.1.0)r   r<   )r4   r   r   r   r   r   r   r   influxdb_versionupdater   r   )r   argsinfluxdb_api_versions      r   connect_to_influxdbzInfluxDb.connect_to_influxdbG   s    ]]]]''E"{{#34KK	*KK	*[[,KK	*
  ,,<=<#88KKI 6K7<#88KKTYYK'%%%r   N)__name__
__module____qualname__r   r   staticmethodr=   rF   r<   r   r   r   r   #   s&    	>d 
 
 &r   r   )
__future__r   r   r   r)   __metaclass__	tracebackansible.module_utils.basicr   Bansible_collections.community.general.plugins.module_utils.versionr   r#   requests.exceptionsr   r!   ImportError
format_excr%   r    r   r	   rB   r
   r$   r   r<   r   r   <module>rS      s    A @  ; [ L
  '8#L;& ;&  +y++-L  +y++-Ls"   A A& A#"A#&B B