
    9i"                         S r SSKrSSKrSSKrSSKJrJr  SSKJr  SSK	J
r
JrJr  SSKJr  SSKJr   " S S	\R"                  5      rg)
z-
This module provides a client class for CA.
    N)bce_base_clientcompat)bce_v1_signer)handlerbce_http_clienthttp_methods)
ca_handler)requiredc                       \ rS rSrSrSrSrSrSrSS jr	SS	 jr
 SS
 jrSS jr  SS jrS rS rSS jrSS jr  SS jrSS jr  SS jrSS jrSrg)CaClient   z
CA base sdk client
s   /v1s   content-types   application/json;charset=UTF-8s   x-bce-request-idNc                 B    [         R                  R                  X5        g N)r   BceBaseClient__init__)selfconfigs     ^/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/baidubce/services/ca/ca_client.pyr   CaClient.__init__   s    %%..t<    c                     Uc  U R                   $ [        R                  " U R                   5      nUR                  U5        U$ r   )r   copymerge_non_none_values)r   r   
new_configs      r   _merge_configCaClient._merge_config   s7    >;;4;;/J,,V4r   c           
         U R                  U5      nUc  [        R                  nUc  0 nU R                  U;  a  U R                  X@R                  '   U R
                  U;  a!  [        R                  " 5       X@R
                  '   [        R                  " U[        R                  [        R                  U/U[        R                  U-   X4U5      $ r   )r   r   
parse_jsoncontent_type_header_keycontent_type_header_valuerequest_id_header_keyuuiduuid4r   send_requestr   signr	   parse_errorr   version)r   http_methodpathbodyheadersparamsr   body_parsers           r   _send_requestCaClient._send_request$   s    ##F+!,,K?G''w6484R4RG001%%W426**,G../++M&&)?)?(M))D0$I 	Ir   c                 t    SnSU0nU R                  [        R                  U[        R                  " U5      S9$ )zQ
Batch get agent info

:param instance_list:
 Instance List
:type instance: dict
s   /ca/agent/batchhostsr*   r.   r   POSTjsondumps)r   instance_listr)   r*   s       r   batch_get_agentCaClient.batch_get_agent4   s>     "]
 !!,"3"3T

4@P!QQr   c                     SnUUUUUUUS.n	U R                  [        R                  U[        R                  " U	5      S9$ )a  
create execution
:param execution:
execution info
:type execution: string

:param user_id:
user_id
:type user_id: string

:param action:
action info
:type action: dict

:param targets:
targets info
:type targets:list

:param parameters:
parameters info
:type parameters:dict

:param target_selector:
target_selector info
:type target_selector:dict

:param target_selector_type:
target_selector_type info
:type target_selector_type:string


   /ca/action)	executionactiontargetsuserId
parameterstargetSelectortargetSelectorTyper2   r3   )
r   r<   user_idr=   r>   r@   target_selectortarget_selector_typer)   r*   s
             r   create_actionCaClient.create_actionB   sO    B "$-"6
 !!,"3"3T

4@P!QQr   c                 x    [         R                  " U5      nSU-  nU R                  [        R                  U5      $ )zN
Delete action
:param id: The ID of the execution to be deleted
:type id: str
s   /ca/action/%s)r   convert_to_bytesr.   r   DELETE)r   idr)   s      r   delete_actionCaClient.delete_actiono   s7     $$R("$!!,"5"5t<<r   c                 L    SnUUS.nU R                  [        R                  X4S9$ )z
Query id
:param id: The ID of the execution to be queried
:type id: str

Query user_id
:param user_id: user_id
:type user_id: str

r;   r?   rK   r,   r.   r   GET)r   rK   rC   r)   r,   s        r   
get_actionCaClient.get_actiony   s4     
 !!,"2"2D!HHr   c                 v    SnUUS.nU R                  [        R                  U[        R                  " U5      S9$ )zh
:param action:
action info
:type action: dict

:param execution
execution info
:type execution: string
r;   )r=   r<   r2   )r.   r   PUTr5   r6   )r   r=   r<   r)   r*   s        r   update_actionCaClient.update_action   s?     "
 !!,"2"2Dtzz$?O!PPr   c                 ~    SnUUUUUUS.nU R                  [        R                  U[        R                  " U5      S9$ )a  
:param action:
action info
:type action: dict

:param page_no:
page number
:type page_no: int

:param page_size:
page number
:type page_size: int

:param sort:
sort order
:type sort: str

:param ascending:
ascending order
:type ascending: bool

:param user_id:
:type user_id: str
s   /ca/action/list)r=   pageNopageSizesort	ascendingr?   r2   r3   )	r   r=   page_no	page_sizer\   r]   rC   r)   r*   s	            r   action_listCaClient.action_list   sK    2 "!"
 !!,"3"3T

4@P!QQr   c                     SnUUUUUUSS.nU R                  [        R                  U[        R                  " U5      S9$ )a  
:param action:
action info
:type action: dict

:param parameters:
:param target_selector_type:map

:param user_id:
:type user_id: str

target selector type
:type target_selector_type: str

:param targets:
:type targets: list

:param target_selector:
:type target_selector: dict
   /ca/actionRunRUN)r=   r@   rB   r>   rA   r?   r<   r2   r3   )	r   r=   r@   rC   rE   r>   rD   r)   r*   s	            r   
action_runCaClient.action_run   sN    ,  $"6-
 !!,"3"3T

4@P!QQr   c                 L    UUS.nSnU R                  [        R                  XCS9$ )zc
Query id
:param id: The ID of the execution to be queried
:type id: str

user_id
:user_id id: str
rO   rc   rP   rQ   )r   rK   rC   r,   r)   s        r   get_action_runCaClient.get_action_run   s4     
  !!,"2"2D!HHr   c                     UUUUUUUUU	U
UUS.nSnU R                  [        R                  U[        R                  " U5      S9$ )aK  
:param action:
action info
:type action: dict

:param page_no:
page number
:type page_no: int

:param page_size:
page number
:type page_size: int

:param sort:
sort order
:type sort: str

:param ascending:
ascending order
:type ascending: bool

:param user_id:
:type user_id: str

:param start_time:
start time
:type start_time:

:param end_time:
end time
:type end_time:

:param keyword:
keyword type
:type keyword: str

:param keyword_type:
keyword type
:type keyword_type: str

:param run_id:
run id
:type run_id: str

:param is_inited:
is inited or not inited
:type is_inited: bool
)r=   rZ   r[   r\   r]   r?   	startTimeendTimekeywordkeyword_typerunIdisIniteds   /ca/actionRun/listr2   r3   )r   r=   r^   r_   r\   r]   rC   
start_timeend_timerm   rn   run_id	is_initedr*   r)   s                  r   action_run_listCaClient.action_run_list   s^    f !"#(!
 %!!,"3"3T

4@P!QQr   c                 x    UUUS.nSnU R                  [        R                  U[        R                  " U5      S9$ )zj
:param run_id:
:type run_id: str

:param child_id:
:type child_id: str

:param cursor:
:type cursor: int
)ro   childIdcursors   /ca/logr2   r3   )r   rs   child_idry   r*   r)   s         r   
action_logCaClient.action_log5  sB     

 !!,"3"3T

4@P!QQr    r   )NNNNN)NNNNNNN)NN)NNNNNN)NNNNNNNNNNNF)NNN)__name__
__module____qualname____firstlineno____doc__r'   r   r    r!   r   r   r.   r8   rF   rL   rS   rW   r`   re   rh   ru   r{   __static_attributes__r}   r   r   r   r      s     G- A/= VZI R PTRV+RZ=I$Q""RH @DLP RDI  mqpuARFRr   r   )r   r   r5   r"   baidubcer   r   baidubce.authr   baidubce.httpr   r   r   baidubce.services.car	   baidubce.utilsr
   r   r   r}   r   r   <module>r      s=       , ' @ @ + #wR,, wRr   