Looking at the code below
|
pub struct VpcSubnetUpdate { |
|
#[serde(flatten)] |
|
pub identity: IdentityMetadataUpdateParams, |
|
// TODO-correctness: These need to be removed. Changing these is effectively |
|
// creating a new resource, so we should require explicit |
|
// deletion/recreation by the client. |
|
pub ipv4_block: Option<Ipv4Net>, |
|
pub ipv6_block: Option<Ipv6Net>, |
|
} |
|
|
we can see it's currently possible to update the IPv4 or IPv6 subnet for a VPC Subnet. That needs to be disallowed, where the only way to really do this would be to delete the VPC Subnet and create a new one with the desired parameters.
Looking at the code below
omicron/nexus/src/external_api/params.rs
Lines 251 to 260 in d4c11d2
we can see it's currently possible to update the IPv4 or IPv6 subnet for a VPC Subnet. That needs to be disallowed, where the only way to really do this would be to delete the VPC Subnet and create a new one with the desired parameters.