Skip to content

[extension] blueprint version 0.3.2 - Expect <class 'str'>, got ['Owner', 'Contributor', 'Reader'] (<class 'list'>) #27353

Open
@ozbillwang

Description

Describe the bug

the problem is only in the latest extention version of blueprint v0.3.2

no issue in v0.3.1

Related command

az blueprint version list -m <mgmt_group> --blueprint-name <name>

Errors

When the blueprint version stays as old version, such as 0.3.1, the command is fine

$  az version
{
  "azure-cli": "2.51.0",
  "azure-cli-core": "2.51.0",
  "azure-cli-telemetry": "1.1.0",
  "extensions": {
    "aks-preview": "0.5.149",
    "automation": "0.2.1",
    "azure-devops": "0.26.0",
    "bastion": "0.2.5",
    "blueprint": "0.3.1",
    "communication": "1.7.2b1",
    "express-route-cross-connection": "0.1.1",
    "interactive": "0.5.1",
    "logic": "0.1.7",
    "ssh": "2.0.0",
    "virtual-wan": "0.2.17"
  }
}

But after I upgrade to latest,

az extension add -y --upgrade --name blueprint
Extension 'blueprint' 0.3.1 is already installed.
It will be overridden with version 0.3.2.

The command az blueprint version list xxx failed with an unexpected error. Here is the traceback:

Expect <class 'str'>, got ['Owner', 'Contributor', 'Reader'] (<class 'list'>)
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/knack/cli.py", line 233, in invoke
    cmd_result = self.invocation.execute(args)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/commands/__init__.py", line 663, in execute
    raise ex
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/commands/__init__.py", line 726, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/commands/__init__.py", line 710, in _run_job
    result = list(result)
             ^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_paging.py", line 87, in __next__
    return next(self._page_iterator)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_paging.py", line 43, in __next__
    self._executor(self._next_link)
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_command.py", line 249, in executor_wrapper
    executor()
  File "/Users/bill/.azure/cliextensions/blueprint/azext_blueprint/aaz/latest/blueprint/version/_list.py", line 66, in _execute_operations
    self.PublishedBlueprintsList(ctx=self.ctx)()
  File "/Users/bill/.azure/cliextensions/blueprint/azext_blueprint/aaz/latest/blueprint/version/_list.py", line 89, in __call__
    return self.on_200(session)
           ^^^^^^^^^^^^^^^^^^^^
  File "/Users/bill/.azure/cliextensions/blueprint/azext_blueprint/aaz/latest/blueprint/version/_list.py", line 144, in on_200
    self.ctx.set_var(
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_command_ctx.py", line 84, in set_var
    self.vars[name] = data
    ~~~~~~~~~^^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_field_value.py", line 76, in __setitem__
    self._data[name] = attr_schema.process_data(data, key=name)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_field_type.py", line 234, in process_data
    value[key] = sub_data
    ~~~~~^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_field_value.py", line 76, in __setitem__
    self._data[name] = attr_schema.process_data(data, key=name)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_field_type.py", line 409, in process_data
    value[idx] = sub_data
    ~~~~~^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_field_value.py", line 363, in __setitem__
    self._data[idx] = item_schema.process_data(data, key=idx)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_field_type.py", line 234, in process_data
    value[key] = sub_data
    ~~~~~^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_field_value.py", line 76, in __setitem__
    self._data[name] = attr_schema.process_data(data, key=name)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_field_type.py", line 234, in process_data
    value[key] = sub_data
    ~~~~~^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_field_value.py", line 76, in __setitem__
    self._data[name] = attr_schema.process_data(data, key=name)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_field_type.py", line 311, in process_data
    value[key] = sub_data
    ~~~~~^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_field_value.py", line 241, in __setitem__
    self._data[key] = item_schema.process_data(data, key=key)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_field_type.py", line 234, in process_data
    value[key] = sub_data
    ~~~~~^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_field_value.py", line 76, in __setitem__
    self._data[name] = attr_schema.process_data(data, key=name)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/azure/cli/core/aaz/_field_type.py", line 48, in process_data
    raise AAZInvalidValueError('Expect {}, got {} ({})'.format(self.DataType, data, type(data)))
azure.cli.core.aaz.exceptions.AAZInvalidValueError: Expect <class 'str'>, got ['Owner', 'Contributor', 'Reader'] (<class 'list'>)

Issue script & Debug output

Expect <class 'str'>, got ['Owner', 'Contributor', 'Reader'] (<class 'list'>)

Expected behavior

should work

Environment Summary

$ az version
{
  "azure-cli": "2.51.0",
  "azure-cli-core": "2.51.0",
  "azure-cli-telemetry": "1.1.0",
  "extensions": {
    "aks-preview": "0.5.149",
    "automation": "0.2.1",
    "azure-devops": "0.26.0",
    "bastion": "0.2.5",
    "blueprint": "0.3.1",
    "communication": "1.7.2b1",
    "express-route-cross-connection": "0.1.1",
    "interactive": "0.5.1",
    "logic": "0.1.7",
    "ssh": "2.0.0",
    "virtual-wan": "0.2.17"
  }
}

Additional context

If I remove the latest version and install the old version, it works without issue again

az extension add --yes --name blueprint --version 0.3.1

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Labels

BlueprintbugThis 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

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions