Skip to content

Commit 07ebc9e

Browse files
modular-magiciankotatut
authored andcommitted
fix: compute instance internal ipv6 prefix length is not set in creation and read in syncing (#13133) (GoogleCloudPlatform#3531)
[upstream:2fb385974963dd1455d99b5bc25400a488b25111] Signed-off-by: Modular Magician <[email protected]>
1 parent fd2b661 commit 07ebc9e

File tree

2 files changed

+48
-44
lines changed

2 files changed

+48
-44
lines changed

pkg/tfplan2cai/converters/services/compute/compute_instance_helpers.go

+24-22
Original file line numberDiff line numberDiff line change
@@ -480,17 +480,18 @@ func flattenNetworkInterfaces(d *schema.ResourceData, config *transport_tpg.Conf
480480
region = subnet.Region
481481

482482
flattened[i] = map[string]interface{}{
483-
"network_ip": iface.NetworkIP,
484-
"network": tpgresource.ConvertSelfLinkToV1(iface.Network),
485-
"subnetwork": tpgresource.ConvertSelfLinkToV1(iface.Subnetwork),
486-
"subnetwork_project": subnet.Project,
487-
"access_config": ac,
488-
"alias_ip_range": flattenAliasIpRange(d, iface.AliasIpRanges, i),
489-
"nic_type": iface.NicType,
490-
"stack_type": iface.StackType,
491-
"ipv6_access_config": flattenIpv6AccessConfigs(iface.Ipv6AccessConfigs),
492-
"ipv6_address": iface.Ipv6Address,
493-
"queue_count": iface.QueueCount,
483+
"network_ip": iface.NetworkIP,
484+
"network": tpgresource.ConvertSelfLinkToV1(iface.Network),
485+
"subnetwork": tpgresource.ConvertSelfLinkToV1(iface.Subnetwork),
486+
"subnetwork_project": subnet.Project,
487+
"access_config": ac,
488+
"alias_ip_range": flattenAliasIpRange(d, iface.AliasIpRanges, i),
489+
"nic_type": iface.NicType,
490+
"stack_type": iface.StackType,
491+
"ipv6_access_config": flattenIpv6AccessConfigs(iface.Ipv6AccessConfigs),
492+
"ipv6_address": iface.Ipv6Address,
493+
"queue_count": iface.QueueCount,
494+
"internal_ipv6_prefix_length": iface.InternalIpv6PrefixLength,
494495
}
495496
// Instance template interfaces never have names, so they're absent
496497
// in the instance template network_interface schema. We want to use the
@@ -597,17 +598,18 @@ func expandNetworkInterfaces(d tpgresource.TerraformResourceData, config *transp
597598
}
598599

599600
ifaces[i] = &compute.NetworkInterface{
600-
NetworkIP: data["network_ip"].(string),
601-
Network: nf.RelativeLink(),
602-
NetworkAttachment: networkAttachment,
603-
Subnetwork: sf.RelativeLink(),
604-
AccessConfigs: expandAccessConfigs(data["access_config"].([]interface{})),
605-
AliasIpRanges: expandAliasIpRanges(data["alias_ip_range"].([]interface{})),
606-
NicType: data["nic_type"].(string),
607-
StackType: data["stack_type"].(string),
608-
QueueCount: int64(data["queue_count"].(int)),
609-
Ipv6AccessConfigs: expandIpv6AccessConfigs(data["ipv6_access_config"].([]interface{})),
610-
Ipv6Address: data["ipv6_address"].(string),
601+
NetworkIP: data["network_ip"].(string),
602+
Network: nf.RelativeLink(),
603+
NetworkAttachment: networkAttachment,
604+
Subnetwork: sf.RelativeLink(),
605+
AccessConfigs: expandAccessConfigs(data["access_config"].([]interface{})),
606+
AliasIpRanges: expandAliasIpRanges(data["alias_ip_range"].([]interface{})),
607+
NicType: data["nic_type"].(string),
608+
StackType: data["stack_type"].(string),
609+
QueueCount: int64(data["queue_count"].(int)),
610+
Ipv6AccessConfigs: expandIpv6AccessConfigs(data["ipv6_access_config"].([]interface{})),
611+
Ipv6Address: data["ipv6_address"].(string),
612+
InternalIpv6PrefixLength: int64(data["internal_ipv6_prefix_length"].(int)),
611613
}
612614
}
613615
return ifaces, nil

tfplan2cai/converters/google/resources/services/compute/compute_instance_helpers.go

+24-22
Original file line numberDiff line numberDiff line change
@@ -480,17 +480,18 @@ func flattenNetworkInterfaces(d *schema.ResourceData, config *transport_tpg.Conf
480480
region = subnet.Region
481481

482482
flattened[i] = map[string]interface{}{
483-
"network_ip": iface.NetworkIP,
484-
"network": tpgresource.ConvertSelfLinkToV1(iface.Network),
485-
"subnetwork": tpgresource.ConvertSelfLinkToV1(iface.Subnetwork),
486-
"subnetwork_project": subnet.Project,
487-
"access_config": ac,
488-
"alias_ip_range": flattenAliasIpRange(d, iface.AliasIpRanges, i),
489-
"nic_type": iface.NicType,
490-
"stack_type": iface.StackType,
491-
"ipv6_access_config": flattenIpv6AccessConfigs(iface.Ipv6AccessConfigs),
492-
"ipv6_address": iface.Ipv6Address,
493-
"queue_count": iface.QueueCount,
483+
"network_ip": iface.NetworkIP,
484+
"network": tpgresource.ConvertSelfLinkToV1(iface.Network),
485+
"subnetwork": tpgresource.ConvertSelfLinkToV1(iface.Subnetwork),
486+
"subnetwork_project": subnet.Project,
487+
"access_config": ac,
488+
"alias_ip_range": flattenAliasIpRange(d, iface.AliasIpRanges, i),
489+
"nic_type": iface.NicType,
490+
"stack_type": iface.StackType,
491+
"ipv6_access_config": flattenIpv6AccessConfigs(iface.Ipv6AccessConfigs),
492+
"ipv6_address": iface.Ipv6Address,
493+
"queue_count": iface.QueueCount,
494+
"internal_ipv6_prefix_length": iface.InternalIpv6PrefixLength,
494495
}
495496
// Instance template interfaces never have names, so they're absent
496497
// in the instance template network_interface schema. We want to use the
@@ -597,17 +598,18 @@ func expandNetworkInterfaces(d tpgresource.TerraformResourceData, config *transp
597598
}
598599

599600
ifaces[i] = &compute.NetworkInterface{
600-
NetworkIP: data["network_ip"].(string),
601-
Network: nf.RelativeLink(),
602-
NetworkAttachment: networkAttachment,
603-
Subnetwork: sf.RelativeLink(),
604-
AccessConfigs: expandAccessConfigs(data["access_config"].([]interface{})),
605-
AliasIpRanges: expandAliasIpRanges(data["alias_ip_range"].([]interface{})),
606-
NicType: data["nic_type"].(string),
607-
StackType: data["stack_type"].(string),
608-
QueueCount: int64(data["queue_count"].(int)),
609-
Ipv6AccessConfigs: expandIpv6AccessConfigs(data["ipv6_access_config"].([]interface{})),
610-
Ipv6Address: data["ipv6_address"].(string),
601+
NetworkIP: data["network_ip"].(string),
602+
Network: nf.RelativeLink(),
603+
NetworkAttachment: networkAttachment,
604+
Subnetwork: sf.RelativeLink(),
605+
AccessConfigs: expandAccessConfigs(data["access_config"].([]interface{})),
606+
AliasIpRanges: expandAliasIpRanges(data["alias_ip_range"].([]interface{})),
607+
NicType: data["nic_type"].(string),
608+
StackType: data["stack_type"].(string),
609+
QueueCount: int64(data["queue_count"].(int)),
610+
Ipv6AccessConfigs: expandIpv6AccessConfigs(data["ipv6_access_config"].([]interface{})),
611+
Ipv6Address: data["ipv6_address"].(string),
612+
InternalIpv6PrefixLength: int64(data["internal_ipv6_prefix_length"].(int)),
611613
}
612614
}
613615
return ifaces, nil

0 commit comments

Comments
 (0)