
    V                         S SK JrJr  S SKJrJrJr  S SKJr  S SK	J
r
JrJrJrJr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	\5      rg
)    )ABCabstractmethod)ListOptionalUnion)	Operation)CloudRegion	TopicPathLocationPathSubscriptionPathBacklogLocationPublishTime	EventTime)ReservationPath)TopicSubscriptionReservation)	FieldMaskc            
          \ rS rSrSr\S\4S j5       r\S\S\4S j5       r	\S\
S\4S j5       r\S\
S\4S	 j5       r\S
\S\\   4S j5       r\S\S\S\4S j5       r\S\
4S j5       r\S\
S\\   4S j5       r\\R.                  S4S\S\\\\4   S\\   S\4S jj5       r\S\S\4S j5       r\S
\S\\   4S j5       r\S\S\S\4S j5       r \S\S\\\\4   S\!4S j5       r"\S\4S j5       r#\S\$S\$4S j5       r%\S\&S\$4S j5       r'\S
\S\\$   4S j5       r(\S\$S\S\$4S  j5       r)\S\&4S! j5       r*\S\&S\\
   4S" j5       r+S#r,g)$AdminClientInterface!   zE
An admin client for Pub/Sub Lite. Only operates on a single region.
returnc                     g)zThe region this client is for.N )selfs    Alib/third_party/google/cloud/pubsublite/admin_client_interface.pyregionAdminClientInterface.region&           topicc                     g)z*Create a topic, returns the created topic.Nr   )r   r!   s     r   create_topic!AdminClientInterface.create_topic*   r   r    
topic_pathc                     g)z%Get the topic object from the server.Nr   r   r%   s     r   	get_topicAdminClientInterface.get_topic.   r   r    c                     g)z3Get the number of partitions in the provided topic.Nr   r'   s     r   get_topic_partition_count.AdminClientInterface.get_topic_partition_count2   r   r    location_pathc                     g)zJList the Pub/Sub lite topics that exist for a project in a given location.Nr   r   r-   s     r   list_topics AdminClientInterface.list_topics6   r   r    update_maskc                     g)z/Update the masked fields of the provided topic.Nr   )r   r!   r2   s      r   update_topic!AdminClientInterface.update_topic:   r   r    c                     g)z+Delete a topic and all associated messages.Nr   r'   s     r   delete_topic!AdminClientInterface.delete_topic>   r   r    c                     g)z4List the subscriptions that exist for a given topic.Nr   r'   s     r   list_topic_subscriptions-AdminClientInterface.list_topic_subscriptionsB   r   r    Nsubscriptiontargetstarting_offsetc                     g)a  Create a subscription, returns the created subscription. By default
a subscription will only receive messages published after the
subscription was created.

`starting_offset` is deprecated. Use `target` to initialize the
subscription to a target location within the message backlog instead.
`starting_offset` has higher precedence if `target` is also set.

A seek is initiated if the target location is a publish or event time.
If the seek fails, the created subscription is not deleted.
Nr   )r   r<   r=   r>   s       r   create_subscription(AdminClientInterface.create_subscriptionF   r   r    subscription_pathc                     g)z,Get the subscription object from the server.Nr   r   rB   s     r   get_subscription%AdminClientInterface.get_subscriptionY   r   r    c                     g)zQList the Pub/Sub lite subscriptions that exist for a project in a given location.Nr   r/   s     r   list_subscriptions'AdminClientInterface.list_subscriptions]   r   r    c                     g)z6Update the masked fields of the provided subscription.Nr   )r   r<   r2   s      r   update_subscription(AdminClientInterface.update_subscriptiona   r   r    c                     g)a  Initiate an out-of-band seek for a subscription to a specified target.

The seek target may be timestamps or named positions within the message
backlog See https://cloud.google.com/pubsub/lite/docs/seek for more
information.

Returns:
    google.api_core.operation.Operation with:
      result type: google.cloud.pubsublite.SeekSubscriptionResponse
      metadata type: google.cloud.pubsublite.OperationMetadata
Nr   )r   rB   r=   s      r   seek_subscription&AdminClientInterface.seek_subscriptiong   r   r    c                     g)z2Delete a subscription and all associated messages.Nr   rD   s     r   delete_subscription(AdminClientInterface.delete_subscriptiony   r   r    reservationc                     g)z6Create a reservation, returns the created reservation.Nr   )r   rS   s     r   create_reservation'AdminClientInterface.create_reservation}   r   r    reservation_pathc                     g)z+Get the reservation object from the server.Nr   r   rW   s     r   get_reservation$AdminClientInterface.get_reservation   r   r    c                     g)zPList the Pub/Sub lite reservations that exist for a project in a given location.Nr   r/   s     r   list_reservations&AdminClientInterface.list_reservations   r   r    c                     g)z5Update the masked fields of the provided reservation.Nr   )r   rS   r2   s      r   update_reservation'AdminClientInterface.update_reservation   r   r    c                     g)z1Delete a reservation and all associated messages.Nr   rY   s     r   delete_reservation'AdminClientInterface.delete_reservation   r   r    c                     g)z:List the subscriptions that exist for a given reservation.Nr   rY   s     r   list_reservation_topics,AdminClientInterface.list_reservation_topics   r   r    r   )-__name__
__module____qualname____firstlineno____doc__r   r	   r   r   r#   r
   r(   intr+   r   r   r0   r   r4   r7   r   r:   r   ENDr   r   r   r   r   r@   rE   rH   rK   r   rN   rQ   r   rU   r   rZ   r]   r`   rc   rf   __static_attributes__r   r    r   r   r   !   sI    - - - 9% 9E 9 9 4I 4% 4 4 BI B# B B Y Y$u+ Y Y >% >i >E > > :y : : C9 CFVAW C C  BQATAT59	" o{I=> "/2	
 
 $ ;2B ;| ; ; ` `lAS ` ` E(E7@E	E E
 + o{I=> 
	 " A5E A A Ek Ek E E : :K : : _| _[@Q _ _ D&D5>D	D D
 @? @ @ I /I	iI Ir    r   N)abcr   r   typingr   r   r   google.api_core.operationr   google.cloud.pubsublite.typesr	   r
   r   r   r   r   r   #google.cloud.pubsublite.types.pathsr   google.cloud.pubsublite_v1r   r   r   'cloudsdk.google.protobuf.field_mask_pb2r   r   r   r    r   <module>rw      sA    $ ( ( /   @ G G =vI3 vIr    