
                         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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0r\R&                  " \R(                  R*                  \R(                  R,                  \R(                  R.                  5       " S S\R0                  5      5       rg)z9Command for adding service bindings to a backend service.    )absolute_import)division)unicode_literals)encoding)base_classes)client)base)flags)reference_utilsEXAMPLESz          To add a service binding to a backend service, run:

            $ {command} NAME             --service-bindings=SERVICE_BINDING1 --global
          c                   8    \ rS rSrSr\r\S 5       rS r	S r
Srg)AddServiceBindings)   z*Add service bindings to a backend service.c                 n    [         R                  R                  U5        [         R                  " USSS9  g )NTzAList of service binding names to be added to the backend service.)required	help_text)r
   #GLOBAL_REGIONAL_BACKEND_SERVICE_ARGAddArgumentr   )clsparsers     <lib/surface/compute/backend_services/add_service_bindings.pyArgsAddServiceBindings.Args0   s-    	--99&A	U    c                    UR                  5       S:X  a  UR                  OSn[        R                  " U5      nUR                  =(       d    / nUR
                   Vs/ s H$  n[        R                  " UR                  XG5      PM&     nn[        R                  " X5      n[        [        [        U5      [        U5      -  5      5      Ul        U$ s  snf )Nzcompute.regionBackendServicesglobal)
Collectionregionr   CopyProtoMessageserviceBindingsservice_bindingsr   BuildServiceBindingUrlprojectFilterReferencessortedlistset)	selfbackend_service_refargsexistinglocationreplacementold_bindingsbinding_namenew_bindingss	            r   _ModifyAddServiceBindings._Modify9   s    &9&D&D&F*'+""08  ++H5K..4"L !11 2L 	../B/J/J/7	G1  
 #33LOL"(S\!223#5Ks   +Cc                 v   [         R                  " U R                  5       5      n[        R                  R                  UUR                  [        R                  " UR                  5      S9n[        R                  " X2R                  S9nU R                  X1UR                  5       5      nUR                  U5      $ )z-Adds service bindings to the Backend Service.)scope_lister)compute_client)r   ComputeApiHolderReleaseTrackr
   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   BackendServicer1   GetSet)r(   r*   holderr)   backend_service
new_objects         r   RunAddServiceBindings.RunI   s    **4+<+<+>?F11CC&<<V]]K 	D 	M 
 ++MM;O 19L9L9NOJz**r    N)__name__
__module____qualname____firstlineno____doc___DETAILED_HELPdetailed_helpclassmethodr   r1   rB   __static_attributes__rD   r   r   r   r   )   s(     3 -  +r   r   N)rI   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.computer   /googlecloudsdk.api_lib.compute.backend_servicesr   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r:   r   3googlecloudsdk.command_lib.compute.backend_servicesrJ   ReleaseTracksr7   ALPHABETAGAUpdateCommandr   rD   r   r   <module>rZ      s    @ &  ' % 7 B ( E > E 	 D%%++T->->-C-C%%((**+++ *+**+r   