- release_tracks: [ALPHA]

  help_text:
    brief: List spokes.
    description: Retrieve and display a list of all spokes in the specified project.
    examples: |
      To list all spokes in region ``us-central1'', run:

        $ {command} --region=us-central1

  request: &request
    ALPHA:
      api_version: v1alpha1
    collection: networkconnectivity.projects.locations.spokes

  arguments:
    resource:
      spec: !REF googlecloudsdk.command_lib.network_connectivity.resources:region
      help_text: A Google Cloud region. Use this flag to filter the list of spokes to a specific region or to all regions. Use ``-`` to specify all regions.

  output:
    ALPHA:
      format: |
        table(
            name.basename(),
            name.segment(3):label=REGION,
            hub.basename(),
            format(
                "{0}{1}{2}",
                linkedVpnTunnels.yesno(yes="VPN tunnel", no=""),
                linkedInterconnectAttachments.yesno(yes="VLAN attachment", no=""),
                linkedRouterApplianceInstances.yesno(yes="Router appliance", no="")
            ):label=TYPE,
            firstof(linkedVpnTunnels, linkedInterconnectAttachments, linkedRouterApplianceInstances).len():label="RESOURCE COUNT",
            description
        )
