- release_tracks: [ALPHA, BETA, GA]
  help_text:
    brief: List fields with non-default index settings.
    description: |
      List fields that have had their index configurations exempted from the automatic settings.
      This includes the field describing the database-wide default index settings, unless otherwise
      filtered out.
    examples: |
      The following command lists all fields with custom index settings:

        $ {command}

        $ {command} --database=(default)

      The following command lists fields with custom index settings in the `Events` collection
      group:

        $ {command} --collection-group=Events

      The following command lists the indexes of all fields with custom index settings:

        $ {command} --format="table[box](\
            name,indexConfig.indexes:format='table[title=INDEXES,box](\
            fields.order.flatten(),fields.arrayConfig.flatten(),queryScope,state)')"

  request:
    collection: firestore.projects.databases.collectionGroups.fields
    static_fields:
      filter: indexConfig.usesAncestorConfig:false

  response:
    id_field: name

  arguments:
    resource:
      help_text: |
        Collection group of the index.

        This can be omitted to include fields across all collection groups.
      is_positional: false
      # By using collection_group_with_default this resource arg is correctly determined to be
      # optional and can use the special '-' collection group if it's not specified.
      spec: !REF googlecloudsdk.command_lib.firestore.resources:collection_group_with_default

  output:
    format: yaml(name)
