Skip to content

Commit d942a12

Browse files
2003LKLauren Kam
andauthored
Updating Azure Databricks API Version to 2025-10-01-preview (#9489)
* update access_connector * update other files except workspace * Adding serverless * new ESC values, managed resource group not mandatory * All tests uncommented * fixed update for serverless * serverless working * esc working * all tests passed * Added to changelog * Add extension version to setup * Resolving comments --------- Co-authored-by: Lauren Kam <laurenkam@microsoft.com>
1 parent db1e8ad commit d942a12

45 files changed

Lines changed: 11867 additions & 12976 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/databricks/HISTORY.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
Release History
44
===============
55

6+
1.2.0
7+
+++++
8+
* az databricks workspace create: Add --compute-mode to set the compute mode for the workspace. Allowed values: 'Hybrid', 'Serverless'
9+
* az databricks workspace create/update: Support additional ESC values
10+
611
1.1.0
712
+++++
813
* az databricks workspace create/update: Add --enable-compliance-security-profile to enable the Enhanced Security and Compliance on workspace.

src/databricks/azext_databricks/aaz/latest/databricks/access_connector/_create.py

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

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

@@ -173,7 +173,7 @@ def url_parameters(self):
173173
def query_parameters(self):
174174
parameters = {
175175
**self.serialize_query_param(
176-
"api-version", "2024-05-01",
176+
"api-version", "2025-10-01-preview",
177177
required=True,
178178
),
179179
}

src/databricks/azext_databricks/aaz/latest/databricks/access_connector/_delete.py

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

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

@@ -146,7 +146,7 @@ def url_parameters(self):
146146
def query_parameters(self):
147147
parameters = {
148148
**self.serialize_query_param(
149-
"api-version", "2024-05-01",
149+
"api-version", "2025-10-01-preview",
150150
required=True,
151151
),
152152
}

src/databricks/azext_databricks/aaz/latest/databricks/access_connector/_list.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ class List(AAZCommand):
2525
"""
2626

2727
_aaz_info = {
28-
"version": "2024-05-01",
28+
"version": "2025-10-01-preview",
2929
"resources": [
30-
["mgmt-plane", "/subscriptions/{}/providers/microsoft.databricks/accessconnectors", "2024-05-01"],
31-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors", "2024-05-01"],
30+
["mgmt-plane", "/subscriptions/{}/providers/microsoft.databricks/accessconnectors", "2025-10-01-preview"],
31+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors", "2025-10-01-preview"],
3232
]
3333
}
3434

@@ -119,7 +119,7 @@ def url_parameters(self):
119119
def query_parameters(self):
120120
parameters = {
121121
**self.serialize_query_param(
122-
"api-version", "2024-05-01",
122+
"api-version", "2025-10-01-preview",
123123
required=True,
124124
),
125125
}
@@ -288,7 +288,7 @@ def url_parameters(self):
288288
def query_parameters(self):
289289
parameters = {
290290
**self.serialize_query_param(
291-
"api-version", "2024-05-01",
291+
"api-version", "2025-10-01-preview",
292292
required=True,
293293
),
294294
}

src/databricks/azext_databricks/aaz/latest/databricks/access_connector/_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-05-01",
25+
"version": "2025-10-01-preview",
2626
"resources": [
27-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors/{}", "2024-05-01"],
27+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors/{}", "2025-10-01-preview"],
2828
]
2929
}
3030

@@ -124,7 +124,7 @@ def url_parameters(self):
124124
def query_parameters(self):
125125
parameters = {
126126
**self.serialize_query_param(
127-
"api-version", "2024-05-01",
127+
"api-version", "2025-10-01-preview",
128128
required=True,
129129
),
130130
}

src/databricks/azext_databricks/aaz/latest/databricks/access_connector/_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-05-01",
25+
"version": "2025-10-01-preview",
2626
"resources": [
27-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors/{}", "2024-05-01"],
27+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors/{}", "2025-10-01-preview"],
2828
]
2929
}
3030

@@ -171,7 +171,7 @@ def url_parameters(self):
171171
def query_parameters(self):
172172
parameters = {
173173
**self.serialize_query_param(
174-
"api-version", "2024-05-01",
174+
"api-version", "2025-10-01-preview",
175175
required=True,
176176
),
177177
}
@@ -270,7 +270,7 @@ def url_parameters(self):
270270
def query_parameters(self):
271271
parameters = {
272272
**self.serialize_query_param(
273-
"api-version", "2024-05-01",
273+
"api-version", "2025-10-01-preview",
274274
required=True,
275275
),
276276
}

src/databricks/azext_databricks/aaz/latest/databricks/access_connector/_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.databricks/accessconnectors/{}", "2024-05-01"],
23+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors/{}", "2025-10-01-preview"],
2424
]
2525
}
2626

@@ -120,7 +120,7 @@ def url_parameters(self):
120120
def query_parameters(self):
121121
parameters = {
122122
**self.serialize_query_param(
123-
"api-version", "2024-05-01",
123+
"api-version", "2025-10-01-preview",
124124
required=True,
125125
),
126126
}

src/databricks/azext_databricks/aaz/latest/databricks/workspace/_create.py

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,27 @@ class Create(AAZCommand):
1818
"""Create a new workspace.
1919
2020
:example: Create a workspace
21-
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location westus --sku standard
21+
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location westus --sku standard --compute-mode Hybrid
22+
23+
:example: Create a Serverless workspace
24+
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location westus --sku premium --compute-mode Serverless
2225
2326
:example: Create a workspace with managed identity for storage account
24-
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location eastus2euap --sku premium --prepare-encryption
27+
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location eastus2euap --sku premium --compute-mode Hybrid --prepare-encryption
2528
2629
:example: Create a workspace with automatic cluster update feature enabled
27-
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location eastus2euap --sku premium --enable-automatic-cluster-update
30+
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location eastus2euap --sku premium --compute-mode Hybrid --enable-automatic-cluster-update
2831
2932
:example: Create a workspace with all enhanced security & compliance features enabled with specific compliance standards
30-
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location eastus2euap --sku premium --enable-compliance-security-profile --compliance-standards='["HIPAA","PCI_DSS"]' --enable-automatic-cluster-update --enable-enhanced-security-monitoring
33+
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location eastus2euap --sku premium --compute-mode Hybrid --enable-compliance-security-profile --compliance-standards='["HIPAA","PCI_DSS"]' --enable-automatic-cluster-update --enable-enhanced-security-monitoring
34+
35+
Note: Serverless compute mode does not support custom VNet configuration, custom encryption, access connectors, default catalog properties, workspace custom parameters, or managed resource groups. These features are only available with Hybrid compute mode.
3136
"""
3237

3338
_aaz_info = {
34-
"version": "2024-05-01",
39+
"version": "2025-10-01-preview",
3540
"resources": [
36-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/workspaces/{}", "2024-05-01"],
41+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/workspaces/{}", "2025-10-01-preview"],
3742
]
3843
}
3944

@@ -73,10 +78,16 @@ def _build_arguments_schema(cls, *args, **kwargs):
7378
resource_group_arg="resource_group",
7479
),
7580
)
81+
_args_schema.compute_mode = AAZStrArg(
82+
options=["--compute-mode"],
83+
help="The compute mode for the workspace. Allowed values: 'Hybrid', 'Serverless'.",
84+
required=False,
85+
default="Hybrid",
86+
enum={"Hybrid": "Hybrid", "Serverless": "Serverless"},
87+
)
7688
_args_schema.managed_resource_group = AAZStrArg(
7789
options=["--managed-resource-group"],
7890
help="The managed resource group to create. It can be either a name or a resource ID.",
79-
required=True,
8091
)
8192
_args_schema.enable_no_public_ip = AAZBoolArg(
8293
options=["--enable-no-public-ip"],
@@ -197,14 +208,14 @@ def _build_arguments_schema(cls, *args, **kwargs):
197208
_args_schema.compliance_standards = AAZListArg(
198209
options=["--compliance-standards"],
199210
arg_group="Enhanced Security Compliance",
200-
help="Compliance Standards associated with the workspace, allowed values: NONE, HIPAA, PCI_DSS.",
211+
help="Compliance Standards associated with the workspace, allowed values referenced here: https://learn.microsoft.com/en-us/azure/databricks/security/privacy/security-profile.",
201212
nullable=True,
202213
)
203214
_args_schema.compliance_standards.Element = AAZStrArg(
204215
nullable=True,
205216
arg_group="Enhanced Security Compliance",
206-
help="Compliance standards, allowed values: NONE, HIPAA, PCI_DSS.",
207-
enum={"HIPAA": "HIPAA", "NONE": "NONE", "PCI_DSS": "PCI_DSS"},
217+
help="Compliance standards, allowed values: NONE, HIPAA, PCI_DSS, CYBER_ESSENTIAL_PLUS, FEDRAMP_HIGH, CANADA_PROTECTED_B, IRAP_PROTECTED, ISMAP, HITRUST, K_FSI, GERMANY_C5, GERMANY_TISAX.",
218+
enum={"HIPAA": "HIPAA", "NONE": "NONE", "PCI_DSS": "PCI_DSS", "CYBER_ESSENTIAL_PLUS": "CYBER_ESSENTIAL_PLUS", "FEDRAMP_HIGH": "FEDRAMP_HIGH", "CANADA_PROTECTED_B": "CANADA_PROTECTED_B", "IRAP_PROTECTED": "IRAP_PROTECTED", "ISMAP": "ISMAP", "HITRUST": "HITRUST", "K_FSI": "K_FSI", "GERMANY_C5": "GERMANY_C5", "GERMANY_TISAX": "GERMANY_TISAX"},
208219
)
209220
_args_schema.enable_compliance_security_profile = AAZBoolArg(
210221
options=["--enable-compliance-security-profile", "--enable-csp"],
@@ -317,7 +328,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
317328

318329
compliance_standards = cls._args_schema.enhanced_security_compliance.compliance_security_profile.compliance_standards
319330
compliance_standards.Element = AAZStrArg(
320-
enum={"HIPAA": "HIPAA", "NONE": "NONE", "PCI_DSS": "PCI_DSS"},
331+
enum={"HIPAA": "HIPAA", "NONE": "NONE", "PCI_DSS": "PCI_DSS", "CYBER_ESSENTIAL_PLUS": "CYBER_ESSENTIAL_PLUS", "FEDRAMP_HIGH": "FEDRAMP_HIGH", "CANADA_PROTECTED_B": "CANADA_PROTECTED_B", "IRAP_PROTECTED": "IRAP_PROTECTED", "ISMAP": "ISMAP", "HITRUST": "HITRUST", "K_FSI": "K_FSI", "GERMANY_C5": "GERMANY_C5", "GERMANY_TISAX": "GERMANY_TISAX"},
321332
)
322333

323334
enhanced_security_monitoring = cls._args_schema.enhanced_security_compliance.enhanced_security_monitoring
@@ -429,7 +440,7 @@ def url_parameters(self):
429440
def query_parameters(self):
430441
parameters = {
431442
**self.serialize_query_param(
432-
"api-version", "2024-05-01",
443+
"api-version", "2025-10-01-preview",
433444
required=True,
434445
),
435446
}
@@ -462,11 +473,15 @@ def content(self):
462473
properties = _builder.get(".properties")
463474
if properties is not None:
464475
properties.set_prop("accessConnector", AAZObjectType, ".access_connector")
476+
properties.set_prop("computeMode", AAZStrType, ".compute_mode")
465477
properties.set_prop("defaultCatalog", AAZObjectType, ".default_catalog")
466478
properties.set_prop("defaultStorageFirewall", AAZStrType, ".default_storage_firewall")
467479
properties.set_prop("encryption", AAZObjectType)
468480
properties.set_prop("enhancedSecurityCompliance", AAZObjectType, ".enhanced_security_compliance")
469-
properties.set_prop("managedResourceGroupId", AAZStrType, ".managed_resource_group", typ_kwargs={"flags": {"required": True}})
481+
# Only add managedResourceGroupId if specified
482+
managed_resource_group_id = getattr(self.ctx.args, 'managed_resource_group', None)
483+
if managed_resource_group_id is not None:
484+
properties.set_prop("managedResourceGroupId", AAZStrType, ".managed_resource_group")
470485
properties.set_prop("parameters", AAZObjectType)
471486
properties.set_prop("publicNetworkAccess", AAZStrType, ".public_network_access")
472487
properties.set_prop("requiredNsgRules", AAZStrType, ".required_nsg_rules")
@@ -668,6 +683,9 @@ def _build_schema_on_200_201(cls):
668683
serialized_name="accessConnector",
669684
)
670685
properties.authorizations = AAZListType()
686+
properties.compute_mode = AAZStrType(
687+
serialized_name="computeMode",
688+
)
671689
properties.created_by = AAZObjectType(
672690
serialized_name="createdBy",
673691
)
@@ -700,7 +718,6 @@ def _build_schema_on_200_201(cls):
700718
_CreateHelper._build_schema_managed_identity_configuration_read(properties.managed_disk_identity)
701719
properties.managed_resource_group_id = AAZStrType(
702720
serialized_name="managedResourceGroupId",
703-
flags={"required": True},
704721
)
705722
properties.parameters = AAZObjectType()
706723
properties.private_endpoint_connections = AAZListType(

src/databricks/azext_databricks/aaz/latest/databricks/workspace/_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-05-01",
26+
"version": "2025-10-01-preview",
2727
"resources": [
28-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/workspaces/{}", "2024-05-01"],
28+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/workspaces/{}", "2025-10-01-preview"],
2929
]
3030
}
3131

@@ -155,7 +155,7 @@ def query_parameters(self):
155155
"forceDeletion", self.ctx.args.force_deletion,
156156
),
157157
**self.serialize_query_param(
158-
"api-version", "2024-05-01",
158+
"api-version", "2025-10-01-preview",
159159
required=True,
160160
),
161161
}

src/databricks/azext_databricks/aaz/latest/databricks/workspace/_list.py

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

2727
_aaz_info = {
28-
"version": "2024-05-01",
28+
"version": "2025-10-01-preview",
2929
"resources": [
30-
["mgmt-plane", "/subscriptions/{}/providers/microsoft.databricks/workspaces", "2024-05-01"],
31-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/workspaces", "2024-05-01"],
30+
["mgmt-plane", "/subscriptions/{}/providers/microsoft.databricks/workspaces", "2025-10-01-preview"],
31+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/workspaces", "2025-10-01-preview"],
3232
]
3333
}
3434

@@ -119,7 +119,7 @@ def url_parameters(self):
119119
def query_parameters(self):
120120
parameters = {
121121
**self.serialize_query_param(
122-
"api-version", "2024-05-01",
122+
"api-version", "2025-10-01-preview",
123123
required=True,
124124
),
125125
}
@@ -188,6 +188,9 @@ def _build_schema_on_200(cls):
188188
serialized_name="accessConnector",
189189
)
190190
properties.authorizations = AAZListType()
191+
properties.compute_mode = AAZStrType(
192+
serialized_name="computeMode",
193+
)
191194
properties.created_by = AAZObjectType(
192195
serialized_name="createdBy",
193196
)
@@ -220,7 +223,6 @@ def _build_schema_on_200(cls):
220223
_ListHelper._build_schema_managed_identity_configuration_read(properties.managed_disk_identity)
221224
properties.managed_resource_group_id = AAZStrType(
222225
serialized_name="managedResourceGroupId",
223-
flags={"required": True},
224226
)
225227
properties.parameters = AAZObjectType()
226228
properties.private_endpoint_connections = AAZListType(
@@ -594,7 +596,7 @@ def url_parameters(self):
594596
def query_parameters(self):
595597
parameters = {
596598
**self.serialize_query_param(
597-
"api-version", "2024-05-01",
599+
"api-version", "2025-10-01-preview",
598600
required=True,
599601
),
600602
}
@@ -663,6 +665,9 @@ def _build_schema_on_200(cls):
663665
serialized_name="accessConnector",
664666
)
665667
properties.authorizations = AAZListType()
668+
properties.compute_mode = AAZStrType(
669+
serialized_name="computeMode",
670+
)
666671
properties.created_by = AAZObjectType(
667672
serialized_name="createdBy",
668673
)
@@ -695,7 +700,6 @@ def _build_schema_on_200(cls):
695700
_ListHelper._build_schema_managed_identity_configuration_read(properties.managed_disk_identity)
696701
properties.managed_resource_group_id = AAZStrType(
697702
serialized_name="managedResourceGroupId",
698-
flags={"required": True},
699703
)
700704
properties.parameters = AAZObjectType()
701705
properties.private_endpoint_connections = AAZListType(

0 commit comments

Comments
 (0)