From 690aad0e8bf129c9913e81a0ab0d9030060dc312 Mon Sep 17 00:00:00 2001 From: Akshay Neema Date: Thu, 8 Apr 2021 14:42:48 +0530 Subject: [PATCH] added optional server name input for protectable item list command --- src/azure-cli/azure/cli/command_modules/backup/_params.py | 1 + .../azure/cli/command_modules/backup/custom_base.py | 4 ++-- src/azure-cli/azure/cli/command_modules/backup/custom_wl.py | 6 +++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/backup/_params.py b/src/azure-cli/azure/cli/command_modules/backup/_params.py index 749ad5bf6bd..5f8415a627d 100644 --- a/src/azure-cli/azure/cli/command_modules/backup/_params.py +++ b/src/azure-cli/azure/cli/command_modules/backup/_params.py @@ -253,6 +253,7 @@ def load_arguments(self, _): c.argument('protectable_item_type', protectable_item_type) with self.argument_context('backup protectable-item list') as c: + c.argument('server_name', options_list=['--server-name'], help='Parent Server name of the item.') c.argument('protectable_item_type', protectable_item_type) # Restore diff --git a/src/azure-cli/azure/cli/command_modules/backup/custom_base.py b/src/azure-cli/azure/cli/command_modules/backup/custom_base.py index c711f27909b..a22f4db888d 100644 --- a/src/azure-cli/azure/cli/command_modules/backup/custom_base.py +++ b/src/azure-cli/azure/cli/command_modules/backup/custom_base.py @@ -197,7 +197,7 @@ def list_associated_items_for_policy(client, resource_group_name, vault_name, na def list_protectable_items(cmd, client, resource_group_name, vault_name, workload_type, container_name=None, - protectable_item_type=None): + protectable_item_type=None, server_name=None): container_uri = None if container_name: if custom_help.is_native_name(container_name): @@ -213,7 +213,7 @@ def list_protectable_items(cmd, client, resource_group_name, vault_name, workloa """) container_uri = container.name return custom_wl.list_protectable_items(client, resource_group_name, vault_name, workload_type, container_uri, - protectable_item_type) + protectable_item_type, server_name) def show_protectable_item(cmd, client, resource_group_name, vault_name, name, server_name, protectable_item_type, diff --git a/src/azure-cli/azure/cli/command_modules/backup/custom_wl.py b/src/azure-cli/azure/cli/command_modules/backup/custom_wl.py index fbdd72ecb5e..c5c55428b29 100644 --- a/src/azure-cli/azure/cli/command_modules/backup/custom_wl.py +++ b/src/azure-cli/azure/cli/command_modules/backup/custom_wl.py @@ -289,7 +289,7 @@ def show_protectable_instance(items, server_name, protectable_item_type): def list_protectable_items(client, resource_group_name, vault_name, workload_type, container_uri=None, - protectable_item_type=None): + protectable_item_type=None, server_name=None): workload_type = _check_map(workload_type, workload_type_map) if protectable_item_type is not None: protectable_item_type = _check_map(protectable_item_type, protectable_item_type_map) @@ -306,6 +306,10 @@ def list_protectable_items(client, resource_group_name, vault_name, workload_typ # Protectable Item Type filter paged_items = [item for item in paged_items if item.properties.protectable_item_type.lower() == protectable_item_type.lower()] + if server_name is not None: + # Server Name filter + paged_items = [item for item in paged_items if + item.properties.server_name.lower() == server_name.lower()] if container_uri: return [item for item in paged_items if cust_help.get_protection_container_uri_from_id(item.id).lower() == container_uri.lower()]