- release_tracks: [ALPHA, BETA]
  help_text:
    brief: |
      List Beyondcorp connection Resources.
    description: |
      List Beyondcorp connection resources based on project and location.

    examples: |
      To list all connections in a project for location ``us-central1'' in table form, run:

        $ {command} --project=projectId --location=us-central1

      To list all connections in a project for location ``us-central1'' in json form, run:

        $ {command} --project=projectId \
            --location=us-central1 \
            --format=json(displayName, name.basename(), state, applicationEndpoint.host, applicationEndpoint.port, updateTime, labels)

  request:
    collection: beyondcorp.projects.locations.appConnections
    ALPHA:
      api_version: v1alpha
    BETA:
      api_version: v1

  response:
    modify_response_hooks:
    - googlecloudsdk.command_lib.beyondcorp.app.connections.hooks:PrintMessageInResponse

  arguments:
    resource:
      help_text: |
        Arguments and flags that define the Beyondcorp connector you want to list.
      spec: !REF googlecloudsdk.command_lib.beyondcorp.app.resources:location

  output:
    format: |
        table(
          name.basename():label=NAME,
          displayName:label=DISPLAY_NAME,
          state:label=CONNECTION_STATE,
          applicationEndpoint.host.yesno(no="-"):label=REMOTE_HOST,
          applicationEndpoint.port.yesno(no="-"):label=REMOTE_PORT,
          updateTime.date():label=UPDATE_TIME,
          labels.list():label=LABELS
        )
