Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
0ea0e1a
[Backup] Migrate backup to track2 SDK
Jing-song Apr 23, 2021
2d08413
[Backup] Migrate backup to track2 SDK
Jing-song Apr 23, 2021
21df44d
Merge branch 'backup' of https://github.com/PARADISSEEKR/azure-cli in…
Jing-song Apr 23, 2021
ce7ec89
[Backup] Migrate backup to track2 SDK
Jing-song Apr 23, 2021
6ec1be7
Merge branch 'dev' into backup
Jing-song Apr 27, 2021
cbff591
workload_test
Jing-song May 11, 2021
2153a31
workload_sql
Jing-song May 11, 2021
8e2acda
Merge branch 'dev' into backup
Jing-song May 11, 2021
d4b7343
update
Jing-song May 11, 2021
e98fad3
workload_hana
Jing-song May 13, 2021
cd27f08
update afs_test
Jing-song May 13, 2021
10b1d7d
update
Jing-song May 14, 2021
a197e3c
Merge branch 'dev' into backup
Jing-song May 17, 2021
6d4ce96
Revert "Merge branch 'dev' into backup"
Jing-song May 17, 2021
c6ffee9
Modified style
Jing-song May 17, 2021
ac677d3
Merge branch 'dev' into backup
Jing-song May 20, 2021
815bb07
update
Jing-song May 20, 2021
7eecf22
Merge branch 'dev' into backup
Jing-song May 20, 2021
647041f
fix conflicts
Jing-song May 20, 2021
c3b97d0
update
Jing-song May 20, 2021
cffb783
update
Jing-song May 20, 2021
61c44bf
update
Jing-song May 20, 2021
8a619b5
Merge branch 'dev' into backup
Jing-song May 20, 2021
934a554
update
Jing-song May 26, 2021
76c4c64
Merge branch 'dev' into backup
Jing-song May 26, 2021
e0ce5f9
Apply suggestions from code review
Jing-song May 26, 2021
e06fad1
Update preparers.py
Jing-song May 27, 2021
034b326
Resolve conflicts
Jing-song May 28, 2021
2f32c51
Revert "Resolve conflicts"
Jing-song May 28, 2021
6d5f01d
Resolve conflicts
Jing-song May 28, 2021
3e7564b
Merge branch 'Azure:dev' into backup
Jing-song May 28, 2021
230b842
Update test_backup_wl_sql_policy.yaml
Jing-song May 28, 2021
54bfb1c
Delete test_acs_create_kubernetes.yaml
Jing-song May 31, 2021
dae3426
Merge branch 'Azure:dev' into backup
Jing-song May 31, 2021
a344460
Merge branch 'Azure:dev' into backup
Jing-song May 31, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
[Backup] Migrate backup to track2 SDK
  • Loading branch information
Jing-song committed Apr 23, 2021
commit 0ea0e1a0d64dd35c47f7ff3d479f5bfb20731bcf
5 changes: 3 additions & 2 deletions src/azure-cli/azure/cli/command_modules/backup/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
BackupResourceVaultConfig, BackupResourceVaultConfigResource, DiskExclusionProperties, ExtendedProperties

from azure.cli.core.util import CLIError
from azure.core.exceptions import HttpResponseError
from azure.cli.core.azclierror import RequiredArgumentMissingError, InvalidArgumentValueError
from azure.cli.command_modules.backup._client_factory import (
vaults_cf, backup_protected_items_cf, protection_policies_cf, virtual_machines_cf, recovery_points_cf,
Expand Down Expand Up @@ -163,14 +164,14 @@ def _force_delete_vault(cmd, vault_name, resource_group_name):
# now delete the vault
try:
vault_client.delete(resource_group_name, vault_name)
except Exception as ex:
except HttpResponseError as ex:
raise ex


def delete_vault(cmd, client, vault_name, resource_group_name, force=False):
try:
client.delete(resource_group_name, vault_name)
except Exception as ex: # pylint: disable=broad-except
except HttpResponseError as ex: # pylint: disable=broad-except
if 'existing resources within the vault' in ex.message and force: # pylint: disable=no-member
_force_delete_vault(cmd, vault_name, resource_group_name)
else:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,11 @@ def create_resource(self, name, **kwargs):
self.resource_group = self._get_resource_group(**kwargs)
self.location = self._get_resource_group_location(**kwargs)
cmd = 'az backup vault create -n {} -g {} --location {}'.format(name, self.resource_group, self.location)
print(cmd)
execute(self.cli_ctx, cmd)
if not self.soft_delete:
cmd = 'az backup vault backup-properties set -n {} -g {} --soft-delete-feature-state Disable'.format(name, self.resource_group)
print(cmd)
execute(self.cli_ctx, cmd)
return {self.parameter_name: name}
return {self.parameter_name: self.dev_setting_value}
Expand Down Expand Up @@ -65,18 +67,24 @@ def _get_resource_group_location(self, **kwargs):
def _cleanup(self, vault_name, resource_group):
containers = execute(self.cli_ctx, 'az backup container list --backup-management-type AzureIaasVM -v {} -g {} --query [].properties.friendlyName'
.format(vault_name, resource_group)).get_output_in_json()
print('az backup container list --backup-management-type AzureIaasVM -v {} -g {} --query [].properties.friendlyName'
.format(vault_name, resource_group))
for container in containers:
items = execute(self.cli_ctx, 'az backup item list --backup-management-type AzureIaasVM --workload-type VM -g {} -v {} -c {} --query [].properties.friendlyName'
.format(resource_group, vault_name, container)).get_output_in_json()
print('az backup item list --backup-management-type AzureIaasVM --workload-type VM -g {} -v {} -c {} --query [].properties.friendlyName'
.format(resource_group, vault_name, container))
for item in items:
execute(self.cli_ctx,
'az backup protection disable --backup-management-type AzureIaasVM --workload-type VM -g {} -v {} -c {} -i {} --delete-backup-data true --yes'
.format(resource_group, vault_name, container, item))
from msrestazure.azure_exceptions import CloudError
print('az backup protection disable --backup-management-type AzureIaasVM --workload-type VM -g {} -v {} -c {} -i {} --delete-backup-data true --yes'
.format(resource_group, vault_name, container, item))
from azure.core.exceptions import HttpResponseError
try:
execute(self.cli_ctx, 'az backup vault delete -n {} -g {} --yes'.format(vault_name, resource_group))
except CloudError as ex:
if 'Recovery Services vault cannot be deleted as there are backup items in soft deleted state in the vault' not in str(ex):
except HttpResponseError as ex:
if "Operation returned an invalid status 'Bad Request'" not in str(ex):
raise ex


Expand Down

This file was deleted.

Loading