diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/_params.py b/src/azure-cli/azure/cli/command_modules/keyvault/_params.py index 1652471f332..67933796ddf 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/_params.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/_params.py @@ -654,6 +654,8 @@ class CLISecurityDomainOperation(str, Enum): with self.argument_context('keyvault restore start') as c: c.argument('folder_to_restore', options_list=['--backup-folder'], help='Name of the blob container which contains the backup') + c.argument('key_name', options_list=['--key-name', '--key'], + help='Name of a single key in the backup. When set, only this key will be restored') with self.argument_context('keyvault restore start', arg_group='Storage Id') as c: c.extra('storage_resource_uri', required=False, diff --git a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py index 76e4947bfbc..6c25c03f96d 100644 --- a/src/azure-cli/azure/cli/command_modules/keyvault/custom.py +++ b/src/azure-cli/azure/cli/command_modules/keyvault/custom.py @@ -2157,13 +2157,13 @@ def full_backup(cmd, client, token, storage_resource_uri=None, storage_account_n def full_restore(cmd, client, token, folder_to_restore, storage_resource_uri=None, storage_account_name=None, - blob_container_name=None, hsm_name=None): # pylint: disable=unused-argument + blob_container_name=None, key_name=None, hsm_name=None): # pylint: disable=unused-argument storage_account_parameters_check(storage_resource_uri, storage_account_name, blob_container_name) if not storage_resource_uri: storage_resource_uri = construct_storage_uri( cmd.cli_ctx.cloud.suffixes.storage_endpoint, storage_account_name, blob_container_name) folder_url = '{}/{}'.format(storage_resource_uri, folder_to_restore) - return client.begin_restore(folder_url, token) + return client.begin_restore(folder_url, token, key_name=key_name) # endregion