A handful of smaller highly requested features we want to get out sooner rather than later, with a focus on managing virtual networks attached to virtual machines.
This issue serves as a high-level outline/overview of the milestone, with individual issues to be spun out as sub-issues here, and added to the Quick Wins milestone.
Resources
[ ] Virtual Machines:
[ ] Support new katapult.io/terraform/network-mode API annotation which can optionally be set to full.
This helps terraform determine if it should populate network_interfaces or IP address and virtual network related attributes on read.
When writing, should be set to full if network_interfaces attribute is used, otherwise should be not be set, or removed if set.
When reading the VM resource, populate ip_address_ids and virtual_networks as needed if the annotation is not set to full. And when it is set to full, only populate network_interfaces.
[ ] network_interfaces attribute to allow full manual management of a VM's network interfaces.
Conflicts with all existing and future planned IP-related attributes. When manually managing network interfaces, other attributes that affect network interfaces it are not available.
Each network interface has:
network_id and virtual_network_id attributes, one of which is must be set, and both cannot be set at the same time.
network_speed_profile attribute which must be set to a speed profile permalink.
ip_address_ids which cannot be populated when virtual_network_id is set.
[ ] Virtual Network management
[ ] virtual_networks attribute that lists all virtual networks that the VM is connected to.
[ ] Each virtual network has a:
Required id to indicate which virtual network we want to connect to the VM.
Optional attached boolean which defaults to true.
Optional speed_profile (permalink for a network speed profile)
[ ] Each virtual network returns fields:
id
name
mac_address
state (should be attached or detached)
[ ] Virtual Networks
[ ] Basic management
Data Sources
[ ] Network
[ ] Get list
Each network should include a default boolean attribute indicating if it is the default network for the current data center.
[ ] Get by id
[ ] Get by default
Returns the network marked as default for the current data center.
A handful of smaller highly requested features we want to get out sooner rather than later, with a focus on managing virtual networks attached to virtual machines.
This issue serves as a high-level outline/overview of the milestone, with individual issues to be spun out as sub-issues here, and added to the Quick Wins milestone.
Resources
katapult.io/terraform/network-mode
API annotation which can optionally be set tofull
.network_interfaces
or IP address and virtual network related attributes on read.full
ifnetwork_interfaces
attribute is used, otherwise should be not be set, or removed if set.ip_address_ids
andvirtual_networks
as needed if the annotation is not set tofull
. And when it is set tofull
, only populatenetwork_interfaces
.network_interfaces
attribute to allow full manual management of a VM's network interfaces.network_id
andvirtual_network_id
attributes, one of which is must be set, and both cannot be set at the same time.network_speed_profile
attribute which must be set to a speed profile permalink.ip_address_ids
which cannot be populated whenvirtual_network_id
is set.virtual_networks
attribute that lists all virtual networks that the VM is connected to.id
to indicate which virtual network we want to connect to the VM.attached
boolean which defaults totrue
.speed_profile
(permalink for a network speed profile)id
name
mac_address
state
(should beattached
ordetached
)Data Sources
default
boolean attribute indicating if it is the default network for the current data center.id
default
network_interfaces
read-only property.virtual_networks
read-only property.id