Skip to content
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
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
5 changes: 5 additions & 0 deletions src/databricks/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
Release History
===============

1.2.0b1
+++++
* az databricks workspace create: Add --compute-mode to set the compute mode for the workspace. Allowed values: 'Hybrid', 'Serverless'
* az databricks workspace create/update: Support additional ESC values

1.1.0
+++++
* az databricks workspace create/update: Add --enable-compliance-security-profile to enable the Enhanced Security and Compliance on workspace.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class Create(AAZCommand):
"""

_aaz_info = {
"version": "2024-05-01",
"version": "2025-10-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors/{}", "2024-05-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors/{}", "2025-10-01-preview"],
]
}

Expand Down Expand Up @@ -173,7 +173,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-05-01",
"api-version", "2025-10-01-preview",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class Delete(AAZCommand):
"""

_aaz_info = {
"version": "2024-05-01",
"version": "2025-10-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors/{}", "2024-05-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors/{}", "2025-10-01-preview"],
]
}

Expand Down Expand Up @@ -146,7 +146,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-05-01",
"api-version", "2025-10-01-preview",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ class List(AAZCommand):
"""

_aaz_info = {
"version": "2024-05-01",
"version": "2025-10-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/providers/microsoft.databricks/accessconnectors", "2024-05-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors", "2024-05-01"],
["mgmt-plane", "/subscriptions/{}/providers/microsoft.databricks/accessconnectors", "2025-10-01-preview"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors", "2025-10-01-preview"],
]
}

Expand Down Expand Up @@ -119,7 +119,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-05-01",
"api-version", "2025-10-01-preview",
required=True,
),
}
Expand Down Expand Up @@ -288,7 +288,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-05-01",
"api-version", "2025-10-01-preview",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class Show(AAZCommand):
"""

_aaz_info = {
"version": "2024-05-01",
"version": "2025-10-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors/{}", "2024-05-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors/{}", "2025-10-01-preview"],
]
}

Expand Down Expand Up @@ -124,7 +124,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-05-01",
"api-version", "2025-10-01-preview",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class Update(AAZCommand):
"""

_aaz_info = {
"version": "2024-05-01",
"version": "2025-10-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors/{}", "2024-05-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors/{}", "2025-10-01-preview"],
]
}

Expand Down Expand Up @@ -171,7 +171,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-05-01",
"api-version", "2025-10-01-preview",
required=True,
),
}
Expand Down Expand Up @@ -270,7 +270,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-05-01",
"api-version", "2025-10-01-preview",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand):

_aaz_info = {
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors/{}", "2024-05-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/accessconnectors/{}", "2025-10-01-preview"],
]
}

Expand Down Expand Up @@ -120,7 +120,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-05-01",
"api-version", "2025-10-01-preview",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,27 @@ class Create(AAZCommand):
"""Create a new workspace.

:example: Create a workspace
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location westus --sku standard
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location westus --sku standard --compute-mode Hybrid

:example: Create a Serverless workspace
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location westus --sku premium --compute-mode Serverless

:example: Create a workspace with managed identity for storage account
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location eastus2euap --sku premium --prepare-encryption
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location eastus2euap --sku premium --compute-mode Hybrid --prepare-encryption

:example: Create a workspace with automatic cluster update feature enabled
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location eastus2euap --sku premium --enable-automatic-cluster-update
az databricks workspace create --resource-group MyResourceGroup --name MyWorkspace --location eastus2euap --sku premium --compute-mode Hybrid --enable-automatic-cluster-update

:example: Create a workspace with all enhanced security & compliance features enabled with specific compliance standards
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
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

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.
"""

_aaz_info = {
"version": "2024-05-01",
"version": "2025-10-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/workspaces/{}", "2024-05-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/workspaces/{}", "2025-10-01-preview"],
]
}

Expand Down Expand Up @@ -73,10 +78,16 @@ def _build_arguments_schema(cls, *args, **kwargs):
resource_group_arg="resource_group",
),
)
_args_schema.compute_mode = AAZStrArg(
options=["--compute-mode"],
help="The compute mode for the workspace. Allowed values: 'Hybrid', 'Serverless'.",
required=False,
default="Hybrid",
enum={"Hybrid": "Hybrid", "Serverless": "Serverless"},
)
_args_schema.managed_resource_group = AAZStrArg(
options=["--managed-resource-group"],
help="The managed resource group to create. It can be either a name or a resource ID.",
required=True,
)
_args_schema.enable_no_public_ip = AAZBoolArg(
options=["--enable-no-public-ip"],
Expand Down Expand Up @@ -197,14 +208,14 @@ def _build_arguments_schema(cls, *args, **kwargs):
_args_schema.compliance_standards = AAZListArg(
options=["--compliance-standards"],
arg_group="Enhanced Security Compliance",
help="Compliance Standards associated with the workspace, allowed values: NONE, HIPAA, PCI_DSS.",
help="Compliance Standards associated with the workspace, allowed values: NONE, HIPAA, PCI_DSS, CYBER_ESSENTIAL_PLUS, FEDRAMP_HIGH, CANADA_PROTECTED_B, IRAP_PROTECTED, ISMAP, HITRUST, K_FSI, GERMANY_C5, GERMANY_TISAX.",
Comment thread
2003LK marked this conversation as resolved.
Outdated
nullable=True,
)
_args_schema.compliance_standards.Element = AAZStrArg(
nullable=True,
arg_group="Enhanced Security Compliance",
help="Compliance standards, allowed values: NONE, HIPAA, PCI_DSS.",
enum={"HIPAA": "HIPAA", "NONE": "NONE", "PCI_DSS": "PCI_DSS"},
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.",
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"},
)
_args_schema.enable_compliance_security_profile = AAZBoolArg(
options=["--enable-compliance-security-profile", "--enable-csp"],
Expand Down Expand Up @@ -317,7 +328,7 @@ def _build_arguments_schema(cls, *args, **kwargs):

compliance_standards = cls._args_schema.enhanced_security_compliance.compliance_security_profile.compliance_standards
compliance_standards.Element = AAZStrArg(
enum={"HIPAA": "HIPAA", "NONE": "NONE", "PCI_DSS": "PCI_DSS"},
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"},
)

enhanced_security_monitoring = cls._args_schema.enhanced_security_compliance.enhanced_security_monitoring
Expand Down Expand Up @@ -429,7 +440,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-05-01",
"api-version", "2025-10-01-preview",
required=True,
),
}
Expand Down Expand Up @@ -462,11 +473,17 @@ def content(self):
properties = _builder.get(".properties")
if properties is not None:
properties.set_prop("accessConnector", AAZObjectType, ".access_connector")
properties.set_prop("computeMode", AAZStrType, ".compute_mode")
properties.set_prop("defaultCatalog", AAZObjectType, ".default_catalog")
properties.set_prop("defaultStorageFirewall", AAZStrType, ".default_storage_firewall")
properties.set_prop("encryption", AAZObjectType)
properties.set_prop("enhancedSecurityCompliance", AAZObjectType, ".enhanced_security_compliance")
properties.set_prop("managedResourceGroupId", AAZStrType, ".managed_resource_group", typ_kwargs={"flags": {"required": True}})
# Only add managedResourceGroupId if specified
managed_resource_group_id = getattr(self.ctx.args, 'managed_resource_group', None)
print("here")
Comment thread
2003LK marked this conversation as resolved.
Outdated
if managed_resource_group_id is not None:
print(managed_resource_group_id)
Comment thread
2003LK marked this conversation as resolved.
Outdated
properties.set_prop("managedResourceGroupId", AAZStrType, ".managed_resource_group")
properties.set_prop("parameters", AAZObjectType)
properties.set_prop("publicNetworkAccess", AAZStrType, ".public_network_access")
properties.set_prop("requiredNsgRules", AAZStrType, ".required_nsg_rules")
Expand Down Expand Up @@ -668,6 +685,9 @@ def _build_schema_on_200_201(cls):
serialized_name="accessConnector",
)
properties.authorizations = AAZListType()
properties.compute_mode = AAZStrType(
serialized_name="computeMode",
)
properties.created_by = AAZObjectType(
serialized_name="createdBy",
)
Expand Down Expand Up @@ -700,7 +720,6 @@ def _build_schema_on_200_201(cls):
_CreateHelper._build_schema_managed_identity_configuration_read(properties.managed_disk_identity)
properties.managed_resource_group_id = AAZStrType(
serialized_name="managedResourceGroupId",
flags={"required": True},
)
properties.parameters = AAZObjectType()
properties.private_endpoint_connections = AAZListType(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ class Delete(AAZCommand):
"""

_aaz_info = {
"version": "2024-05-01",
"version": "2025-10-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/workspaces/{}", "2024-05-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/workspaces/{}", "2025-10-01-preview"],
]
}

Expand Down Expand Up @@ -155,7 +155,7 @@ def query_parameters(self):
"forceDeletion", self.ctx.args.force_deletion,
),
**self.serialize_query_param(
"api-version", "2024-05-01",
"api-version", "2025-10-01-preview",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ class List(AAZCommand):
"""

_aaz_info = {
"version": "2024-05-01",
"version": "2025-10-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/providers/microsoft.databricks/workspaces", "2024-05-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/workspaces", "2024-05-01"],
["mgmt-plane", "/subscriptions/{}/providers/microsoft.databricks/workspaces", "2025-10-01-preview"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.databricks/workspaces", "2025-10-01-preview"],
]
}

Expand Down Expand Up @@ -119,7 +119,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-05-01",
"api-version", "2025-10-01-preview",
required=True,
),
}
Expand Down Expand Up @@ -188,6 +188,9 @@ def _build_schema_on_200(cls):
serialized_name="accessConnector",
)
properties.authorizations = AAZListType()
properties.compute_mode = AAZStrType(
serialized_name="computeMode",
)
properties.created_by = AAZObjectType(
serialized_name="createdBy",
)
Expand Down Expand Up @@ -220,7 +223,6 @@ def _build_schema_on_200(cls):
_ListHelper._build_schema_managed_identity_configuration_read(properties.managed_disk_identity)
properties.managed_resource_group_id = AAZStrType(
serialized_name="managedResourceGroupId",
flags={"required": True},
)
properties.parameters = AAZObjectType()
properties.private_endpoint_connections = AAZListType(
Expand Down Expand Up @@ -594,7 +596,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-05-01",
"api-version", "2025-10-01-preview",
required=True,
),
}
Expand Down Expand Up @@ -663,6 +665,9 @@ def _build_schema_on_200(cls):
serialized_name="accessConnector",
)
properties.authorizations = AAZListType()
properties.compute_mode = AAZStrType(
serialized_name="computeMode",
)
properties.created_by = AAZObjectType(
serialized_name="createdBy",
)
Expand Down Expand Up @@ -695,7 +700,6 @@ def _build_schema_on_200(cls):
_ListHelper._build_schema_managed_identity_configuration_read(properties.managed_disk_identity)
properties.managed_resource_group_id = AAZStrType(
serialized_name="managedResourceGroupId",
flags={"required": True},
)
properties.parameters = AAZObjectType()
properties.private_endpoint_connections = AAZListType(
Expand Down
Loading
Loading