
                            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
S.r\R                  " \R                  R                   \R                  R"                  5       " S S\R$                  5      5       r\\l        g)z<Command for adding or updating or patching partner metadata.    )encoding)base_classes)partner_metadata_utils)arg_parsers)base)
exceptions)flagsz|          {command} can be used to remove a specific entry in a namespace, a specific namespace, or all namespaces.
        a          To remove partner metadata specific entry in a namespace
        ``test.compute.googleapis.com/entries/engine''
        an instance named ``INSTANCE_NAME'', run:

          $ {command} INSTANCE_NAME \
          --keys=test.compute.googleapis.com/entries/engine

        To remove specific namespace with its data, run:
          $ {command} INSTANCE_NAME --keys=test.compute.googleapis.com

        To remove all namespaces, run:
          $ {command} INSTANCE_NAME --all

        )DESCRIPTIONEXAMPLESc                   4    \ rS rSrSr\S 5       rS rS rSr	g)InstancesRemovePartnerMetadata3   zRemove partner metadata.c                     [         R                  R                  U SS9  U R                  5       nUR	                  SSSSS9  UR	                  S[
        R                  " S	S
9SSS9  g )Nzset partner metadata on)operation_type--all
store_trueFz9If provided, all partner metadata namespaces are removed.)actiondefaulthelp--keys   )
min_lengthKEYz*The namespaces partner metadata to remove.)typemetavarr   )r	   INSTANCE_ARGAddArgumentadd_mutually_exclusive_groupadd_argumentr   ArgList)parsergroups     8lib/surface/compute/instances/remove_partner_metadata.pyArgs#InstancesRemovePartnerMetadata.Args7   s|    	""8 #  //1E	H	   
  A.9	      c                     UR                   R                  SUR                  R                  " S0 UR	                  5       D64$ )NGetPartnerMetadata )apitools_client	instancesmessages)ComputeInstancesGetPartnerMetadataRequestAsDict)selfclientinstance_refs      r#   GetGetPartnerMetadataRequest;InstancesRemovePartnerMetadata.GetGetPartnerMetadataRequestJ   sA    ((AA 	
!!#	
 r&   c           
      $   UR                   (       d*  UR                  (       d  [        R                  " SS/S5      e[        R
                  " U R                  5       5      nUR                  n[        R                  R                  UUR                  [        R                  " U5      S9nU R                  X45      nUR                  U/5      S   n[        R                   " U5      S   nUR                   (       a!  UR                  5        Vs0 s H  oS _M     nnOfUR                   HV  n	U	R#                  S5      R%                  S5      tpU(       a'  UR'                  5       nXz   nU H  nX   nM	     S X'   MR  S Xz'   MX     [(        R*                  " UUR,                  5      nUR.                  R0                  SUR,                  R2                  " S
SUR,                  R5                  US	90UR7                  5       D64nUR                  U/5      $ s  snf )Nr   r   z,One of [--all] or [--keys] must be provided.)scope_listerr   partnerMetadata/PatchPartnerMetadata)r6   r)   )allkeyscalliope_exceptionsOneOfArgumentsRequiredExceptionr   ComputeApiHolderReleaseTrackr0   r	   r   ResolveAsResource	resourcesGetInstanceZoneScopeListerr2   MakeRequestsr   MessageToDictstripsplitpopr   #ConvertPartnerMetadataDictToMessager,   r*   r+   +ComputeInstancesPatchPartnerMetadataRequestPartnerMetadatar.   )r/   argsholderr0   r1   get_requestpartner_metadata_messagepartner_metadata_dictkkey	namespaceentriesdeleted_entry	curr_dictentrypatch_requests                   r#   Run"InstancesRemovePartnerMetadata.RunS   s   88DII??W

8  **4+<+<+>?F]]F%%7755f= 8 L
 33FIK%22K=A!D$223KL xx0E0J0J0LM0L1$w0LM#!iin2237	!++--+6)e!(I %))
"-1

*  	BB!OO	
  	((CC 	
"OO;; 8 < 	
 !!#		
	M //9 Ns   Hr)   N)
__name__
__module____qualname____firstlineno____doc__staticmethodr$   r2   rW   __static_attributes__r)   r&   r#   r   r   3   s!      $/0r&   r   N)r]   apitools.base.pyr   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   r   r   r;   ,googlecloudsdk.command_lib.compute.instancesr	   DETAILED_HELPReleaseTracksr>   ALPHABETAUpdateCommandr   detailed_helpr)   r&   r#   <module>rj      s     C & 7 A / ( E >	, D%%++T->->-C-CDN0T%7%7 N0 EN0b 0=  ,r&   