From 9dbbb6f2f60593e2fa881072030951c6f3a655e1 Mon Sep 17 00:00:00 2001 From: a-kenji Date: Tue, 4 Jun 2024 13:40:24 +0200 Subject: [PATCH] clan: add dynamic completions for `clan secrets import-sops` --- pkgs/clan-cli/clan_cli/secrets/import_sops.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pkgs/clan-cli/clan_cli/secrets/import_sops.py b/pkgs/clan-cli/clan_cli/secrets/import_sops.py index b0ee2756..b9ae177e 100644 --- a/pkgs/clan-cli/clan_cli/secrets/import_sops.py +++ b/pkgs/clan-cli/clan_cli/secrets/import_sops.py @@ -3,6 +3,12 @@ import json import sys from pathlib import Path +from ..completions import ( + add_dynamic_completer, + complete_groups, + complete_machines, + complete_users, +) from ..cmd import run from ..errors import ClanError from ..nix import nix_shell @@ -57,27 +63,30 @@ def register_import_sops_parser(parser: argparse.ArgumentParser) -> None: default=None, help="the input type of the sops file (yaml, json, ...). If not specified, it will be guessed from the file extension", ) - parser.add_argument( + group_action = parser.add_argument( "--group", type=str, action="append", default=[], help="the group to import the secrets to", ) - parser.add_argument( + add_dynamic_completer(group_action, complete_groups) + machine_action = parser.add_argument( "--machine", type=str, action="append", default=[], help="the machine to import the secrets to", ) - parser.add_argument( + add_dynamic_completer(machine_action, complete_machines) + user_action = parser.add_argument( "--user", type=str, action="append", default=[], help="the user to import the secrets to", ) + add_dynamic_completer(user_action, complete_users) parser.add_argument( "--prefix", type=str,