Skip to content

Commit 7770055

Browse files
committed
refine ApplicationLoadBalancer to favor subnetMapping
1 parent 48ac31e commit 7770055

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

config/crds/ingress_v1alpha1_clusterapplicationloadbalancer.yaml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,23 @@ spec:
8383
securityGroups:
8484
items:
8585
type: string
86+
minItems: 1
8687
type: array
87-
subnets:
88+
subnetMappings:
8889
items:
89-
type: string
90+
properties:
91+
subnetID:
92+
type: string
93+
required:
94+
- subnetID
95+
type: object
96+
minItems: 2
9097
type: array
9198
tags:
9299
type: object
100+
required:
101+
- subnetMappings
102+
- securityGroups
93103
type: object
94104
status:
95105
properties:

pkg/apis/ingress/v1alpha1/clusterapplicationloadbalancer_types.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ type ApplicationLoadBalancerAttributes struct {
8383
Routing *LoadBalancerRoutingAttributes `json:"routing,omitempty"`
8484
}
8585

86+
type SubnetMapping struct {
87+
SubnetID string `json:"subnetID"`
88+
}
89+
8690
// ApplicationLoadBalancerSpec defines the desired state of ApplicationLoadBalancer
8791
type ApplicationLoadBalancerSpec struct {
8892
// +kubebuilder:validation:Enum=ipv4,dualstack
@@ -93,11 +97,11 @@ type ApplicationLoadBalancerSpec struct {
9397
// +optional
9498
Schema LoadBalancerSchema `json:"schema,omitempty"`
9599

96-
// +optional
97-
Subnets []string `json:"subnets,omitempty"`
100+
// +kubebuilder:validation:MinItems=2
101+
SubnetMappings []SubnetMapping `json:"subnetMappings"`
98102

99-
// +optional
100-
SecurityGroups []string `json:"securityGroups,omitempty"`
103+
// +kubebuilder:validation:MinItems=1
104+
SecurityGroups []string `json:"securityGroups"`
101105

102106
// +optional
103107
Attributes ApplicationLoadBalancerAttributes `json:"attributes,omitempty"`

0 commit comments

Comments
 (0)