
                             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KJr  SS
KJr  SSKJr   " S S\R.                  5      r\R2                  " S5      \l        g)z'Command for removing labels from disks.    )absolute_import)division)unicode_literals)base_classes)
disks_util)poller)waiter)base)flags)labels_doc_helper)labels_flags)labels_utilc                   2    \ rS rSrSrSr\S 5       rS rSr	g)RemoveLabels!   z remove-labels command for disks.Nc                     [         R                  " SS9U l        U R                  R                  U5        [        R
                  " U5        g )NF)plural)disks_flagsMakeDiskArgDISK_ARGAddArgumentr   AddArgsForRemoveLabels)clsparsers     *lib/surface/compute/disks/remove_labels.pyArgsRemoveLabels.Args&   s4    **%8CLLLV$''/    c                    [         R                  " U R                  5       5      nUR                  R                  nUR                  R
                  nU R                  R                  UUR                  [        R                  " UR                  5      S9n[        R                  " U5      n[        R                  " XSU5      nUR                  5       nUR                   (       aH  0 nUR"                  (       a5  UR"                  R$                   H  n	U	R&                  XiR(                  '   M     [        R*                  " US9n
UR-                  5       nU
R/                  UR0                  UR"                  5      nUR3                  XR5                  5       5      nUR6                  (       d  U$ UR9                  5       nUR;                  U5      nUR                  R=                  UR>                  URA                  5       S9n[B        RD                  " U5      n[F        RH                  " UUSRK                  URM                  5       5      5      $ )N)scope_lister)subtractions)
collectionzUpdating labels of disk [{0}])'r   ComputeApiHolderReleaseTrackclientapitools_clientmessagesr   ResolveAsResource	resourcesr   GetDefaultScopeListerr   GetUpdateLabelsDictFromArgsapi_utilGetDiskInfoGetDiskResourcealllabelsadditionalPropertiesvaluekeyDiffGetSetLabelsRequestMessageApplyLabelsValueGetSetDiskLabelsRequestMessage	GetOrNoneneeds_update
GetService	SetLabelsParseselfLinkGetOperationCollectionr   Pollerr	   WaitForformatName)selfargsholderr%   r'   disk_refremove_labels	disk_infodisklabellabels_diffset_label_reqlabels_updaterequestservice	operationoperation_refoperation_pollers                     r   RunRemoveLabels.Run,   s   **4+<+<+>?F]]**F}}%%H}}..00? / AH  ;;DAM$$Xx@I$$&Dxxm	[[55E%*[[-		
" 6"">K88:M%%m&?&?MM66%%')G%%k""$G!!'*I$$**y'G'G'I + KM }}W->>-'..MMO	 r    )
__name__
__module____qualname____firstlineno____doc__r   classmethodr   rT   __static_attributes__rV   r   r   r   r   !   s!    ((0 0
$r   r   rJ   N)r[   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   r,   )googlecloudsdk.api_lib.compute.operationsr   googlecloudsdk.api_lib.utilr	   googlecloudsdk.callioper
   "googlecloudsdk.command_lib.computer   r   r   (googlecloudsdk.command_lib.compute.disksr   $googlecloudsdk.command_lib.util.argsr   UpdateCommandr   #GenerateDetailedHelpForRemoveLabelsdetailed_helprV   r   r   <module>ri      s\    . &  ' 7 A < . ( 4 @ ; I </4%% /f 99&A  r   