[Proposal] Add `Optional` (default `None`) to Node classes
- Dominant language
- Python
- Stars
- 2.1k
- Forks
- 931
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 4
Description
## Proposal
Some classes have attributes that are not required for building a Node.
For example, we don't need the `NodeSize.bandwidth` argument to create a new node. Only the `id` is necessary. But we still have to instanciate the `NodeSize` class with `bandwidth=None` since it's a required argument.
It could be possible to add a default `None` value to each optional argument to make things simpler when using Sizes/Images/Locations.
Contributor guide
Research direction
Start by reviewing the Node classes, especially NodeSize, and the Sizes, Images, and Locations classes mentioned in the proposal. Identify which constructor arguments are optional and verify that nodes can be instantiated without explicitly passing those values while required attributes such as id remain necessary.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100