summaryrefslogtreecommitdiff
path: root/openstackclient/compute/v2/server.py
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/compute/v2/server.py')
-rw-r--r--openstackclient/compute/v2/server.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index da607bda..caa301d4 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -1134,7 +1134,8 @@ class ListServer(command.Lister):
default=None,
help=_('The last server of the previous page. Display '
'list of servers after marker. Display all servers if not '
- 'specified. (name or ID)')
+ 'specified. When used with ``--deleted``, the marker must '
+ 'be an ID, otherwise a name or ID can be used.'),
)
parser.add_argument(
'--limit',
@@ -1292,9 +1293,17 @@ class ListServer(command.Lister):
mixed_case_fields = []
marker_id = None
+
if parsed_args.marker:
- marker_id = utils.find_resource(compute_client.servers,
- parsed_args.marker).id
+ # Check if both "--marker" and "--deleted" are used.
+ # In that scenario a lookup is not needed as the marker
+ # needs to be an ID, because find_resource does not
+ # handle deleted resources
+ if parsed_args.deleted:
+ marker_id = parsed_args.marker
+ else:
+ marker_id = utils.find_resource(compute_client.servers,
+ parsed_args.marker).id
data = compute_client.servers.list(search_opts=search_opts,
marker=marker_id,