v1alpha1

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: May 8, 2022 License: Apache-2.0 Imports: 14 Imported by: 2

Documentation

Overview

+groupName=nodebalancer.linode.kubeform.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api.
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: nodebalancer.GroupName, Version: "v1alpha1"}

Functions

func GetDecoder

func GetDecoder() map[string]jsoniter.ValDecoder

func GetEncoder

func GetEncoder() map[string]jsoniter.ValEncoder

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type Config

type Config struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ConfigSpec   `json:"spec,omitempty"`
	Status            ConfigStatus `json:"status,omitempty"`
}

func (*Config) DeepCopy

func (in *Config) DeepCopy() *Config

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

func (*Config) DeepCopyInto

func (in *Config) DeepCopyInto(out *Config)

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

func (*Config) DeepCopyObject

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

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

func (*Config) SetupWebhookWithManager

func (r *Config) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Config) ValidateCreate

func (r *Config) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Config) ValidateDelete

func (r *Config) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Config) ValidateUpdate

func (r *Config) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ConfigList

type ConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of Config CRD objects
	Items []Config `json:"items,omitempty"`
}

ConfigList is a list of Configs

func (*ConfigList) DeepCopy

func (in *ConfigList) DeepCopy() *ConfigList

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

func (*ConfigList) DeepCopyInto

func (in *ConfigList) DeepCopyInto(out *ConfigList)

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

func (*ConfigList) DeepCopyObject

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

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

type ConfigSpec

type ConfigSpec struct {
	State *ConfigSpecResource `json:"state,omitempty" tf:"-"`

	Resource ConfigSpecResource `json:"resource" tf:"resource"`

	UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"`

	TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"`

	ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"`

	SecretRef *core.LocalObjectReference `json:"secretRef,omitempty" tf:"-"`

	BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"`
}

func (*ConfigSpec) DeepCopy

func (in *ConfigSpec) DeepCopy() *ConfigSpec

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

func (*ConfigSpec) DeepCopyInto

func (in *ConfigSpec) DeepCopyInto(out *ConfigSpec)

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

type ConfigSpecNodeStatus

type ConfigSpecNodeStatus struct {
	// The number of backends considered to be 'DOWN' and unhealthy. These are not in rotation, and not serving requests.
	// +optional
	Down *int64 `json:"down,omitempty" tf:"down"`
	// The number of backends considered to be 'UP' and healthy, and that are serving requests.
	// +optional
	Up *int64 `json:"up,omitempty" tf:"up"`
}

func (*ConfigSpecNodeStatus) DeepCopy

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

func (*ConfigSpecNodeStatus) DeepCopyInto

func (in *ConfigSpecNodeStatus) DeepCopyInto(out *ConfigSpecNodeStatus)

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

type ConfigSpecResource

type ConfigSpecResource struct {
	ID string `json:"id,omitempty" tf:"id,omitempty"`

	// What algorithm this NodeBalancer should use for routing traffic to backends: roundrobin, leastconn, source
	// +optional
	Algorithm *string `json:"algorithm,omitempty" tf:"algorithm"`
	// The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down. If none no check is performed. connection requires only a connection to the backend to succeed. http and http_body rely on the backend serving HTTP, and that the response returned matches what is expected.
	// +optional
	Check *string `json:"check,omitempty" tf:"check"`
	// How many times to attempt a check before considering a backend to be down. (1-30)
	// +optional
	CheckAttempts *int64 `json:"checkAttempts,omitempty" tf:"check_attempts"`
	// This value must be present in the response body of the check in order for it to pass. If this value is not present in the response body of a check request, the backend is considered to be down
	// +optional
	CheckBody *string `json:"checkBody,omitempty" tf:"check_body"`
	// How often, in seconds, to check that backends are up and serving requests.
	// +optional
	CheckInterval *int64 `json:"checkInterval,omitempty" tf:"check_interval"`
	// If true, any response from this backend with a 5xx status code will be enough for it to be considered unhealthy and taken out of rotation.
	// +optional
	CheckPassive *bool `json:"checkPassive,omitempty" tf:"check_passive"`
	// The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.
	// +optional
	CheckPath *string `json:"checkPath,omitempty" tf:"check_path"`
	// How long, in seconds, to wait for a check attempt before considering it failed. (1-30)
	// +optional
	CheckTimeout *int64 `json:"checkTimeout,omitempty" tf:"check_timeout"`
	// What ciphers to use for SSL connections served by this NodeBalancer. `legacy` is considered insecure and should only be used if necessary.
	// +optional
	CipherSuite *string `json:"cipherSuite,omitempty" tf:"cipher_suite"`
	// A structure containing information about the health of the backends for this port. This information is updated periodically as checks are performed against backends.
	// +optional
	NodeStatus []ConfigSpecNodeStatus `json:"nodeStatus,omitempty" tf:"node_status"`
	// The ID of the NodeBalancer to access.
	NodebalancerID *int64 `json:"nodebalancerID" tf:"nodebalancer_id"`
	// The TCP port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443.
	// +optional
	Port *int64 `json:"port,omitempty" tf:"port"`
	// The protocol this port is configured to serve. If this is set to https you must include an ssl_cert and an ssl_key.
	// +optional
	Protocol *string `json:"protocol,omitempty" tf:"protocol"`
	// The version of ProxyProtocol to use for the underlying NodeBalancer. This requires protocol to be `tcp`. Valid values are `none`, `v1`, and `v2`.
	// +optional
	ProxyProtocol *string `json:"proxyProtocol,omitempty" tf:"proxy_protocol"`
	// The certificate this port is serving. This is not returned. If set, this field will come back as `<REDACTED>`. Please use the ssl_commonname and ssl_fingerprint to identify the certificate.
	// +optional
	SslCert *string `json:"-" sensitive:"true" tf:"ssl_cert"`
	// The read-only common name automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.
	// +optional
	SslCommonname *string `json:"sslCommonname,omitempty" tf:"ssl_commonname"`
	// The read-only fingerprint automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.
	// +optional
	SslFingerprint *string `json:"sslFingerprint,omitempty" tf:"ssl_fingerprint"`
	// The private key corresponding to this port's certificate. This is not returned. If set, this field will come back as `<REDACTED>`. Please use the ssl_commonname and ssl_fingerprint to identify the certificate.
	// +optional
	SslKey *string `json:"-" sensitive:"true" tf:"ssl_key"`
	// Controls how session stickiness is handled on this port: 'none', 'table', 'http_cookie'
	// +optional
	Stickiness *string `json:"stickiness,omitempty" tf:"stickiness"`
}

func (*ConfigSpecResource) DeepCopy

func (in *ConfigSpecResource) DeepCopy() *ConfigSpecResource

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

func (*ConfigSpecResource) DeepCopyInto

func (in *ConfigSpecResource) DeepCopyInto(out *ConfigSpecResource)

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

type ConfigStatus

type ConfigStatus struct {
	// Resource generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// +optional
	Phase status.Status `json:"phase,omitempty"`
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`
}

func (*ConfigStatus) DeepCopy

func (in *ConfigStatus) DeepCopy() *ConfigStatus

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

func (*ConfigStatus) DeepCopyInto

func (in *ConfigStatus) DeepCopyInto(out *ConfigStatus)

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

type Node

type Node struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              NodeSpec   `json:"spec,omitempty"`
	Status            NodeStatus `json:"status,omitempty"`
}

func (*Node) DeepCopy

func (in *Node) DeepCopy() *Node

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

func (*Node) DeepCopyInto

func (in *Node) DeepCopyInto(out *Node)

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

func (*Node) DeepCopyObject

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

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

func (*Node) SetupWebhookWithManager

func (r *Node) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Node) ValidateCreate

func (r *Node) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Node) ValidateDelete

func (r *Node) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Node) ValidateUpdate

func (r *Node) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type NodeList

type NodeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of Node CRD objects
	Items []Node `json:"items,omitempty"`
}

NodeList is a list of Nodes

func (*NodeList) DeepCopy

func (in *NodeList) DeepCopy() *NodeList

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

func (*NodeList) DeepCopyInto

func (in *NodeList) DeepCopyInto(out *NodeList)

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

func (*NodeList) DeepCopyObject

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

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

type NodeSpec

type NodeSpec struct {
	State *NodeSpecResource `json:"state,omitempty" tf:"-"`

	Resource NodeSpecResource `json:"resource" tf:"resource"`

	UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"`

	TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"`

	ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"`

	BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"`
}

func (*NodeSpec) DeepCopy

func (in *NodeSpec) DeepCopy() *NodeSpec

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

func (*NodeSpec) DeepCopyInto

func (in *NodeSpec) DeepCopyInto(out *NodeSpec)

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

type NodeSpecResource

type NodeSpecResource struct {
	ID string `json:"id,omitempty" tf:"id,omitempty"`

	// The private IP Address and port (IP:PORT) where this backend can be reached. This must be a private IP address.
	Address *string `json:"address" tf:"address"`
	// The ID of the NodeBalancerConfig to access.
	ConfigID *int64 `json:"configID" tf:"config_id"`
	// The label for this node. This is for display purposes only.
	Label *string `json:"label" tf:"label"`
	// The mode this NodeBalancer should use when sending traffic to this backend. If set to `accept` this backend is accepting traffic. If set to `reject` this backend will not receive traffic. If set to `drain` this backend will not receive new traffic, but connections already pinned to it will continue to be routed to it. If set to `backup` this backend will only accept traffic if all other nodes are down.
	// +optional
	Mode *string `json:"mode,omitempty" tf:"mode"`
	// The ID of the NodeBalancer to access.
	NodebalancerID *int64 `json:"nodebalancerID" tf:"nodebalancer_id"`
	// The current status of this node, based on the configured checks of its NodeBalancer Config. (unknown, UP, DOWN)
	// +optional
	Status *string `json:"status,omitempty" tf:"status"`
	// Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic. (1-255)
	// +optional
	Weight *int64 `json:"weight,omitempty" tf:"weight"`
}

func (*NodeSpecResource) DeepCopy

func (in *NodeSpecResource) DeepCopy() *NodeSpecResource

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

func (*NodeSpecResource) DeepCopyInto

func (in *NodeSpecResource) DeepCopyInto(out *NodeSpecResource)

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

type NodeStatus

type NodeStatus struct {
	// Resource generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// +optional
	Phase status.Status `json:"phase,omitempty"`
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`
}

func (*NodeStatus) DeepCopy

func (in *NodeStatus) DeepCopy() *NodeStatus

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

func (*NodeStatus) DeepCopyInto

func (in *NodeStatus) DeepCopyInto(out *NodeStatus)

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

type Nodebalancer

type Nodebalancer struct {
	metav1.TypeMeta   `json:",inline,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              NodebalancerSpec   `json:"spec,omitempty"`
	Status            NodebalancerStatus `json:"status,omitempty"`
}

func (*Nodebalancer) DeepCopy

func (in *Nodebalancer) DeepCopy() *Nodebalancer

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

func (*Nodebalancer) DeepCopyInto

func (in *Nodebalancer) DeepCopyInto(out *Nodebalancer)

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

func (*Nodebalancer) DeepCopyObject

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

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

func (*Nodebalancer) SetupWebhookWithManager

func (r *Nodebalancer) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Nodebalancer) ValidateCreate

func (r *Nodebalancer) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Nodebalancer) ValidateDelete

func (r *Nodebalancer) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Nodebalancer) ValidateUpdate

func (r *Nodebalancer) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type NodebalancerList

type NodebalancerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is a list of Nodebalancer CRD objects
	Items []Nodebalancer `json:"items,omitempty"`
}

NodebalancerList is a list of Nodebalancers

func (*NodebalancerList) DeepCopy

func (in *NodebalancerList) DeepCopy() *NodebalancerList

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

func (*NodebalancerList) DeepCopyInto

func (in *NodebalancerList) DeepCopyInto(out *NodebalancerList)

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

func (*NodebalancerList) DeepCopyObject

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

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

type NodebalancerSpec

type NodebalancerSpec struct {
	State *NodebalancerSpecResource `json:"state,omitempty" tf:"-"`

	Resource NodebalancerSpecResource `json:"resource" tf:"resource"`

	UpdatePolicy base.UpdatePolicy `json:"updatePolicy,omitempty" tf:"-"`

	TerminationPolicy base.TerminationPolicy `json:"terminationPolicy,omitempty" tf:"-"`

	ProviderRef core.LocalObjectReference `json:"providerRef" tf:"-"`

	BackendRef *core.LocalObjectReference `json:"backendRef,omitempty" tf:"-"`
}

func (*NodebalancerSpec) DeepCopy

func (in *NodebalancerSpec) DeepCopy() *NodebalancerSpec

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

func (*NodebalancerSpec) DeepCopyInto

func (in *NodebalancerSpec) DeepCopyInto(out *NodebalancerSpec)

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

type NodebalancerSpecResource

type NodebalancerSpecResource struct {
	ID string `json:"id,omitempty" tf:"id,omitempty"`

	// Throttle connections per second (0-20). Set to 0 (zero) to disable throttling.
	// +optional
	ClientConnThrottle *int64 `json:"clientConnThrottle,omitempty" tf:"client_conn_throttle"`
	// When this NodeBalancer was created.
	// +optional
	Created *string `json:"created,omitempty" tf:"created"`
	// This NodeBalancer's hostname, ending with .nodebalancer.linode.com
	// +optional
	Hostname *string `json:"hostname,omitempty" tf:"hostname"`
	// The Public IPv4 Address of this NodeBalancer
	// +optional
	Ipv4 *string `json:"ipv4,omitempty" tf:"ipv4"`
	// The Public IPv6 Address of this NodeBalancer
	// +optional
	Ipv6 *string `json:"ipv6,omitempty" tf:"ipv6"`
	// The label of the Linode NodeBalancer.
	// +optional
	Label *string `json:"label,omitempty" tf:"label"`
	// The region where this NodeBalancer will be deployed.
	Region *string `json:"region" tf:"region"`
	// An array of tags applied to this object. Tags are for organizational purposes only.
	// +optional
	Tags []string `json:"tags,omitempty" tf:"tags"`
	// Information about the amount of transfer this NodeBalancer has had so far this month.
	// +optional
	Transfer []NodebalancerSpecTransfer `json:"transfer,omitempty" tf:"transfer"`
	// When this NodeBalancer was last updated.
	// +optional
	Updated *string `json:"updated,omitempty" tf:"updated"`
}

func (*NodebalancerSpecResource) DeepCopy

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

func (*NodebalancerSpecResource) DeepCopyInto

func (in *NodebalancerSpecResource) DeepCopyInto(out *NodebalancerSpecResource)

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

type NodebalancerSpecTransfer

type NodebalancerSpecTransfer struct {
	// The total transfer, in MB, used by this NodeBalancer this month
	// +optional
	In *float64 `json:"in,omitempty" tf:"in"`
	// The total inbound transfer, in MB, used for this NodeBalancer this month
	// +optional
	Out *float64 `json:"out,omitempty" tf:"out"`
	// The total outbound transfer, in MB, used for this NodeBalancer this month
	// +optional
	Total *float64 `json:"total,omitempty" tf:"total"`
}

func (*NodebalancerSpecTransfer) DeepCopy

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

func (*NodebalancerSpecTransfer) DeepCopyInto

func (in *NodebalancerSpecTransfer) DeepCopyInto(out *NodebalancerSpecTransfer)

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

type NodebalancerStatus

type NodebalancerStatus struct {
	// Resource generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// +optional
	Phase status.Status `json:"phase,omitempty"`
	// +optional
	Conditions []kmapi.Condition `json:"conditions,omitempty"`
}

func (*NodebalancerStatus) DeepCopy

func (in *NodebalancerStatus) DeepCopy() *NodebalancerStatus

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

func (*NodebalancerStatus) DeepCopyInto

func (in *NodebalancerStatus) DeepCopyInto(out *NodebalancerStatus)

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

Jump to

Keyboard shortcuts

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