Skip to content

Commit 2d20220

Browse files
authored
[Elastic-SAN] az elastic-san: Support autoscale, prerestore, and prebackup (#9413)
* bump `az elastic-san` crud and `az elastic-san volume-group test-backup/test-restore` to 2025-09-01 from 2024-07-01-preview * update version * rerun tests * remove support for soft-delete features as server not ready * mark as GA version
1 parent f15a993 commit 2d20220

36 files changed

Lines changed: 1935 additions & 2476 deletions

src/elastic-san/HISTORY.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
33
Release History
44
===============
5+
1.3.2
6+
++++++
7+
* `az elastic-san`: Support autoscale, prerestore, and prebackup
8+
59
1.3.1b1
610
++++++
711
* `az elastic-san volume-group create/update`: Add warning for CRC data integration check

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

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

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

@@ -69,26 +69,22 @@ def _build_arguments_schema(cls, *args, **kwargs):
6969
options=["--auto-scale-policy", "--auto-scale-policy-enforcement"],
7070
arg_group="AutoScaleProperties",
7171
help="Enable or Disable scale up setting on Elastic San Appliance.",
72-
is_preview=True,
7372
enum={"Disabled": "Disabled", "Enabled": "Enabled", "None": "None"},
7473
)
7574
_args_schema.capacity_unit_scale_up_limit_tib = AAZIntArg(
7675
options=["--capacity-unit-scale-up", "--capacity-unit-scale-up-limit-tib"],
7776
arg_group="AutoScaleProperties",
7877
help="Maximum scale up size on Elastic San appliance in TiB.",
79-
is_preview=True,
8078
)
8179
_args_schema.increase_capacity_unit_by_tib = AAZIntArg(
8280
options=["--increase-capacity-unit", "--increase-capacity-unit-by-tib"],
8381
arg_group="AutoScaleProperties",
8482
help="Unit to increase Capacity Unit on Elastic San appliance in TiB.",
85-
is_preview=True,
8683
)
8784
_args_schema.unused_size_tib = AAZIntArg(
8885
options=["--unused-size-tib"],
8986
arg_group="AutoScaleProperties",
9087
help="Unused size on Elastic San appliance in TiB.",
91-
is_preview=True,
9288
)
9389

9490
# define Arg Group "Parameters"
@@ -244,7 +240,7 @@ def url_parameters(self):
244240
def query_parameters(self):
245241
parameters = {
246242
**self.serialize_query_param(
247-
"api-version", "2024-07-01-preview",
243+
"api-version", "2025-09-01",
248244
required=True,
249245
),
250246
}

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-07-01-preview",
26+
"version": "2025-09-01",
2727
"resources": [
28-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}", "2024-07-01-preview"],
28+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}", "2025-09-01"],
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-07-01-preview",
151+
"api-version", "2025-09-01",
152152
required=True,
153153
),
154154
}

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

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

2424
_aaz_info = {
25-
"version": "2024-07-01-preview",
25+
"version": "2025-09-01",
2626
"resources": [
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"],
27+
["mgmt-plane", "/subscriptions/{}/providers/microsoft.elasticsan/elasticsans", "2025-09-01"],
28+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans", "2025-09-01"],
2929
]
3030
}
3131

@@ -112,7 +112,7 @@ def url_parameters(self):
112112
def query_parameters(self):
113113
parameters = {
114114
**self.serialize_query_param(
115-
"api-version", "2024-07-01-preview",
115+
"api-version", "2025-09-01",
116116
required=True,
117117
),
118118
}
@@ -147,9 +147,10 @@ def _build_schema_on_200(cls):
147147
_schema_on_200 = cls._schema_on_200
148148
_schema_on_200.next_link = AAZStrType(
149149
serialized_name="nextLink",
150-
flags={"read_only": True},
151150
)
152-
_schema_on_200.value = AAZListType()
151+
_schema_on_200.value = AAZListType(
152+
flags={"required": True},
153+
)
153154

154155
value = cls._schema_on_200.value
155156
value.Element = AAZObjectType()
@@ -357,7 +358,7 @@ def url_parameters(self):
357358
def query_parameters(self):
358359
parameters = {
359360
**self.serialize_query_param(
360-
"api-version", "2024-07-01-preview",
361+
"api-version", "2025-09-01",
361362
required=True,
362363
),
363364
}
@@ -392,9 +393,10 @@ def _build_schema_on_200(cls):
392393
_schema_on_200 = cls._schema_on_200
393394
_schema_on_200.next_link = AAZStrType(
394395
serialized_name="nextLink",
395-
flags={"read_only": True},
396396
)
397-
_schema_on_200.value = AAZListType()
397+
_schema_on_200.value = AAZListType(
398+
flags={"required": True},
399+
)
398400

399401
value = cls._schema_on_200.value
400402
value.Element = AAZObjectType()

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

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

2424
_aaz_info = {
25-
"version": "2024-07-01-preview",
25+
"version": "2025-09-01",
2626
"resources": [
27-
["mgmt-plane", "/subscriptions/{}/providers/microsoft.elasticsan/skus", "2024-07-01-preview"],
27+
["mgmt-plane", "/subscriptions/{}/providers/microsoft.elasticsan/skus", "2025-09-01"],
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-07-01-preview",
113+
"api-version", "2025-09-01",
114114
required=True,
115115
),
116116
}
@@ -145,7 +145,6 @@ def _build_schema_on_200(cls):
145145
_schema_on_200 = cls._schema_on_200
146146
_schema_on_200.next_link = AAZStrType(
147147
serialized_name="nextLink",
148-
flags={"read_only": True},
149148
)
150149
_schema_on_200.value = AAZListType(
151150
flags={"read_only": True},

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-07-01-preview",
25+
"version": "2025-09-01",
2626
"resources": [
27-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}", "2024-07-01-preview"],
27+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}", "2025-09-01"],
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-07-01-preview",
128+
"api-version", "2025-09-01",
129129
required=True,
130130
),
131131
}

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

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

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

@@ -69,29 +69,25 @@ def _build_arguments_schema(cls, *args, **kwargs):
6969
options=["--auto-scale-policy", "--auto-scale-policy-enforcement"],
7070
arg_group="AutoScaleProperties",
7171
help="Enable or Disable scale up setting on Elastic San Appliance.",
72-
is_preview=True,
7372
nullable=True,
7473
enum={"Disabled": "Disabled", "Enabled": "Enabled", "None": "None"},
7574
)
7675
_args_schema.capacity_unit_scale_up_limit_tib = AAZIntArg(
7776
options=["--capacity-unit-scale-up", "--capacity-unit-scale-up-limit-tib"],
7877
arg_group="AutoScaleProperties",
7978
help="Maximum scale up size on Elastic San appliance in TiB.",
80-
is_preview=True,
8179
nullable=True,
8280
)
8381
_args_schema.increase_capacity_unit_by_tib = AAZIntArg(
8482
options=["--increase-capacity-unit", "--increase-capacity-unit-by-tib"],
8583
arg_group="AutoScaleProperties",
8684
help="Unit to increase Capacity Unit on Elastic San appliance in TiB.",
87-
is_preview=True,
8885
nullable=True,
8986
)
9087
_args_schema.unused_size_tib = AAZIntArg(
9188
options=["--unused-size-tib"],
9289
arg_group="AutoScaleProperties",
9390
help="Unused size on Elastic San appliance in TiB.",
94-
is_preview=True,
9591
nullable=True,
9692
)
9793

@@ -239,7 +235,7 @@ def url_parameters(self):
239235
def query_parameters(self):
240236
parameters = {
241237
**self.serialize_query_param(
242-
"api-version", "2024-07-01-preview",
238+
"api-version", "2025-09-01",
243239
required=True,
244240
),
245241
}
@@ -338,7 +334,7 @@ def url_parameters(self):
338334
def query_parameters(self):
339335
parameters = {
340336
**self.serialize_query_param(
341-
"api-version", "2024-07-01-preview",
337+
"api-version", "2025-09-01",
342338
required=True,
343339
),
344340
}

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-07-01-preview"],
23+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}", "2025-09-01"],
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-07-01-preview",
124+
"api-version", "2025-09-01",
125125
required=True,
126126
),
127127
}

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-07-01-preview",
28+
"version": "2025-09-01",
2929
"resources": [
30-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}/volumegroups/{}/volumes/{}", "2024-07-01-preview"],
30+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}/volumegroups/{}/volumes/{}", "2025-09-01"],
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-07-01-preview",
201+
"api-version", "2025-09-01",
202202
required=True,
203203
),
204204
}

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

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ class Delete(AAZCommand):
2929
"""
3030

3131
_aaz_info = {
32-
"version": "2024-07-01-preview",
32+
"version": "2025-09-01",
3333
"resources": [
34-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}/volumegroups/{}/volumes/{}", "2024-07-01-preview"],
34+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.elasticsan/elasticsans/{}/volumegroups/{}/volumes/{}", "2025-09-01"],
3535
]
3636
}
3737

@@ -98,12 +98,6 @@ def _build_arguments_schema(cls, *args, **kwargs):
9898
min_length=3,
9999
),
100100
)
101-
_args_schema.delete_type = AAZStrArg(
102-
options=["--delete-type"],
103-
help="Optional. Specifies that the delete operation should be a permanent delete for the soft deleted volume. The value of deleteType can only be 'permanent'.",
104-
is_preview=True,
105-
enum={"permanent": "permanent"},
106-
)
107101
return cls._args_schema
108102

109103
def _execute_operations(self):
@@ -200,10 +194,7 @@ def url_parameters(self):
200194
def query_parameters(self):
201195
parameters = {
202196
**self.serialize_query_param(
203-
"deleteType", self.ctx.args.delete_type,
204-
),
205-
**self.serialize_query_param(
206-
"api-version", "2024-07-01-preview",
197+
"api-version", "2025-09-01",
207198
required=True,
208199
),
209200
}

0 commit comments

Comments
 (0)