1212import prettytable
1313import logging
1414
15- from .utils import do_request , print_output , find_project_id_by_name , find_cluster_id_by_name , get_cache , save_cache , detect_and_parse_input , verify_certificate , shell_completions , transform_tuple , profile_list , login_profile , cluster_create_in_background , ctx_update , set_cluster_id , get_cluster_id , get_project_id , get_template , get_cluster_name , format_changed_row , is_interesting_status , profile_completer
15+ from .utils import cluster_completer , do_request , print_output , find_project_id_by_name , find_cluster_id_by_name , get_cache , save_cache , detect_and_parse_input , verify_certificate , shell_completions , transform_tuple , profile_list , login_profile , cluster_create_in_background , ctx_update , set_cluster_id , get_cluster_id , get_project_id , get_template , get_cluster_name , format_changed_row , is_interesting_status , profile_completer , project_completer
1616
1717from .profile import add_profile
1818from .project import project_create , project_login
1919
2020# DEFINE THE CLUSTER GROUP
2121@click .group (help = "Cluster related commands." )
22- @click .option ('--project-name' , '-p' , required = False , help = "Project Name" )
23- @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster Name" )
22+ @click .option ('--project-name' , '-p' , required = False , help = "Project Name" , shell_complete = project_completer )
23+ @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster Name" , shell_complete = cluster_completer )
2424@click .option ("--profile" , "-pr" , help = "Configuration profile to use" , shell_complete = profile_completer )
2525@click .pass_context
2626def cluster (ctx , project_name , cluster_name , profile ):
@@ -29,7 +29,7 @@ def cluster(ctx, project_name, cluster_name, profile):
2929
3030# LOGIN ON CLUSTER
3131@cluster .command ('login' , help = "Set a default cluster" )
32- @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Name of cluster" )
32+ @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Name of cluster" , shell_complete = cluster_completer )
3333@click .option ("--profile" , "-pr" , help = "Configuration profile to use" , shell_complete = profile_completer )
3434@click .pass_context
3535def cluster_login (ctx , cluster_name , profile ):
@@ -68,8 +68,8 @@ def cluster_logout(ctx, profile):
6868
6969# LIST CLUSTERS
7070@cluster .command ('list' , help = "List all clusters" )
71- @click .option ('--project-name' , '-p' , required = False , help = "Project Name" )
72- @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster Name" )
71+ @click .option ('--project-name' , '-p' , required = False , help = "Project Name" , shell_complete = project_completer )
72+ @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster Name" , shell_complete = cluster_completer )
7373@click .option ('--deleted' , '-x' , is_flag = True , help = "List deleted clusters" ) # x pour "deleted" / "removed"
7474@click .option ('--plain' , '-pl' , is_flag = True , help = "Plain table format" )
7575@click .option ('--msword' , '-mw' , is_flag = True , help = "Microsoft Word table format" )
@@ -212,8 +212,8 @@ def format_row(cluster):
212212
213213# GET CLUSTER BY NAME
214214@cluster .command ('get' , help = "Get a cluster by name" )
215- @click .option ('--project-name' , '-p' , required = False , help = "Project Name" )
216- @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster Name" )
215+ @click .option ('--project-name' , '-p' , required = False , help = "Project Name" , shell_complete = project_completer )
216+ @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster Name" , shell_complete = cluster_completer )
217217@click .option ('--output' , '-o' , type = click .Choice (["json" , "yaml" ]), help = "Specify output format, by default is json" )
218218@click .option ('--profile' , '-pr' , help = "Configuration profile to use" , shell_complete = profile_completer )
219219@click .pass_context
@@ -307,8 +307,8 @@ def _create_cluster(project_name, cluster_config, output):
307307
308308# CLUSTER CREATE BY NAME
309309@cluster .command ('create' , help = "Create a new cluster" )
310- @click .option ('--project-name' , '-p' , required = False , help = "Project Name" )
311- @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster Name" )
310+ @click .option ('--project-name' , '-p' , required = False , help = "Project Name" , shell_complete = project_completer )
311+ @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster Name" , shell_complete = cluster_completer )
312312@click .option ('--description' , '-d' , help = "Description of the cluster" )
313313@click .option ('--admin' , '-a' , help = "Admin Whitelist" )
314314@click .option ('--version' , '-v' , shell_complete = shell_completions , help = "Kubernetes version" )
@@ -407,8 +407,8 @@ def cluster_create_command(ctx, project_name, cluster_name, description, admin,
407407
408408# UPDATE CLUSTER
409409@cluster .command ('update' , help = "Update a cluster by name" )
410- @click .option ('--project-name' , '-p' , required = False , help = "Project name" )
411- @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster name" )
410+ @click .option ('--project-name' , '-p' , required = False , help = "Project name" , shell_complete = project_completer )
411+ @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster name" , shell_complete = cluster_completer )
412412@click .option ('--description' , '-d' , help = "Description of the cluster" )
413413@click .option ('--admin' , '-a' , help = "Admin Whitelist" )
414414@click .option ('--version' , '-v' , shell_complete = shell_completions , help = "Kubernetes version" )
@@ -494,8 +494,8 @@ def cluster_update_command(ctx, project_name, cluster_name, description, admin,
494494
495495# UPGRADE CLUSTER
496496@cluster .command ('upgrade' , help = "Upgrade a cluster by name" )
497- @click .option ('--project-name' , '-p' , required = False , help = "Project name" )
498- @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster name" )
497+ @click .option ('--project-name' , '-p' , required = False , help = "Project name" , shell_complete = project_completer )
498+ @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster name" , shell_complete = cluster_completer )
499499@click .option ('--output' , '-o' , type = click .Choice (["json" , "yaml" ]), help = "Specify output format, by default is json" )
500500@click .option ('--force' , is_flag = True , help = "Force upgrade" )
501501@click .option ('--profile' , '-pr' , help = "Configuration profile to use" , shell_complete = profile_completer )
@@ -515,8 +515,8 @@ def cluster_update_command(ctx, project_name, cluster_name, output, force, profi
515515
516516# DELETE CLUSTER BY NAME
517517@cluster .command ('delete' , help = "Delete a cluster by name" )
518- @click .option ('--project-name' , '-p' , required = False , help = "Project name" )
519- @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster name" )
518+ @click .option ('--project-name' , '-p' , required = False , help = "Project name" , shell_complete = project_completer )
519+ @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster name" , shell_complete = cluster_completer )
520520@click .option ('--output' , '-o' , type = click .Choice (["json" , "yaml" ]), help = "Specify output format, by default is json" )
521521@click .option ('--dry-run' , is_flag = True , help = "Run without any action" )
522522@click .option ('--force' , is_flag = True , help = "Force deletion without confirmation" )
@@ -546,8 +546,8 @@ def cluster_delete_command(ctx, project_name, cluster_name, output, dry_run, for
546546
547547# GET KUBECONFIG
548548@cluster .command ('kubeconfig' , help = "Fetch the kubeconfig for a cluster" )
549- @click .option ('--project-name' , '-p' , required = False , help = "Project Name" )
550- @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster Name" )
549+ @click .option ('--project-name' , '-p' , required = False , help = "Project Name" , shell_complete = project_completer )
550+ @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster Name" , shell_complete = cluster_completer )
551551@click .option ('--print-path' , '-pp' , is_flag = True , help = "Print path to saved kubeconfig" )
552552@click .option ('--refresh' , '--force' , is_flag = True , help = "Force refresh saved kubeconfig" )
553553@click .option ('--nacl' , is_flag = True , help = "Use public key encryption on wire (require api support)" )
@@ -655,8 +655,8 @@ def _run_kubectl(project_id, cluster_id, user, group, args, input=None):
655655
656656
657657@cluster .command ('kubectl' , help = 'Fetch the kubeconfig for a cluster and run kubectl against it' , context_settings = {"ignore_unknown_options" : True })
658- @click .option ('--project-name' , '-p' , required = False , help = "Project Name" )
659- @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster Name" )
658+ @click .option ('--project-name' , '-p' , required = False , help = "Project Name" , shell_complete = project_completer )
659+ @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster Name" , shell_complete = cluster_completer )
660660@click .option ('--user' , '-u' , type = click .STRING , help = "User" )
661661@click .option ('--group' , '-g' , type = click .STRING , help = "Group" )
662662@click .option ('--profile' , '-pr' , help = "Configuration profile to use" , shell_complete = profile_completer )
@@ -674,8 +674,8 @@ def cluster_kubectl_command(ctx, project_name, cluster_name, user, group, args,
674674
675675
676676@click .group (help = "Nodepool related commands." )
677- @click .option ('--project-name' , '-p' , required = False , help = "Project Name" )
678- @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster Name" )
677+ @click .option ('--project-name' , '-p' , required = False , help = "Project Name" , shell_complete = project_completer )
678+ @click .option ('--cluster-name' , '--name' , '-c' , required = False , help = "Cluster Name" , shell_complete = cluster_completer )
679679@click .option ('--user' , '-u' , type = click .STRING , help = "User" )
680680@click .option ('--group' , '-g' , type = click .STRING , help = "Group" )
681681@click .option ('--profile' , '-pr' , help = "Configuration profile to use" , shell_complete = profile_completer )
0 commit comments