
                            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 r\R&                  " \R(                  R*                  5       " S S\R,                  5      5       r\R&                  " \R(                  R0                  5       " S S\5      5       r\R&                  " \R(                  R4                  5       " S S\5      5       rSSS.\l        g)z(Update snapshot schedule policy command.    )absolute_import)division)unicode_literals)base_classes)utils)apis)base)flags)utilc           
      \   [         R                  " 5       R                  U 5        [         R                  " U 5        [         R                  " U SSSSSSS9  [         R
                  " U 5        [         R                  " U SS9  [        R                  " SU5      n[         R                  " X5        g	)
z A helper function to build args.schedulezWStart time for the disk snapshot schedule in UTC. For example, `--start-time="15:00"`.
zSnapshot scheduleTF)flag_suffixstart_time_helpcadence_helpsupports_weeklysupports_hourlyrequired)r   computeN)
r
   MakeResourcePolicyArgAddArgumentAddCommonArgsAddCycleFrequencyArgsAddSnapshotLabelArgsAddSnapshotMaxRetentionDaysArgsr   GetMessagesModuleAddOnSourceDiskDeleteArgs)parserapi_versionmessagess      Alib/surface/compute/resource_policies/update/snapshot_schedule.py_CommonArgsr!      s    ++F3f '	 V$''?##I{;(!!&3    c                   4    \ rS rSrSr\S 5       rS rS rSr	g)UpdateSnapshotSchedule2   :Update a Compute Engine Snapshot Schedule Resource Policy.c                 8    [        U [        R                  5        g N)r!   compute_apiCOMPUTE_GA_API_VERSIONr   s    r    ArgsUpdateSnapshotSchedule.Args6   s    ::;r"   c                 $    U R                  U5      $ r(   _Runselfargss     r    RunUpdateSnapshotSchedule.Run:       99T?r"   c                 &   [         R                  " U R                  5       5      nUR                  nUR                  R                  n[
        R                  " 5       R                  UUR                  [        R                  " UR                  5      S9n[        R                  " XQU5      nUR                  UR                  5       UUR                  UR                   S9nUR                  R"                  R$                  nUR'                  USU4/5      $ )N)scope_lister)resourcePolicyresourcePolicyResourceprojectregionPatch)r   ComputeApiHolderReleaseTrackclientr   r
   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   'MakeDiskSnapshotSchedulePolicyForUpdate#ComputeResourcePoliciesPatchRequestNamer;   r<   apitools_clientresourcePoliciesMakeRequests)	r2   r3   holderr@   r   
policy_refresource_policypatch_requestservices	            r    r0   UpdateSnapshotSchedule._Run=   s    **4+<+<+>?F]]F}}%%H,,.@@"88G A IJ
 BB($O @@!(.""  	 A "M
 mm++<<G'= ABCCr"    N)
__name__
__module____qualname____firstlineno____doc__staticmethodr,   r4   r0   __static_attributes__rQ   r"   r    r$   r$   2   s"    B< <Dr"   r$   c                   .    \ rS rSrSr\S 5       rS rSrg)UpdateSnapshotScheduleBetaR   r&   c                 8    [        U [        R                  5        g r(   )r!   r)   COMPUTE_BETA_API_VERSIONr+   s    r    r,   UpdateSnapshotScheduleBeta.ArgsV   s    <<=r"   c                 $    U R                  U5      $ r(   r/   r1   s     r    r4   UpdateSnapshotScheduleBeta.RunZ   r6   r"   rQ   N	rR   rS   rT   rU   rV   rW   r,   r4   rX   rQ   r"   r    rZ   rZ   R   s    B> >r"   rZ   c                   .    \ rS rSrSr\S 5       rS rSrg)UpdateSnapshotScheduleAlpha^   r&   c                 8    [        U [        R                  5        g r(   )r!   r)   COMPUTE_ALPHA_API_VERSIONr+   s    r    r,    UpdateSnapshotScheduleAlpha.Argsb   s    ==>r"   c                 $    U R                  U5      $ r(   r/   r1   s     r    r4   UpdateSnapshotScheduleAlpha.Runf   r6   r"   rQ   Nra   rQ   r"   r    rc   rc   ^   s    B? ?r"   rc   z;Update a Compute Engine Snapshot Schedule Resource Policy.
zThe following command updates a Compute Engine Snapshot Schedule Resource Policy to take a daily snapshot at 13:00 UTC

  $ {command} my-resource-policy --region=REGION --start-time=13:00 --daily-schedule
)DESCRIPTIONEXAMPLESN)rV   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   r)   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   rC   4googlecloudsdk.command_lib.compute.resource_policiesr   r!   ReleaseTracksr?   GAUpdateCommandr$   BETArZ   ALPHArc   detailed_helprQ   r"   r    <module>rx      s    / &  ' 7 ? , ( E F E4( D%%(()DT// D *D> D%%**+!7  , D%%++,"8  -		(  $r"   