
                         N   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 rS rS r\R6                  " \R8                  R:                  5      \R<                   " S S\R>                  5      5       5       r \R6                  " \R8                  RB                  5       " S S\ 5      5       r"\R6                  " \R8                  RF                  5       " S S\ 5      5       r$\RJ                  " S5      \ l&        g)z'Command for adding labels to snapshots.    )absolute_import)division)unicode_literals)base_classes)poller)waiter)base)flags)labels_doc_helper)labels_flags)scope)labels_utilc                     [         R                  " 5       [        l        [        R                  R	                  U 5        [
        R                  " U 5        g)z3A helper function to build args for GA API version.N)snapshots_flagsMakeSnapshotArgSnapshotsRemoveLabelsSnapshotArgAddArgumentr   AddArgsForRemoveLabelsparsers    .lib/surface/compute/snapshots/remove_labels.py_GAArgsr   !   s6    &5&E&E&G###//7%%f-    c                     [         R                  " 5       [        l        [        R                  R	                  U 5        [
        R                  " U 5        g)z5A helper function to build args for Beta API version.Nr   #MakeSnapshotArgForRegionalSnapshotsr   r   r   r   r   r   s    r   	_BetaArgsr   (   <     99; # ##//7%%f-r   c                     [         R                  " 5       [        l        [        R                  R	                  U 5        [
        R                  " U 5        g)z6A helper function to build args for Alpha API version.Nr   r   s    r   
_AlphaArgsr!   1   r   r   c                   8    \ rS rSrSr\S 5       rS rSS jrSr	g)	r   :   *Remove labels to Compute Engine snapshots.c                     [        U 5        g N)r   r   s    r   ArgsSnapshotsRemoveLabels.Args?   s	    FOr   c                 $    U R                  U5      $ r&   _Runselfargss     r   RunSnapshotsRemoveLabels.RunC   s    99T?r   c           
      	   [         R                  " U R                  5       5      nUR                  R                  nUR                  R
                  n[        R                  R                  UUR                  [        R                  " UR                  5      [        R                  R                  S9nU(       Ga  UR                  5       S:X  Ga  [         R"                  " U5      nUR$                  R'                  UR(                  " S0 UR+                  5       D65      nUR,                  (       aH  0 nUR.                  (       a5  UR.                  R0                   H  n	U	R2                  XyR4                  '   M     [         R6                  " US9R9                  UR:                  R<                  UR.                  5      n
U
R>                  (       d  U$ URA                  URB                  URD                  URF                  UR;                  URH                  U
R.                  S9S9nUR$                  RK                  U5      nUR                  RM                  URN                  SS9n[P        RR                  " UR$                  5      n[T        RV                  " XSRY                  UR[                  5       5      5      $ [         R"                  " U5      nUR\                  R'                  UR^                  " S0 UR+                  5       D65      nUR,                  (       aH  0 nUR.                  (       a5  UR.                  R0                   H  n	U	R2                  XyR4                  '   M     [         R6                  " US9R9                  UR`                  R<                  UR.                  5      n
U
R>                  (       d  U$ URc                  URB                  URD                  URa                  URH                  U
R.                  S9S	9nUR\                  RK                  U5      nUR                  RM                  URN                  S
S9n[P        RR                  " UR\                  5      n[T        RV                  " XSRY                  UR[                  5       5      5      $ )N)scope_listerdefault_scopezcompute.regionSnapshots)subtractions)labelFingerprintlabels)projectresourceregionregionSetLabelsRequestzcompute.regionOperations)
collectionz!Updating labels of snapshot [{0}])r7   r8   globalSetLabelsRequestzcompute.globalOperations )2r   ComputeApiHolderReleaseTrackclientapitools_clientmessagesr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListercompute_scope	ScopeEnumGLOBAL
Collectionr   GetUpdateLabelsDictFromArgsregionSnapshotsGet ComputeRegionSnapshotsGetRequestAsDictallr6   additionalPropertiesvaluekeyDiffApplyRegionSetLabelsRequestLabelsValueneeds_update&ComputeRegionSnapshotsSetLabelsRequestr7   snapshotr9   r5   	SetLabelsParseselfLinkr   Pollerr   WaitForformatName	snapshotsComputeSnapshotsGetRequestGlobalSetLabelsRequest ComputeSnapshotsSetLabelsRequest)r-   r.   support_regionholderr@   rB   snapshot_refremove_labelsregional_snapshotlabellabels_updaterequest	operationoperation_refoperation_pollerrZ   s                   r   r+   SnapshotsRemoveLabels._RunF   s   **4+<+<+>?F]]**F}}%%H(44FF"88G#--44	 G 
L 	##%)BB!==dCm 0044

3
3
Ll6I6I6K
LN 
##(//DDe',{{M))$ E "&&MBHH

)
)
5
5

"
"$m ''  ??&&(($$

)
)0AA")) * + @ ,g ((227;i&&,,


)C - Em  v'='=>^^

-
4
4!#$ $
 "==dCm!!%%

-
-
F0C0C0E
FHh 
??;;e',{{M))$ < "&&MBHH

)
)
5
5
//m ''99&&((

)
)'88")) * +	 : ,g "",,W5i&&,,


)C - Em  v'7'78^^

-
4
4!#$ $r   r=   N)F)
__name__
__module____qualname____firstlineno____doc__staticmethodr'   r/   r+   __static_attributes__r=   r   r   r   r   :   s$     3 V$r   r   c                   .    \ rS rSrSr\S 5       rS rSrg)SnapshotsRemoveLabelsBeta   r$   c                     [        U 5        g r&   )r   r   s    r   r'   SnapshotsRemoveLabelsBeta.Args   s
    fr   c                 "    U R                  USS9$ NT)rf   r*   r,   s     r   r/   SnapshotsRemoveLabelsBeta.Run       99   r   r=   N	rr   rs   rt   ru   rv   rw   r'   r/   rx   r=   r   r   rz   rz      s    2 r   rz   c                   .    \ rS rSrSr\S 5       rS rSrg)SnapshotsRemoveLabelsAlpha   r$   c                     [        U 5        g r&   )r!   r   s    r   r'   SnapshotsRemoveLabelsAlpha.Args   s
    vr   c                 "    U R                  USS9$ r   r*   r,   s     r   r/   SnapshotsRemoveLabelsAlpha.Run   r   r   r=   Nr   r=   r   r   r   r      s    2 r   r   rZ   N)'rv   
__future__r   r   r   googlecloudsdk.api_lib.computer   )googlecloudsdk.api_lib.compute.operationsr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   rE   r   r   r   rG   ,googlecloudsdk.command_lib.compute.snapshotsr   $googlecloudsdk.command_lib.util.argsr   r   r   r!   ReleaseTracksr?   GAUniverseCompatibleUpdateCommandr   BETArz   ALPHAr   #GenerateDetailedHelpForRemoveLabelsdetailed_helpr=   r   r   <module>r      s   . &  ' 7 < . ( E @ ; E Q <... D%%(()`$D.. `$  *`$F D%%**+ 5  , D%%++,!6  - 99*E  #r   