- release_tracks: [BETA, GA]

  help_text:
    brief: List Network Connectivity Center locations.
    description: |
      Retrieve and display a list of locations.

      Network Connectivity Center includes two general types of spokes: those
      that use the site-to-site data transfer feature and those that don't. To
      get a list of the locations that support one of these features, use the
      --filter flag (see examples). The full list of location features can be found here:
      https://cloud.google.com/network-connectivity/docs/reference/networkconnectivity/rest/Shared.Types/LocationFeature

      To specify the maximum number of locations to return, use the `--limit` flag.

    examples: |
      To list all locations, run:

        $ {command}

      To list locations that support the site-to-site data transfer feature, run:

        $ {command} --filter="metadata.locationFeatures=SITE_TO_SITE_SPOKES"

  arguments:
    resource:
      spec: !REF googlecloudsdk.command_lib.network_connectivity.resources:project
      help_text: |
        Name of the project to list locations for.

  request: &request
    BETA:
      api_version: v1beta
    GA:
      api_version: v1
    collection: networkconnectivity.projects.locations

  output:
    # Reference: https://cloud.google.com/sdk/gcloud/reference/topic/projections
    format: |
      table(
        name.basename():label=LOCATION,
        metadata.locationFeatures.list():label=FEATURES
      )
