
                            d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ  ej*                  ej,                  j.                  ej,                  j0                  ej,                  j2                         G d dej4                               Z ej8                  d      e_        y)z$Command for adding labels to images.    )absolute_import)division)unicode_literals)base_classes)poller)waiter)base)labels_doc_helper)labels_flags)flags)labels_utilc                   &    e Zd ZdZed        Zd Zy)ImagesRemoveLabelsNc                     t        j                  d      | _        | j                  j                  |       t	        j
                  |       y )NF)plural)images_flagsMakeDiskImageArgDISK_IMAGE_ARGAddArgumentr   AddArgsForRemoveLabels)clsparsers     +lib/surface/compute/images/remove_labels.pyArgszImagesRemoveLabels.Args%   s7    %66eDC""6*''/    c                    t        j                  | j                               }|j                  j                  }|j                  j
                  }| j                  j                  ||j                        }t        j                  |      }|j                  j                   |j                  di |j                               }|j                  rBi }|j                   r4|j                   j"                  D ]  }|j$                  ||j&                  <    t        j(                  |      j+                  |j,                  j.                  |j                         }	|	j0                  s|S |j3                  |j4                  |j6                  |j-                  |j8                  |	j                               }
|j                  j;                  |
      }|j                  j=                  |j>                  d      }tA        jB                  |j                        }tE        jF                  ||djI                  |jK                                     S )N)subtractions)labelFingerprintlabels)projectresourceglobalSetLabelsRequestzcompute.globalOperations)
collectionzUpdating labels of image [{0}] )&r   ComputeApiHolderReleaseTrackclientapitools_clientmessagesr   ResolveAsResource	resourcesr   GetUpdateLabelsDictFromArgsimagesGetComputeImagesGetRequestAsDictallr   additionalPropertiesvaluekeyDiffApplyGlobalSetLabelsRequestLabelsValueneeds_updateComputeImagesSetLabelsRequestr    imager   	SetLabelsParseselfLinkr   Pollerr   WaitForformatName)selfargsholderr'   r)   	image_refremove_labelsr;   labellabels_updaterequest	operationoperation_refoperation_pollers                 r   RunzImagesRemoveLabels.Run+   s   **4+<+<+>?F]]**F}}%%H##55f I  ;;DAMMM(((>9+;+;+=>@E xxm	\\66E%*[[-		
" 7  $$-@FF''33M %%l44!!''"33 '' 	( 	)	 5 *G ''0I$$**'A + CM }}V]]3>>-(//NN	 r   )__name__
__module____qualname__r   classmethodr   rN   r$   r   r   r   r      s      .0 0
*r   r   r;   N)__doc__
__future__r   r   r   googlecloudsdk.api_lib.computer   )googlecloudsdk.api_lib.compute.operationsr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r   )googlecloudsdk.command_lib.compute.imagesr   r   $googlecloudsdk.command_lib.util.argsr   ReleaseTracksr&   ALPHABETAGAUpdateCommandr   #GenerateDetailedHelpForRemoveLabelsdetailed_helpr$   r   r   <module>rc      s    + &  ' 7 < . ( @ ; K < T..33T5F5F5I5IK4++ 4K4p :99'B   r   