diff --git a/coriolisclient/cli/endpoint_instances.py b/coriolisclient/cli/endpoint_instances.py index 749a94b..5d2ac5b 100644 --- a/coriolisclient/cli/endpoint_instances.py +++ b/coriolisclient/cli/endpoint_instances.py @@ -103,6 +103,11 @@ def get_parser(self, prog_name): parser.add_argument( '--name', help='Filter results based on regular expression search') + parser.add_argument( + '--refresh', + action='store_true', + default=False, + help='Force refresh of cached instance data') cli_utils.add_args_for_json_option_to_parser(parser, 'environment') @@ -116,7 +121,8 @@ def take_action(self, args): args, 'environment', error_on_no_value=False) obj_list = ei.list( - endpoint_id, env, args.marker, args.limit, args.name) + endpoint_id, env, args.marker, args.limit, args.name, + refresh=args.refresh) return EndpointInstanceFormatter().list_objects(obj_list) diff --git a/coriolisclient/tests/cli/test_endpoint_instances.py b/coriolisclient/tests/cli/test_endpoint_instances.py index 6f30705..4a0ce2c 100644 --- a/coriolisclient/tests/cli/test_endpoint_instances.py +++ b/coriolisclient/tests/cli/test_endpoint_instances.py @@ -134,6 +134,7 @@ def test_take_action( args.marker = mock.sentinel.marker args.limit = mock.sentinel.limit args.name = mock.sentinel.name + args.refresh = mock.sentinel.refresh mock_endpoints = mock.Mock() mock_ei = mock.Mock() self.mock_app.client_manager.coriolis.endpoints = mock_endpoints @@ -152,7 +153,8 @@ def test_take_action( mock_get_option_value_from_args.return_value, mock.sentinel.marker, mock.sentinel.limit, - mock.sentinel.name + mock.sentinel.name, + refresh=mock.sentinel.refresh, ) mock_list_objects.assert_called_once_with(mock_ei.list.return_value) diff --git a/coriolisclient/v1/endpoint_instances.py b/coriolisclient/v1/endpoint_instances.py index 4a62a55..de5a1fa 100644 --- a/coriolisclient/v1/endpoint_instances.py +++ b/coriolisclient/v1/endpoint_instances.py @@ -33,7 +33,7 @@ def __init__(self, api): def list( self, endpoint, env=None, marker=None, - limit=None, name=None): + limit=None, name=None, refresh=False): query = {} if marker is not None: @@ -42,6 +42,8 @@ def list( query['limit'] = limit if name is not None: query["name"] = name + if refresh: + query['refresh'] = 'true' if env is not None: if not isinstance(env, dict): raise ValueError("'env' param must be a dict")