-
Notifications
You must be signed in to change notification settings - Fork 59
Closed
Milestone
Description
We use a helper type IncompleteNetworkInterface in a bunch of places to describe the properties we'd like an eventual NIC to have. For example, that has a field ip, which is an Option<IpAddr> -- None means we'd like to auto-assign a VPC-private address and Some(addr) means we'd like to use an explicit address.
This needs to be extended to support dual-stack NICs, allowing an IP address of one or both versions. We probably want to change the existing optional type to be a bit richer, letting us express three choices:
- No IP at all
- Auto-assign an IP
- Use an explicit IP
We can then use that new type for the existing ip field and a new ipv6 field or similar. We need to modify the constructors to enforce whatever invariants we want, such as ensuring at least one IP address of either family.
- Add enum for more fine-grained control over IP allocation for either family (none, auto, explicit)
- Add field for IPv6, modify existing field to be explicitly IPv4
- Update constructors for plus call sites, of which there are...many
Metadata
Metadata
Assignees
Labels
No labels