Skip to content

Commit

Permalink
Adds AWS Load Balancer Settings to EndpointPublishingStrategy API
Browse files Browse the repository at this point in the history
  • Loading branch information
danehans committed Jul 10, 2020
1 parent 004184b commit f5059c7
Show file tree
Hide file tree
Showing 4 changed files with 88 additions and 1 deletion.
28 changes: 28 additions & 0 deletions operator/v1/0000_50_ingress-operator_00-ingresscontroller.crd.yaml
Expand Up @@ -101,6 +101,20 @@ spec:
- Internal
- External
type: string
type:
description: "aws provides configuration settings that are specific
to AWS load balancers. \n If this field is empty, the default
values are used."
properties:
type:
description: "type is the type of AWS load balancer to instantiate
for an ingress controller. \n If unspecified, \"Classic\"
is used."
enum:
- Classic
- NLB
type: string
type: object
required:
- scope
type: object
Expand Down Expand Up @@ -641,6 +655,20 @@ spec:
- Internal
- External
type: string
type:
description: "aws provides configuration settings that are specific
to AWS load balancers. \n If this field is empty, the default
values are used."
properties:
type:
description: "type is the type of AWS load balancer to instantiate
for an ingress controller. \n If unspecified, \"Classic\"
is used."
enum:
- Classic
- NLB
type: string
type: object
required:
- scope
type: object
Expand Down
28 changes: 28 additions & 0 deletions operator/v1/types_ingress.go
Expand Up @@ -233,8 +233,36 @@ type LoadBalancerStrategy struct {
// +kubebuilder:validation:Required
// +required
Scope LoadBalancerScope `json:"scope"`
// aws provides configuration settings that are specific to AWS
// load balancers.
//
// If this field is empty, the default values are used.
//
// +optional
AWS *AWSLoadBalancerParameters `json:"aws,omitempty"`
}

// AWSLoadBalancerParameters provides configuration settings that are
// specific to AWS load balancers.
type AWSLoadBalancerParameters struct {
// type is the type of AWS load balancer to instantiate for an ingress
// controller.
//
// If unspecified, "Classic" is used.
//
// +optional
Type AWSLoadBalancerType `json:"type,omitempty"`
}

// AWSLoadBalancerType is the type of AWS load balancer to instantiate.
// +kubebuilder:validation:Enum=Classic;NLB
type AWSLoadBalancerType string

var (
AWSClassicLoadBalancer AWSLoadBalancerType = "Classic"
AWSNetworkLoadBalancer AWSLoadBalancerType = "NLB"
)

// HostNetworkStrategy holds parameters for the HostNetwork endpoint publishing
// strategy.
type HostNetworkStrategy struct {
Expand Down
23 changes: 22 additions & 1 deletion operator/v1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions operator/v1/zz_generated.swagger_doc_generated.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit f5059c7

Please sign in to comment.