Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[dataprotection] Add support for Cross Region Restore for Backup Vaults #7282

Merged
merged 39 commits into from
Mar 13, 2024

Conversation

zubairabid
Copy link
Contributor

@zubairabid zubairabid commented Feb 12, 2024


This checklist is used to make sure that common guidelines for a pull request are followed.

Related command

  • Added support for Cross Region Restore for Backup Vaults.
  • az dataprotection backup-vault create: New parameter --cross-region-restore-state/--crr-state that can be set to Enabled/Disabled.
  • az dataprotection backup-vault update: New parameter --cross-region-restore-state/--crr-state that can be set to Enabled/Disabled.
  • az dataprotection backup-vault list-from-resourcegraph: New command to fetch Backup Vault details from Azure Resource Graph.
  • az dataprotection recovery-point list: New parameter --use-secondary-region to be used when listing from the secondary region.
  • az dataprotection backup-instance validate-for-restore: New parameter --use-secondary-region to be used when restoring to the secondary region.
  • az dataprotection backup-instance restore trigger: New parameter --use-secondary-region to be used when restoring to the secondary region.
  • az dataprotection backup-job list: New parameter --use-secondary-region which can be used in disaster scenario when primary region is down.
  • az dataprotection backup-job show: New parameter --use-secondary-region which can be used in disaster scenario when primary region is down.

General Guidelines

  • Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
  • Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)
  • My extension version conforms to the Extension version schema

For new extensions:

About Extension Publish

There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

Copy link

azure-client-tools-bot-prd bot commented Feb 12, 2024

❌Azure CLI Extensions Breaking Change Test
❌dataprotection
rule cmd_name rule_message suggest_message
1002 - CmdRemove dataprotection backup-instance update cmd dataprotection backup-instance update removed please confirm cmd dataprotection backup-instance update removed
⚠️ 1006 - ParaAdd dataprotection backup-instance list-from-resourcegraph cmd dataprotection backup-instance list-from-resourcegraph added parameter backup_instance_id
⚠️ 1006 - ParaAdd dataprotection backup-instance list-from-resourcegraph cmd dataprotection backup-instance list-from-resourcegraph added parameter backup_instance_name
⚠️ 1009 - ParaPropRemove dataprotection backup-instance list-from-resourcegraph cmd dataprotection backup-instance list-from-resourcegraph update parameter datasource_type: removed property required=True
⚠️ 1006 - ParaAdd dataprotection backup-instance restore trigger cmd dataprotection backup-instance restore trigger added parameter use_secondary_region
⚠️ 1009 - ParaPropRemove dataprotection backup-instance restore trigger cmd dataprotection backup-instance restore trigger update parameter backup_instance_name: removed property aaz_type=string
⚠️ 1009 - ParaPropRemove dataprotection backup-instance restore trigger cmd dataprotection backup-instance restore trigger update parameter backup_instance_name: removed property id_part=child_name_1
⚠️ 1009 - ParaPropRemove dataprotection backup-instance restore trigger cmd dataprotection backup-instance restore trigger update parameter no_wait: removed property aaz_type=bool
⚠️ 1009 - ParaPropRemove dataprotection backup-instance restore trigger cmd dataprotection backup-instance restore trigger update parameter no_wait: removed property choices=['0', '1', 'f', 'false', 'n', 'no', 't', 'true', 'y', 'yes']
⚠️ 1009 - ParaPropRemove dataprotection backup-instance restore trigger cmd dataprotection backup-instance restore trigger update parameter no_wait: removed property nargs=?
⚠️ 1009 - ParaPropRemove dataprotection backup-instance restore trigger cmd dataprotection backup-instance restore trigger update parameter no_wait: removed property type=bool
⚠️ 1009 - ParaPropRemove dataprotection backup-instance restore trigger cmd dataprotection backup-instance restore trigger update parameter resource_group: removed property aaz_type=string
⚠️ 1009 - ParaPropRemove dataprotection backup-instance restore trigger cmd dataprotection backup-instance restore trigger update parameter resource_group: removed property type=string
⚠️ 1010 - ParaPropUpdate dataprotection backup-instance restore trigger cmd dataprotection backup-instance restore trigger update parameter resource_group: updated property name from resource_group to resource_group_name
⚠️ 1009 - ParaPropRemove dataprotection backup-instance restore trigger cmd dataprotection backup-instance restore trigger update parameter restore_request_object: removed property aaz_type=AAZFreeFormDictArg
⚠️ 1010 - ParaPropUpdate dataprotection backup-instance restore trigger cmd dataprotection backup-instance restore trigger update parameter restore_request_object: updated property type from Dict<String, Any> to custom_type
⚠️ 1009 - ParaPropRemove dataprotection backup-instance restore trigger cmd dataprotection backup-instance restore trigger update parameter vault_name: removed property aaz_type=string
⚠️ 1010 - ParaPropUpdate dataprotection backup-instance update-msi-permissions cmd dataprotection backup-instance update-msi-permissions update parameter vault_name: updated property options from ['--vault-name'] to ['--vault-name', '-v']
⚠️ 1010 - ParaPropUpdate dataprotection backup-instance update-policy cmd dataprotection backup-instance update-policy update parameter vault_name: updated property options from ['--vault-name'] to ['--vault-name', '-v']
⚠️ 1010 - ParaPropUpdate dataprotection backup-instance validate-for-backup cmd dataprotection backup-instance validate-for-backup update parameter vault_name: updated property options from ['--vault-name'] to ['--vault-name', '-v']
⚠️ 1006 - ParaAdd dataprotection backup-instance validate-for-restore cmd dataprotection backup-instance validate-for-restore added parameter use_secondary_region
⚠️ 1009 - ParaPropRemove dataprotection backup-instance validate-for-restore cmd dataprotection backup-instance validate-for-restore update parameter backup_instance_name: removed property aaz_type=string
⚠️ 1009 - ParaPropRemove dataprotection backup-instance validate-for-restore cmd dataprotection backup-instance validate-for-restore update parameter backup_instance_name: removed property id_part=child_name_1
⚠️ 1009 - ParaPropRemove dataprotection backup-instance validate-for-restore cmd dataprotection backup-instance validate-for-restore update parameter no_wait: removed property aaz_type=bool
⚠️ 1009 - ParaPropRemove dataprotection backup-instance validate-for-restore cmd dataprotection backup-instance validate-for-restore update parameter no_wait: removed property choices=['0', '1', 'f', 'false', 'n', 'no', 't', 'true', 'y', 'yes']
⚠️ 1009 - ParaPropRemove dataprotection backup-instance validate-for-restore cmd dataprotection backup-instance validate-for-restore update parameter no_wait: removed property nargs=?
⚠️ 1009 - ParaPropRemove dataprotection backup-instance validate-for-restore cmd dataprotection backup-instance validate-for-restore update parameter no_wait: removed property type=bool
⚠️ 1009 - ParaPropRemove dataprotection backup-instance validate-for-restore cmd dataprotection backup-instance validate-for-restore update parameter resource_group: removed property aaz_type=string
⚠️ 1009 - ParaPropRemove dataprotection backup-instance validate-for-restore cmd dataprotection backup-instance validate-for-restore update parameter resource_group: removed property type=string
⚠️ 1010 - ParaPropUpdate dataprotection backup-instance validate-for-restore cmd dataprotection backup-instance validate-for-restore update parameter resource_group: updated property name from resource_group to resource_group_name
⚠️ 1009 - ParaPropRemove dataprotection backup-instance validate-for-restore cmd dataprotection backup-instance validate-for-restore update parameter restore_request_object: removed property aaz_type=AAZFreeFormDictArg
⚠️ 1010 - ParaPropUpdate dataprotection backup-instance validate-for-restore cmd dataprotection backup-instance validate-for-restore update parameter restore_request_object: updated property type from Dict<String, Any> to custom_type
⚠️ 1009 - ParaPropRemove dataprotection backup-instance validate-for-restore cmd dataprotection backup-instance validate-for-restore update parameter vault_name: removed property aaz_type=string
⚠️ 1010 - ParaPropUpdate dataprotection backup-instance validate-for-restore cmd dataprotection backup-instance validate-for-restore update parameter vault_name: updated property options from ['--vault-name'] to ['--vault-name', '-v']
⚠️ 1006 - ParaAdd dataprotection backup-vault create cmd dataprotection backup-vault create added parameter cross_region_restore_state
⚠️ 1001 - CmdAdd dataprotection backup-vault list-from-resourcegraph cmd dataprotection backup-vault list-from-resourcegraph added
⚠️ 1006 - ParaAdd dataprotection backup-vault update cmd dataprotection backup-vault update added parameter cross_region_restore_state
⚠️ 1006 - ParaAdd dataprotection job list cmd dataprotection job list added parameter use_secondary_region
⚠️ 1009 - ParaPropRemove dataprotection job list cmd dataprotection job list update parameter pagination_limit: removed property aaz_type=int
⚠️ 1010 - ParaPropUpdate dataprotection job list cmd dataprotection job list update parameter pagination_limit: updated property name from pagination_limit to max_items
⚠️ 1009 - ParaPropRemove dataprotection job list cmd dataprotection job list update parameter pagination_token: removed property aaz_type=string
⚠️ 1010 - ParaPropUpdate dataprotection job list cmd dataprotection job list update parameter pagination_token: updated property name from pagination_token to next_token
⚠️ 1009 - ParaPropRemove dataprotection job list cmd dataprotection job list update parameter resource_group: removed property aaz_type=string
⚠️ 1009 - ParaPropRemove dataprotection job list cmd dataprotection job list update parameter resource_group: removed property type=string
⚠️ 1010 - ParaPropUpdate dataprotection job list cmd dataprotection job list update parameter resource_group: updated property name from resource_group to resource_group_name
⚠️ 1009 - ParaPropRemove dataprotection job list cmd dataprotection job list update parameter vault_name: removed property aaz_type=string
⚠️ 1009 - ParaPropRemove dataprotection job list-from-resourcegraph cmd dataprotection job list-from-resourcegraph update parameter datasource_type: removed property required=True
⚠️ 1006 - ParaAdd dataprotection job show cmd dataprotection job show added parameter use_secondary_region
⚠️ 1009 - ParaPropRemove dataprotection job show cmd dataprotection job show update parameter job_id: removed property aaz_type=string
⚠️ 1009 - ParaPropRemove dataprotection job show cmd dataprotection job show update parameter resource_group: removed property aaz_type=string
⚠️ 1009 - ParaPropRemove dataprotection job show cmd dataprotection job show update parameter resource_group: removed property type=string
⚠️ 1010 - ParaPropUpdate dataprotection job show cmd dataprotection job show update parameter resource_group: updated property name from resource_group to resource_group_name
⚠️ 1009 - ParaPropRemove dataprotection job show cmd dataprotection job show update parameter vault_name: removed property aaz_type=string
⚠️ 1006 - ParaAdd dataprotection recovery-point list cmd dataprotection recovery-point list added parameter use_secondary_region
⚠️ 1009 - ParaPropRemove dataprotection recovery-point list cmd dataprotection recovery-point list update parameter backup_instance_name: removed property aaz_type=string
⚠️ 1009 - ParaPropRemove dataprotection recovery-point list cmd dataprotection recovery-point list update parameter end_time: removed property aaz_type=string
⚠️ 1009 - ParaPropRemove dataprotection recovery-point list cmd dataprotection recovery-point list update parameter pagination_limit: removed property aaz_type=int
⚠️ 1010 - ParaPropUpdate dataprotection recovery-point list cmd dataprotection recovery-point list update parameter pagination_limit: updated property name from pagination_limit to max_items
⚠️ 1009 - ParaPropRemove dataprotection recovery-point list cmd dataprotection recovery-point list update parameter pagination_token: removed property aaz_type=string
⚠️ 1010 - ParaPropUpdate dataprotection recovery-point list cmd dataprotection recovery-point list update parameter pagination_token: updated property name from pagination_token to next_token
⚠️ 1009 - ParaPropRemove dataprotection recovery-point list cmd dataprotection recovery-point list update parameter resource_group: removed property aaz_type=string
⚠️ 1009 - ParaPropRemove dataprotection recovery-point list cmd dataprotection recovery-point list update parameter resource_group: removed property type=string
⚠️ 1010 - ParaPropUpdate dataprotection recovery-point list cmd dataprotection recovery-point list update parameter resource_group: updated property name from resource_group to resource_group_name
⚠️ 1009 - ParaPropRemove dataprotection recovery-point list cmd dataprotection recovery-point list update parameter start_time: removed property aaz_type=string
⚠️ 1009 - ParaPropRemove dataprotection recovery-point list cmd dataprotection recovery-point list update parameter vault_name: removed property aaz_type=string

Copy link

Hi @zubairabid,
Please write the description of changes which can be perceived by customers into HISTORY.rst.
If you want to release a new extension version, please update the version in setup.py as well.

@yonzhan
Copy link
Collaborator

yonzhan commented Feb 12, 2024

dataprotection

@zubairabid zubairabid marked this pull request as ready for review February 27, 2024 05:36
@yonzhan
Copy link
Collaborator

yonzhan commented Feb 27, 2024

Please fix CI issues

@zubairabid
Copy link
Contributor Author

zubairabid commented Feb 28, 2024

Please fix CI issues

@yonzhan all CI issues have been fixed, could you please re-run the pipeline so the Cred scan passes this time?

@zubairabid
Copy link
Contributor Author

@yonzhan @evelyn-ys can you please review and merge the PR?

@@ -10,7 +10,7 @@
from setuptools import setup, find_packages

# HISTORY.rst entry.
VERSION = '0.11.2'
VERSION = '0.12.0'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@evelyn-ys
Copy link
Member

There are some breaking changes which are not documented
image
Can you confirm it's necessary to make these breaking changes?

@zubairabid
Copy link
Contributor Author

There are some breaking changes which are not documented image Can you confirm it's necessary to make these breaking changes?

Removal of dataprotection backup-instance update is intentional. It had been incorrectly exposed due to misconfiguration in AAZ parameters. I am planning to re-add it with a better options in a PR later this month.

@evelyn-ys evelyn-ys merged commit e95fbac into Azure:main Mar 13, 2024
15 checks passed
@azclibot
Copy link
Collaborator

[Release] Update index.json for extension [ dataprotection ] : https://dev.azure.com/azclitools/internal/_build/results?buildId=138895&view=results

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants