
    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 ej                   ej                  ej                  j                  ej                  j                   ej                  j"                         G d d	ej$                                      Zy
)z)Command for creating Workstation configs.    )absolute_import)division)unicode_literals)configs)base)flagsc                   ,    e Zd ZdZed        Zd Zd Zy)Createa  Create a workstation configuration.

  Create a workstation configuration.

  ## EXAMPLES

    To create a configuration with the 'e2-standard-8' machine type and a
    IntelliJ image, run:

      $ {command} CONFIG --machine-type=e2-standard-8
        --container-predefined-image=intellij

    To create a configuration with a Shielded VM instance that enables Secure
    Boot, virtual trusted platform module (vTPM) and integrity monitoring, run:

      $ {command} CONFIG --machine-type=e2-standard-4 --shielded-secure-boot
        --shielded-vtpm --shielded-integrity-monitoring

    To create a configuration with a non-default persistent disk containing 10GB
    of PD SSD storage, run:
      $ {command} CONFIG --machine-type=e2-standard-4 --pd-disk-type=pd-ssd
        --pd-disk-size=10
  c                    t        j                  |       t        j                  |       t        j                  |       t        j                  |       t        j
                  |       t        j                  |       t        j                  |       t        j                  |       t        j                  |       t        j                  |       t        j                  |       t        j                  |d       t        j                  |       t        j                  |       t        j                  |       t        j                   |       t        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                  |       t        jH                  |       | jK                         tL        jJ                  jN                  k7  rUt        jP                  |       t        jR                  |       t        jT                  |       t        jV                  |       y y )NT),workstations_flagsAddAsyncFlagAddConfigResourceArgAddIdleTimeoutFlagAddRunningTimeoutFlagAddMachineTypeFlagAddServiceAccountFlagAddServiceAccountScopesAddNetworkTagsAddPoolSizeAddDisablePublicIpAddressesAddDeprecatedDisableSSHToVMAddEnableSSHToVMAddDisableTcpConnectionsAddShieldedSecureBootAddShieldedVtpmAddShieldedIntegrityMonitoringAddEnableAuditAgentAddEnableConfidentialComputeAddEnableNestedVirtualization$AddGrantWorkstationAdminRoleOnCreateAddBootDiskSizeAddContainerImageFieldAddContainerCommandFieldAddContainerArgsFieldAddContainerEnvFieldAddContainerWorkingDirFieldAddContainerRunAsUserFieldAddEncryptionKeyFieldsAddLabelsFieldAddReplicaZonesAddEphemeralDirectoryAddAcceleratorFields	AddVmTagsAddAllowedPortsFlagAddMaxUsableWorkstationsCountAddNoPersistentStorageOrPdReleaseTrackr   GA0AddAllowUnauthenticatedCorsPreflightRequestsFlagAddBoostConfigs"AddDisableLocalhostReplacementFlagAddReservationAffinity)clsparsers     *lib/surface/workstations/configs/create.pyArgszCreate.Args7   s[   ##F+++F3))&1,,V4))&1,,V4..v6%%f-""6*226:226:''5//7,,V4&&v.55f=**6233F;44V<;;FC&&v.--f5//7,,V4++F3226:11&9--f5%%f-&&v.,,V4++F3  (**6244V<11&9
T..111II
 ((0;;FC//7 2    c                      	 y)NzFworkstations.projects.locations.workstationClusters.workstationConfigs )selfs    r9   
CollectionzCreate.Collectione   s
    Pr;   c                 n    t        j                  | j                               }|j                  |      }|S )N)r   Configsr1   r
   )r>   argsclientresponses       r9   Runz
Create.Runj   s,    __T..01F}}T"HOr;   N)__name__
__module____qualname____doc__classmethodr:   r?   rE   r=   r;   r9   r
   r
      s&    
0 +8 +8Z
r;   r
   N)rI   
__future__r   r   r   #googlecloudsdk.api_lib.workstationsr   googlecloudsdk.callioper   'googlecloudsdk.command_lib.workstationsr   r   DefaultUniverseOnlyReleaseTracksr1   r2   BETAALPHACreateCommandr
   r=   r;   r9   <module>rT      s    0 &  ' 7 ( O $++00$2C2C2I2IOT O Or;   