Skip to content

Commit

Permalink
[ACR]: Add a prompt for command "az acr delete" to avoid accidental o…
Browse files Browse the repository at this point in the history
…peration (#11899)
  • Loading branch information
Wwwsylvia authored and yugangw-msft committed Jan 20, 2020
1 parent 189a74d commit 6ce5bba
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 8 deletions.
4 changes: 4 additions & 0 deletions src/azure-cli/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
Release History
===============

**ACR**

* [BREAKING CHANGE] `az acr delete` will prompt

**AppConfig**

* Support import/export of keyvault references from/to appservice
Expand Down
7 changes: 4 additions & 3 deletions src/azure-cli/azure/cli/command_modules/acr/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
get_registry_by_name,
validate_managed_registry,
validate_sku_update,
get_resource_group_name_by_registry_name
get_resource_group_name_by_registry_name,
user_confirmation
)
from ._docker_utils import get_login_credentials
from .network_rule import NETWORK_RULE_NOT_SUPPORTED
Expand Down Expand Up @@ -67,8 +68,8 @@ def acr_create(cmd,
return lro_poller


def acr_delete(cmd, client, registry_name, resource_group_name=None):
logger.warning('To avoid accidental removal, in a future release "az acr delete" will prompt for confirmation')
def acr_delete(cmd, client, registry_name, resource_group_name=None, yes=False):
user_confirmation("Are you sure you want to delete the registry '{}'?".format(registry_name), yes)
resource_group_name = get_resource_group_name_by_registry_name(cmd.cli_ctx, registry_name, resource_group_name)
return client.delete(resource_group_name, registry_name)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ def _core_registry_scenario(self, registry_name, resource_group, location):
assert password2 != renewed_password2

# test acr delete
self.cmd('acr delete -n {} -g {}'.format(registry_name, resource_group))
self.cmd('acr delete -n {} -g {} -y'.format(registry_name, resource_group))

def test_check_name_availability(self):
# the chance of this randomly generated name has a duplication is rare
Expand Down Expand Up @@ -178,7 +178,7 @@ def test_acr_create_webhook(self, resource_group, resource_group_location):
# test webhook delete
self.cmd('acr webhook delete -n {webhook_name} -r {registry_name}')
# test acr delete
self.cmd('acr delete -n {registry_name} -g {rg}')
self.cmd('acr delete -n {registry_name} -g {rg} -y')

@ResourceGroupPreparer()
def test_acr_create_replication(self, resource_group, resource_group_location):
Expand Down Expand Up @@ -225,7 +225,7 @@ def test_acr_create_replication(self, resource_group, resource_group_location):
# test replication delete
self.cmd('acr replication delete -n {replication_name} -r {registry_name}')
# test acr delete
self.cmd('acr delete -n {registry_name} -g {rg}')
self.cmd('acr delete -n {registry_name} -g {rg} -y')

@ResourceGroupPreparer()
@record_only()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,5 +102,5 @@ def test_acr_network_rule(self, resource_group, resource_group_location):
checks=[self.check('virtualNetworkRules', []),
self.check('ipRules', [])])

self.cmd('acr delete -g {rg} -n {registry_name}')
self.cmd('acr delete -g {rg} -n {registry_name} -y')
self.cmd('network vnet delete -g {rg} -n {vnet_name}')
Original file line number Diff line number Diff line change
Expand Up @@ -101,4 +101,4 @@ def test_acr_task(self, resource_group):
self.cmd('acr task delete -n {task_name} -r {registry_name}')

# test acr delete
self.cmd('acr delete -n {registry_name} -g {rg}')
self.cmd('acr delete -n {registry_name} -g {rg} -y')

0 comments on commit 6ce5bba

Please sign in to comment.