
                             S 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  \R,                   " S
 S\R.                  5      5       rg)z$Command for creating machine images.    N)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 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                 "   [         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S_SU R$                  _6  U R'                  U5        [(        R*                  " U5        [(        R,                  " U5        [(        R.                  " U5        [(        R0                  " 5       R3                  U5        UR5                  SSS9nUR7                  S[8        R:                  " 5       SS9  UR7                  S[8        R<                  R>                  SS9  [@        RB                  " SS9[D        l#        [D        RF                  RI                  USS9  [@        RJ                  " 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_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.Args@   s    &&  #:: !$ < <	
 $ .. $'#B#B "%!>!> *-)E)E  #:: 22 #&"@"@ 22 (+'J'J (+'J'J  ,/+R+R!" -2#$ *-)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_TEMPLATErH   )rJ   rK   s     rM   r9    Create.AddSourceInstanceTemplatep   s.     	446     ,,V4rP   c                 @   [         R                  " UU R                  U R                  S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 R.                  U R0                  U R2                  U R4                  SU R6                  5      n[        R8                  " UUUUR                  UR:                  U[<        R>                  R@                  U RB                  U5	      nURE                  S5        URF                  RI                  URK                  5       URF                  RM                  URF                  RO                  URP                  S9S9US9nURF                  RS                  UUR:                  UR                  [U        [V        RX                  " 5       5      S9n	URZ                  (       af  UR\                  R^                  Ra                  U	5      n
[b        Rd                  Rg                  S	Ri                  U
Rj                  5      5        S
Ul4        U
$ URm                  UR\                  R^                  SU	4/5      $ )NF)r   r   r   )scope_listerminCount)seconds)validUntilDuration)namequeuingPolicybulkInsertInstanceResource)queuedResourceprojectzone	requestIdz(Queued resource creation in progress: {}disableInsert)7r'   ValidateBulkInsertArgsr.   r/   r   ComputeApiHolderr)   clientr   rG   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr_   	bulk_utilSupportedFeaturesr+   _support_secure_tagsr,   r-   r0   r1   r3   r5   r6   r7   r8    CreateBulkInsertInstanceResourcer^   compute_scopes	ScopeEnumZONErS   resetmessagesQueuedResourceNameQueuingPolicyrB   valid_until_duration'ComputeZoneQueuedResourcesInsertRequeststruuiduuid4async_apitools_clientzoneQueuedResourcesrb   r	   statusPrintformatselfLinkMakeRequests)selfargsholderre   queued_resource_refr_   supported_featuresbulk_insert_instance_resourcequeued_resourcerequestresponses              rM   Run
Create.Runy   s   %%#'#C#C!%!?!?,1	 **4+<+<+>?F]]F 22DD"88@ E  99D',, %%d"44$$!!%%((&&%%$$'',,,,00.." %.$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 rP    N)__name__
__module____qualname____firstlineno____doc___ALLOW_RSA_ENCRYPTED_CSEK_KEYSdetailed_helpr+   rl   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   classmethodrN   r9   r   __static_attributes__r   rP   rM   r   r       s    0#'  :- !! %"! #$(!$(!(,%&*#,2 ,2^ 5 5OrP   r   )r   ry   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   r   "googlecloudsdk.command_lib.computer   rh   r   rn   ,googlecloudsdk.command_lib.compute.instancesr:   1googlecloudsdk.command_lib.compute.instances.bulkr'   r   rj   3googlecloudsdk.command_lib.compute.queued_resourcesrE   googlecloudsdk.corer	   UniverseCompatibleCreateCommandr   r   rP   rM   <module>r      sW    +  7 / ( E F Q Q O ^ # gT g grP   