Azure / Azure/azure-cli

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

Open
#27,353 16 comments 0 reactions 1 assignee Claimed by @ZengTaoxu View on GitHub
Blueprint bug customer-reported
Dominant language
Python
Stars
4.6k
Forks
3.5k
Avg merge
3d 2h
Merged PRs (30d)
60

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 --blueprint-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 , got ['Owner', 'Contributor', 'Reader'] ()
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 , got ['Owner', 'Contributor', 'Reader'] ()
```

### Issue script & Debug output

```
Expect , got ['Owner', 'Contributor', 'Reader'] ()
```

### 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
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.