
    I                     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)z;Command for removing service bindings to a backend service.    )absolute_import)division)unicode_literals)encoding)base_classes)client)base)flags)reference_utilsEXAMPLESz        To remove a service binding from 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)RemoveServiceBindings)   z/Remove service bindings from a backend service.c                 n    [         R                  R                  U5        [         R                  " USSS9  g )NTzEList of service binding names to be removed from the backend service.)required	help_text)r
   #GLOBAL_REGIONAL_BACKEND_SERVICE_ARGAddArgumentAddServiceBindings)clsparsers     ?lib/surface/compute/backend_services/remove_service_bindings.pyArgsRemoveServiceBindings.Args0   s-    	--99&A	Y    c                 V   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                  " Xh5      Ul        U$ s  snf )Nzcompute.regionBackendServicesglobal)

Collectionregionr   CopyProtoMessageserviceBindingsservice_bindingsr   BuildServiceBindingUrlprojectFilterReferences)	selfbackend_service_refargsexistinglocationreplacementold_bindingsbinding_namebindings_to_removes	            r   _ModifyRemoveServiceBindings._Modify9   s    &9&D&D&F*'+""08  ++H5K..4"L !11 2L 	../B/J/J/7	G1  
 #2"B"B#*Ks   +B&c                 >   [         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/ nUR                  (       d  UR                  S5        UR                  R                  R!                  U5         UR#                  U5      sSSS5        $ ! , (       d  f       g= f)z1Remove service bindings from the Backend Service.)scope_lister)compute_clientr!   N)r   ComputeApiHolderReleaseTrackr
   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   BackendServicer/   Getr!   appendapitools_clientIncludeFieldsSet)r&   r(   holderr'   backend_service
new_objectcleared_fieldss          r   RunRemoveServiceBindings.RunH   s    **4+<+<+>?F11CC&<<V]]K 	D 	M 
 ++MM;O 19L9L9NOJN%%-.		&	&	4	4^	D  , 
E	D	Ds   3D
D N)__name__
__module____qualname____firstlineno____doc___DETAILED_HELPdetailed_helpclassmethodr   r/   rD   __static_attributes__rF   r   r   r   r   )   s(     8 - -r   r   N)rK   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.computer   /googlecloudsdk.api_lib.compute.backend_servicesr   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r8   r   3googlecloudsdk.command_lib.compute.backend_servicesrL   ReleaseTracksr5   ALPHABETAGAUpdateCommandr   rF   r   r   <module>r\      s    B &  ' % 7 B ( E > E 	 D%%++T->->-C-C%%((*.-D.. .-*.-r   