def get_next_index()

in scripts/store-agent-creds.py [0:0]


def get_next_index(repo: str) -> int:
    """Find the next available index to store the runner credentials in AWS SSM ParameterStore"""
    paginator = boto3.client("ssm").get_paginator("describe_parameters")

    path = os.path.join('/runners/', repo, '')

    pages = paginator.paginate(ParameterFilters=[{"Key": "Path", "Option": "Recursive", "Values": [path]}])

    seen = set()

    for page in pages:
        for param in page['Parameters']:
            name = param['Name']

            # '/runners/1/config' -> '1'
            index = os.path.basename(os.path.dirname(name))
            seen.add(int(index))

    if not seen:
        return 1

    # Fill in any gaps too.
    for n in range(1, max(seen) + 2):
        if n not in seen:
            return n