
    _
                     N    S r SSKJr  SSKJr  SSKJr  SSKJ	r	   " S S\
5      rg)	zApphub Boundary API.    )consts)utils)waiter)
exceptionsc                   *    \ rS rSrSrS rS rS rSrg)BoundaryClient   z)Client for boundaries in the App Hub API.c                    [         R                  " U5      U l        [         R                  " U5      U l        U R                  R
                  U l        [        R                  " U R                  U R                  R                  5      U l
        g )N)api_lib_utilsGetClientInstance_clientGetMessagesModule	_messagesprojects_locations_servicer   CloudOperationPollerprojects_locations_operations_poller)selfrelease_tracks     -lib/googlecloudsdk/api_lib/apphub/boundary.py__init__BoundaryClient.__init__   s\     22=ADL"44]CDNLL33DM..t||AADL    c                 j    U R                   R                  US9nU R                  R                  U5      $ )zGets a Boundary resource.)name)r   )ApphubProjectsLocationsGetBoundaryRequestr   GetBoundary)r   boundary_namerequests      r   DescribeBoundaryClient.Describe"   s6    nnFF G G ==$$W--r   c                 r   / nU R                   R                  5       nUR                  S5      (       a3  UR                  S5        UR                  (       a  UR                  Ul        U(       d  [        R                  " S5      eU R                   R                  UUSR                  U5      UR                  S9nU R                  R                  U5      nUR                  (       a  U$ [        R                  " U R                   U["        R$                  R&                  ["        R$                  R(                  5      $ )zUpdates a Boundary resource.crm_nodez*Must specify at least one field to update.,)r   boundary
updateMask	requestId)r   BoundaryIsSpecifiedappendr$   crmNoder   ToolException,ApphubProjectsLocationsUpdateBoundaryRequestjoin
request_idr   UpdateBoundaryasync_r   WaitForOperationr   api_lib_constsRemoveServiceProjectWAIT_FOR_REMOVE_MESSAGEREMOVE_TIMELIMIT_SEC)r   r   argsupdate_maskr&   r    	operations          r   UpdateBoundaryClient.Update)   s    K~~&&(H
##$	==$$
6  nnII88K(//	 J G ,,W5I{{ ))++CC++@@	 r   )r   r   r   r   N)	__name__
__module____qualname____firstlineno____doc__r   r!   r;   __static_attributes__ r   r   r   r      s    1."r   r   N)rA   googlecloudsdk.api_lib.apphubr   r4   r   r   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   objectr   rC   r   r   <module>rH      s"     B @ . .4V 4r   