
    	                        S 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  SSKJr  SSKJr  SSKJr   S5S jrS rS rS rS rS rS rS r S r!S r"S6S jr#S6S jr$S r%S r&S r'S r(S r)S r*S  r+S! r,S" r-S# r.S$ r/S% r0S& r1S' r2S( r3S) r4S* r5S+ r6S, r7S- r8S. r9S/ r:S0 r;S1 r<S2 r=S3 r>g4)7z0Utilities for flags for `gcloud tasks` commands.    )absolute_import)division)unicode_literals)arg_parsers)base)concepts)deps)flags)resource_args)
completers)concept_parsers)
propertiesc                    ^ ^^ U UU4S jn[         R                  R                  SR                  T(       a  SOS5      U" 5       TUS9$ )z9Constructs and returns the Environment Resource Argument.c            
         > U4S jn U4S jn[         R                  " SSTU " 5       U" 5       [         R                  SS9$ )zBConstructs and returns the Resource specification for Environment.c                  .   > [         R                  " ST S9$ )Nenvironmentname	help_textr    ResourceParameterAttributeConfigr   s   1lib/googlecloudsdk/command_lib/notebooks/flags.pyEnvironmentAttributeConfigaGetEnvironmentResourceArg.<locals>.GetEnvironmentResourceSpec.<locals>.EnvironmentAttributeConfig)   s    66	3 3    c            	        > [         R                  " SR                  T (       a  SOS5      S[        R                  [
        R                  " S5      [
        R                  " [        R                  R                  R                  5      /S9$ )Nz
{}location zenvironment-iGoogle Cloud location of this environment https://cloud.google.com/compute/docs/regions-zones/#locations.
--location)r   r   	completerfallthroughs)r   r   formatr   LocationCompleterr	   ArgFallthroughPropertyFallthroughr   VALUES	notebookslocation)
positionals   r   LocationAttributeConfig^GetEnvironmentResourceArg.<locals>.GetEnvironmentResourceSpec.<locals>.LocationAttributeConfig-   sl    66""2HP 00!!,/&&z'8'8'B'B'K'KL r   z)notebooks.projects.locations.environmentsr   F)resource_nameapi_versionenvironmentsIdlocationsId
projectsIddisable_auto_completersr   ResourceSpec DEFAULT_PROJECT_ATTRIBUTE_CONFIG)r   r+   r.   r   r*   s     r   GetEnvironmentResourceSpec=GetEnvironmentResourceArg.<locals>.GetEnvironmentResourceSpec&   sC    3   3#13+-<< % r   z{}environmentr   z--required)r   ConceptParserForResourcer#   )r.   r   r*   r9   r6   s   ```  r   GetEnvironmentResourceArgr<   !   sF    
> 
	&	&	2	2:R48 "	 
3 
 r   c                 B    U R                  S[        R                  SS9  g )Nr    zjGoogle Cloud location of this environment: https://cloud.google.com/compute/docs/regions-zones/#locations.r!   helpadd_argumentr   r$   parsers    r   AddListEnvironmentFlagsrD   M   s'    ,,L	  r   c                    UR                  SSS9nUR                  5       nUR                  SSS9nUR                  5       n[        U S5      R                  U5        UR                  SSS9  UR                  SSS9  UR                  S	S
S9  [        R
                  R                  U5        UR                  SSSS9  UR                  SSSS9  UR                  SSS9  UR                  SSSS9  UR                  SSS9  g)zBConstruct groups and arguments specific to the environment create.Tmutexr9   User-defined unique name of this environment. The environment name must be 1 to 63 characters long and contain only lowercase letters, numeric characters, and dashes. The first character must be a lowercaseletter and the last character cannot be a dash.z--descriptionz(A brief description of this environment.r?   z--display-namezName to display on the UI.--post-startup-scriptzPath to a Bash script that automatically runs after a notebook instance fully boots up. The path must be a URL or Cloud Storage path(gs://`path-to-file/`file-name`).--vm-image-projectzaThe ID of the Google Cloud project that this VM image belongs to.Format: projects/`{project_id}`.deeplearning-platform-releaser?   default--vm-image-familyYUse this VM image family to find the image; the newest image in this family will be used.
common-cpu--vm-image-name)Use this VM image name to find the image.--container-repository^The path to the container image repository. For example: gcr.io/`{project_id}`/`{image_name}`.r?   r9   --container-tagRThe tag of the container image. If not specified, this defaults to the latest tag.N)	add_groupr<   AddToParserrA   r   
ASYNC_FLAG)r.   rC   source_groupvm_source_groupvm_mutex_groupcontainer_groups         r   AddCreateEnvironmentFlagsr`   X   s`   !!t!<, **,/",,4$,G. **,/F KF   	&-IJ3   //f%- .   &    I   2      r   c                 x    [        U S5      R                  U5        [        R                  R                  U5        g NrH   )r<   rZ   r   r[   r.   rC   s     r   AddDeleteEnvironmentFlagsrd      s1    F K//f%r   c                 :    [        U S5      R                  U5        g rb   )r<   rZ   rc   s     r   AddDescribeEnvironmentFlagsrf      s    F Kr   c                 Z   ^  U 4S jn[         R                  R                  SU" 5       USS9$ )6Constructs and returns the Location Resource Argument.c                  `   > S n [         R                  " SST[         R                  U " 5       S9$ )rh   c                      [         R                  " SS[        R                  " [        R
                  R                  R                  5      /S9$ Nr)   zeGoogle Cloud location of this runtime https://cloud.google.com/compute/docs/regions-zones/#locations.r   r   r"   r   r   r	   r&   r   r'   r(   r)    r   r   r+   XGetLocationResourceArg.<locals>.GetLocationResourceSpec.<locals>.LocationAttributeConfig   E    66P &&z'8'8'B'B'K'KL	 	r   znotebooks.projects.locationsr)   )r-   r.   r1   r0   r3   )r+   r.   s    r   GetLocationResourceSpec7GetLocationResourceArg.<locals>.GetLocationResourceSpec   s5    
   & <<+-/ /r   r    Tr8   r   r:   r;   )r.   r   rq   s   `  r   GetLocationResourceArgrt      s7    /* 
	&	&	2	2+-y4 
3 
I Ir   c                 ^   ^ ^ U U4S jn[         R                  R                  SU" 5       TSS9$ )z5Constructs and returns the Runtime Resource Argument.c            
      z   > U4S jn S n[         R                  " SST[         R                  U" 5       U " 5       SS9$ )z>Constructs and returns the Resource specification for Runtime.c                  .   > [         R                  " ST S9$ )Nruntimer   r   r   s   r   RuntimeAttributeConfigUGetRuntimeResourceArg.<locals>.GetRuntimeResourceSpec.<locals>.RuntimeAttributeConfig   s    66I/ /r   c                      [         R                  " SS[        R                  " [        R
                  R                  R                  5      /S9$ rk   rm   rn   r   r   r+   VGetRuntimeResourceArg.<locals>.GetRuntimeResourceSpec.<locals>.LocationAttributeConfig   rp   r   z%notebooks.projects.locations.runtimesrx   F)r-   r.   r1   r0   
runtimesIdr2   r3   )ry   r+   r.   r   s     r   GetRuntimeResourceSpec5GetRuntimeResourceArg.<locals>.GetRuntimeResourceSpec   sC    /
   /<<+-)+ %' 'r   rx   Tr8   rs   )r.   r   r~   s   `` r   GetRuntimeResourceArgr      s7    '8 
	&	&	2	2')9t 
3 
E Er   c                 ^   ^ ^ U U4S jn[         R                  R                  SU" 5       TSS9$ )z6Constructs and returns the Instance Resource Argument.c            
      z   > U4S jn S n[         R                  " SSTU " 5       U" 5       [         R                  SS9$ )z?Constructs and returns the Resource specification for Instance.c                  .   > [         R                  " ST S9$ )Ninstancer   r   r   s   r   InstanceAttributeConfigXGetInstanceResourceArg.<locals>.GetInstanceResourceSpec.<locals>.InstanceAttributeConfig   s    66Y0 0r   c                      [         R                  " SS[        R                  " [        R
                  R                  R                  5      /S9$ )Nr)   r   rl   rm   rn   r   r   r+   XGetInstanceResourceArg.<locals>.GetInstanceResourceSpec.<locals>.LocationAttributeConfig   rp   r   z&notebooks.projects.locations.instancesr   F)r-   r.   instancesIdr0   r1   r2   r3   )r   r+   r.   r   s     r   GetInstanceResourceSpec7GetInstanceResourceArg.<locals>.GetInstanceResourceSpec   sC    0
   0 +-+-<< %' 'r   r   Tr8   rs   )r.   r   r   s   `` r   GetInstanceResourceArgr      s7    '8 
	&	&	2	2)+Y 
3 
G Gr   c                 |   ^  U 4S jn[         R                  R                  SU" 5       T 5      R                  U5        g)z,Adds Resource arg for network to the parser.c                  f   > U4S jn [         R                  " SSU " 5       [         R                  SS9$ )=Constructs and returns the Resource specification for Subnet.c                  L   > [         R                  " ST [        R                  S9$ )Nnetworkr   r   r!   )r   r   compute_network_flagsNetworksCompleterr   s   r   NetworkAttributeConfigRAddNetworkArgument.<locals>.GetNetworkResourceSpec.<locals>.NetworkAttributeConfig  s%    66);;= =r   zcompute.networksr   F)r-   r   projectr2   r3   )r   r   s    r   GetNetworkResourceSpec2AddNetworkArgument.<locals>.GetNetworkResourceSpec  s5    =   &(99 %' 'r   z	--networkNr   r:   r;   rZ   )r   rC   r   s   `  r   AddNetworkArgumentr     s3    '  ++K,B,D,577B{67Jr   c                 |   ^  U 4S jn[         R                  R                  SU" 5       T 5      R                  U5        g)z/Adds Resource arg for subnetwork to the parser.c            	      x   > U4S jn S n[         R                  " SSU " 5       U" 5       [         R                  SS9$ )r   c                  L   > [         R                  " ST [        R                  S9$ )Nsubnetr   )r   r   compute_subnet_flagsSubnetworksCompleterr   s   r   SubnetAttributeConfigOAddSubnetArgument.<locals>.GetSubnetResourceSpec.<locals>.SubnetAttributeConfig1  s%    66(==? ?r   c                  J    [         R                  " SS[        R                  S9$ )Nzsubnet-regionzfGoogle Cloud region of this subnetwork https://cloud.google.com/compute/docs/regions-zones/#locations.r   )r   r   r   RegionCompleterrn   r   r   RegionAttributeConfigOAddSubnetArgument.<locals>.GetSubnetResourceSpec.<locals>.RegionAttributeConfig7  s)    66P ..0 0r   zcompute.subnetworks
subnetworkF)r-   r   regionr   r2   r3   )r   r   r   s     r   GetSubnetResourceSpec0AddSubnetArgument.<locals>.GetSubnetResourceSpec.  s@    ?0   "(*$&99 % r   z--subnetNr   )r   rC   r   s   `  r   AddSubnetArgumentr   +  s3    6 ++')9Kr   c                     [        U S5      R                  U5        U(       a   [        R                  R                  U5        g g )NzUser-defined unique name of this runtime. The runtime name must be 1 to 63 characters long and contain only lowercase letters, numeric characters, and dashes. The first character must be a lowercase letter and the last character cannot be a dash.)r   rZ   r   r[   r.   rC   add_async_flags      r   AddRuntimeResourcer   N  s8    = KOO' r   c                     [        U S5      R                  U5        U(       a   [        R                  R                  U5        g g )NzUser-defined unique name of this instance. The instance name must be 1 to 63 characters long and contain only lowercase letters, numeric characters, and dashes. The first character must be a lowercase letter and the last character cannot be a dash.)r   rZ   r   r[   r   s      r   AddInstanceResourcer   \  s8    = KOO' r   c           	         U R                  SSSS9  U R                  SSSS9  U R                  SS	S
SSR                  U5      SS9  U R                  SS	SSSR                  U5      SS9  U R                  SS	SSSSS9  U R                  SSSS9  g)z'Adds Diagnostic config flags to parser.z--gcs-bucketzThe Cloud Storage bucket where the log files generated from the diagnose command will be stored. storage.buckets.writer permissions must be given to project's service account or user credential. Format: gs://`{gcs_bucket}` TrV   z--relative-pathzDefines the relative storage path in the Cloud Storage bucket where the diagnostic logs will be written. Default path will be the root directory of the Cloud Storage bucketFormat of full path: gs://`{gcs_bucket}`/`{relative_path}`/ Fz--enable-repair
store_truezenable-repairz%Enables flag to repair service for {})actiondestrN   r?   r9   z--enable-packet-capturezenable-packet-capturez:Enables flag to capture packets from the {} for 30 secondsz--enable-copy-home-fileszenable-copy-home-filesz8Enables flag to copy all `/home/jupyter` folder contentsz--timeout-minutesz@Maximum amount of time in minutes before the operation times outN)rA   r#   )rC   vm_types     r   AddDiagnosticConfigFlagsr   j  s    <    	K    	3::7C   	"$$*F7O   	 #F   	N  r   c                    / SQn/ SQnSS/n/ SQn[        X5        UR                  SS9n[        U SS	S	S
9R                  U5        UR                  5       nUR                  SS9nUR                  5       n	UR	                  SSSS9  UR	                  SSSS9  UR	                  SSS9  U	R	                  SSSS9  U	R	                  SSS9  UR	                  SSS9  UR	                  SSS9  UR	                  SSS S9  UR	                  S!S"S9  UR                  S#S9n
U
R	                  S$S%US&S'9  U
R	                  S(S)[
        S*9  UR                  S+S9nUR	                  S,S-S.S/S09  UR	                  S1S2S9  UR                  S3S9nUR	                  S4US&S5S69  UR	                  S7[
        S8S99  UR                  S:S9nUR	                  S;US&S<S69  UR	                  S=[
        S>S99  UR	                  S?S-S@SAS09  UR                  SBS9nUR	                  SCUS&SDS69  [        R                  " USE5        UR                  SFS9nUR	                  SGS-SHSIS09  UR	                  SJS-SKSLS09  [        SMU5        [        SNU5        UR	                  SOSP[        R                  " 5       SQSR9  UR	                  SSST[        R                  " 5       SQSR9  UR	                  SUSVSWS-S	SX9  UR	                  SYSZS[S-SSX9  UR	                  S\S]S^S-SSX9  UR                  S_S9nUR	                  S`USaSbS69  UR	                  ScSdS9  UR	                  SeSfSg[        R                  " 5       Sh9  g&)izAConstruct groups and arguments specific to the instance creation.NVIDIA_TESLA_A100NVIDIA_TESLA_K80NVIDIA_TESLA_P100NVIDIA_TESLA_V100NVIDIA_TESLA_P4NVIDIA_TESLA_T4NVIDIA_TESLA_T4_VWSNVIDIA_TESLA_P100_VWSNVIDIA_TESLA_P4_VWSTPU_V2TPU_V3	NVIDIA_L4NVIDIA_H100_80GBNVIDIA_H100_MEGA_80GB)PD_STANDARDPD_SSDPD_BALANCED
PD_EXTREMEGMEKCMEK)TYPE_UNSPECIFIEDNO_RESERVATIONANY_RESERVATIONSPECIFIC_RESERVATIONT)rG   zUser-defined unique name of this environment. The environment name must be 1 to 63 characters long and contain only lowercase letters, numeric characters, and dashes. The first character must be a lowercase letter and the last character cannot be a dash.F)r*   r9   rK   zbThe ID of the Google Cloud project that this VM image belongs to. Format: projects/`{project_id}`.rL   rM   rO   rP   rQ   rR   rS   rI   rT   rU   rV   rW   rX   rJ   zPath to a Bash script that automatically runs after a notebook instance fully boots up. The path must be a URL or Cloud Storage path (gs://`path-to-file`/`file-name`).--service-accounta^  The service account on this instance, giving access to other Google Cloud services. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](/compute/docs/access/service-accounts#default_service_account) is used.--machine-typezxThe [Compute Engine machine type](https://cloud.google.com/sdk/gcloud/reference/compute/machine-types) of this instance.zn1-standard-1z--instance-ownerszThe owners of this instance after creation. Format:`alias@example.com`. Currently supports one owner only.If not specified, all of the service account users of the VM instance's service account can use the instance.zThe hardware accelerator used on this instance. If you use accelerators, make sure that your configuration has [enough vCPUs and memory to support the `machine_type` you have selected](/compute/docs/gpus/#gpus-list).--accelerator-typeType of this accelerator.Nr?   choicesrN   --accelerator-core-count#Count of cores of this accelerator.r?   typezGPU driver configurations.--install-gpu-driverr   install_gpu_driverzWhether the end user authorizes Google Cloud to install a GPU driver on this instance. If this field is empty or set to false, the GPU driver won't be installed. Only applicable to instances with GPUs.)r   r   r?   --custom-gpu-driver-pathzSpecify a custom Cloud Storage path where the GPU driver is stored. If not specified, we'll automatically choose from official GPU drivers.zBoot disk configurations.z--boot-disk-typezbType of boot disk attached to this instance, defaults to standard persistent disk (`PD_STANDARD`).)r   rN   r?   z--boot-disk-sizezSize of boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). The minimum recommended value is 100 GB. If not specified, this defaults to 100.)r   r?   zData disk configurations.z--data-disk-typezbType of data disk attached to this instance, defaults to standard persistent disk (`PD_STANDARD`).z--data-disk-sizezSize of data disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). The minimum recommended value is 100 GB. If not specified, this defaults to 100.z--no-remove-data-diskno_remove_data_diskzKIf true, the data disk will not be auto deleted when deleting the instance.zDisk encryption configurations.z--disk-encryptionz?Disk encryption method used on the boot disk, defaults to GMEK.r   Network configs.z--no-public-ipno_public_ipz?  If specified, no public IP will be assigned to this instance.z--no-proxy-accessno_proxy_accesszB  If true, the notebook instance will not register with the proxy.mThe name of the VPC that this instance is in. Format: projects/`{project_id}`/global/networks/`{network_id}`.The name of the subnet that this instance is in. Format: projects/`{project_id}`/regions/`{region}`/subnetworks/`{subnetwork_id}`.--labelsVLabels to apply to this instance. These can be later modified by the setLabels method.	KEY=VALUEr?   r   metavarz
--metadatazCustom metadata to apply to this instance.

For example, to specify a Cloud Storage bucket for automatic backup,
you can use the `gcs-data-bucket` metadata tag. Format:
`"--metadata=gcs-data-bucket=``BUCKET''"`.
z--shielded-secure-bootz<Boot instance with secure boot enabled. Disabled by default.shielded_vm_secure_boot)r?   r   r   rN   z--shielded-vtpmz9Boot instance with TPM (Trusted Platform Module) enabled.shielded_vm_vtpmz--shielded-integrity-monitoringz8Enable monitoring of the boot integrity of the instance. shielded_vm_integrity_monitoringz+Specifies the reservation for the instance.z--reservation-affinityr   z)The type of reservation for the instance.z--reservationzYThe name of the reservation, required when `--reservation-affinity=SPECIFIC_RESERVATION`.z--tagsTAGSzTags to apply to this instance.)r   r?   r   )r   rY   r<   rZ   rA   intkms_resource_argsAddKmsKeyResourceArgr   r   r   ArgDictArgList)r.   rC   accelerator_choicesdisk_choicesencryption_choicesreservation_choicesenvironment_groupr]   r^   r_   accelerator_group	gpu_group
boot_group
data_groupencryption_groupnetwork_groupreservation_groups                    r   AddCreateInstanceFlagsr     s<    H,' k*&&T&2K8 (-%*, -8K8I,J%//1/",,4,8.%//1//-	  /
 (	  
 I  KA	  
 /  1 	4  6 	&  ( 	    	>  @ &&- ' /   &!	 ! 
    0 !  $@A)  		     %@A*6   ?	   %@A*6   ?	       %%+L%M L	   N
 (()9:F""(:";-C	  D F	  G A J 	'    	    
 	#$   	G   	'F-   &&8 ' :  ! 6	 !    = ! ? 	- 	  "r   c                     [        XSS9  g NF)r   r   rc   s     r   AddDescribeInstanceFlagsr        k%@r   c                     [        X5        g Nr  rc   s     r   AddDeleteInstanceFlagsr    
    k*r   c                 B    U R                  S[        R                  SS9  g )Nr    r   r>   r@   rB   s    r   AddListInstanceFlagsr    s(    ,,N  Pr   c                     [        X5        g r  r  rc   s     r   AddRegisterInstanceFlagsr    r	  r   c                     [        X5        g r  r  rc   s     r   AddResetInstanceFlagsr    r	  r   c                     [        X5        g r  r  rc   s     r   AddStartInstanceFlagsr    r	  r   c                     [        X5        g r  r  rc   s     r   AddStopInstanceFlagsr    r	  r   c                     [        XSS9  g r  r  rc   s     r   AddGetHealthInstanceFlagsr    r  r   c                     [        XSS9  g r  r  rc   s     r   AddIsUpgradeableInstanceFlagsr    r  r   c                     [        X5        g r  r  rc   s     r   AddUpgradeInstanceFlagsr    r	  r   c                 <    [        X5        UR                  SSSS9  g )Nz--target-snapshotz!The saved snapshot to rollback toTrV   r   rA   rc   s     r   AddRollbackInstanceFlagsr    s&    k*.  r   c                     / SQn[        X5        UR                  SS9nUR                  SSUSS9  UR                  SS	[        S
9  UR                  SS[        R
                  " 5       SS9  UR                  SSS9  g)zIAdds accelerator, labels and machine type flags to the parser for update.r   Tr8   r   r   Nr   r   r   r   r   r   r   r   r   z?The [Compute Engine machine type](/compute/docs/machine-types).rI   )r   rY   rA   r   r   r   )r.   rC   r   update_groups       r   AddUpdateInstanceFlagsr    s     k*!!4!0,&!	  
  0   C    L  Nr   c                 2    [        X5        [        US5        g)zCConstruct groups and arguments specific to the instance diagnosing.r   N)r   r   rc   s     r   AddDiagnoseInstanceFlagsr!    s    k*6:.r   c                 F    / SQn[        X5        UR                  SSUSS9  g)zBConstruct groups and arguments specific to the instance migration.&POST_STARTUP_SCRIPT_OPTION_UNSPECIFIEDPOST_STARTUP_SCRIPT_OPTION_SKIP POST_STARTUP_SCRIPT_OPTION_RERUN--post-startup-script-optionzB// Specifies the behavior of post startup script during migration.r$  r   Nr  )r.   rC   "post_startup_script_option_choicess      r   AddMigrateInstanceFlagsr)    s3    ($
 k*$O06	  8r   c                     [        X5        g r  r   rc   s     r   AddDeleteRuntimeFlagsr,    
    [)r   c                     [        XSS9  g r  r+  rc   s     r   AddDescribeRuntimeFlagsr/    s    [?r   c                     [        X5        g r  r+  rc   s     r   AddStartRuntimeFlagsr1    r-  r   c                     [        X5        g r  r+  rc   s     r   AddStopRuntimeFlagsr3    r-  r   c                     / SQn[        X5        UR                  SSS9  UR                  5       nUR                  SSUSS9  UR                  S	S
[        S9  g)zAAdds accelerator and machine type flags to the parser for switch.)r   r   r   r   r   r   r   r   r   r   r   r   machine typerI   r   r   Nr   r   r   r   )r   rA   rY   r   )r.   rC   r   accelerator_config_groups       r   AddSwitchRuntimeFlagsr7    st     [)&n>#--/''&!	 ( 
 '' 0 ( r   c                     [        X5        g r  r+  rc   s     r   AddResetRuntimeFlagsr9    r-  r   c                 Z   [        X5        UR                  SSS9nUR                  SSS9  UR                  5       nUR                  SSSS9  UR                  5       nUR                  S	S
S9  UR                  SSS9  UR                  SSS9  UR                  SSS9  UR                  SS9nUR                  SSS9  UR                  SSS9  UR                  5       nUR                  SSS9  UR                  SSS9  UR                  SSS9  UR                  SSS9  UR                  SSS9  g) z@Construct groups and arguments specific to the runtime creation.TrF   z--runtime-typezruntime typerI   r   r5  rV   z--interfacezruntime interfacez--sourcezruntime sourcez--modezruntime modez--typer8   z--runtime-access-typezaccess typez--runtime-ownerzruntime ownerz--idle-shutdown-timeoutzidle shutdown timeoutr   zinstall gpu driverr   zcustom gpu driver pathrJ   zpost startup scriptz--post-startup-script-behaviorzpost startup script behaviorN)r   rY   rA   )r.   rC   runtime_type_groupmachine_type_grouplocal_disk_groupaccess_config_groupsoftware_config_groups          r   AddCreateRuntimeFlagsr@    s    [)''dT'B!!"2!H)335!!^d "  (1134GH
1AB~>~>(($(7""#:"O""#4?"K **,$$&= %  $$#7 %  $$ '? %  $$$9 %  $$&-K % r   c                 :    [        U S5      R                  U5        g )Nz4Location of this runtime. For example, us-central1-a)rt   rZ   rc   s     r   AddListRuntimeFlagsrB  C  s    IKr   c                 2    [        X5        [        US5        g)zBConstruct groups and arguments specific to the runtime diagnosing.rx   N)r   r   rc   s     r   AddDiagnoseRuntimeFlagsrD  I  s    [)69-r   c                     / SQn[        X5        UR                  SS9n[        SU5        [        SU5        UR	                  SSS9  UR	                  SS	US
S9  g)zAConstruct groups and arguments specific to the runtime migration.r#  r   rI   r   r   r   a  The service account to be included in the Compute Engine instance of the new Workbench Instance when the Runtime uses single user only mode for permission. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. When the Runtime uses service account mode for permission, it will reuse the same service account, and this field must be empty.r'  z?Specifies the behavior of post startup script during migration.r$  r   N)r   rY   r   r   rA   )r.   rC   r(  r   s       r   AddMigrateRuntimeFlagsrF  O  s    ($
 [)""(:";-A J 	@  
 	$L06	  8r   N)TT)T)?__doc__
__future__r   r   r   googlecloudsdk.callioper   r    googlecloudsdk.calliope.conceptsr   r	   +googlecloudsdk.command_lib.compute.networksr
   r   3googlecloudsdk.command_lib.compute.networks.subnetsr   googlecloudsdk.command_lib.kmsr   r   $googlecloudsdk.command_lib.notebooksr   (googlecloudsdk.command_lib.util.conceptsr   googlecloudsdk.corer   r<   rD   r`   rd   rf   rt   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r!  r)  r,  r/  r1  r3  r7  r9  r@  rB  rD  rF  rn   r   r   <module>rQ     s   7 &  ' / ( 5 1 V ] M ; D * 7;)X=@
&	I8 EF GFK0 F(()Xr"jA+P++++AA+N>/8*@**,*#L. 8r   