
    (                     x    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
 " S S\
5      rg	)
z)Utilities Service Directory services 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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   r-   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.Describe.   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servicesr9   )
batch_sizefieldbatch_size_attribute)r   >ServicedirectoryProjectsLocationsNamespacesServicesListRequestr#   r   YieldFromListr   )r   namespace_reffilter_order_by	page_sizelist_reqs         r   ListServicesClient.List4   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.UpdateB   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.ResolveO   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.AddIamPolicyBindingW   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   ra   )r   r&   get_reqs      r   ra   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.)ra   r   RemoveBindingFromIamPolicyrd   re   s        r   RemoveIamPolicyBinding%ServicesClient.RemoveIamPolicyBindingc   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.)rh   )rl   setIamPolicyRequest)r   FServicedirectoryProjectsLocationsNamespacesServicesSetIamPolicyRequestr#   SetIamPolicyRequestr   rd   )r   r&   rh   set_reqs       r   rd   ServicesClient.SetIamPolicyi   sU    ii^^))+ II999H _ JG <<$$W--r   )r   r   )NNN)NN)__name__
__module____qualname____firstlineno____doc__r   ReleaseTrackGAr   r%   r-   r4   rE   rS   r[   ri   ra   rr   rd   __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	$ )ServicesClientBetaq   r	   c                 \   > [         [        U ]  [        R                  R
                  5        g r   )r   r   r   r   r   BETA)r   r   s    r   r   ServicesClientBeta.__init__t   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.Createw   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      $ )rH   r   r   rI   rJ   rL   )r   r&   r   rQ   r   rR   s         r   rS   ServicesClientBeta.Update   s{    J
#ii2GZZ%%'88J' [ )J <<j))r    r   )
rz   r{   r|   r}   r~   r   r%   rS   r   r   r   s   @r   r   r   q   s    8E+* *r   r   N)r~   apitools.base.pyr   (googlecloudsdk.api_lib.service_directoryr   sd_basegooglecloudsdk.calliopegooglecloudsdk.command_lib.iamr   ServiceDirectoryApiLibBaser   r   r   r   r   <module>r      s9    0 ( D ( 3V.W77 V.r* *r   