
    'XhTl                     j   d dl mZmZmZmZmZmZmZ d dlm	Z	 d dl
m	Z	 d dlmZ d dl d dlmZ  ej"                  d      Z edd	      Zeeeef      Zeeeef   ef   Zd
Zde	dededefdZ	 	 	 	 	 	 ddedeeef   dedededefdZerd dlmZ  G d d      Z G d de      Z G d de      Z y
)    )IOTYPE_CHECKINGAnyDictSetTypeVarUnion)	BaseModel)VERSION)*)modelsz2.Modelr
   )boundNmodelargskwargsreturnc                 V    t         r | j                  |i |S  | j                  |i |S N)PYDANTIC_V2model_dump_jsonjson)r   r   r   s      N/RAG/venv/lib/python3.12/site-packages/qdrant_client/http/api/snapshots_api.pyto_jsonr      s3    $u$$d5f55uzz4*6**    objincludeby_aliasskip_defaultsexclude_unsetexclude_nonec           
      r    t        | d      st        | d      rt        | |||t        |xs |      |      S | S )Nr   r   )r   excluder   r    r!   )hasattrr   bool)r   r   r#   r   r   r    r!   s          r   jsonable_encoderr&      sH     sFws,=>}=>%
 	
 Jr   )	ApiClientc                      e Zd ZddZ	 ddefdZ	 ddededefdZ	 ddedefdZ		 dd	edefd
Z
	 ddeded	edefdZ	 dded	edefdZd	efdZdeded	efdZded	efdZd ZdedefdZdefdZ	 	 ddededej(                  fdZ	 	 	 	 ddededededee   f
dZ	 	 ddedededej4                  fdZ	 	 	 	 ddedededededee   fdZy) _SnapshotsApic                     || _         y r   )
api_client)selfr+   s     r   __init__z_SnapshotsApi.__init__4   s	    $r   Nwaitc                     i }|t        |      j                         |d<   i }| j                  j                  t        j
                  dd|r||      S d|      S ):
        Create new snapshot of the whole storage
        Nr.   POST
/snapshots)type_methodurlheadersparamsstrlowerr+   requestmInlineResponse20012)r,   r.   query_paramsr6   s       r   _build_for_create_full_snapshotz-_SnapshotsApi._build_for_create_full_snapshot7   ss     #&t9??#4L &&''&G ' 
 	
 -1 ' 
 	
r   collection_nameshard_idc                     t        |      t        |      d}i }|t        |      j                         |d<   i }| j                  j                  t        j
                  dd|r|nd||      S )A
        Create new snapshot of a shard for a collection
        r@   rA   Nr.   r1   :/collections/{collection_name}/shards/{shard_id}/snapshotsr3   r4   r5   r6   path_paramsr7   r8   )r,   r@   rA   r.   rG   r>   r6   s          r    _build_for_create_shard_snapshotz._SnapshotsApi._build_for_create_shard_snapshotK   sy      #?3H

 #&t9??#4L &&''L&GD# ' 
 	
r   c                     dt        |      i}i }|t        |      j                         |d<   i }| j                  j                  t        j
                  dd|r|nd||      S )6
        Create new snapshot for a collection
        r@   Nr.   r1   (/collections/{collection_name}/snapshotsrF   r8   )r,   r@   r.   rG   r>   r6   s         r   _build_for_create_snapshotz(_SnapshotsApi._build_for_create_snapshotg   st     s?3
 #&t9??#4L &&'':&GD# ' 
 	
r   snapshot_namec                     dt        |      i}i }|t        |      j                         |d<   i }| j                  j                  t        j
                  dd|r|nd||      S )6
        Delete snapshot of the whole storage
        rM   Nr.   DELETE/snapshots/{snapshot_name}rF   r9   r:   r+   r;   r<   InlineResponse20010)r,   rM   r.   rG   r>   r6   s         r   _build_for_delete_full_snapshotz-_SnapshotsApi._build_for_delete_full_snapshot   st     S/
 #&t9??#4L &&'',&GD# ' 
 	
r   c                     t        |      t        |      t        |      d}i }|t        |      j                         |d<   i }| j                  j                  t        j
                  dd|r|nd||      S )=
        Delete snapshot of a shard for a collection
        r@   rA   rM   Nr.   rP   J/collections/{collection_name}/shards/{shard_id}/snapshots/{snapshot_name}rF   rR   )r,   r@   rA   rM   r.   rG   r>   r6   s           r    _build_for_delete_shard_snapshotz._SnapshotsApi._build_for_delete_shard_snapshot   s      #?3H /
 #&t9??#4L &&''\&GD# ' 
 	
r   c                     t        |      t        |      d}i }|t        |      j                         |d<   i }| j                  j                  t        j
                  dd|r|nd||      S )2
        Delete snapshot for a collection
        r@   rM   Nr.   rP   8/collections/{collection_name}/snapshots/{snapshot_name}rF   rR   )r,   r@   rM   r.   rG   r>   r6   s          r   _build_for_delete_snapshotz(_SnapshotsApi._build_for_delete_snapshot   sz      #?3 /

 #&t9??#4L &&''J&GD# ' 
 	
r   c                 |    dt        |      i}i }| j                  j                  t        dd|r||      S d|      S )L
        Download specified snapshot of the whole storage as a file
        rM   GETrQ   Nr3   r4   r5   r6   rG   r9   r+   r;   file)r,   rM   rG   r6   s       r   _build_for_get_full_snapshotz*_SnapshotsApi._build_for_get_full_snapshot   s`     S/
 &&,&G# ' 
 	
 -1# ' 
 	
r   c                     t        |      t        |      t        |      d}i }| j                  j                  t        dd|r||      S d|      S )T
        Download specified snapshot of a shard from a collection as a file
        rW   ra   rX   Nrb   rc   )r,   r@   rA   rM   rG   r6   s         r   _build_for_get_shard_snapshotz+_SnapshotsApi._build_for_get_shard_snapshot   sm      #?3H /
 &&\&G# ' 
 	
 -1# ' 
 	
r   c                     t        |      t        |      d}i }| j                  j                  t        dd|r||      S d|      S )I
        Download specified snapshot from a collection as a file
        r\   ra   r]   Nrb   rc   )r,   r@   rM   rG   r6   s        r   _build_for_get_snapshotz%_SnapshotsApi._build_for_get_snapshot  sf      #?3 /

 &&J&G# ' 
 	
 -1# ' 
 	
r   c                 r    i }| j                   j                  t        j                  dd|r|      S d      S )<
        Get list of snapshots of the whole storage
        ra   r2   N)r3   r4   r5   r6   )r+   r;   r<   InlineResponse20011)r,   r6   s     r   _build_for_list_full_snapshotsz,_SnapshotsApi._build_for_list_full_snapshots  sM     &&''&G	 ' 
 	
 -1	 ' 
 	
r   c                     t        |      t        |      d}i }| j                  j                  t        j                  dd|r||      S d|      S )C
        Get list of snapshots for a shard of a collection
        rD   ra   rE   Nrb   r9   r+   r;   r<   rn   )r,   r@   rA   rG   r6   s        r   _build_for_list_shard_snapshotsz-_SnapshotsApi._build_for_list_shard_snapshots%  sk      #?3H

 &&''L&G# ' 
 	
 -1# ' 
 	
r   c                     dt        |      i}i }| j                  j                  t        j                  dd|r||      S d|      S )8
        Get list of snapshots for a collection
        r@   ra   rK   Nrb   rr   )r,   r@   rG   r6   s       r   _build_for_list_snapshotsz'_SnapshotsApi._build_for_list_snapshots;  sf     s?3
 &&'':&G# ' 
 	
 -1# ' 
 	
r   snapshot_recoverc           	          dt        |      i}i }|t        |      j                         |d<   i }t        |      }d|vrd|d<   | j                  j	                  t
        j                  dd|r|nd|||      S )	
        Recover local collection data from a snapshot. This will overwrite any data, stored on this node, for the collection. If collection does not exist - it will be created.
        r@   Nr.   Content-Typeapplication/jsonPUTz0/collections/{collection_name}/snapshots/recoverr3   r4   r5   r6   rG   r7   contentr9   r:   r&   r+   r;   r<   rS   )r,   r@   r.   rw   rG   r>   r6   bodys           r    _build_for_recover_from_snapshotz._SnapshotsApi._build_for_recover_from_snapshotO  s     s?3
 #&t9??#4L  01(&8GN#&&''B&GD# ' 
 	
r   prioritychecksumsnapshotc           
          dt        |      i}i }|t        |      j                         |d<   |t        |      |d<   |t        |      |d<   i }i }	i }
|||	d<   | j                  j                  t        j
                  dd|r|nd|||
|		      S )

        Recover local collection data from an uploaded snapshot. This will overwrite any data, stored on this node, for the collection. If collection does not exist - it will be created.
        r@   Nr.   r   r   r   r1   z//collections/{collection_name}/snapshots/uploadr3   r4   r5   r6   rG   r7   datafilesrR   )r,   r@   r.   r   r   r   rG   r>   r6   r   r   s              r   )_build_for_recover_from_uploaded_snapshotz7_SnapshotsApi._build_for_recover_from_uploaded_snapshotn  s     s?3
 #&t9??#4L '*8}L$'*8}L$$&! (E*&&''A&GD# ' 	
 		
r   shard_snapshot_recoverc           	         t        |      t        |      d}i }|t        |      j                         |d<   i }t        |      }d|vrd|d<   | j                  j	                  t
        j                  dd|r|nd|||      S )	
        Recover shard of a local collection data from a snapshot. This will overwrite any data, stored in this shard, for the collection.
        rD   Nr.   rz   r{   r|   zB/collections/{collection_name}/shards/{shard_id}/snapshots/recoverr}   r   )	r,   r@   rA   r.   r   rG   r>   r6   r   s	            r   &_build_for_recover_shard_from_snapshotz4_SnapshotsApi._build_for_recover_shard_from_snapshot  s      #?3H

 #&t9??#4L  67(&8GN#&&''T&GD# ' 
 	
r   c           
      4   t        |      t        |      d}i }|t        |      j                         |d<   |t        |      |d<   |t        |      |d<   i }	i }
i }|||
d<   | j                  j                  t        j
                  dd|	r|	nd||||
	      S )

        Recover shard of a local collection from an uploaded snapshot. This will overwrite any data, stored on this node, for the collection shard.
        rD   Nr.   r   r   r   r1   zA/collections/{collection_name}/shards/{shard_id}/snapshots/uploadr   rR   )r,   r@   rA   r.   r   r   r   rG   r>   r6   r   r   s               r   /_build_for_recover_shard_from_uploaded_snapshotz=_SnapshotsApi._build_for_recover_shard_from_uploaded_snapshot  s      #?3H

 #&t9??#4L '*8}L$'*8}L$$&! (E*&&''S&GD# ' 	
 		
r   )r+   z Union[ApiClient, AsyncApiClient]r   NNNNNN)__name__
__module____qualname__r-   r%   r?   r9   intrH   rL   rT   rY   r^   re   rh   rk   ro   rs   rv   r<   SnapshotRecoverr   SnapshotPriorityr   r   r   ShardSnapshotRecoverr   r    r   r   r)   r)   3   s?   %
 

0 	

 
 	
> 

 
: 

 
> 

 
 	

 
D 	

 
 	
8

(

 
 	
0

 
,


 
,

. .2	

 
 ++	
D %) &
&
 &
 #	&

 &
 S'&
X 9=

 
 	

 !" 6 6
J %) (
(
 (
 	(

 #(
 (
 S'(
r   r)   c                      e Zd Z	 ddedej
                  fdZ	 ddedededej
                  fdZ		 ddededej
                  fdZ
	 dd	ededej                  fd
Z	 ddeded	ededej                  f
dZ	 dded	ededej                  fdZd	edefdZdeded	edefdZded	edefdZdej&                  fdZdededej&                  fdZdedej&                  fdZ	 	 ddededej.                  dej                  fdZ	 	 	 	 ddededededee   dej                  fdZ	 	 ddedededej:                  dej                  f
dZ	 	 	 	 ddedededededee   dej                  fdZy)AsyncSnapshotsApiNr.   r   c                 B   K   | j                  |       d{   S 7 w)r0   r.   Nr?   r,   r.   s     r   create_full_snapshotz&AsyncSnapshotsApi.create_full_snapshot  s-      99 : 
 
 	
 
   r@   rA   c                 F   K   | j                  |||       d{   S 7 w)rC   r@   rA   r.   NrH   r,   r@   rA   r.   s       r   create_shard_snapshotz'AsyncSnapshotsApi.create_shard_snapshot  s3      ::+ ; 
 
 	
 
   !!c                 D   K   | j                  ||       d{   S 7 w)rJ   r@   r.   NrL   r,   r@   r.   s      r   create_snapshotz!AsyncSnapshotsApi.create_snapshot  s0      44+ 5 
 
 	
 
     rM   c                 D   K   | j                  ||       d{   S 7 w)rO   rM   r.   NrT   r,   rM   r.   s      r   delete_full_snapshotz&AsyncSnapshotsApi.delete_full_snapshot
  s0      99' : 
 
 	
 
r   c                 H   K   | j                  ||||       d{   S 7 w)rV   r@   rA   rM   r.   NrY   r,   r@   rA   rM   r.   s        r   delete_shard_snapshotz'AsyncSnapshotsApi.delete_shard_snapshot  s6      ::+'	 ; 
 
 	
 
   " "c                 F   K   | j                  |||       d{   S 7 w)r[   r@   rM   r.   Nr^   r,   r@   rM   r.   s       r   delete_snapshotz!AsyncSnapshotsApi.delete_snapshot(  s3      44+' 5 
 
 	
 
r   c                 B   K   | j                  |       d{   S 7 w)r`   rM   Nre   r,   rM   s     r   get_full_snapshotz#AsyncSnapshotsApi.get_full_snapshot7  s-      66' 7 
 
 	
 
r   c                 F   K   | j                  |||       d{   S 7 w)rg   rW   Nrh   r,   r@   rA   rM   s       r   get_shard_snapshotz$AsyncSnapshotsApi.get_shard_snapshotB  s3      77+' 8 
 
 	
 
r   c                 D   K   | j                  ||       d{   S 7 w)rj   r\   Nrk   r,   r@   rM   s      r   get_snapshotzAsyncSnapshotsApi.get_snapshotQ  s0      11+' 2 
 
 	
 
r   c                 >   K   | j                          d{   S 7 w)rm   Nro   r,   s    r   list_full_snapshotsz%AsyncSnapshotsApi.list_full_snapshots^  s      88::::s   c                 D   K   | j                  ||       d{   S 7 w)rq   rD   Nrs   r,   r@   rA   s      r   list_shard_snapshotsz&AsyncSnapshotsApi.list_shard_snapshotsf  s0      99+ : 
 
 	
 
r   c                 B   K   | j                  |       d{   S 7 w)ru   r@   Nrv   r,   r@   s     r   list_snapshotsz AsyncSnapshotsApi.list_snapshotss  s-      33+ 4 
 
 	
 
r   rw   c                 F   K   | j                  |||       d{   S 7 w)ry   r@   r.   rw   Nr   r,   r@   r.   rw   s       r   recover_from_snapshotz'AsyncSnapshotsApi.recover_from_snapshot~  s3      ::+- ; 
 
 	
 
r   r   r   r   c                 J   K   | j                  |||||       d{   S 7 w)r   r@   r.   r   r   r   Nr   r,   r@   r.   r   r   r   s         r   recover_from_uploaded_snapshotz0AsyncSnapshotsApi.recover_from_uploaded_snapshot  s:      CC+ D 
 
 	
 
s   #!#r   c                 H   K   | j                  ||||       d{   S 7 w)r   r@   rA   r.   r   Nr   r,   r@   rA   r.   r   s        r   recover_shard_from_snapshotz-AsyncSnapshotsApi.recover_shard_from_snapshot  s7      @@+#9	 A 
 
 	
 
r   c                 L   K   | j                  ||||||       d{   S 7 w)r   r@   rA   r.   r   r   r   Nr   r,   r@   rA   r.   r   r   r   s          r   $recover_shard_from_uploaded_snapshotz6AsyncSnapshotsApi.recover_shard_from_uploaded_snapshot  s=      II+ J 
 
 	
 
s   $"$r   r   r    r   r   r   r%   r<   r=   r   r9   r   r   r   rS   r   r   r   rd   r   r   r   rn   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r     s"    	
	
 
			
 	

 
 	

 
		
$ 

 
 
			
  

 
 
			
$ 

 
 	

 
 
		
* 	

 
 	

 
		
	
	
 
	


 
 	

 



 
 
	
;	
		;

 
 
			
	
	
 
			
 .2	

 
 ++	

 
		
$ %) 

 
 #	

 
 S'
 
		
. 9=

 
 	

 !" 6 6
 
		
* %) 

 
 	

 #
 
 S'
 
		
r   r   c                      e Zd Z	 ddedej
                  fdZ	 ddedededej
                  fdZ		 ddededej
                  fdZ
	 dd	ededej                  fd
Z	 ddeded	ededej                  f
dZ	 dded	ededej                  fdZd	edefdZdeded	edefdZded	edefdZdej&                  fdZdededej&                  fdZdedej&                  fdZ	 	 ddededej.                  dej                  fdZ	 	 	 	 ddededededee   dej                  fdZ	 	 ddedededej:                  dej                  f
dZ	 	 	 	 ddedededededee   dej                  fdZy)SyncSnapshotsApiNr.   r   c                 &    | j                  |      S )r0   r   r   r   s     r   r   z%SyncSnapshotsApi.create_full_snapshot  s     33 4 
 	
r   r@   rA   c                 *    | j                  |||      S )rC   r   r   r   s       r   r   z&SyncSnapshotsApi.create_shard_snapshot  s%     44+ 5 
 	
r   c                 (    | j                  ||      S )rJ   r   r   r   s      r   r   z SyncSnapshotsApi.create_snapshot  s"     ..+ / 
 	
r   rM   c                 (    | j                  ||      S )rO   r   r   r   s      r   r   z%SyncSnapshotsApi.delete_full_snapshot  s"     33' 4 
 	
r   c                 ,    | j                  ||||      S )rV   r   r   r   s        r   r   z&SyncSnapshotsApi.delete_shard_snapshot  s(     44+'	 5 
 	
r   c                 *    | j                  |||      S )r[   r   r   r   s       r   r   z SyncSnapshotsApi.delete_snapshot  s%     ..+' / 
 	
r   c                 &    | j                  |      S )r`   r   r   r   s     r   r   z"SyncSnapshotsApi.get_full_snapshot  s     00' 1 
 	
r   c                 *    | j                  |||      S )rg   rW   r   r   s       r   r   z#SyncSnapshotsApi.get_shard_snapshot'  s%     11+' 2 
 	
r   c                 (    | j                  ||      S )rj   r\   r   r   s      r   r   zSyncSnapshotsApi.get_snapshot6  s"     +++' , 
 	
r   c                 "    | j                         S )rm   r   r   s    r   r   z$SyncSnapshotsApi.list_full_snapshotsC  s     2244r   c                 (    | j                  ||      S )rq   rD   r   r   s      r   r   z%SyncSnapshotsApi.list_shard_snapshotsK  s"     33+ 4 
 	
r   c                 &    | j                  |      S )ru   r   r   r   s     r   r   zSyncSnapshotsApi.list_snapshotsX  s     --+ . 
 	
r   rw   c                 *    | j                  |||      S )ry   r   r   r   s       r   r   z&SyncSnapshotsApi.recover_from_snapshotc  s%     44+- 5 
 	
r   r   r   r   c                 .    | j                  |||||      S )r   r   r   r   s         r   r   z/SyncSnapshotsApi.recover_from_uploaded_snapshotr  s+     ==+ > 
 	
r   r   c                 ,    | j                  ||||      S )r   r   r   r   s        r   r   z,SyncSnapshotsApi.recover_shard_from_snapshot  s(     ::+#9	 ; 
 	
r   c                 0    | j                  ||||||      S )r   r   r   r   s          r   r   z5SyncSnapshotsApi.recover_shard_from_uploaded_snapshot  s/     CC+ D 
 	
r   r   r   r   r   r   r   r   r   r     s"    	
	
 
			
 	

 
 	

 
		
$ 

 
 
			
  

 
 
			
$ 

 
 	

 
 
		
* 	

 
 	

 
		
	
	
 
	


 
 	

 



 
 
	
5	
		5

 
 
			
	
	
 
			
 .2	

 
 ++	

 
		
$ %) 

 
 #	

 
 S'
 
		
. 9=

 
 	

 !" 6 6
 
		
* %) 

 
 	

 #
 
 S'
 
		
r   r   )NNTNTT)!typingr   r   r   r   r   r   r	   pydanticr
   pydantic.mainpydantic.versionr   PYDANTIC_VERSIONqdrant_client.http.modelsr   r<   
startswithr   r   r   r9   	SetIntStrDictIntStrAnyrd   r   r%   r&   qdrant_client.http.api_clientr'   r)   r   r   r   r   r   <module>r     s   D D D  # 8 ' 1)))$/{+c3h 	U38_c)*+9 +S +C +C + 04	9m+, 	
   , 7l
 l
^b
 b
Jb
} b
r   