
    /                     (   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	 Z ej                  ej                   j"                        ej$                   G d
 dej&                                      Z ej                  ej                   j*                        ej$                   G d de                    Z ej                  ej                   j.                        ej$                   G d de                    Zddde_        y)z(Update Instance schedule policy command.    )absolute_import)division)unicode_literals)base_classes)base)flags)utilc                     t        j                         j                  |        t        j                  |        t        j                  |        y)z A helper function to build args.N)r   MakeResourcePolicyArgAddArgumentAddCommonArgsAddInstanceScheduleArgsparsers    Alib/surface/compute/resource_policies/update/instance_schedule.py_CommonArgsr      s5    ++F3f'    c                   ,    e Zd ZdZed        Zd Zd Zy)UpdateInstanceSchedule:Update a Compute Engine Instance Schedule Resource Policy.c                     t        |        y Nr   r   s    r   ArgszUpdateInstanceSchedule.Args(   
    r   c                 $    | j                  |      S r   _Runselfargss     r   RunzUpdateInstanceSchedule.Run,       99T?r   c                 ,   t        j                  | j                               }|j                  }|j                  j                  }t        j                         j                  ||j                  t        j                  |j                              }t        j                  |||      }|j                  |j                         ||j                  |j                         }|j                  j"                  j$                  }|j'                  |d|fg      S )N)scope_lister)resourcePolicyresourcePolicyResourceprojectregionPatch)r   ComputeApiHolderReleaseTrackclientmessagesr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr	   #MakeInstanceSchedulePolicyForUpdate#ComputeResourcePoliciesPatchRequestNamer(   r)   apitools_clientresourcePoliciesMakeRequests)	r    r!   holderr-   r.   
policy_refresource_policypatch_requestservices	            r   r   zUpdateInstanceSchedule._Run/   s    **4+<+<+>?F]]F}}%%H,,.@@"88G A J >>D(O @@!(.""  	 A M mm++<<G'= ABCCr   N)__name__
__module____qualname____doc__staticmethodr   r"   r    r   r   r   r   #   s%     C Dr   r   c                   &    e Zd ZdZed        Zd Zy)UpdateInstanceScheduleBetar   c                     t        |        y r   r   r   s    r   r   zUpdateInstanceScheduleBeta.ArgsL   r   r   c                 $    | j                  |      S r   r   r   s     r   r"   zUpdateInstanceScheduleBeta.RunP   r#   r   Nr>   r?   r@   rA   rB   r   r"   rC   r   r   rE   rE   G        C r   rE   c                   &    e Zd ZdZed        Zd Zy)UpdateInstanceScheduleAlphar   c                     t        |        y r   r   r   s    r   r   z UpdateInstanceScheduleAlpha.ArgsY   r   r   c                 $    | j                  |      S r   r   r   s     r   r"   zUpdateInstanceScheduleAlpha.Run]   r#   r   NrH   rC   r   r   rK   rK   T   rI   r   rK   z;Update a Compute Engine Instance Schedule Resource Policy.
zTo update an instance schedule resource policy with specified parameters:

  $ {command} NAME     --region=REGION
    --timezone=UTC     --vm-start-schedule="0 7 * * *"     --vm-stop-schedule="0 17 * * *"
)DESCRIPTIONEXAMPLESN)rA   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r1   4googlecloudsdk.command_lib.compute.resource_policiesr	   r   ReleaseTracksr,   GADefaultUniverseOnlyUpdateCommandr   BETArE   ALPHArK   detailed_helprC   r   r   <module>r\      s   / &  ' 7 ( E F E( D%%(()DT// D  *DD D%%**+!7   , D%%++,"8   -	(  $r   