#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# © Copyright EnterpriseDB UK Limited 2015-2023 - All rights reserved.

import sys
from os import path
from tpaexec.password import store_password, exists, generate_password


def main(
    cluster_dir, keyring_backend=None, password_name="vault_pass",
):
    """
    generate and store vault password in chosen keyring backend
    exit code 0 if new password was generated else exit code 2 if password already existed.
    """
    if not exists(path.basename(path.abspath(cluster_dir)), password_name, keyring_backend):
        store_password(
            cluster_dir,
            password_name,
            generate_password(),
            keyring_backend,
        )
        sys.exit(0)
    else:
        sys.exit(2)


if __name__ == "__main__":
    from sys import argv

    main(*argv[1:])
