|
1 | 1 | //go:generate packer-sdc struct-markdown |
2 | | -//go:generate packer-sdc mapstructure-to-hcl2 -type LinodeInterface,InterfaceDefaultRoute,PublicInterface,PublicInterfaceIPv4,PublicInterfaceIPv6,PublicInterfaceIPv4Address,PublicInterfaceIPv6Range,VPCInterface,VPCInterfaceIPv4,VPCInterfaceIPv4Address,VPCInterfaceIPv4Range,VLANInterface |
| 2 | +//go:generate packer-sdc mapstructure-to-hcl2 -type LinodeInterface,InterfaceDefaultRoute,PublicInterface,PublicInterfaceIPv4,PublicInterfaceIPv6,PublicInterfaceIPv4Address,PublicInterfaceIPv6Range,VPCInterface,VPCInterfaceIPv4,VPCInterfaceIPv4Address,VPCInterfaceIPv4Range,VPCInterfaceIPv6,VPCInterfaceIPv6SLAAC,VPCInterfaceIPv6Range,VLANInterface |
3 | 3 | package linode |
4 | 4 |
|
5 | 5 | type LinodeInterface struct { |
@@ -79,7 +79,11 @@ type VPCInterface struct { |
79 | 79 |
|
80 | 80 | // Interfaces can be configured with IPv4 addresses or ranges. |
81 | 81 | IPv4 *VPCInterfaceIPv4 `mapstructure:"ipv4" required:"false"` |
| 82 | + |
| 83 | + // IPv6 configuration for this VPC interface. |
| 84 | + IPv6 *VPCInterfaceIPv6 `mapstructure:"ipv6" required:"false"` |
82 | 85 | } |
| 86 | + |
83 | 87 | type VPCInterfaceIPv4 struct { |
84 | 88 | // IPv4 address settings for this VPC interface. |
85 | 89 | Addresses []VPCInterfaceIPv4Address `mapstructure:"addresses" required:"false"` |
@@ -110,6 +114,27 @@ type VPCInterfaceIPv4Range struct { |
110 | 114 | Range string `mapstructure:"range" required:"true"` |
111 | 115 | } |
112 | 116 |
|
| 117 | +type VPCInterfaceIPv6 struct { |
| 118 | + // IPv6 SLAAC settings for this VPC interface. |
| 119 | + SLAAC []VPCInterfaceIPv6SLAAC `mapstructure:"slaac" required:"false"` |
| 120 | + |
| 121 | + // IPv6 ranges for this VPC interface. |
| 122 | + Ranges []VPCInterfaceIPv6Range `mapstructure:"ranges" required:"false"` |
| 123 | + |
| 124 | + // Whether the IPv6 addresses are publicly routable. |
| 125 | + IsPublic *bool `mapstructure:"is_public" required:"false"` |
| 126 | +} |
| 127 | + |
| 128 | +type VPCInterfaceIPv6SLAAC struct { |
| 129 | + // The IPv6 SLAAC range for this VPC interface. |
| 130 | + Range string `mapstructure:"range" required:"true"` |
| 131 | +} |
| 132 | + |
| 133 | +type VPCInterfaceIPv6Range struct { |
| 134 | + // The IPv6 range for this VPC interface. |
| 135 | + Range string `mapstructure:"range" required:"true"` |
| 136 | +} |
| 137 | + |
113 | 138 | type VLANInterface struct { |
114 | 139 | // The VLAN's unique label. VLAN interfaces on the same Linode must have a unique `vlan_label`. |
115 | 140 | VLANLabel string `mapstructure:"vlan_label" required:"true"` |
|
0 commit comments