@@ -26,15 +26,6 @@ const (
2626 LoadBalancerIpAddressTypeDualstackWithoutPublicIpv4 LoadBalancerIpAddressType = "dualstack-without-public-ipv4"
2727)
2828
29- // +kubebuilder:validation:Enum=on;off
30- // EnablePrefixForIpv6SourceNatEnum defines the enum values for EnablePrefixForIpv6SourceNat
31- type EnablePrefixForIpv6SourceNatEnum string
32-
33- const (
34- EnablePrefixForIpv6SourceNatEnumOn EnablePrefixForIpv6SourceNatEnum = "on"
35- EnablePrefixForIpv6SourceNatEnumOff EnablePrefixForIpv6SourceNatEnum = "off"
36- )
37-
3829// LoadBalancerAttribute defines LB attribute.
3930type LoadBalancerAttribute struct {
4031 // The key of the attribute.
@@ -64,20 +55,25 @@ type LoadBalancerTag struct {
6455
6556// SubnetConfiguration defines the subnet settings for a Load Balancer.
6657type SubnetConfiguration struct {
67- // identifier name or id for the subnet
58+ // identifier [Application LoadBalancer / Network LoadBalancer] name or id for the subnet
59+ // +optional
6860 Identifier string `json:"identifier"`
6961
70- // eipAllocation the EIP name for this subnet.
62+ // eipAllocation [Network LoadBalancer] the EIP name for this subnet.
7163 // +optional
7264 EIPAllocation * string `json:"eipAllocation,omitempty"`
7365
74- // privateIPv4Allocation the private ipv4 address to assign to this subnet.
66+ // privateIPv4Allocation [Network LoadBalancer] the private ipv4 address to assign to this subnet.
7567 // +optional
7668 PrivateIPv4Allocation * string `json:"privateIPv4Allocation,omitempty"`
7769
78- // privateIPv6Allocation the private ipv6 address to assign to this subnet.
70+ // IPv6Allocation [Network LoadBalancer] the ipv6 address to assign to this subnet.
7971 // +optional
80- PrivateIPv6Allocation * string `json:"privateIPv6Allocation,omitempty"`
72+ IPv6Allocation * string `json:"ipv6Allocation,omitempty"`
73+
74+ // SourceNatIPv6Prefix [Network LoadBalancer] The IPv6 prefix to use for source NAT. Specify an IPv6 prefix (/80 netmask) from the subnet CIDR block or auto_assigned to use an IPv6 prefix selected at random from the subnet CIDR block.
75+ // +optional
76+ SourceNatIPv6Prefix * string `json:"sourceNatIPv6Prefix,omitempty"`
8177}
8278
8379// +kubebuilder:validation:Enum=HTTP1Only;HTTP2Only;HTTP2Optional;HTTP2Preferred;None
@@ -183,10 +179,6 @@ type LoadBalancerConfigurationSpec struct {
183179 // +optional
184180 IpAddressType * LoadBalancerIpAddressType `json:"ipAddressType,omitempty"`
185181
186- // enablePrefixForIpv6SourceNat indicates whether to use an IPv6 prefix from each subnet for source NAT for Network Load Balancers with UDP listeners.
187- // +optional
188- EnablePrefixForIpv6SourceNat * EnablePrefixForIpv6SourceNatEnum `json:"enablePrefixForIpv6SourceNat,omitempty"`
189-
190182 // enforceSecurityGroupInboundRulesOnPrivateLinkTraffic Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through Amazon Web Services PrivateLink.
191183 // +optional
192184 EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic * string `json:"enforceSecurityGroupInboundRulesOnPrivateLinkTraffic,omitempty"`
@@ -196,9 +188,16 @@ type LoadBalancerConfigurationSpec struct {
196188 CustomerOwnedIpv4Pool * string `json:"customerOwnedIpv4Pool,omitempty"`
197189
198190 // loadBalancerSubnets is an optional list of subnet configurations to be used in the LB
191+ // This value takes precedence over loadBalancerSubnetsSelector if both are selected.
199192 // +optional
200193 LoadBalancerSubnets * []SubnetConfiguration `json:"loadBalancerSubnets,omitempty"`
201194
195+ // LoadBalancerSubnetsSelector specifies subnets in the load balancer's VPC where each
196+ // tag specified in the map key contains one of the values in the corresponding
197+ // value list.
198+ // +optional
199+ LoadBalancerSubnetsSelector * map [string ][]string `json:"loadBalancerSubnetsSelector,omitempty"`
200+
202201 // listenerConfigurations is an optional list of configurations for each listener on LB
203202 // +optional
204203 ListenerConfigurations * []ListenerConfiguration `json:"listenerConfigurations,omitempty"`
0 commit comments