
    a                     >   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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.    )absolute_import)division)unicode_literals)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)InstancesRemovePartnerMetadata6   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.Args:   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.GetGetPartnerMetadataRequestM   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)r9   r,   )allkeyscalliope_exceptionsOneOfArgumentsRequiredExceptionr   ComputeApiHolderReleaseTrackr3   r   r   ResolveAsResource	resourcesGetInstanceZoneScopeListerr5   MakeRequestsr   MessageToDictstripsplitpopr   #ConvertPartnerMetadataDictToMessager/   r-   r.   +ComputeInstancesPatchPartnerMetadataRequestPartnerMetadatar1   )r2   argsholderr3   r4   get_requestpartner_metadata_messagepartner_metadata_dictkkey	namespaceentriesdeleted_entry	curr_dictentrypatch_requests                   r&   Run"InstancesRemovePartnerMetadata.RunV   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'   r5   rZ   __static_attributes__r,   r)   r&   r   r   6   s!      $/0r)   r   N)r`   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper	   r
   r   r>   ,googlecloudsdk.command_lib.compute.instancesr   DETAILED_HELPReleaseTracksrA   ALPHABETAUpdateCommandr   detailed_helpr,   r)   r&   <module>rn      s     C &  ' & 7 A / ( E >	, D%%++T->->-C-CDN0T%7%7 N0 EN0b 0=  ,r)   