
                         4   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	0r\R                  " \R                   R"                  \R                   R$                  \R                   R&                  5       " S
 S\R(                  5      5       rg)z;Command for removing service bindings to a backend service.    )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.Args-   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._Modify6   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.RunE   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,   rA   __static_attributes__rC   r   r   r   r   &   s(     8 - -r   r   N)rH   apitools.base.pyr   googlecloudsdk.api_lib.computer   /googlecloudsdk.api_lib.compute.backend_servicesr   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r5   r   3googlecloudsdk.command_lib.compute.backend_servicesrI   ReleaseTracksr2   ALPHABETAGAUpdateCommandr   rC   r   r   <module>rX      s    B & 7 B ( E > E 	 D%%++T->->-C-C%%((*.-D.. .-*.-r   