
                             S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr	  SSK
Jr  SSKJr   " S S	\	R                  5      rg
)z+Utilities Service Directory namespaces API.    )absolute_import)division)unicode_literals)
list_pager)base)iam_utilc                      ^  \ rS rSrSr\R                  R                  4U 4S jjrSS jr	S r
S rSS jrSS jrS	 rS
 rS rS rSrU =r$ )NamespacesClient   z3Client for namespaces in the Service Directory API.c                 b   > [         [        U ]  U5        U R                  R                  U l        g N)superr
   __init__clientprojects_locations_namespacesservice)selfrelease_track	__class__s     :lib/googlecloudsdk/api_lib/service_directory/namespaces.pyr   NamespacesClient.__init__   s$    	
D*=9;;<<DL    c                     U R                   R                  US9nU R                   R                  UR                  5       R	                  5       UUR
                  S9nU R                  R                  U5      $ )zNamespaces create request.labels)parent	namespacenamespaceId)msgs	Namespace8ServicedirectoryProjectsLocationsNamespacesCreateRequestParentRelativeNamenamespacesIdr   Create)r   namespace_refr   r   
create_reqs        r   r%   NamespacesClient.Create"   sk    		##6#2ISS##%224!.. T 0J <<z**r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ )zNamespaces delete request.name)r   8ServicedirectoryProjectsLocationsNamespacesDeleteRequestr#   r   Delete)r   r&   
delete_reqs      r   r-   NamespacesClient.Delete+   s=    SS'') T +J<<z**r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ )zNamespaces describe request.r*   )r   5ServicedirectoryProjectsLocationsNamespacesGetRequestr#   r   Get)r   r&   describe_reqs      r   DescribeNamespacesClient.Describe1   s=    99RR'') S +L<<L))r   c                     U R                   R                  UR                  5       UUUS9n[        R                  " U R
                  UUSSS9$ )zNamespaces list request.)r   filterorderBypageSize
namespacesr9   )
batch_sizefieldbatch_size_attribute)r   6ServicedirectoryProjectsLocationsNamespacesListRequestr#   r   YieldFromListr   )r   location_reffilter_order_by	page_sizelist_reqs         r   ListNamespacesClient.List7   sY    yyOO((*	 P H
 ##') )r   c                    / nU(       a  UR                  S5        U R                  R                  US9nU R                  R                  UR	                  5       USR                  U5      S9nU R                  R                  U5      $ )zNamespaces update request.r   r   ,)r+   r   
updateMask)appendr   r    7ServicedirectoryProjectsLocationsNamespacesPatchRequestr#   joinr   Patch)r   r&   r   
mask_partsr   
update_reqs         r   UpdateNamespacesClient.UpdateE   s{    J!		##6#2IRR'')88J' S )J <<j))r   c                     U R                  U5      n[        R                  " U R                  R                  XBU5        U R                  X5      $ )z*Namespaces add iam policy binding request.)GetIamPolicyr   AddBindingToIamPolicyr   BindingSetIamPolicyr   r&   memberrolepolicys        r   AddIamPolicyBinding$NamespacesClient.AddIamPolicyBindingR   s?    }-F""499#4#4fdK]33r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ )z"Namespaces get iam policy request.)resource)r   >ServicedirectoryProjectsLocationsNamespacesGetIamPolicyRequestr#   r   rS   )r   r&   get_reqs      r   rS   NamespacesClient.GetIamPolicyX   s=    iiVV++- W /G<<$$W--r   c                 t    U R                  U5      n[        R                  " XBU5        U R                  X5      $ )z-Namespaces remove iam policy binding request.)rS   r   RemoveBindingFromIamPolicyrV   rW   s        r   RemoveIamPolicyBinding'NamespacesClient.RemoveIamPolicyBinding^   s3    }-F''=]33r   c                     U R                   R                  UR                  5       U R                   R                  US9S9nU R                  R                  U5      $ )z"Namespaces set iam policy request.)rZ   )r^   setIamPolicyRequest)r   >ServicedirectoryProjectsLocationsNamespacesSetIamPolicyRequestr#   SetIamPolicyRequestr   rV   )r   r&   rZ   set_reqs       r   rV   NamespacesClient.SetIamPolicyd   sU    iiVV++- II999H W JG <<$$W--r   )r   r   )NNN)__name__
__module____qualname____firstlineno____doc__r   ReleaseTrackGAr   r%   r-   r4   rE   rP   r[   rS   rd   rV   __static_attributes____classcell__)r   s   @r   r
   r
      sL    ;#'#4#4#7#7 =++*)*4.4. .r   r
   N)rp   
__future__r   r   r   apitools.base.pyr   (googlecloudsdk.api_lib.service_directoryr   sd_basegooglecloudsdk.calliopegooglecloudsdk.command_lib.iamr   ServiceDirectoryApiLibBaser
    r   r   <module>r}      s3    2 &  ' ' D ( 3N.w99 N.r   