Skip to content

Commit 62b31b7

Browse files
author
Henry Dai
committed
Merge remote-tracking branch 'upstream/main' into henrydai/implementChangeStateCRUD0901
2 parents c87badc + 62e05d9 commit 62b31b7

17 files changed

Lines changed: 341 additions & 56 deletions

src/index.json

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95906,6 +95906,49 @@
9590695906
"version": "1.0.0b12"
9590795907
},
9590895908
"sha256Digest": "f6d8c1be9bb5176ff62582940f621bc547246287d41f4ac49e29a4a515c5db06"
95909+
},
95910+
{
95911+
"downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-1.0.0b13-py3-none-any.whl",
95912+
"filename": "quantum-1.0.0b13-py3-none-any.whl",
95913+
"metadata": {
95914+
"azext.isPreview": true,
95915+
"azext.minCliCoreVersion": "2.73.0",
95916+
"classifiers": [
95917+
"Development Status :: 4 - Beta",
95918+
"Intended Audience :: Developers",
95919+
"Intended Audience :: System Administrators",
95920+
"Programming Language :: Python",
95921+
"Programming Language :: Python :: 3",
95922+
"Programming Language :: Python :: 3.10",
95923+
"Programming Language :: Python :: 3.11",
95924+
"Programming Language :: Python :: 3.12",
95925+
"License :: OSI Approved :: MIT License"
95926+
],
95927+
"extensions": {
95928+
"python.details": {
95929+
"contacts": [
95930+
{
95931+
"email": "que-contacts@microsoft.com",
95932+
"name": "Microsoft Corporation, Quantum Team",
95933+
"role": "author"
95934+
}
95935+
],
95936+
"document_names": {
95937+
"description": "DESCRIPTION.rst"
95938+
},
95939+
"project_urls": {
95940+
"Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/quantum"
95941+
}
95942+
}
95943+
},
95944+
"generator": "bdist_wheel (0.30.0)",
95945+
"license": "MIT",
95946+
"metadata_version": "2.0",
95947+
"name": "quantum",
95948+
"summary": "Microsoft Azure Command-Line Tools Quantum Extension",
95949+
"version": "1.0.0b13"
95950+
},
95951+
"sha256Digest": "ccdcaf62fb4963602001252832f37f7025d620e27577724443b1bfb6ec95fe8e"
9590995952
}
9591095953
],
9591195954
"qumulo": [
@@ -107427,6 +107470,60 @@
107427107470
"version": "2.0.6"
107428107471
},
107429107472
"sha256Digest": "3d2206b4e6bdd56c69cc509ab99e5de6dc7f66d091b0185b7a3b557d8dc182cb"
107473+
},
107474+
{
107475+
"downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/ssh-2.0.7-py3-none-any.whl",
107476+
"filename": "ssh-2.0.7-py3-none-any.whl",
107477+
"metadata": {
107478+
"azext.isPreview": false,
107479+
"azext.minCliCoreVersion": "2.45.0",
107480+
"classifiers": [
107481+
"Development Status :: 4 - Beta",
107482+
"Intended Audience :: Developers",
107483+
"Intended Audience :: System Administrators",
107484+
"Programming Language :: Python",
107485+
"Programming Language :: Python :: 3",
107486+
"Programming Language :: Python :: 3.6",
107487+
"Programming Language :: Python :: 3.7",
107488+
"Programming Language :: Python :: 3.8",
107489+
"License :: OSI Approved :: MIT License"
107490+
],
107491+
"extensions": {
107492+
"python.details": {
107493+
"contacts": [
107494+
{
107495+
"email": "azpycli@microsoft.com",
107496+
"name": "Microsoft Corporation",
107497+
"role": "author"
107498+
}
107499+
],
107500+
"document_names": {
107501+
"description": "DESCRIPTION.rst"
107502+
},
107503+
"project_urls": {
107504+
"Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/ssh"
107505+
}
107506+
}
107507+
},
107508+
"extras": [],
107509+
"generator": "bdist_wheel (0.30.0)",
107510+
"license": "MIT",
107511+
"metadata_version": "2.0",
107512+
"name": "ssh",
107513+
"run_requires": [
107514+
{
107515+
"requires": [
107516+
"oras (==0.1.30)",
107517+
"oras==0.1.30",
107518+
"oschmod (==0.3.12)",
107519+
"oschmod==0.3.12"
107520+
]
107521+
}
107522+
],
107523+
"summary": "SSH into Azure VMs using RBAC and AAD OpenSSH Certificates",
107524+
"version": "2.0.7"
107525+
},
107526+
"sha256Digest": "1ff0b08ad96d3c507a13614af47b031048e69f634e0fdfcee0139d0654500306"
107430107527
}
107431107528
],
107432107529
"stack-hci": [

src/quantum/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.0.0b13
7+
+++++++++++++++
8+
* Updated workspace create command to support job submissions with disabled access keys on linked storage account
9+
* Updated new storage account to be v2 in workspace creation because of the retirement of General-Purpose v1 (GPv1) storage accounts on October 13, 2026
10+
611
1.0.0b12
712
+++++++++++++++
813
* Added support for Data Plane v2 including specifying priority parameter as part of job params when submitting a job

src/quantum/azext_quantum/operations/templates/create-workspace-and-assign-role.json

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,24 @@
6262
"metadata": {
6363
"description": "Deployment name for role assignment operation"
6464
}
65+
},
66+
"storageAccountAllowSharedKeyAccess": {
67+
"type": "bool",
68+
"defaultValue": false,
69+
"metadata": {
70+
"description": "Whether to allow shared key access on the storage account. Defaults to false (secure) for new accounts; existing accounts should pass their current value to avoid breaking changes."
71+
}
6572
}
6673
},
6774
"functions": [],
68-
"variables": {},
75+
"variables": {
76+
"storageAccountContributorRoleId": "17d1049b-9a84-46fb-8f53-869881c3d3ab",
77+
"storageBlobDataContributorRoleId": "ba92f5b4-2d11-453d-a403-e96b0029c9fe"
78+
},
6979
"resources": [
7080
{
7181
"type": "Microsoft.Quantum/workspaces",
72-
"apiVersion": "2019-11-04-preview",
82+
"apiVersion": "2025-12-15-preview",
7383
"name": "[parameters('quantumWorkspaceName')]",
7484
"location": "[parameters('location')]",
7585
"tags": "[parameters('tags')]",
@@ -105,6 +115,7 @@
105115
"kind": "[parameters('storageAccountKind')]",
106116
"properties": {
107117
"allowBlobPublicAccess": false,
118+
"allowSharedKeyAccess": "[parameters('storageAccountAllowSharedKeyAccess')]",
108119
"minimumTlsVersion": "TLS1_2"
109120
},
110121
"resources": [
@@ -145,12 +156,26 @@
145156
},
146157
{
147158
"apiVersion": "2020-04-01-preview",
148-
"name": "[concat(parameters('storageAccountName'), '/Microsoft.Authorization/', guid(reference(concat('Microsoft.Quantum/Workspaces/', parameters('quantumWorkspaceName')), '2019-11-04-preview', 'Full').identity.principalId))]",
159+
"name": "[concat(parameters('storageAccountName'), '/Microsoft.Authorization/', guid(reference(concat('Microsoft.Quantum/Workspaces/', parameters('quantumWorkspaceName')), '2025-12-15-preview', 'Full').identity.principalId, variables('storageAccountContributorRoleId')))]",
160+
"type": "Microsoft.Storage/storageAccounts/providers/roleAssignments",
161+
"location": "[parameters('storageAccountLocation')]",
162+
"properties": {
163+
"roleDefinitionId": "[resourceId('Microsoft.Authorization/roleDefinitions', variables('storageAccountContributorRoleId'))]",
164+
"principalId": "[reference(concat('Microsoft.Quantum/Workspaces/', parameters('quantumWorkspaceName')), '2025-12-15-preview', 'Full').identity.principalId]",
165+
"principalType": "ServicePrincipal"
166+
},
167+
"dependsOn": [
168+
"[parameters('storageAccountId')]"
169+
]
170+
},
171+
{
172+
"apiVersion": "2020-04-01-preview",
173+
"name": "[concat(parameters('storageAccountName'), '/Microsoft.Authorization/', guid(reference(concat('Microsoft.Quantum/Workspaces/', parameters('quantumWorkspaceName')), '2025-12-15-preview', 'Full').identity.principalId, variables('storageBlobDataContributorRoleId')))]",
149174
"type": "Microsoft.Storage/storageAccounts/providers/roleAssignments",
150175
"location": "[parameters('storageAccountLocation')]",
151176
"properties": {
152-
"roleDefinitionId": "[resourceId('Microsoft.Authorization/roleDefinitions', '17d1049b-9a84-46fb-8f53-869881c3d3ab')]",
153-
"principalId": "[reference(concat('Microsoft.Quantum/Workspaces/', parameters('quantumWorkspaceName')), '2019-11-04-preview', 'Full').identity.principalId]",
177+
"roleDefinitionId": "[resourceId('Microsoft.Authorization/roleDefinitions', variables('storageBlobDataContributorRoleId'))]",
178+
"principalId": "[reference(concat('Microsoft.Quantum/Workspaces/', parameters('quantumWorkspaceName')), '2025-12-15-preview', 'Full').identity.principalId]",
154179
"principalType": "ServicePrincipal"
155180
},
156181
"dependsOn": [

src/quantum/azext_quantum/operations/workspace.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
DEFAULT_WORKSPACE_LOCATION = 'westus'
3232
DEFAULT_STORAGE_SKU = 'Standard_LRS'
3333
DEFAULT_STORAGE_SKU_TIER = 'Standard'
34-
DEFAULT_STORAGE_KIND = 'Storage'
34+
DEFAULT_STORAGE_KIND = 'StorageV2'
3535
SUPPORTED_STORAGE_SKU_TIERS = ['Standard']
3636
SUPPORTED_STORAGE_KINDS = ['Storage', 'StorageV2']
3737
DEPLOYMENT_NAME_PREFIX = 'Microsoft.AzureQuantum-'
@@ -240,6 +240,7 @@ def create(cmd, resource_group_name, workspace_name, location, storage_account,
240240
storage_account_sku_tier = DEFAULT_STORAGE_SKU_TIER
241241
storage_account_kind = DEFAULT_STORAGE_KIND
242242
storage_account_location = location
243+
storage_account_allow_shared_key_access = False # Secure default for new accounts
243244

244245
# Look for info on existing storage account
245246
storage_account_list = list_storage_accounts(cmd, resource_group_name)
@@ -250,6 +251,10 @@ def create(cmd, resource_group_name, workspace_name, location, storage_account,
250251
storage_account_sku_tier = storage_account_info.sku.tier
251252
storage_account_kind = storage_account_info.kind
252253
storage_account_location = storage_account_info.location
254+
# Preserve the existing account's setting to avoid breaking customers
255+
# who rely on shared-key auth/connection strings for that account.
256+
if storage_account_info.allow_shared_key_access is not None:
257+
storage_account_allow_shared_key_access = storage_account_info.allow_shared_key_access
253258
break
254259

255260
# Validate the storage account SKU tier and kind
@@ -266,6 +271,7 @@ def create(cmd, resource_group_name, workspace_name, location, storage_account,
266271
'storageAccountLocation': storage_account_location,
267272
'storageAccountSku': storage_account_sku,
268273
'storageAccountKind': storage_account_kind,
274+
'storageAccountAllowSharedKeyAccess': storage_account_allow_shared_key_access,
269275
'storageAccountDeploymentName': "Microsoft.StorageAccount-" + time.strftime("%d-%b-%Y-%H-%M-%S", time.gmtime())
270276
}
271277
parameters = {k: {'value': v} for k, v in parameters.items()}

0 commit comments

Comments
 (0)