Skip to content

az serial-console connect results in python error ValueError: No value for given attribute #33396

@MmAtBosch

Description

@MmAtBosch

Describe the bug

When executing the following command on a single VM (no VMSS)
az serial-console connect --name vmname --resource-group groupname

it results in

 File "/opt/az/lib/python3.13/site-packages/azure/mgmt/storage/_utils/serialization.py", line 777, in serialize_data
    raise ValueError("No value for given attribute")
ValueError: No value for given attribute

Related command

az serial-console connect --name vmname --resource-group groupname

Errors

The command failed with an unexpected error. Here is the traceback:
No value for given attribute
Traceback (most recent call last):
  File "/opt/az/lib/python3.13/site-packages/knack/cli.py", line 233, in invoke
    cmd_result = self.invocation.execute(args)
  File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 677, in execute
    raise ex
  File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 820, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
                   ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 789, in _run_job
    result = cmd_copy(params)
  File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 335, in __call__
    return self.handler(*args, **kwargs)
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/command_operation.py", line 120, in handler
    return op(**command_args)
  File "/home/azuredevops/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 637, in connect_serialconsole
    check_resource(cmd.cli_ctx, resource_group_name,
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                   vm_vmss_name, vmss_instanceid)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/azuredevops/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 601, in check_resource
    result, storage_account_region = get_region_from_storage_account(cli_ctx, resource_group_name, vm_vmss_name,
                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                                     vmss_instanceid)
                                                                     ^^^^^^^^^^^^^^^^
  File "/home/azuredevops/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 740, in get_region_from_storage_account
    storage_account_region = get_storage_account_info(storage_account_url, scf)
  File "/home/azuredevops/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 751, in get_storage_account_info
    sa_result = scf.storage_accounts.get_properties(storage_account_resource_group, storage_account)
  File "/opt/az/lib/python3.13/site-packages/azure/core/tracing/decorator.py", line 119, in wrapper_use_tracer
    return func(*args, **kwargs)
  File "/opt/az/lib/python3.13/site-packages/azure/mgmt/storage/operations/_storage_accounts_operations.py", line 1113, in get_properties
    _request = build_get_properties_request(
        resource_group_name=resource_group_name,
    ...<5 lines>...
        params=_params,
    )
  File "/opt/az/lib/python3.13/site-packages/azure/mgmt/storage/operations/_storage_accounts_operations.py", line 162, in build_get_properties_request
    "resourceGroupName": _SERIALIZER.url(
                         ~~~~~~~~~~~~~~~^
        "resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ),
    ^
  File "/opt/az/lib/python3.13/site-packages/azure/mgmt/storage/_utils/serialization.py", line 700, in url
    output = self.serialize_data(data, data_type, **kwargs)
  File "/opt/az/lib/python3.13/site-packages/azure/mgmt/storage/_utils/serialization.py", line 777, in serialize_data
    raise ValueError("No value for given attribute")
ValueError: No value for given attribute
To check existing issues, please visit: https://github.com/Azure/azure-cli/issues

Issue script & Debug output

cli.azure.cli.core.auth.credential_adaptor: CredentialAdaptor.get_token_info: scopes=('https://management.core.windows.net//.default',), options={}
cli.azure.cli.core.auth.msal_credentials: UserCredential.acquire_token: scopes=['https://management.core.windows.net//.default'], claims_challenge=None, kwargs={}
msal.application: Cache hit an AT
msal.telemetry: Generate or reuse correlation_id: ecf3221c-82b0-4538-bde0-54ded6aa3554
cli.azure.cli.core.sdk.policies: Request method: 'GET'
cli.azure.cli.core.sdk.policies: Request headers:
cli.azure.cli.core.sdk.policies: 'Accept': 'application/json'
cli.azure.cli.core.sdk.policies: 'x-ms-client-request-id': '06c3f34e-5380-11f1-b35d-566c0baecff4'
cli.azure.cli.core.sdk.policies: 'CommandName': 'serial-console connect'
cli.azure.cli.core.sdk.policies: 'ParameterSetName': '--name --resource-group --debug'
cli.azure.cli.core.sdk.policies: 'User-Agent': 'AZURECLI/2.86.0 (HOMEBREW) azsdk-python-core/1.39.0 Python/3.13.13 (macOS-15.7.5-arm64-arm-64bit-Mach-O)'
cli.azure.cli.core.sdk.policies: 'Authorization': '*****'
cli.azure.cli.core.sdk.policies: Request body:
cli.azure.cli.core.sdk.policies: This request has no body
urllib3.connectionpool: Starting new HTTPS connection (1): management.azure.com:443
cli.azure.cli.core.sdk.policies: Response status: 200
cli.azure.cli.core.sdk.policies: Response headers:
cli.azure.cli.core.sdk.policies: 'Cache-Control': 'no-cache'
cli.azure.cli.core.sdk.policies: 'Pragma': 'no-cache'
cli.azure.cli.core.sdk.policies: 'Content-Length': '74338'
cli.azure.cli.core.sdk.policies: 'Content-Type': 'application/json; charset=utf-8'
cli.azure.cli.core.sdk.policies: 'Expires': '-1'
cli.azure.cli.core.sdk.policies: 'x-ms-original-request-ids': 'ceb751ef-57e5-422a-a1b1-b8b3112bf079'
cli.azure.cli.core.sdk.policies: 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
cli.azure.cli.core.sdk.policies: 'x-ms-ratelimit-remaining-subscription-reads': '249'
cli.azure.cli.core.sdk.policies: 'x-ms-ratelimit-remaining-subscription-global-reads': '3749'
cli.azure.cli.core.sdk.policies: 'x-ms-request-id': '0f2f5544-6564-40d7-b867-6b136d547729'
cli.azure.cli.core.sdk.policies: 'x-ms-correlation-request-id': '0f2f5544-6564-40d7-b867-6b136d547729'
cli.azure.cli.core.sdk.policies: 'x-ms-routing-request-id': 'GERMANYWESTCENTRAL:20260519T124116Z:0f2f5544-6564-40d7-b867-6b136d547729'
cli.azure.cli.core.sdk.policies: 'X-Content-Type-Options': 'nosniff'
cli.azure.cli.core.sdk.policies: 'X-Cache': 'CONFIG_NOCACHE'
cli.azure.cli.core.sdk.policies: 'X-MSEdge-Ref': 'Ref A: DC67045BB43B4BC4BBC5206ECAA66F58 Ref B: FRA261071513029 Ref C: 2026-05-19T12:41:16Z'
cli.azure.cli.core.sdk.policies: 'Date': 'Tue, 19 May 2026 12:41:16 GMT'
cli.azure.cli.core.sdk.policies: Response content:
cli.azure.cli.core.azclierror: Traceback (most recent call last):
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/init.py", line 677, in execute
raise ex
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/init.py", line 820, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/init.py", line 789, in _run_job
result = cmd_copy(params)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/init.py", line 335, in call
return self.handler(*args, **kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/command_operation.py", line 120, in handler
return op(**command_args)
File "/Users/xxx/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 637, in connect_serialconsole
check_resource(cmd.cli_ctx, resource_group_name,
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
vm_vmss_name, vmss_instanceid)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/xxx/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 601, in check_resource
result, storage_account_region = get_region_from_storage_account(cli_ctx, resource_group_name, vm_vmss_name,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
vmss_instanceid)
^^^^^^^^^^^^^^^^
File "/Users/xxx/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 740, in get_region_from_storage_account
storage_account_region = get_storage_account_info(storage_account_url, scf)
File "/Users/xxx/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 751, in get_storage_account_info
sa_result = scf.storage_accounts.get_properties(storage_account_resource_group, storage_account)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/core/tracing/decorator.py", line 119, in wrapper_use_tracer
return func(*args, **kwargs)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/mgmt/storage/operations/_storage_accounts_operations.py", line 1113, in get_properties
_request = build_get_properties_request(
resource_group_name=resource_group_name,
...<5 lines>...
params=_params,
)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/mgmt/storage/operations/_storage_accounts_operations.py", line 162, in build_get_properties_request
"resourceGroupName": SERIALIZER.url(
~~~~~~~~~~~~~~~^
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w.
()]+$"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
),
^
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/mgmt/storage/_utils/serialization.py", line 700, in url
output = self.serialize_data(data, data_type, **kwargs)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/mgmt/storage/_utils/serialization.py", line 777, in serialize_data
raise ValueError("No value for given attribute")
ValueError: No value for given attribute

cli.azure.cli.core.azclierror: The command failed with an unexpected error. Here is the traceback:
az_command_data_logger: The command failed with an unexpected error. Here is the traceback:
cli.azure.cli.core.azclierror: No value for given attribute
Traceback (most recent call last):
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/init.py", line 677, in execute
raise ex
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/init.py", line 820, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/init.py", line 789, in _run_job
result = cmd_copy(params)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/init.py", line 335, in call
return self.handler(*args, **kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/command_operation.py", line 120, in handler
return op(**command_args)
File "/Users/xxx/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 637, in connect_serialconsole
check_resource(cmd.cli_ctx, resource_group_name,
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
vm_vmss_name, vmss_instanceid)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/xxx/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 601, in check_resource
result, storage_account_region = get_region_from_storage_account(cli_ctx, resource_group_name, vm_vmss_name,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
vmss_instanceid)
^^^^^^^^^^^^^^^^
File "/Users/xxx/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 740, in get_region_from_storage_account
storage_account_region = get_storage_account_info(storage_account_url, scf)
File "/Users/xxx/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 751, in get_storage_account_info
sa_result = scf.storage_accounts.get_properties(storage_account_resource_group, storage_account)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/core/tracing/decorator.py", line 119, in wrapper_use_tracer
return func(*args, **kwargs)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/mgmt/storage/operations/_storage_accounts_operations.py", line 1113, in get_properties
_request = build_get_properties_request(
resource_group_name=resource_group_name,
...<5 lines>...
params=_params,
)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/mgmt/storage/operations/_storage_accounts_operations.py", line 162, in build_get_properties_request
"resourceGroupName": SERIALIZER.url(
~~~~~~~~~~~~~~~^
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w.
()]+$"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
),
^
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/mgmt/storage/_utils/serialization.py", line 700, in url
output = self.serialize_data(data, data_type, **kwargs)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/mgmt/storage/_utils/serialization.py", line 777, in serialize_data
raise ValueError("No value for given attribute")
ValueError: No value for given attribute
az_command_data_logger: No value for given attribute
Traceback (most recent call last):
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/init.py", line 677, in execute
raise ex
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/init.py", line 820, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/init.py", line 789, in _run_job
result = cmd_copy(params)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/init.py", line 335, in call
return self.handler(*args, **kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/command_operation.py", line 120, in handler
return op(**command_args)
File "/Users/xxx/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 637, in connect_serialconsole
check_resource(cmd.cli_ctx, resource_group_name,
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
vm_vmss_name, vmss_instanceid)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/xxx/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 601, in check_resource
result, storage_account_region = get_region_from_storage_account(cli_ctx, resource_group_name, vm_vmss_name,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
vmss_instanceid)
^^^^^^^^^^^^^^^^
File "/Users/xxx/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 740, in get_region_from_storage_account
storage_account_region = get_storage_account_info(storage_account_url, scf)
File "/Users/xxx/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 751, in get_storage_account_info
sa_result = scf.storage_accounts.get_properties(storage_account_resource_group, storage_account)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/core/tracing/decorator.py", line 119, in wrapper_use_tracer
return func(*args, **kwargs)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/mgmt/storage/operations/_storage_accounts_operations.py", line 1113, in get_properties
_request = build_get_properties_request(
resource_group_name=resource_group_name,
...<5 lines>...
params=_params,
)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/mgmt/storage/operations/_storage_accounts_operations.py", line 162, in build_get_properties_request
"resourceGroupName": SERIALIZER.url(
~~~~~~~~~~~~~~~^
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w.
()]+$"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
),
^
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/mgmt/storage/_utils/serialization.py", line 700, in url
output = self.serialize_data(data, data_type, **kwargs)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/mgmt/storage/_utils/serialization.py", line 777, in serialize_data
raise ValueError("No value for given attribute")
ValueError: No value for given attribute
To check existing issues, please visit: https://github.com/Azure/azure-cli/issues
cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x104fa47c0>]
az_command_data_logger: exit code: 1
cli.main: Command ran in 1.382 seconds (init: 0.057, invoke: 1.325)
telemetry.main: Begin splitting cli events and extra events, total events: 1
telemetry.main: Finish splitting cli events and extra events, cli events: 1
telemetry.save: Save telemetry record of length 8705 in cache file under /Users/xxx/.azure/telemetry/20260519144117323
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/bin/python /opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/telemetry/init.py /Users/xxx/.azure /Users/xxx/.azure/telemetry/20260519144117323"
telemetry.process: Return from creating process 91183
telemetry.main: Finish creating telemetry upload process.

Expected behavior

Successful connection to serial console

Environment Summary

"azure-cli": "2.86.0",
"azure-cli-core": "2.86.0",
"azure-cli-telemetry": "1.1.0",
"extensions": {
"azure-devops": "1.0.1",
"bastion": "1.4.3",
"serial-console": "1.0.0b3"
}

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Serial ConsoleService AttentionThis issue is responsible by Azure service team.bugThis issue requires a change to an existing behavior in the product in order to be resolved.customer-reportedIssues that are reported by GitHub users external to the Azure organization.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions