v1alpha1

package
v0.0.0-...-a846cc2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Copyright 2022.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Package v1alpha1 contains API Schema definitions for the networking.olm v1alpha1 API group +kubebuilder:object:generate=true +groupName=networking.olm.openshift.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "networking.olm.openshift.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AWSAddon

type AWSAddon string

+kubebuilder:validation:Enum=AWSShield;AWSWAFv1;AWSWAFv2

const (
	AWSAddonShield AWSAddon = "AWSShield"
	AWSAddonWAFv1  AWSAddon = "AWSWAFv1"
	AWSAddonWAFv2  AWSAddon = "AWSWAFv2"
)

type AWSLoadBalancerController

type AWSLoadBalancerController struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AWSLoadBalancerControllerSpec   `json:"spec,omitempty"`
	Status AWSLoadBalancerControllerStatus `json:"status,omitempty"`
}

AWSLoadBalancerController is the Schema for the awsloadbalancercontrollers API

func (*AWSLoadBalancerController) ConvertFrom

func (dst *AWSLoadBalancerController) ConvertFrom(srcRaw conversion.Hub) error

ConvertFrom converts from the Hub version (v1) to this version.

func (*AWSLoadBalancerController) ConvertTo

func (src *AWSLoadBalancerController) ConvertTo(dstRaw conversion.Hub) error

ConvertTo converts this AWSLoadBalancerController to the Hub version (v1).

func (*AWSLoadBalancerController) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSLoadBalancerController.

func (*AWSLoadBalancerController) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AWSLoadBalancerController) DeepCopyObject

func (in *AWSLoadBalancerController) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AWSLoadBalancerControllerList

type AWSLoadBalancerControllerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AWSLoadBalancerController `json:"items"`
}

AWSLoadBalancerControllerList contains a list of AWSLoadBalancerController

func (*AWSLoadBalancerControllerList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSLoadBalancerControllerList.

func (*AWSLoadBalancerControllerList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AWSLoadBalancerControllerList) DeepCopyObject

func (in *AWSLoadBalancerControllerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AWSLoadBalancerControllerSpec

type AWSLoadBalancerControllerSpec struct {

	// SubnetTagging describes how resource tagging will be done by the operator.
	//
	// When in "Auto", the operator will detect the subnets where the load balancers
	// will be provisioned and have the required resource tags on them. Whereas when
	// set to manual, this responsibility lies on the user.
	//
	// +kubebuilder:default:=Auto
	// +kubebuilder:validation:Optional
	// +optional
	SubnetTagging SubnetTaggingPolicy `json:"subnetTagging,omitempty"`

	// Default AWS Tags that will be applied to all AWS resources managed by this
	// controller (default []).
	//
	// This value is required so that this controller can function as expected
	// in parallel to openshift-router.
	//
	// +kubebuilder:default:={}
	// +kubebuilder:validation:Optional
	// +optional
	AdditionalResourceTags map[string]string `json:"additionalResourceTags,omitempty"`

	// IngressClass specifies the Ingress class which the controller will reconcile.
	// This Ingress class will be created unless it already exists.
	// The value will default to "alb".
	//
	// +kubebuilder:default:=alb
	// +kubebuilder:validation:Optional
	// +optional
	IngressClass string `json:"ingressClass,omitempty"`

	// Config specifies further customization options for the controller's deployment spec.
	//
	// +kubebuilder:validation:Optional
	// +optional
	Config *AWSLoadBalancerDeploymentConfig `json:"config,omitempty"`

	// AWSAddon describes the AWS services that can be integrated with
	// the AWS Load Balancer.
	//
	// +kubebuilder:validation:Optional
	// +optional
	EnabledAddons []AWSAddon `json:"enabledAddons,omitempty"` // indicates which AWS addons should be disabled.

	// Credentials is a reference to a secret containing
	// the AWS credentials to be used by the controller.
	// The secret is required to be in the operator namespace.
	// If this field is empty - the credentials will be
	// requested using the Cloud Credentials API,
	// see https://docs.openshift.com/container-platform/4.11/authentication/managing_cloud_provider_credentials/about-cloud-credential-operator.html.
	//
	// +kubebuilder:validation:Optional
	// +optional
	Credentials *SecretReference `json:"credentials,omitempty"`
}

AWSLoadBalancerControllerSpec defines the desired state of AWSLoadBalancerController

func (*AWSLoadBalancerControllerSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSLoadBalancerControllerSpec.

func (*AWSLoadBalancerControllerSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSLoadBalancerControllerStatus

type AWSLoadBalancerControllerStatus struct {

	// Conditions is a list of operator-specific conditions
	// and their status.
	//
	// +kubebuilder:validation:Optional
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ObservedGeneration is the most recent generation observed.
	//
	// +kubebuilder:validation:Optional
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Subnets contains details of the subnets of the cluster
	//
	// +kubebuilder:validation:Optional
	// +optional
	Subnets *AWSLoadBalancerControllerStatusSubnets `json:"subnets,omitempty"`

	// IngressClass is the current default Ingress class.
	//
	// +kubebuilder:validation:Optional
	// +optional
	IngressClass string `json:"ingressClass,omitempty"`
}

AWSLoadBalancerControllerStatus defines the observed state of AWSLoadBalancerController.

func (*AWSLoadBalancerControllerStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSLoadBalancerControllerStatus.

func (*AWSLoadBalancerControllerStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSLoadBalancerControllerStatusSubnets

type AWSLoadBalancerControllerStatusSubnets struct {
	// SubnetTagging indicates the current status of the subnet tags
	// +kubebuilder:validation:Optional
	// +optional
	SubnetTagging SubnetTaggingPolicy `json:"subnetTagging,omitempty"`

	// Internal is the list of subnet ids which have the tag `kubernetes.io/role/internal-elb`
	//
	// +kubebuilder:validation:Optional
	// +optional
	Internal []string `json:"internal,omitempty"`

	// Public is the list of subnet ids which have the tag `kubernetes.io/role/elb`
	//
	// +kubebuilder:validation:Optional
	// +optional
	Public []string `json:"public,omitempty"`

	// Tagged is the list of subnet ids which have been tagged by the operator
	//
	// +kubebuilder:validation:Optional
	// +optional
	Tagged []string `json:"tagged,omitempty"`

	// Untagged is the list of subnet ids which do not have any role tags
	//
	// +kubebuilder:validation:Optional
	// +optional
	Untagged []string `json:"untagged,omitempty"`
}

func (*AWSLoadBalancerControllerStatusSubnets) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSLoadBalancerControllerStatusSubnets.

func (*AWSLoadBalancerControllerStatusSubnets) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSLoadBalancerDeploymentConfig

type AWSLoadBalancerDeploymentConfig struct {

	// +kubebuilder:default:=2
	// +kubebuilder:validation:Optional
	// +optional
	Replicas int32 `json:"replicas,omitempty"`
}

func (*AWSLoadBalancerDeploymentConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSLoadBalancerDeploymentConfig.

func (*AWSLoadBalancerDeploymentConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretReference

type SecretReference struct {
	// Name is the name of the secret.
	//
	// +kubebuilder:validation:Required
	// +required
	Name string `json:"name"`
}

SecretReference contains the information to let you locate the desired secret. Secret is required to be in the operator namespace.

func (*SecretReference) DeepCopy

func (in *SecretReference) DeepCopy() *SecretReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReference.

func (*SecretReference) DeepCopyInto

func (in *SecretReference) DeepCopyInto(out *SecretReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetTaggingPolicy

type SubnetTaggingPolicy string

+kubebuilder:validation:Enum=Auto;Manual

const (

	// AutoSubnetTaggingPolicy enables automatic subnet tagging.
	AutoSubnetTaggingPolicy SubnetTaggingPolicy = "Auto"

	// ManualSubnetTaggingPolicy disables automatic subnet tagging.
	ManualSubnetTaggingPolicy SubnetTaggingPolicy = "Manual"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL