- release_tracks: [GA, BETA, ALPHA]

  help_text:
    brief: |
      Create a workstation.
    description: |
      Create a workstation.
    examples: |
      To create a workstation, run:

        $ {command} WORKSTATION

  arguments:
    resource:
      spec: !REF googlecloudsdk.command_lib.workstations.resources:workstation
      help_text: |
        Arguments and flags that specify the workstation to create.
    params:
    - arg_name: labels
      metavar: KEY=VALUE
      api_field: workstation.labels
      type: "googlecloudsdk.calliope.arg_parsers:ArgDict:"
      help_text: |
        Labels that are applied to the workstation and propagated to the underlying Compute Engine
        resources.
    - arg_name: env
      metavar: KEY=VALUE
      api_field: workstation.env
      type: "googlecloudsdk.calliope.arg_parsers:ArgDict:"
      help_text: |
        Environment variables passed to the Workstation.
    - arg_name: source-workstation
      api_field: workstation.sourceWorkstation
      type: str
      help_text: |
        Source workstation from which this workstations persistent directories are cloned on
        creation. When specified, the workstations service agent must have
        `compute.disks.createSnapshot` and `compute.snapshots.useReadOnly` permissions on the source
        workstation's host project.

  request:
    GA:
      api_version: v1
    BETA:
      api_version: v1beta
    ALPHA:
      api_version: v1beta
    collection: workstations.projects.locations.workstationClusters.workstationConfigs.workstations

  async:
    collection: workstations.projects.locations.operations
