This message was deleted.
# general
s
This message was deleted.
m
It looks like the pulumi engine is returning a dictionary where one of the keys has a list, while it should return a Dict[str, str]. I edited
pulumi/runtime/resource.py
and
pulumi/runtime/rpc.py
to print debugging information. The rpc response is:
Copy code
... omitted for brevity
    fields {
      key: "tags"
      value {
        struct_value {
          fields {
            key: "Name"
            value {
              string_value: "pulumi-eks-vpc"
            }
          }
          fields {
            key: "__defaults"
            value {
              list_value {
              }
            }
          }
        }
      }
    }
And the translation calls that fails:
Copy code
trying to translate value={'Name': 'pulumi-eks-vpc', '__defaults': []} with type=typing.Mapping[str, str]
Doesn’t seem like
'_defaults': []
should be there…
It seems that any resource where I add
tags
will cause pulumi to fail, because the server is returning a
tags
dictionary that always includes
__defaults: []
(list), which causes the property translator to fail, because it expects a
Mapping[str, str]
.
m
Yes,
__defaults
is a value coming back from the engine and is something we should be filtering out of the results. We do this for other languages, but looks like we weren’t doing it for Python, and we recently added more type checks in the Python SDK in v2.9.0, which is now resulting in this error. I am going to open an issue and start working on a fix. In the meantime, you can workaround by downgrading you Python package dependencies to 
pulumi
 v2.8.2 and 
pulumi_aws
 v3.1.0.
The fix has been released in version 
2.9.2
 of the 
pulumi
 package, which will work with 
pulumi-aws
 version 
3.2.1
.