Skip to content

Commit 3e7b520

Browse files
authored
[Elastic-SAN] az elastic-san volume/volume-group: Add soft-delete support in 2024-07-01-preview (Azure#8631)
* add soft-delete support in 2024-07-01-preview, test pending * add volume restore support * add arg options for restore, add tests for autoscale, soft delete/restore * add volume-group test-backup and test-restore * add examples, update version * update version * Add shorter arg options * shorten arg options
1 parent 2e2d0df commit 3e7b520

40 files changed

+6151
-1470
lines changed

src/elastic-san/HISTORY.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22
33
Release History
44
===============
5+
1.2.0b3
6+
++++++
7+
* `az elastic-san volume restore`: Support restoring soft-deleted volume
8+
* `az elastic-san volume-group/volume list`: Support listing soft-deleted volume-group/volume
9+
* `az elastic-san volume delete`: Support permanent delete soft-deleted volume
10+
* `az elastic-san volume-group test-backup/test-restore`: Support testing backup volume or restore from disk snapshot
11+
512
1.2.0b2
613
++++++
714
* Update module documentation.

src/elastic-san/azext_elastic_san/aaz/latest/elastic_san/_create.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,15 @@ class Create(AAZCommand):
1919
2020
:example: Create an Elastic SAN.
2121
az elastic-san create -n "san_name" -g "rg" --tags '{key1810:aaaa}' -l southcentralusstg --base-size-tib 23 --extended-capacity-size-tib 14 --sku '{name:Premium_LRS,tier:Premium}' --public-network-access Enabled --auto-scale-policy-enforcement Enabled --capacity-unit-scale-up-limit-tib 17 --increase-capacity-unit-by-tib 4 --unused-size-tib 24
22+
23+
:example: Create an ElasticSAN with auto scale params
24+
az elastic-san create -n san_name -g rg_name -l eastus2euap --base-size-tib 23 --extended-capacity-size-tib 14 --sku '{name:Premium_LRS,tier:Premium}' --availability-zones 1 --auto-scale-policy-enforcement Enabled --capacity-unit-scale-up-limit-tib 40 --increase-capacity-unit-by-tib 4 --unused-size-tib 24 --availability-zones 1
2225
"""
2326

2427
_aaz_info = {
25-
"version": "2024-06-01-preview",
28+
"version": "2024-07-01-preview",
2629
"resources": [
27-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}", "2024-06-01-preview"],
30+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}", "2024-07-01-preview"],
2831
]
2932
}
3033

@@ -239,7 +242,7 @@ def url_parameters(self):
239242
def query_parameters(self):
240243
parameters = {
241244
**self.serialize_query_param(
242-
"api-version", "2024-06-01-preview",
245+
"api-version", "2024-07-01-preview",
243246
required=True,
244247
),
245248
}

src/elastic-san/azext_elastic_san/aaz/latest/elastic_san/_delete.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ class Delete(AAZCommand):
2323
"""
2424

2525
_aaz_info = {
26-
"version": "2024-06-01-preview",
26+
"version": "2024-07-01-preview",
2727
"resources": [
28-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}", "2024-06-01-preview"],
28+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}", "2024-07-01-preview"],
2929
]
3030
}
3131

@@ -148,7 +148,7 @@ def url_parameters(self):
148148
def query_parameters(self):
149149
parameters = {
150150
**self.serialize_query_param(
151-
"api-version", "2024-06-01-preview",
151+
"api-version", "2024-07-01-preview",
152152
required=True,
153153
),
154154
}

src/elastic-san/azext_elastic_san/aaz/latest/elastic_san/_list.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ class List(AAZCommand):
2222
"""
2323

2424
_aaz_info = {
25-
"version": "2024-06-01-preview",
25+
"version": "2024-07-01-preview",
2626
"resources": [
27-
["mgmt-plane", "/subscriptions/{}/providers/microsoft.elasticsan/elasticsans", "2024-06-01-preview"],
28-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans", "2024-06-01-preview"],
27+
["mgmt-plane", "/subscriptions/{}/providers/microsoft.elasticsan/elasticsans", "2024-07-01-preview"],
28+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans", "2024-07-01-preview"],
2929
]
3030
}
3131

@@ -51,12 +51,12 @@ def _build_arguments_schema(cls, *args, **kwargs):
5151

5252
def _execute_operations(self):
5353
self.pre_operations()
54-
condition_0 = has_value(self.ctx.args.resource_group) and has_value(self.ctx.subscription_id)
55-
condition_1 = has_value(self.ctx.subscription_id) and has_value(self.ctx.args.resource_group) is not True
54+
condition_0 = has_value(self.ctx.subscription_id) and has_value(self.ctx.args.resource_group) is not True
55+
condition_1 = has_value(self.ctx.args.resource_group) and has_value(self.ctx.subscription_id)
5656
if condition_0:
57-
self.ElasticSansListByResourceGroup(ctx=self.ctx)()
58-
if condition_1:
5957
self.ElasticSansListBySubscription(ctx=self.ctx)()
58+
if condition_1:
59+
self.ElasticSansListByResourceGroup(ctx=self.ctx)()
6060
self.post_operations()
6161

6262
@register_callback
@@ -72,7 +72,7 @@ def _output(self, *args, **kwargs):
7272
next_link = self.deserialize_output(self.ctx.vars.instance.next_link)
7373
return result, next_link
7474

75-
class ElasticSansListByResourceGroup(AAZHttpOperation):
75+
class ElasticSansListBySubscription(AAZHttpOperation):
7676
CLIENT_TYPE = "MgmtClient"
7777

7878
def __call__(self, *args, **kwargs):
@@ -86,7 +86,7 @@ def __call__(self, *args, **kwargs):
8686
@property
8787
def url(self):
8888
return self.client.format_url(
89-
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans",
89+
"/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/elasticSans",
9090
**self.url_parameters
9191
)
9292

@@ -101,10 +101,6 @@ def error_format(self):
101101
@property
102102
def url_parameters(self):
103103
parameters = {
104-
**self.serialize_url_param(
105-
"resourceGroupName", self.ctx.args.resource_group,
106-
required=True,
107-
),
108104
**self.serialize_url_param(
109105
"subscriptionId", self.ctx.subscription_id,
110106
required=True,
@@ -116,7 +112,7 @@ def url_parameters(self):
116112
def query_parameters(self):
117113
parameters = {
118114
**self.serialize_query_param(
119-
"api-version", "2024-06-01-preview",
115+
"api-version", "2024-07-01-preview",
120116
required=True,
121117
),
122118
}
@@ -317,7 +313,7 @@ def _build_schema_on_200(cls):
317313

318314
return cls._schema_on_200
319315

320-
class ElasticSansListBySubscription(AAZHttpOperation):
316+
class ElasticSansListByResourceGroup(AAZHttpOperation):
321317
CLIENT_TYPE = "MgmtClient"
322318

323319
def __call__(self, *args, **kwargs):
@@ -331,7 +327,7 @@ def __call__(self, *args, **kwargs):
331327
@property
332328
def url(self):
333329
return self.client.format_url(
334-
"/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/elasticSans",
330+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans",
335331
**self.url_parameters
336332
)
337333

@@ -346,6 +342,10 @@ def error_format(self):
346342
@property
347343
def url_parameters(self):
348344
parameters = {
345+
**self.serialize_url_param(
346+
"resourceGroupName", self.ctx.args.resource_group,
347+
required=True,
348+
),
349349
**self.serialize_url_param(
350350
"subscriptionId", self.ctx.subscription_id,
351351
required=True,
@@ -357,7 +357,7 @@ def url_parameters(self):
357357
def query_parameters(self):
358358
parameters = {
359359
**self.serialize_query_param(
360-
"api-version", "2024-06-01-preview",
360+
"api-version", "2024-07-01-preview",
361361
required=True,
362362
),
363363
}

src/elastic-san/azext_elastic_san/aaz/latest/elastic_san/_list_sku.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ class ListSku(AAZCommand):
2222
"""
2323

2424
_aaz_info = {
25-
"version": "2024-06-01-preview",
25+
"version": "2024-07-01-preview",
2626
"resources": [
27-
["mgmt-plane", "/subscriptions/{}/providers/microsoft.elasticsan/skus", "2024-06-01-preview"],
27+
["mgmt-plane", "/subscriptions/{}/providers/microsoft.elasticsan/skus", "2024-07-01-preview"],
2828
]
2929
}
3030

@@ -110,7 +110,7 @@ def query_parameters(self):
110110
"$filter", self.ctx.args.filter,
111111
),
112112
**self.serialize_query_param(
113-
"api-version", "2024-06-01-preview",
113+
"api-version", "2024-07-01-preview",
114114
required=True,
115115
),
116116
}

src/elastic-san/azext_elastic_san/aaz/latest/elastic_san/_show.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ class Show(AAZCommand):
2222
"""
2323

2424
_aaz_info = {
25-
"version": "2024-06-01-preview",
25+
"version": "2024-07-01-preview",
2626
"resources": [
27-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}", "2024-06-01-preview"],
27+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}", "2024-07-01-preview"],
2828
]
2929
}
3030

@@ -125,7 +125,7 @@ def url_parameters(self):
125125
def query_parameters(self):
126126
parameters = {
127127
**self.serialize_query_param(
128-
"api-version", "2024-06-01-preview",
128+
"api-version", "2024-07-01-preview",
129129
required=True,
130130
),
131131
}

src/elastic-san/azext_elastic_san/aaz/latest/elastic_san/_update.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ class Update(AAZCommand):
2222
"""
2323

2424
_aaz_info = {
25-
"version": "2024-06-01-preview",
25+
"version": "2024-07-01-preview",
2626
"resources": [
27-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}", "2024-06-01-preview"],
27+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}", "2024-07-01-preview"],
2828
]
2929
}
3030

@@ -239,7 +239,7 @@ def url_parameters(self):
239239
def query_parameters(self):
240240
parameters = {
241241
**self.serialize_query_param(
242-
"api-version", "2024-06-01-preview",
242+
"api-version", "2024-07-01-preview",
243243
required=True,
244244
),
245245
}
@@ -338,7 +338,7 @@ def url_parameters(self):
338338
def query_parameters(self):
339339
parameters = {
340340
**self.serialize_query_param(
341-
"api-version", "2024-06-01-preview",
341+
"api-version", "2024-07-01-preview",
342342
required=True,
343343
),
344344
}

src/elastic-san/azext_elastic_san/aaz/latest/elastic_san/_wait.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class Wait(AAZWaitCommand):
2020

2121
_aaz_info = {
2222
"resources": [
23-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}", "2024-06-01-preview"],
23+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}", "2024-07-01-preview"],
2424
]
2525
}
2626

@@ -121,7 +121,7 @@ def url_parameters(self):
121121
def query_parameters(self):
122122
parameters = {
123123
**self.serialize_query_param(
124-
"api-version", "2024-06-01-preview",
124+
"api-version", "2024-07-01-preview",
125125
required=True,
126126
),
127127
}

src/elastic-san/azext_elastic_san/aaz/latest/elastic_san/volume/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from ._create import *
1313
from ._delete import *
1414
from ._list import *
15+
from ._restore import *
1516
from ._show import *
1617
from ._update import *
1718
from ._wait import *

src/elastic-san/azext_elastic_san/aaz/latest/elastic_san/volume/_create.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ class Create(AAZCommand):
2525
"""
2626

2727
_aaz_info = {
28-
"version": "2024-06-01-preview",
28+
"version": "2024-07-01-preview",
2929
"resources": [
30-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}/volumegroups/{}/volumes/{}", "2024-06-01-preview"],
30+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}/volumegroups/{}/volumes/{}", "2024-07-01-preview"],
3131
]
3232
}
3333

@@ -198,7 +198,7 @@ def url_parameters(self):
198198
def query_parameters(self):
199199
parameters = {
200200
**self.serialize_query_param(
201-
"api-version", "2024-06-01-preview",
201+
"api-version", "2024-07-01-preview",
202202
required=True,
203203
),
204204
}

0 commit comments

Comments
 (0)