
    ]                     b    S 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.    )
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.Describe.   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
namespacesr6   )
batch_sizefieldbatch_size_attribute)r   6ServicedirectoryProjectsLocationsNamespacesListRequestr    r   YieldFromListr   )r   location_reffilter_order_by	page_sizelist_reqs         r   ListNamespacesClient.List4   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.UpdateB   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.AddIamPolicyBindingO   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   rP   )r   r#   get_reqs      r   rP   NamespacesClient.GetIamPolicyU   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.)rP   r   RemoveBindingFromIamPolicyrS   rT   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.)rW   )r[   setIamPolicyRequest)r   >ServicedirectoryProjectsLocationsNamespacesSetIamPolicyRequestr    SetIamPolicyRequestr   rS   )r   r#   rW   set_reqs       r   rS   NamespacesClient.SetIamPolicya   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*   r1   rB   rM   rX   rP   ra   rS   __static_attributes____classcell__)r   s   @r   r   r      sL    ;#'#4#4#7#7 =++*)*4.4. .r   r   N)rm   apitools.base.pyr   (googlecloudsdk.api_lib.service_directoryr   sd_basegooglecloudsdk.calliopegooglecloudsdk.command_lib.iamr   ServiceDirectoryApiLibBaser    r   r   <module>ry      s,    2 ( D ( 3N.w99 N.r   