
    m                     N   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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dZdZd Zd Zej8                   ej:                  ej<                  j>                         G d dej@                                      Z! ej:                  ej<                  jD                         G d de!             Z# ej:                  ej<                  jH                         G d de!             Z%ee!_&        y)zCreate node pool command.    )absolute_import)division)unicode_literals)
exceptions)metadata_utils)utils)api_adapter)util)arg_parsers)base)	constants)container_command_util)flags)logz        *{command}* facilitates the creation of a node pool in a Google
        Kubernetes Engine cluster. A variety of options exists to customize the
        node configuration and the number of nodes created.
        a          To create a new node pool "node-pool-1" with the default options in the
        cluster "sample-cluster", run:

          $ {command} node-pool-1 --cluster=sample-cluster

        The new node pool will show up in the cluster after all the nodes have
        been provisioned.

        To create a node pool with 5 nodes, run:

          $ {command} node-pool-1 --cluster=sample-cluster --num-nodes=5
        )DESCRIPTIONEXAMPLESzNote: Windows SAC node pools must be upgraded regularly to remain operational. Please refer to https://cloud.google.com/kubernetes-engine/docs/how-to/creating-a-cluster-windows#choose_your_windows_server_node_image for more information.c                    t        j                  | d       t        j                  | d       | j                  dt        ddd       | j                  dt        d	d
       t        j
                  |        | j                  dt        j                  d      d       t        j                  | d       t        j                  | d       t        j                  | d       t        j                  | d       t        j                  | d       t        j                  | d       t        j                  | d       | j                  j!                  t"        j$                         t        j&                  |        t        j(                  |        t        j*                  |        t        j,                  |        t        j.                  |        t        j0                  |        t        j2                  |        t        j4                  |        t        j6                  |        t        j8                  |        t        j:                  |        t        j<                  |        t        j>                  |        t        j@                  |        t        jB                  |        t        jD                  |        t        jF                  |        y
)zRegister flags for this command.

  Args:
    parser: An argparse.ArgumentParser-like object. It is mocked out in order to
      capture some information, but behaves like an ArgumentParser.
  z$The name of the node pool to create.z$The cluster to add the node pool to.z	--timeouti  TzTHIS ARGUMENT NEEDS HELP TEXT.)typedefaulthiddenhelpz--num-nodeszThe number of nodes in the node pool in each of the cluster's zones. Defaults to
3.

Exception: when `--tpu-topology` is specified for multi-host TPU machine types
the number of nodes will be defaulted to `(product of topology)/(# of chips per
VM)`.
N)r   r   r   z--disk-size10GB)lower_boundz5Size for node VM boot disks in GB. Defaults to 100GB.)r   r   z	node poolr   for_node_poola  Applies the given Compute Engine tags (comma separated) on all nodes in the new
node-pool. Example:

  $ {command} node-pool-1 --cluster=example-cluster --tags=tag1,tag2

New nodes, including ones created by resize or recreate, will have these tags
on the Compute Engine API instance object and can be used in firewall rules.
See https://cloud.google.com/sdk/gcloud/reference/compute/firewall-rules/create
for examples.
)$r   AddNodePoolNameArgAddNodePoolClusterFlagadd_argumentintAddMachineTypeFlagr   
BinarySizeAddImageTypeFlagAddImageFlagAddImageProjectFlagAddImageFamilyFlagAddLabelsFlagAddNodeLabelsFlagAddTagsFlagdisplay_info	AddFormatr
   NODEPOOLS_FORMATAddNodeVersionFlagAddDiskTypeFlag$AddBootDiskProvisionedThroughputFlagAddBootDiskProvisionedIopsFlagAddMetadataFlagsAddShieldedInstanceFlagsAddNetworkConfigFlagsAddThreadsPerCoreAddPerformanceMonitoringUnitAddAdditionalNodeNetworkFlagAddAdditionalPodNetworkFlagAddAsyncFlag!AddSoleTenantNodeAffinityFileFlagAddSoleTenantMinNodeCpusFlagAddContainerdConfigFlag AddEnableKubeletReadonlyPortFlagAddGpuDirectStrategyFlagparsers    *lib/surface/container/node_pools/create.py_ArgsrA   A   s'    6#IJv'MN+  - 	    6"!!f5B  D -VD)F406$/fD1&5 
 	 5 566",,V4&&v.   (f%&!$$V,$$V,##F+V))&1$$V,'((0  (    c                 6	   t        j                  |       }t        j                  | |       t        j                  |        t        j                  | j                  | j                        }d}| j                  d      r| j                  g n| j                  }d}| j                  d      r| j                  g n| j                  }t        j                  dMi d| j                  d| j                  d| j                   dt#        j$                  | j&                        d| j(                  d	| j*                  d
| j,                  d| j.                  d|d|d| j0                  d| j2                  d| j4                  d| j6                  d| j8                  d| j:                  d| j<                  d| j>                  d| j@                  d| jB                  d| jD                  d| jF                  d| jH                  d| jJ                  d| jL                  d| jN                  d| jP                  d|dt        jR                  |       d| jT                  d | jV                  d!|d"| jX                  d#| jZ                  d$| j\                  d%| j^                  d&| j`                  d'| jb                  d(| jd                  d)| jf                  d*| jh                  d+| jj                  d,| jl                  d-| jn                  d.| jp                  d/| jr                  d0| jt                  d1| jv                  d2| jx                  d3| jz                  d4| j|                  d5| j~                  d6| j                  d7| j                  d8| j                  d9| j                  d:| j                  d;| j                  d<| j                  d=| j                  d>| j                  d?| j                  d@| j                  dA| j                  dB| j                  dC| j                  dD| j                  dE| j                  dF| j                  dG| j                  dH| j                  dI| j                  dJ| j                  dK| j                  dL| j                  S )Nz>Parses the flags provided with the node pool creation command.Nephemeral_storage_local_ssdlocal_nvme_ssd_blockacceleratorsboot_disk_kms_keymachine_typedisk_size_gbscopesnode_version	num_nodeslocal_ssd_counttagsthreads_per_corelabelsnode_labelsnode_taintsenable_autoscaling	max_nodesmin_cpu_platform	min_nodestotal_max_nodestotal_min_nodeslocation_policy
image_typeimageimage_projectimage_familypreemptibleenable_autorepairenable_autoupgradeservice_account	disk_typemetadatamax_pods_per_nodeenable_autoprovisioningworkload_metadataworkload_metadata_from_nodeshielded_secure_bootshielded_integrity_monitoringreservation_affinityreservationsandboxgpudirect_strategymax_surge_upgrademax_unavailable_upgrade
node_groupsystem_config_from_filepod_ipv4_rangecreate_pod_ipv4_rangegvnicenable_image_streamingspotenable_confidential_nodesconfidential_node_typeenable_confidential_storagedata_cache_countenable_blue_green_upgradeenable_surge_upgradenode_pool_soak_durationstandard_rollout_policyautoscaled_rollout_policyenable_private_nodesenable_fast_socketlogging_variantwindows_os_versionadditional_node_networkadditional_pod_networksole_tenant_node_affinity_filesole_tenant_min_node_cpuscontainerd_config_from_fileresource_manager_tags%enable_insecure_kubelet_readonly_portenable_nested_virtualizationboot_disk_provisioned_iops boot_disk_provisioned_throughputaccelerator_network_profile )Wcmd_utilGetAutoRepairr   WarnForNodeModificationValidateSurgeUpgradeSettingsr   ConstructMetadataDictrc   metadata_from_fileIsKnownAndSpecifiedrD   rE   r	   CreateNodePoolOptionsacceleratorrG   rH   r   	BytesToGb	disk_sizerJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   GetAutoUpgradera   rb   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   enable_gvnicru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )argsr_   rc   rD   rE   s        r@   ParseCreateNodePoolOptionsBaser      s   ,,T2&78$$T*11$--262I2IK( $	;< ++3 	--   	45 $$, 	&& 
 
	*	* L
##L
..L
 $$L
 ??4>>2	L

 [[L
 $$L
 L
 **L
 0L
 #>L
 99L
 ,,L
 [[L
 ""L
 ""L
  00!L
" #L
$ ,,%L
& 'L
( **)L
* **+L
, **-L
. /L
0 JJ1L
2 &&3L
4 $$5L
6 ""7L
8 *9L
: "006;L
< **=L
> ?L
@ AL
B ..CL
D #::EL
F ..GL
H #'"B"BIL
J  44KL
L %)$F$FML
N  44OL
P ""QL
R llSL
T 00UL
V ..WL
X #::YL
Z [L
\ #::]L
^ ((_L
` !66aL
b cL
d "88eL
f 99gL
h !% > >iL
j "88kL
l #'"B"BmL
n ,,oL
p !% > >qL
r  44sL
t #::uL
v #::wL
x !% > >yL
z  44{L
| 00}L
~ **L
@ 00AL
B #::CL
D "88EL
F &*%H%HGL
H !% > >IL
J #'"B"BKL
L !66ML
N -1,V,VOL
P $(#D#DQL
R "&!@!@SL
T (,'L'LUL
V #'"B"BWL
 LrB   c                   ,    e Zd ZdZed        Zd Zd Zy)Create(Create a node pool in a running cluster.c                    t        |        t        j                  | dddd       t        j                  |        t        j                  |        t        j
                  | d       t        j                  | d       t        j                  | dd       t        j                  |        t        j                  | d       t        j                  |        t        j                  | d       t        j                  |        t        j                  | d       t        j                  | d       t        j                  | dd       t        j                   | d       t        j"                  |        t        j$                  | d       t        j&                  | dd	       t        j(                  | dd
       t        j*                  | d       t        j,                  |        t        j.                  |        t        j0                  | d       t        j2                  | d       t        j4                  | d       t        j6                  | d       t        j8                  | d       t        j:                  | d       t        j<                  |        t        j>                  |        t        j@                  |        t        jB                  |        t        jD                  | dd       t        jF                  |        t        jH                  |        t        jJ                  |        t        jL                  | d       t        jN                  |        t        jP                  | dd       t        jR                  |        t        jT                  |        t        jV                  |        t        jX                  |        t        jZ                  |        t        j\                  |        t        j^                  | d       t        j`                  | dd       t        jb                  |        t        jd                  | d       t        jf                  | d       t        jh                  |        y )NTFenable_gpu_partitionenable_gpu_sharingenable_gpu_deprecated_fieldsenable_gpu_driver_installationr   r   
for_creater   r   r   r      r   	is_creater   r   )5rA   r   AddAcceleratorArgsAddBootDiskKmsKeyFlagAddClusterAutoscalingFlagsAddLocalSSDsGAFlagsAddPreemptibleFlagAddEnableAutoRepairFlagAddOpportunisticMaintenanceFlagAddMinCpuPlatformFlagAddWorkloadMetadataFlagAddNodeTaintsFlagAddNodePoolNodeIdentityFlagsAddNodePoolAutoprovisioningFlagAddMaxPodsPerNodeFlagAddEnableAutoUpgradeFlagAddReservationAffinityFlagsAddSandboxFlagAddNodePoolLocationsFlagAddSurgeUpgradeFlagAddMaxUnavailableUpgradeFlagAddSystemConfigFlagAddNodeGroupFlagAddEnableGvnicFlagAddEnableImageStreamingFlagAddSpotFlagAddEnableConfidentialNodesFlagAddConfidentialNodeTypeFlag"AddDisablePodCIDROverprovisionFlag AddNetworkPerformanceConfigFlagsAddEnableSurgeUpgradeFlagAddEnableBlueGreenUpgradeFlagAddStandardRolloutPolicyFlagAddAutoscaledRolloutPolicyFlagAddStoragePoolsFlagAddNodePoolSoakDurationFlagAddNodePoolEnablePrivateNodesAddEnableFastSocketFlagAddLoggingVariantFlagAddWindowsOsVersionFlagAddPlacementTypeFlagAddQueuedProvisioningFlagAddMaxRunDurationFlagAddFlexStartFlagAddBestEffortProvisionFlagsAddPlacementPolicyFlagAddTPUTopologyFlagAddResourceManagerTagsCreate!AddEnableNestedVirtualizationFlagAddSecondaryBootDisksArgs AddEnableConfidentialStorageFlagAddDataCacheCountFlag AddAcceleratorNetworkProfileFlagr>   s    r@   ArgszCreate.Args   s/   	&M	!%*'+- 
'	$$V,	fD9	V48	!!&N	))&1	d;	!!&)	F$7	&&v.	))&?	d;	""6tL	%%fDA	 	""6d;	fD!D	&&dd4	fU3	6"	V$	%%fDA	fD1	((tD	%%fDA	,,VDA	**6%@	##F+	''/	&&v.	((0	dt5	%%f-	''/	!!&)	d;	!!&)	vT%H	##F+	'	6"	%%f-	  (	V$	&&vTB	++d52	##F+	**6F	d;	**62rB   c                    t        |      }|j                  |_        |j                  |_        |j                  |_        |j
                  |_        |j                  |_        |j                  |_        |j                  |_        |j                  |_	        |j                  |_
        |j                  |_        |j                  |_        |j                  |_        |j                  |_        |j                   |_        |S )N)r   node_locationsnetwork_performance_configsnetwork_performance_configdisable_pod_cidr_overprovisionplacement_typeenable_best_effort_provisionmin_provision_nodesperformance_monitoring_unitplacement_policyenable_queued_provisioningmax_run_duration
flex_starttpu_topologysecondary_boot_disksecondary_boot_disksstorage_pools)selfr   opss      r@   ParseCreateNodePoolOptionsz!Create.ParseCreateNodePoolOptions2  s    
(
.C,,C%)%E%EC")-)L)LC&,,C'+'H'HC$"66C&*&F&FC#00C%)%D%DC"00C__CN((C#77C**CJrB   c                 B   | j                   d   }| j                   d   } ||      }	 |j                  |j                  |      }| j                  |      }|j                  t
        j                  j                  dt        j                  z          t
        j                  j                  dt        j                  z          |j                  j                  dd      }|dk(  rt
        j                  j                  dt        j                  z          nX|j                  rL|j                  j                         j                  d      r#t
        j                  j                  t                |j"                  rt%        j&                  |j(                         |j+                  ||      }|j,                  r9|j/                  |      }	|j1                  d      st$        j2                  |_        |	S |j7                  |d	j5                  |j8                        |j:                  
       |j=                  |      }
t%        j>                  |
       t        jJ                  |       |
gS # t@        jB                  $ r)}tE        jF                  |t$        jH                        d}~ww xY w)a4  This is what gets called when the user runs this command.

    Args:
      args: an argparse namespace. All the arguments that were provided to this
        command invocation.

    Returns:
      Cluster message for the successfully created node pool.

    Raises:
      util.Error, if creation failed.
    r	   location_getNzNote: zgpu-driver-versiondisabledWINDOWS_SACformatzCreating node pool {0})	timeout_s)&contextParseNodePoolnamer   rF   r   statusPrintr   KUBERNETES_GPU_LIMITATION_MSG&KUBERNETES_GPU_DRIVER_AUTO_INSTALL_MSGget7KUBERNETES_GPU_DRIVER_DISABLED_NEEDS_MANUAL_INSTALL_MSGrZ   upper
startswith"WARN_WINDOWS_SAC_SUPPORT_LIFECYCLEru   r
   2CheckForContainerFileSystemApiEnablementWithPrompt	projectIdCreateNodePoolasync_GetOperationIsSpecifiedOPERATIONS_FORMATr   WaitForOperation
nodePoolIdtimeoutGetNodePoolCheckForCgroupModeV1apitools_exceptions	HttpErrorr   HttpExceptionHTTP_ERROR_FORMATCreatedResource)r   r   adapterr   locationpool_refoptionsgpu_driver_versionoperation_refoppoolerrors               r@   Runz
Create.RunE  s2    ll=)G<</LD!H)D&&tyy(;h//5g				)

I$K$KKL

"IIJ 	K$1155 $
 +
**

QQR
 '"4"4":":"<"G"G
#

;<
 
	'	'??	  ,,Xw?m	!!-0)..$+	

"
)
)(*=*=
>LL  "   *d
% !6M	 (( D$$UD,B,BCCDs   GI" -AI" "J5$JJN)__name__
__module____qualname____doc__staticmethodr   r   r$  r   rB   r@   r   r      s$     1<3 <3|&=rB   r   c                   &    e Zd ZdZed        Zd Zy)
CreateBetar   c                 	   t        |        t        j                  | dddd       t        j                  |        t        j                  | d       t        j
                  |        t        j                  | d       t        j                  | dd       t        j                  | d       t        j                  | d       t        j                  | d       t        j                  |        t        j                  | d       t        j                  | d       t        j                  | dd       t        j                  |        t        j                   | d	       t        j"                  | dd
       t        j$                  | dd       t        j&                  | d       t        j(                  | d       t        j*                  |        t        j,                  | d       t        j.                  | d       t        j0                  |        t        j2                  |        t        j4                  | d       t        j6                  | dd       t        j8                  |        t        j:                  |        t        j<                  |        t        j>                  |        t        j@                  |        t        jB                  |        t        jD                  | dd       t        jF                  | d       t        jH                  | d       t        jJ                  | d       t        jL                  | d       t        jN                  | dd       t        jP                  | d       t        jR                  | d       t        jT                  |        t        jV                  |        t        jX                  | d       t        jZ                  |        t        j\                  | d       t        j^                  |        t        j`                  |        t        jb                  |        t        jd                  |        t        jf                  | dd       t        jh                  | dd       t        jj                  |        t        jl                  | d       t        jn                  |        t        jp                  |        y )NTr   r   r   Fuse_moder   r   r   r   r   r   )9rA   r   r   r   AddLocalSSDsBetaFlagsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   AddEnableGcfsFlagr   r   r   r   r   r   r   r   r   r   r   AddMaintenanceIntervalFlagr   r   r   r   r   AddLocalSsdEncryptionModeFlagr   r   r   r   r   r   r   r   r   r   r   AddHostMaintenanceIntervalFlagr   r   r   r   r>   s    r@   r   zCreateBeta.Args  s{   	&M	!%)'+- 
$$V,	d;	'	V48	!!&N	d;	!!&59	F$7	&&v.	))&?	d;	""6tL	 	""6d;	fD!D	&&dd4	%%fDA	fU3	6"	F$7	%%fDA	''/	V$	fD1	vT%H	  (	##F+	''/	&&v.	((0	%%f-	$$V4M	**6%@	((tD	%%fDA	**6F	dt5	''d$	d;	,,V4	!!&)	d;	!!&)	%%fU;	##F+	'	6"	V$	++d52	((d41	))&1	&&vTB	##F+	**62rB   c                 ~   t        |      }t        j                  |       t        j                  |       d }|j	                  d      r|j
                  g n|j
                  }|j                  |_        |j                  |_        |j                  |_        |j                  |_	        |j                  |_
        |j                  |_        ||_        |j                  |_        |j                  |_        |j                  |_        |j                  |_        |j                   |_        |j"                  |_        |j$                  |_        |j&                  |_        |j(                  |_        |j*                  |_        |j,                  |_        |j0                  |_        |j2                  |_        |j4                  |_        |j6                  |_        |j8                  |_        |j:                  |_        |j<                  |_        |j>                  |_        |j@                  |_         |jB                  |_!        |jD                  |_"        |jF                  |_#        |jH                  |_$        |jJ                  |_%        |jL                  |_'        |jP                  |_(        |jR                  |_)        |jT                  |_*        |S Nephemeral_storage)+r   r   WarnForNodeVersionAutoUpgrader   r   r6  rG   rl   r   rq   enable_gcfsru   rv   r   r   rY   r{   r|   r}   r~   r   maintenance_intervalr   r   rw   rx   r   r   r   r   r   r   r   r   r   host_maintenance_intervalopportunistic_maintenancer   r   r   r   local_ssd_encryption_moderz   r   r   r   r6  s       r@   r   z%CreateBeta.ParseCreateNodePoolOptions  sM   
(
.C	''-	&&t, 34 ##+ %% 
 !22C,,CK,,C"&">">C&&CO!%!<!<C-CyyCH,,C00C..C$($B$BC!#88C"&">">C"&">">C$($B$BC!#88C%)%E%EC"$($B$BC!!%!<!<C)-)L)LC&!44C%)%D%DC"00C__CN((C'+'H'HC$'+'H'HC$"66C$($B$BC!$($B$BC!&*&F&FC##77C**C$($B$BC!00CJrB   N)r%  r&  r'  r(  r)  r   r   r   rB   r@   r+  r+    s    0B3 B3H/rB   r+  c                   &    e Zd ZdZd Zed        Zy)CreateAlphar   c                    t        |      }t        j                  |       t        j                  |       d }|j	                  d      r|j
                  g n|j
                  }|j                  |_        |j                  |_        |j                  |_	        |j                  |_
        |j                  |_        |j                  |_        |j                  |_        |j                  |_        |j                  |_        |j                   |_        |j"                  |_        |j$                  |_        |j&                  |_        |j(                  |_        |j*                  |_        |j,                  |_        |j.                  |_        |j0                  |_        |j2                  |_        |j6                  |_        |j8                  |_        |j:                  |_        |j<                  |_        |j>                  |_        |j@                  |_         |jB                  |_!        |jD                  |_"        |jF                  |_#        |jH                  |_$        |jJ                  |_%        |jL                  |_&        |jN                  |_'        |jP                  |_(        ||_        |jR                  |_*        |jV                  |_+        |jX                  |_,        |jZ                  |_-        |S r5  ).r   r   r7  r   r   r6  local_ssd_volumeslocal_ssd_volume_configsrG   rl   linux_sysctlsr   rq   r8  ru   rv   r   r   rY   r{   r|   r}   r~   r   r9  r   r   rw   rx   r   r   r   r   r   r   r   r   r   r:  r;  r   r   r   r   r<  rz   r=  s       r@   r   z&CreateAlpha.ParseCreateNodePoolOptions  si   
(
.C	''-	&&t, 34 ##+ %% 
 $(#9#9C  22C,,CK**C,,C"&">">C&&CO!%!<!<CyyCH,,C00C..C$($B$BC!#88C"&">">C"&">">C$($B$BC!#88C%)%E%EC"$($B$BC!!%!<!<C)-)L)LC&!44C%)%D%DC"00C__CN((C'+'H'HC$'+'H'HC$"66C$($B$BC!$($B$BC!&*&F&FC#-C#77C**C$($B$BC!00CJrB   c                 	   t        |        t        j                  | dddd       t        j                  |        t        j                  | d       t        j
                  | d       t        j                  |        t        j                  | d       t        j                  | dd       t        j                  | d       t        j                  | d       t        j                  | d       t        j                  |        t        j                  | d       t        j                  |        t        j                  |        t        j                   | dd       t        j"                  | d       t        j$                  | dd	       t        j&                  | dd
       t        j(                  | d       t        j*                  | d       t        j,                  | d       t        j.                  | d       t        j0                  | d       t        j2                  |        t        j4                  |        t        j6                  | d       t        j8                  | dd       t        j:                  |        t        j<                  |        t        j>                  |        t        j@                  | d       t        jB                  |        t        jD                  | d       t        jF                  | dd       t        jH                  | d       t        jJ                  | d       t        jL                  | d       t        jN                  | d       t        jP                  | dd       t        jR                  | d       t        jT                  | d       t        jV                  |        t        jX                  |        t        jZ                  | d       t        j\                  |        t        j^                  | d       t        j`                  |        t        jb                  |        t        jd                  |        t        jf                  |        t        jh                  | dd       t        jj                  | dd       t        jl                  |        t        jn                  | d       t        jp                  |        t        jr                  | d       y )NTr   Fr   r   r   r-  r   r   r   r   r   ):rA   r   r   r   r   AddLocalSSDsAlphaFlagsr   r   r   r   r   r   r   r   r   r   r   AddLinuxSysctlFlagsr   r   r   r   r   r0  r   r   r   r   r   r   r   r   r   r   r   r1  r   r   r   r   r   r2  r   r   r   r   r   r   r   r   r   r   r   r3  r   r   r   r   r>   s    r@   r   zCreateAlpha.Args7  s   	&M	!%)'+- 
$$V,	))&?	  t<	'	V48	!!&N	d;	!!&59	F$7	&&v.	d;	 	6"	""6tL	fD9	fD!D	&&dd4	""6d;	fU3	%%fDA	F$7	%%fDA	''/	V$	fD1	vT%H	  (	##F+	''/	&&vTB	((0	%%fDA	$$V4M	**6%@	((tD	%%fDA	**6F	dt5	''d$	d;	,,V4	!!&)	d;	!!&)	%%fU;	##F+	'	6"	V$	++d52	((d41	))&1	&&vTB	##F+	**6%@rB   N)r%  r&  r'  r(  r   r)  r   r   rB   r@   r?  r?     s#    01f CA CArB   r?  N)'r(  
__future__r   r   r   apitools.base.pyr   r  googlecloudsdk.api_lib.computer   r    googlecloudsdk.api_lib.containerr	   r
   googlecloudsdk.callioper   r   $googlecloudsdk.command_lib.containerr   r   r   r   googlecloudsdk.corer   DETAILED_HELPr	  rA   r   DefaultUniverseOnlyReleaseTracksReleaseTrackGACreateCommandr   BETAr+  ALPHAr?  detailed_helpr   rB   r@   <module>rW     s)     &  ' > 9 0 8 1 / ( . : S 6 #		0 #E)PbJ D%%(()RT R * Rj D%%**+w w ,wt D%%++,zA& zA -zAx % rB   