
                             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 " S
 S\5      rg)z)Utilities Service Directory services 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S	 jrS
 rS rS rS rSrU =r$ )ServicesClient   0Client for service in the Service Directory API.c                 b   > [         [        U ]  U5        U R                  R                  U l        g N)superr
   __init__client&projects_locations_namespaces_servicesservice)selfrelease_track	__class__s     8lib/googlecloudsdk/api_lib/service_directory/services.pyr   ServicesClient.__init__   s#    	.$(7;;EEDL    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      $ )Services create request.annotationsparentr   	serviceIdmsgsService@ServicedirectoryProjectsLocationsNamespacesServicesCreateRequestParentRelativeName
servicesIdr   Create)r   service_refr   r   
create_reqs        r   r(   ServicesClient.Create"   sk    iiK8G[[!!#002(( \ *J <<z**r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ )zServices delete request.name)r"   @ServicedirectoryProjectsLocationsNamespacesServicesDeleteRequestr&   r   Delete)r   r)   
delete_reqs      r   r0   ServicesClient.Delete+   s=    [[%%' \ )J<<z**r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ )zServices describe request.r-   )r"   =ServicedirectoryProjectsLocationsNamespacesServicesGetRequestr&   r   Get)r   r)   describe_reqs      r   DescribeServicesClient.Describe1   s=    99ZZ%%' [ )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Services list request.)r   filterorderBypageSizeservicesr<   )
batch_sizefieldbatch_size_attribute)r"   >ServicedirectoryProjectsLocationsNamespacesServicesListRequestr&   r   YieldFromListr   )r   namespace_reffilter_order_by	page_sizelist_reqs         r   ListServicesClient.List7   sY    yyWW))+	 X 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      $ )Services update request.r   r   ,r.   r   
updateMaskappendr"   r#   ?ServicedirectoryProjectsLocationsNamespacesServicesPatchRequestr&   joinr   Patch)r   r)   r   
mask_partsr   
update_reqs         r   UpdateServicesClient.UpdateE   s{    J&iiK8GZZ%%'88J' [ )J <<j))r   c                     U R                   R                  UR                  5       U R                   R                  X#S9S9nU R                  R                  U5      $ )zServices resolve request.)maxEndpointsendpointFilter)r.   resolveServiceRequest)r"   AServicedirectoryProjectsLocationsNamespacesServicesResolveRequestr&   ResolveServiceRequestr   Resolve)r   r)   max_endpointsendpoint_filterresolve_reqs        r   r^   ServicesClient.ResolveR   s[    ))]]%%'"ii==& > H ^ IK <<,,r   c                     U R                  U5      n[        R                  " U R                  R                  XBU5        U R                  X5      $ )z(Services add iam policy binding request.)GetIamPolicyr   AddBindingToIamPolicyr"   BindingSetIamPolicyr   r)   memberrolepolicys        r   AddIamPolicyBinding"ServicesClient.AddIamPolicyBindingZ   s?    {+F""499#4#4fdK[11r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ )z Services get iam policy request.)resource)r"   FServicedirectoryProjectsLocationsNamespacesServicesGetIamPolicyRequestr&   r   rd   )r   r)   get_reqs      r   rd   ServicesClient.GetIamPolicy`   s=    ii^^))+ _ -G<<$$W--r   c                 t    U R                  U5      n[        R                  " XBU5        U R                  X5      $ )z+Services remove iam policy binding request.)rd   r   RemoveBindingFromIamPolicyrg   rh   s        r   RemoveIamPolicyBinding%ServicesClient.RemoveIamPolicyBindingf   s3    {+F''=[11r   c                     U R                   R                  UR                  5       U R                   R                  US9S9nU R                  R                  U5      $ )z Services set iam policy request.)rk   )ro   setIamPolicyRequest)r"   FServicedirectoryProjectsLocationsNamespacesServicesSetIamPolicyRequestr&   SetIamPolicyRequestr   rg   )r   r)   rk   set_reqs       r   rg   ServicesClient.SetIamPolicyl   sU    ii^^))+ II999H _ JG <<$$W--r   )r   r   )NNN)NN)__name__
__module____qualname____firstlineno____doc__r   ReleaseTrackGAr   r(   r0   r7   rH   rV   r^   rl   rd   ru   rg   __static_attributes____classcell__r   s   @r   r
   r
      sR    8#'#4#4#7#7 F++*)*-2.2. .r   r
   c                   @   ^  \ rS rSrSrU 4S jrSS jrSS jrSrU =r	$ )ServicesClientBetat   r   c                 \   > [         [        U ]  [        R                  R
                  5        g r   )r   r   r   r   r   BETA)r   r   s    r   r   ServicesClientBeta.__init__w   s    	
d,T->->-C-CDr   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      $ )r   metadatar   r!   )r   r)   r   r   r*   s        r   r(   ServicesClientBeta.Createz   sk    ii2G[[!!#002(( \ *J <<z**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      $ )rK   r   r   rL   rM   rO   )r   r)   r   rT   r   rU   s         r   rV   ServicesClientBeta.Update   s{    J
#ii2GZZ%%'88J' [ )J <<j))r    r   )
r}   r~   r   r   r   r   r(   rV   r   r   r   s   @r   r   r   t   s    8E+* *r   r   N)r   
__future__r   r   r   apitools.base.pyr   (googlecloudsdk.api_lib.service_directoryr   sd_basegooglecloudsdk.calliopegooglecloudsdk.command_lib.iamr   ServiceDirectoryApiLibBaser
   r   r   r   r   <module>r      s@    0 &  ' ' D ( 3V.W77 V.r* *r   