diff --git a/README.rst b/README.rst index d8d6f09..75d8b89 100644 --- a/README.rst +++ b/README.rst @@ -9,7 +9,7 @@ Usage :: $ get-k8s-resources -h - usage: get-k8s-resources.py [-h] [-n NAMESPACE] [-c CONTEXT] -t + usage: get-k8s-resources [-h] [-n NAMESPACE] [-c CONTEXT] -t {deployments,services,pods,ingresses} Returns a json list of kubernetes deployments. diff --git a/get-k8s-resources.py b/get-k8s-resources.py index 06010c8..20b0d23 100644 --- a/get-k8s-resources.py +++ b/get-k8s-resources.py @@ -81,7 +81,7 @@ def print_list(k8s_object_list): print(_k8s_object_list) -def get_client_extensions(api): +def get_extensions(api): return client.ExtensionsV1beta1Api(api) @@ -100,10 +100,22 @@ def get_client(kubeconfig, context): k8s_types = { - "deployments": get_deployments, - "services": get_services, - "pods": get_pods, - "ingresses": get_ingresses, + "deployments": { + "function": get_deployments, + "api": get_extensions + }, + "services": { + "function": get_services, + "api": get_core_api_v1 + }, + "pods": { + "function": get_pods, + "api": get_core_api_v1 + }, + "ingresses": { + "function": get_ingresses, + "api": get_extensions + } } @@ -112,14 +124,8 @@ def main(): _client = get_client(parser.kubeconfig, parser.context) api = None if parser.type in k8s_types.keys(): - if parser.type in ["pods", "services"]: - api = get_core_api_v1(_client) - if parser.type in ["deployments", "ingresses"]: - api = get_client_extensions(_client) - k8s_types[parser.type](api, parser.namespace) - else: - print("No type provided, failing...") - sys.exit(1) + api = k8s_types[parser.type]["api"](_client) + k8s_types[parser.type]["function"](api, parser.namespace) def argumentparser():