
                         *   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                  d
e       ej                   ej"                  j$                         G d dej&                                      Zddde_        y)zCreate resource policy command.    )absolute_import)division)unicode_literals)base_classes)base)flags)utilzg
`create-vm-maintenance` is deprecated.
Use `compute resource-policies create vm-maintenance` instead.
F)
is_removedwarningc                   &    e Zd ZdZed        Zd Zy)CreateVmMaintenancezCreate a Compute Engine VM Maintenance Resource Policy.

  *{command} creates a Resource Policy which can be attached to instances and
  specifies what kind of maintenance operations may be performed and when
  they can be performed.
  c                     t        j                         j                  |        t        j                  |        t        j                  | dddd       | j
                  j                  d        y )NwindowzTStart time of a four-hour window in which maintenance should start in daily cadence.zMaintenance activity windowT)flag_suffixstart_time_helpcadence_helphas_restricted_start_times)r   MakeResourcePolicyArgAddArgumentAddCommonArgsAddCycleFrequencyArgsdisplay_infoAddCacheUpdater)parsers    >lib/surface/compute/resource_policies/create_vm_maintenance.pyArgszCreateVmMaintenance.Args+   s]    	!--f5		F2#') ''-    c                    t        j                  | j                               }|j                  }t	        j
                         j                  ||j                  t        j                  |j                              }|j                  j                  }t        j                  |||      }|j                  ||j                  |j                        }|j                  j                   j"                  }|j%                  |d|fg      d   S )N)scope_lister)resourcePolicyprojectregionInsertr   )r   ComputeApiHolderReleaseTrackclientr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListermessagesr	   MakeVmMaintenancePolicy$ComputeResourcePoliciesInsertRequestr!   r"   apitools_clientresourcePoliciesMakeRequests)	selfargsholderr&   
policy_refr+   resource_policycreate_requestservices	            r   RunzCreateVmMaintenance.Run8   s    **4+<+<+>?F]]F,,.@@"88G A IJ
 }}%%H22D($OBB&""   C "N
 mm++<<G(N CDEaHHr   N)__name__
__module____qualname____doc__staticmethodr   r8    r   r   r   r   !   s!     
. 
.Ir   r   z8Create a Compute Engine VM Maintenance Resource Policy.
zThe following command creates a Compute Engine VM Maintenance Resource Policy with a daily maintenance activity window that starts at 04:00Z.

  $ {command} my-resource-policy --region=REGION --start-time=04:00Z --daily-window
)DESCRIPTIONEXAMPLESN)r<   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r)   4googlecloudsdk.command_lib.compute.resource_policiesr	   _DEPRECATION_WARNING	DeprecateReleaseTracksr%   ALPHACreateCommandr   detailed_helpr>   r   r   <module>rL      s    & &  ' 7 ( E F E  5*>?D%%++,'I$,, 'I - @'IX		%  !r   