
                             S r SSKJr  SSKJr  SSKJr  SSK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  \
R4                   " S S\
R6                  5      5       rg)z$Command for creating machine images.    )absolute_import)division)unicode_literalsN)base_classes)arg_parsers)base)flags)scope)util)logc                       \ rS rSrSrSrSSS.rSrSrSr	Sr
SrSrSrSrSrSrSrSrSrSrSrSr\S 5       r\S 5       rS	 rS
rg)Create#   z(Create a Compute Engine queued resource.Tz
     To create a queued resource, run:

       $ {command} queued-resource-1 --count=1 --name-pattern=instance-#
         --valid-until-duration=7d --zone=us-central1-a
   )briefEXAMPLESFc                 6   [         R                  " U[        R                  R                  40 SU R
                  _SU R                  _SS_SU R                  _SU R                  _SU R                  _SU R                  _S	U R                  _S
U R                  _SU R                  _SU R                  _SU R                  _SU R                   _SU R"                  _SU R$                  _SU R&                  _6  U R)                  U5        [*        R,                  " U5        [*        R.                  " U5        [*        R0                  " U5        [*        R2                  " 5       R5                  U5        UR7                  SSS9nUR9                  S[:        R<                  " 5       SS9  UR9                  S[:        R>                  R@                  SS9  [B        RD                  " SS9[F        l$        [F        RH                  RK                  USS9  [B        RL                  " U5        g )Nsupport_display_devicesupport_numa_node_countadd_zone_region_flagsFsupport_snp_svsmsupport_max_count_per_zonesupport_custom_hostnames support_specific_then_x_affinitysupport_watchdog_timersupport_igmp_querysupport_graceful_shutdownsupport_flex_startsupport_source_snapshot_regionsupport_skip_guest_os_shutdown"support_preemption_notice_duration#support_instance_flexibility_policy support_workload_identity_configT)mutexrequiredz--valid-until-durationz+Relative deadline for waiting for capacity.)typehelpz--valid-until-timezBAbsolute deadline for waiting for capacity in RFC3339 text format.)pluralcreate)operation_type)'
bulk_flagsAddCommonBulkInsertArgsr   ReleaseTrackALPHA_support_display_device_support_numa_node_count_support_snp_svsm_support_max_count_per_zone_support_custom_hostnames_support_specific_then_x_support_watchdog_timer_support_igmp_query_support_graceful_shutdown_support_flex_start_support_source_snapshot_region_support_skip_guest_os_shutdown#_support_preemption_notice_duration$_support_instance_flexibility_policy!_support_workload_identity_configAddSourceInstanceTemplateinstances_flagsAddSecureTagsArgsAddHostErrorTimeoutSecondsArgsAddLocalSsdRecoveryTimeoutArgsAddMaintenanceIntervalAddToParser	add_groupadd_argumentr   DurationDatetimeParsequeued_resource_flagsMakeQueuedResourcesArgr   QueuedResourceArgAddArgumentAddOutputFormat)clsparservalid_until_groups      .lib/surface/compute/queued_resources/create.pyArgsCreate.ArgsD   s    &&  #:: !$ < <	
 $ .. $'#B#B "%!>!> *-)E)E  #:: 22 #&"@"@ 22 (+'J'J (+'J'J  ,/+R+R!" -0,T,T#$ *-)N)N%( !!&)%%f-226:226:**,88@ ((td(C"" !!#> # 
 ""!!''U # 
  5KK F (((I))&1    c                 n    [         R                  " 5       U l        U R                  R                  U5        g )N)r*   !MakeBulkSourceInstanceTemplateArgSOURCE_INSTANCE_TEMPLATErL   )rN   rO   s     rQ   r=    Create.AddSourceInstanceTemplatet   s.     	446     ,,V4rT   c                 h   [         R                  " UU R                  U R                  U R                  S9  [
        R                  " U R                  5       5      nUR                  n[        R                  R                  UUR                  [        R                  " U5      S9nUR                  nU(       d  UR                  (       a  UR                  n[         R"                  " U R$                  U R&                  U R(                  U R*                  U R                  U R                  U R,                  U R.                  U R0                  U R2                  U R4                  U R6                  U R                  U R8                  5      n[         R:                  " UUUUR                  UR<                  U[>        R@                  RB                  U RD                  U5	      nURG                  S5        URH                  RK                  URM                  5       URH                  RO                  URH                  RQ                  URR                  S9S9US9nURH                  RU                  UUR<                  UR                  [W        [X        RZ                  " 5       5      S9n	UR\                  (       af  UR^                  R`                  Rc                  U	5      n
[d        Rf                  Ri                  SRk                  U
Rl                  5      5        S	Ul5        U
$ URo                  UR^                  R`                  S
U	4/5      $ )N)r   r   r!   )scope_listerminCount)seconds)validUntilDuration)namequeuingPolicybulkInsertInstanceResource)queuedResourceprojectzone	requestIdz(Queued resource creation in progress: {}disableInsert)8r*   ValidateBulkInsertArgsr1   r2   r;   r   ComputeApiHolderr,   clientr   rK   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerrc   	bulk_utilSupportedFeaturesr.   _support_secure_tagsr/   r0   r3   r4   r6   r8   r9   r:   r<    CreateBulkInsertInstanceResourcerb   compute_scopes	ScopeEnumZONErW   resetmessagesQueuedResourceNameQueuingPolicyrF   valid_until_duration'ComputeZoneQueuedResourcesInsertRequeststruuiduuid4async_apitools_clientzoneQueuedResourcesrf   r   statusPrintformatselfLinkMakeRequests)selfargsholderri   queued_resource_refrc   supported_featuresbulk_insert_instance_resourcequeued_resourcerequestresponses              rQ   Run
Create.Run}   s   %%#'#C#C!%!?!?,0,U,U	 **4+<+<+>?F]]F 22DD"88@ E  99D',, %%d"44$$!!%%((&&%%$$'',,,,0011..  %.$N$N##  %%%%
%! "''
3oo44 %%'oo33%7711  8   4 

 $A 5 O ooEE&#++ %%djjl#	 F G {{'';;BB7Kh	jj
4
;
;H<M<M
N dko

 
 
4
4h	HI rT    N)__name__
__module____qualname____firstlineno____doc___ALLOW_RSA_ENCRYPTED_CSEK_KEYSdetailed_helpr.   rp   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   classmethodrR   r=   r   __static_attributes__r   rT   rQ   r   r   #   s    0#'  :- !! %"! #$(!$(!(,%)-&&*#,2 ,2^ 5 5NrT   r   )r   
__future__r   r   r   r}   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   r   "googlecloudsdk.command_lib.computer	   rl   r
   rr   ,googlecloudsdk.command_lib.compute.instancesr>   1googlecloudsdk.command_lib.compute.instances.bulkr*   r   rn   3googlecloudsdk.command_lib.compute.queued_resourcesrI   googlecloudsdk.corer   UniverseCompatibleCreateCommandr   r   rT   rQ   <module>r      s^    + &  '  7 / ( E F Q Q O ^ # gT g grT   