pulumi/sdk/python
Justin Van Patten 9b0169be35
Fix pylint(no-member) when accessing resource.id (#4813)
Pylint currently reports `E1101: Instance of 'Bucket' has no 'id' member (no-member)` on lines in Pulumi Python programs like:

```python
pulumi.export('bucket_name', bucket.id)
```

Here's a description of this message from http://pylint-messages.wikidot.com/messages:e1101:

> Used when an object (variable, function, …) is accessed for a non-existent member.
>
> False positives: This message may report object members that are created dynamically, but exist at the time they are accessed.

This appears to be a false positive case: `id` isn't set in the constructor (it's set later in `register_resource`) and Pylint isn't able to figure this out statically. `urn` has the same problem. (Oddly, Pylint doesn't complain when accessing other resource output properties).

This change refactors `register_resource` so that `id` and `urn` can be assigned in the resource's constructor, so that Pylint can see it being assigned. The change also does the same with `read_resource`.
2020-06-12 12:41:56 -07:00
..
cmd Install and use dependencies automatically for new Python projects (#4775) 2020-06-09 16:42:53 -07:00
dist Install and use dependencies automatically for new Python projects (#4775) 2020-06-09 16:42:53 -07:00
lib Fix pylint(no-member) when accessing resource.id (#4813) 2020-06-12 12:41:56 -07:00
.gitignore add .venv/ to python .gitignore to ignore when using PIPENV_VENV_IN_PROJECT=1 2019-06-19 12:43:04 -07:00
.pylintrc Make 'ResourceOptions.merge' static so downstream clients don't have to manually handle None cases. (#3072) 2019-08-14 15:55:03 -07:00
Makefile Upgrade to Go 1.14.x (#4697) 2020-05-28 12:01:33 +01:00
Pipfile Enable mypy (#3758) 2020-01-17 14:45:08 -08:00
Pipfile.lock Enable mypy (#3758) 2020-01-17 14:45:08 -08:00
mypy.ini Allow oversize protocol buffers (#3895) 2020-02-10 15:30:42 -07:00
python.go Install and use dependencies automatically for new Python projects (#4775) 2020-06-09 16:42:53 -07:00
python_test.go Install and use dependencies automatically for new Python projects (#4775) 2020-06-09 16:42:53 -07:00