v1alpha2

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha2 contains API Schema definitions for the infrastructure v1alpha2 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

Index

Constants

View Source
const (
	// ClusterFinalizer allows ReconcileLinodeCluster to clean up Linode resources associated
	// with LinodeCluster before removing it from the apiserver.
	ClusterFinalizer = "linodecluster.infrastructure.cluster.x-k8s.io"
	ConditionPaused  = "Paused"
)
View Source
const (
	// MachineFinalizer allows ReconcileLinodeMachine to clean up Linode resources associated
	// with LinodeMachine before removing it from the apiserver.
	MachineFinalizer       = "linodemachine.infrastructure.cluster.x-k8s.io"
	DefaultConditionReason = "None"
)
View Source
const (
	// FirewallFinalizer allows ReconcileLinodeFirewall to clean up Linode resources associated
	// with LinodeFirewall before removing it from the apiserver.
	FirewallFinalizer = "linodefirewall.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// ObjectStorageKeyFinalizer allows ReconcileLinodeObjectStorageKey to clean up Linode resources associated
	// with LinodeObjectStorageKey before removing it from the apiserver.
	ObjectStorageKeyFinalizer = "linodeobjectstoragekey.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// PlacementGroupFinalizer allows ReconcileLinodePG to clean up Linode resources associated
	// with LinodePlacementGroup before removing it from the apiserver.
	PlacementGroupFinalizer = "linodeplacementgroup.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// VPCFinalizer allows ReconcileLinodeVPC to clean up Linode resources associated
	// with LinodeVPC before removing it from the apiserver.
	VPCFinalizer = "linodevpc.infrastructure.cluster.x-k8s.io"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1alpha2"}

	// 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 AddressSet added in v0.8.0

type AddressSet struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// spec is the desired state of the AddressSet
	// +required
	Spec AddressSetSpec `json:"spec,omitzero,omitempty"`
	// status is the observed state of the AddressSet
	// +optional
	Status AddressSetStatus `json:"status,omitempty"`
}

AddressSet is the Schema for the addresssets API

func (*AddressSet) DeepCopy added in v0.8.0

func (in *AddressSet) DeepCopy() *AddressSet

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

func (*AddressSet) DeepCopyInto added in v0.8.0

func (in *AddressSet) DeepCopyInto(out *AddressSet)

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

func (*AddressSet) DeepCopyObject added in v0.8.0

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

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

type AddressSetList added in v0.8.0

type AddressSetList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	metav1.ListMeta `json:"metadata,omitempty"`
	// items is a list of AddressSet
	Items []AddressSet `json:"items"`
}

AddressSetList contains a list of AddressSet

func (*AddressSetList) DeepCopy added in v0.8.0

func (in *AddressSetList) DeepCopy() *AddressSetList

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

func (*AddressSetList) DeepCopyInto added in v0.8.0

func (in *AddressSetList) DeepCopyInto(out *AddressSetList)

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

func (*AddressSetList) DeepCopyObject added in v0.8.0

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

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

type AddressSetSpec added in v0.8.0

type AddressSetSpec struct {
	// ipv4 defines a list of IPv4 address strings
	// +optional
	IPv4 *[]string `json:"ipv4,omitempty"`
	// ipv6 defines a list of IPv6 address strings
	// +optional
	IPv6 *[]string `json:"ipv6,omitempty"`
}

AddressSetSpec defines the desired state of AddressSet +kubebuilder:validation:MinProperties=1

func (*AddressSetSpec) DeepCopy added in v0.8.0

func (in *AddressSetSpec) DeepCopy() *AddressSetSpec

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

func (*AddressSetSpec) DeepCopyInto added in v0.8.0

func (in *AddressSetSpec) DeepCopyInto(out *AddressSetSpec)

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

type AddressSetStatus added in v0.8.0

type AddressSetStatus struct {
}

AddressSetStatus defines the observed state of AddressSet

func (*AddressSetStatus) DeepCopy added in v0.8.0

func (in *AddressSetStatus) DeepCopy() *AddressSetStatus

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

func (*AddressSetStatus) DeepCopyInto added in v0.8.0

func (in *AddressSetStatus) DeepCopyInto(out *AddressSetStatus)

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

type BucketAccessRef added in v0.6.0

type BucketAccessRef struct {
	// bucketName is the name of the bucket to grant access to.
	// +kubebuilder:validation:MinLength=3
	// +kubebuilder:validation:MaxLength=63
	// +required
	BucketName string `json:"bucketName,omitempty"`

	// permissions is the permissions to grant to the bucket.
	// +kubebuilder:validation:Enum=read_only;read_write
	// +required
	Permissions string `json:"permissions,omitempty"`

	// region is the region of the bucket.
	// +kubebuilder:validation:MinLength=1
	// +required
	Region string `json:"region,omitempty"`
}

func (*BucketAccessRef) DeepCopy added in v0.6.0

func (in *BucketAccessRef) DeepCopy() *BucketAccessRef

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

func (*BucketAccessRef) DeepCopyInto added in v0.6.0

func (in *BucketAccessRef) DeepCopyInto(out *BucketAccessRef)

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

type FirewallRule added in v0.6.1

type FirewallRule struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the desired state of the FirewallRule.
	// +required
	Spec FirewallRuleSpec `json:"spec,omitzero,omitempty"`

	// status is the observed state of the FirewallRule.
	// +optional
	Status FirewallRuleStatus `json:"status,omitempty"`
}

FirewallRule is the Schema for the firewallrules API

func (*FirewallRule) DeepCopy added in v0.6.1

func (in *FirewallRule) DeepCopy() *FirewallRule

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

func (*FirewallRule) DeepCopyInto added in v0.6.1

func (in *FirewallRule) DeepCopyInto(out *FirewallRule)

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

func (*FirewallRule) DeepCopyObject added in v0.8.0

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

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

type FirewallRuleList added in v0.8.0

type FirewallRuleList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// items is a list of FirewallRule.
	Items []FirewallRule `json:"items"`
}

FirewallRuleList contains a list of FirewallRule

func (*FirewallRuleList) DeepCopy added in v0.8.0

func (in *FirewallRuleList) DeepCopy() *FirewallRuleList

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

func (*FirewallRuleList) DeepCopyInto added in v0.8.0

func (in *FirewallRuleList) DeepCopyInto(out *FirewallRuleList)

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

func (*FirewallRuleList) DeepCopyObject added in v0.8.0

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

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

type FirewallRuleSpec added in v0.8.0

type FirewallRuleSpec struct {
	// action is the action to take when the rule matches.
	// +kubebuilder:validation:Enum=ACCEPT;DROP
	// +required
	Action string `json:"action,omitempty"`

	// label is the label of the rule.
	// +kubebuilder:validation:MinLength=3
	// +required
	Label string `json:"label,omitempty"`

	// description is the description of the rule.
	// +optional
	Description string `json:"description,omitempty"`

	// ports is the ports to apply the rule to.
	// +optional
	Ports string `json:"ports,omitempty"`

	// protocol is the protocol to apply the rule to.
	// +kubebuilder:validation:Enum=TCP;UDP;ICMP;IPENCAP
	// +required
	Protocol linodego.NetworkProtocol `json:"protocol,omitempty"`

	// addresses is a list of addresses to apply the rule to.
	// +optional
	Addresses *NetworkAddresses `json:"addresses,omitempty"`

	// addressSetRefs is a list of references to AddressSets as an alternative to
	// using Addresses but can be used in conjunction with it.
	// +optional
	// +listType=atomic
	AddressSetRefs []*corev1.ObjectReference `json:"addressSetRefs,omitempty"`
}

FirewallRuleSpec defines the desired state of FirewallRule.

func (*FirewallRuleSpec) DeepCopy added in v0.8.0

func (in *FirewallRuleSpec) DeepCopy() *FirewallRuleSpec

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

func (*FirewallRuleSpec) DeepCopyInto added in v0.8.0

func (in *FirewallRuleSpec) DeepCopyInto(out *FirewallRuleSpec)

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

type FirewallRuleStatus added in v0.8.0

type FirewallRuleStatus struct {
}

FirewallRuleStatus defines the observed state of FirewallRule.

func (*FirewallRuleStatus) DeepCopy added in v0.8.0

func (in *FirewallRuleStatus) DeepCopy() *FirewallRuleStatus

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

func (*FirewallRuleStatus) DeepCopyInto added in v0.8.0

func (in *FirewallRuleStatus) DeepCopyInto(out *FirewallRuleStatus)

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

type FirewallStatusError added in v0.6.1

type FirewallStatusError string

FirewallStatusError defines errors states for Firewall objects.

const (
	// CreateFirewallError indicates that an error was encountered
	// when trying to create the Firewall.
	CreateFirewallError FirewallStatusError = "CreateError"

	// UpdateFirewallError indicates that an error was encountered
	// when trying to update the Firewall.
	UpdateFirewallError FirewallStatusError = "UpdateError"

	// DeleteFirewallError indicates that an error was encountered
	// when trying to delete the Firewall.
	DeleteFirewallError FirewallStatusError = "DeleteError"
)

type GeneratedSecret added in v0.6.2

type GeneratedSecret struct {
	// name of the generated Secret. If not set, the name is formatted as "{name-of-obj-key}-obj-key".
	// +optional
	Name string `json:"name,omitempty"`

	// namespace for the generated Secret. If not set, defaults to the namespace of the LinodeObjectStorageKey.
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// type of the generated Secret.
	// +kubebuilder:validation:Enum=Opaque;addons.cluster.x-k8s.io/resource-set
	// +kubebuilder:default=Opaque
	// +optional
	Type corev1.SecretType `json:"type,omitempty"`

	// format of the data stored in the generated Secret.
	// It supports Go template syntax and interpolating the following values: .AccessKey .SecretKey .BucketName .BucketEndpoint .S3Endpoint
	// If no format is supplied, then a generic one is used containing the values specified.
	// +optional
	Format map[string]string `json:"format,omitempty"`
}

func (*GeneratedSecret) DeepCopy added in v0.6.2

func (in *GeneratedSecret) DeepCopy() *GeneratedSecret

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

func (*GeneratedSecret) DeepCopyInto added in v0.6.2

func (in *GeneratedSecret) DeepCopyInto(out *GeneratedSecret)

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

type IPv6CreateOptions added in v0.9.4

type IPv6CreateOptions struct {

	// enableSLAAC is an option to enable SLAAC (Stateless Address Autoconfiguration) for the instance.
	// This is useful for IPv6 addresses, allowing the instance to automatically configure its own IPv6 address.
	// Defaults to false.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	EnableSLAAC *bool `json:"enableSLAAC,omitempty"`

	// enableRanges is an option to enable IPv6 ranges for the instance.
	// If set to true, the instance will have a range of IPv6 addresses.
	// This is useful for instances that require multiple IPv6 addresses.
	// Defaults to false.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	EnableRanges *bool `json:"enableRanges,omitempty"`

	// isPublicIPv6 is an option to enable public IPv6 for the instance.
	// If set to true, the instance will have a publicly routable IPv6 range.
	// Defaults to false.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	IsPublicIPv6 *bool `json:"isPublicIPv6,omitempty"`
}

IPv6CreateOptions defines the IPv6 options for the instance.

func (*IPv6CreateOptions) DeepCopy added in v0.9.4

func (in *IPv6CreateOptions) DeepCopy() *IPv6CreateOptions

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

func (*IPv6CreateOptions) DeepCopyInto added in v0.9.4

func (in *IPv6CreateOptions) DeepCopyInto(out *IPv6CreateOptions)

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

type InstanceConfigInterfaceCreateOptions added in v0.6.0

type InstanceConfigInterfaceCreateOptions struct {
	// ipamAddress is the IP address to assign to the interface.
	// +optional
	IPAMAddress string `json:"ipamAddress,omitempty"`

	// label is the label of the interface.
	// +kubebuilder:validation:MinLength=3
	// +kubebuilder:validation:MaxLength=63
	// +optional
	Label string `json:"label,omitempty"`

	// purpose is the purpose of the interface.
	// +optional
	Purpose linodego.ConfigInterfacePurpose `json:"purpose,omitempty"`

	// primary is a boolean indicating whether the interface is primary.
	// +optional
	Primary bool `json:"primary,omitempty"`

	// subnetId is the ID of the subnet to use for the interface.
	// +optional
	SubnetID *int `json:"subnetId,omitempty"`

	// ipv4 is the IPv4 configuration for the interface.
	// +optional
	IPv4 *VPCIPv4 `json:"ipv4,omitempty"`

	// ipRanges is a list of IPv4 ranges to assign to the interface.
	// +optional
	// +listType=set
	IPRanges []string `json:"ipRanges,omitempty"`
}

InstanceConfigInterfaceCreateOptions defines network interface config

func (*InstanceConfigInterfaceCreateOptions) DeepCopy added in v0.6.0

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

func (*InstanceConfigInterfaceCreateOptions) DeepCopyInto added in v0.6.0

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

type InstanceConfiguration added in v0.6.0

type InstanceConfiguration struct {
	// kernel is a Kernel ID to boot a Linode with. (e.g linode/latest-64bit).
	// +optional
	Kernel string `json:"kernel,omitempty"`
}

InstanceConfiguration defines the instance configuration

func (*InstanceConfiguration) DeepCopy added in v0.6.0

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

func (*InstanceConfiguration) DeepCopyInto added in v0.6.0

func (in *InstanceConfiguration) DeepCopyInto(out *InstanceConfiguration)

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

type InstanceDisk added in v0.6.0

type InstanceDisk struct {
	// diskID is the linode assigned ID of the disk.
	// +optional
	DiskID int `json:"diskID,omitempty"`

	// size of the disk in resource.Quantity notation.
	// +required
	Size resource.Quantity `json:"size,omitempty"`

	// label for the instance disk, if nothing is provided, it will match the device name.
	// +optional
	Label string `json:"label,omitempty"`

	// filesystem of disk to provision, the default disk filesystem is "ext4".
	// +optional
	// +kubebuilder:validation:Enum=raw;swap;ext3;ext4;initrd
	Filesystem string `json:"filesystem,omitempty"`
}

InstanceDisk defines a list of disks to use for an instance

func (*InstanceDisk) DeepCopy added in v0.6.0

func (in *InstanceDisk) DeepCopy() *InstanceDisk

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

func (*InstanceDisk) DeepCopyInto added in v0.6.0

func (in *InstanceDisk) DeepCopyInto(out *InstanceDisk)

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

type InstanceDisks added in v0.10.0

type InstanceDisks struct {
	// sdb is a disk for the instance.
	// +optional
	SDB *InstanceDisk `json:"sdb,omitempty"`
	// sdc is a disk for the instance.
	// +optional
	SDC *InstanceDisk `json:"sdc,omitempty"`
	// sdd is a disk for the instance.
	// +optional
	SDD *InstanceDisk `json:"sdd,omitempty"`
	// sde is a disk for the instance.
	// +optional
	SDE *InstanceDisk `json:"sde,omitempty"`
	// sdf is a disk for the instance.
	// +optional
	SDF *InstanceDisk `json:"sdf,omitempty"`
	// sdg is a disk for the instance.
	// +optional
	SDG *InstanceDisk `json:"sdg,omitempty"`
	// sdh is a disk for the instance.
	// +optional
	SDH *InstanceDisk `json:"sdh,omitempty"`
}

func (*InstanceDisks) DeepCopy added in v0.10.0

func (in *InstanceDisks) DeepCopy() *InstanceDisks

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

func (*InstanceDisks) DeepCopyInto added in v0.10.0

func (in *InstanceDisks) DeepCopyInto(out *InstanceDisks)

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

type InstanceMetadataOptions added in v0.6.0

type InstanceMetadataOptions struct {
	// userData expects a Base64-encoded string.
	// +optional
	UserData string `json:"userData,omitempty"`
}

InstanceMetadataOptions defines metadata of instance

func (*InstanceMetadataOptions) DeepCopy added in v0.6.0

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

func (*InstanceMetadataOptions) DeepCopyInto added in v0.6.0

func (in *InstanceMetadataOptions) DeepCopyInto(out *InstanceMetadataOptions)

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

type InterfaceDefaultRoute added in v0.9.7

type InterfaceDefaultRoute struct {
	// ipv4 is the IPv4 default route for the interface.
	// +optional
	IPv4 *bool `json:"ipv4,omitempty"`

	// ipv6 is the IPv6 default route for the interface.
	// +optional
	IPv6 *bool `json:"ipv6,omitempty"`
}

InterfaceDefaultRoute defines the default IPv4 and IPv6 routes for an interface

func (*InterfaceDefaultRoute) DeepCopy added in v0.9.7

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

func (*InterfaceDefaultRoute) DeepCopyInto added in v0.9.7

func (in *InterfaceDefaultRoute) DeepCopyInto(out *InterfaceDefaultRoute)

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

type LinodeCluster

type LinodeCluster struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the desired state of the LinodeCluster.
	// +required
	Spec LinodeClusterSpec `json:"spec,omitzero,omitempty"`

	// status is the observed state of the LinodeCluster.
	// +optional
	Status LinodeClusterStatus `json:"status,omitempty"`
}

LinodeCluster is the Schema for the linodeclusters API

func (*LinodeCluster) DeepCopy

func (in *LinodeCluster) DeepCopy() *LinodeCluster

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

func (*LinodeCluster) DeepCopyInto

func (in *LinodeCluster) DeepCopyInto(out *LinodeCluster)

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

func (*LinodeCluster) DeepCopyObject

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

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

func (*LinodeCluster) GetCondition added in v0.10.0

func (lc *LinodeCluster) GetCondition(condType string) *metav1.Condition

func (*LinodeCluster) Hub

func (*LinodeCluster) Hub()

Hub marks LinodeCluster as a conversion hub.

func (*LinodeCluster) IsPaused added in v0.10.0

func (lc *LinodeCluster) IsPaused() bool

func (*LinodeCluster) SetCondition added in v0.10.0

func (lc *LinodeCluster) SetCondition(cond metav1.Condition)

type LinodeClusterList

type LinodeClusterList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	metav1.ListMeta `json:"metadata,omitempty"`
	// items is a list of LinodeCluster.
	Items []LinodeCluster `json:"items"`
}

LinodeClusterList contains a list of LinodeCluster

func (*LinodeClusterList) DeepCopy

func (in *LinodeClusterList) DeepCopy() *LinodeClusterList

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

func (*LinodeClusterList) DeepCopyInto

func (in *LinodeClusterList) DeepCopyInto(out *LinodeClusterList)

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

func (*LinodeClusterList) DeepCopyObject

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

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

func (*LinodeClusterList) Hub added in v0.6.0

func (*LinodeClusterList) Hub()

Hub marks LinodeClusterList as a conversion hub.

type LinodeClusterSpec

type LinodeClusterSpec struct {
	// region the LinodeCluster lives in.
	// +kubebuilder:validation:MinLength=1
	// +required
	Region string `json:"region,omitempty"`

	// controlPlaneEndpoint represents the endpoint used to communicate with the LinodeCluster control plane
	// If ControlPlaneEndpoint is unset then the Nodebalancer ip will be used.
	// +optional
	ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`

	// network encapsulates all things related to Linode network.
	// +optional
	Network NetworkSpec `json:"network"`

	// vpcRef is a reference to a VPC object. This makes the Linodes use the specified VPC.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	VPCRef *corev1.ObjectReference `json:"vpcRef,omitempty"`

	// vpcID is the ID of an existing VPC in Linode.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	VPCID *int `json:"vpcID,omitempty"`

	// nodeBalancerFirewallRef is a reference to a NodeBalancer Firewall object. This makes the linode use the specified NodeBalancer Firewall.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	NodeBalancerFirewallRef *corev1.ObjectReference `json:"nodeBalancerFirewallRef,omitempty"`

	// objectStore defines a supporting Object Storage bucket for cluster operations. This is currently used for
	// bootstrapping (e.g. Cloud-init).
	// +optional
	ObjectStore *ObjectStore `json:"objectStore,omitempty"`

	// credentialsRef is a reference to a Secret that contains the credentials to use for provisioning this cluster. If not
	//  supplied, then the credentials of the controller will be used.
	// +optional
	CredentialsRef *corev1.SecretReference `json:"credentialsRef,omitempty"`
}

LinodeClusterSpec defines the desired state of LinodeCluster

func (*LinodeClusterSpec) DeepCopy

func (in *LinodeClusterSpec) DeepCopy() *LinodeClusterSpec

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

func (*LinodeClusterSpec) DeepCopyInto

func (in *LinodeClusterSpec) DeepCopyInto(out *LinodeClusterSpec)

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

type LinodeClusterStatus

type LinodeClusterStatus struct {
	// conditions define the current service state of the LinodeCluster.
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// ready denotes that the cluster (infrastructure) is ready.
	// +optional
	Ready bool `json:"ready"`

	// failureReason will be set in the event that there is a terminal problem
	// reconciling the LinodeCluster and will contain a succinct value suitable
	// for machine interpretation.
	// +optional
	FailureReason *string `json:"failureReason,omitempty"`

	// failureMessage will be set in the event that there is a terminal problem
	// reconciling the LinodeCluster and will contain a more verbose string suitable
	// for logging and human consumption.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
}

LinodeClusterStatus defines the observed state of LinodeCluster

func (*LinodeClusterStatus) DeepCopy

func (in *LinodeClusterStatus) DeepCopy() *LinodeClusterStatus

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

func (*LinodeClusterStatus) DeepCopyInto

func (in *LinodeClusterStatus) DeepCopyInto(out *LinodeClusterStatus)

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

type LinodeClusterTemplate added in v0.6.0

type LinodeClusterTemplate struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the desired state of the LinodeClusterTemplate.
	// +optional
	Spec LinodeClusterTemplateSpec `json:"spec,omitzero,omitempty"`
}

LinodeClusterTemplate is the Schema for the linodeclustertemplates API

func (*LinodeClusterTemplate) DeepCopy added in v0.6.0

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

func (*LinodeClusterTemplate) DeepCopyInto added in v0.6.0

func (in *LinodeClusterTemplate) DeepCopyInto(out *LinodeClusterTemplate)

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

func (*LinodeClusterTemplate) DeepCopyObject added in v0.6.0

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

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

func (*LinodeClusterTemplate) Hub added in v0.6.0

func (*LinodeClusterTemplate) Hub()

Hub marks LinodeClusterTemplate as a conversion hub.

type LinodeClusterTemplateList added in v0.6.0

type LinodeClusterTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	metav1.ListMeta `json:"metadata,omitempty"`
	// items is a list of LinodeClusterTemplate.
	Items []LinodeClusterTemplate `json:"items"`
}

LinodeClusterTemplateList contains a list of LinodeClusterTemplate

func (*LinodeClusterTemplateList) DeepCopy added in v0.6.0

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

func (*LinodeClusterTemplateList) DeepCopyInto added in v0.6.0

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

func (*LinodeClusterTemplateList) DeepCopyObject added in v0.6.0

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

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

func (*LinodeClusterTemplateList) Hub added in v0.6.0

Hub marks LinodeClusterTemplateList as a conversion hub.

type LinodeClusterTemplateResource added in v0.6.0

type LinodeClusterTemplateResource struct {
	// spec is the specification of the LinodeCluster.
	// +required
	Spec LinodeClusterSpec `json:"spec,omitzero,omitempty"`
}

LinodeClusterTemplateResource describes the data needed to create a LinodeCluster from a template.

func (*LinodeClusterTemplateResource) DeepCopy added in v0.6.0

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

func (*LinodeClusterTemplateResource) DeepCopyInto added in v0.6.0

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

type LinodeClusterTemplateSpec added in v0.6.0

type LinodeClusterTemplateSpec struct {
	// template defines the specification for a LinodeCluster.
	// +required
	Template LinodeClusterTemplateResource `json:"template,omitzero"`
}

LinodeClusterTemplateSpec defines the desired state of LinodeClusterTemplate

func (*LinodeClusterTemplateSpec) DeepCopy added in v0.6.0

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

func (*LinodeClusterTemplateSpec) DeepCopyInto added in v0.6.0

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

type LinodeFirewall added in v0.6.1

type LinodeFirewall struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the desired state of the LinodeFirewall.
	// +required
	Spec LinodeFirewallSpec `json:"spec,omitzero,omitempty"`

	// status is the observed state of the LinodeFirewall.
	// +optional
	Status LinodeFirewallStatus `json:"status,omitempty"`
}

LinodeFirewall is the Schema for the linodefirewalls API

func (*LinodeFirewall) DeepCopy added in v0.6.1

func (in *LinodeFirewall) DeepCopy() *LinodeFirewall

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

func (*LinodeFirewall) DeepCopyInto added in v0.6.1

func (in *LinodeFirewall) DeepCopyInto(out *LinodeFirewall)

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

func (*LinodeFirewall) DeepCopyObject added in v0.6.1

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

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

func (*LinodeFirewall) GetCondition added in v0.10.0

func (lfw *LinodeFirewall) GetCondition(condType string) *metav1.Condition

func (*LinodeFirewall) IsPaused added in v0.10.0

func (lfw *LinodeFirewall) IsPaused() bool

func (*LinodeFirewall) SetCondition added in v0.10.0

func (lfw *LinodeFirewall) SetCondition(cond metav1.Condition)

type LinodeFirewallList added in v0.6.1

type LinodeFirewallList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	metav1.ListMeta `json:"metadata,omitempty"`
	// items is a list of LinodeFirewall.
	Items []LinodeFirewall `json:"items"`
}

LinodeFirewallList contains a list of LinodeFirewall

func (*LinodeFirewallList) DeepCopy added in v0.6.1

func (in *LinodeFirewallList) DeepCopy() *LinodeFirewallList

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

func (*LinodeFirewallList) DeepCopyInto added in v0.6.1

func (in *LinodeFirewallList) DeepCopyInto(out *LinodeFirewallList)

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

func (*LinodeFirewallList) DeepCopyObject added in v0.6.1

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

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

type LinodeFirewallSpec added in v0.6.1

type LinodeFirewallSpec struct {
	// firewallID is the ID of the Firewall.
	// +optional
	FirewallID *int `json:"firewallID,omitempty"`

	// enabled determines if the Firewall is enabled. Defaults to false if not defined.
	// +optional
	// +kubebuilder:default=false
	Enabled bool `json:"enabled,omitempty"`

	// inboundRules is a list of FirewallRules that will be applied to the Firewall.
	// +optional
	// +listType=atomic
	InboundRules []FirewallRuleSpec `json:"inboundRules,omitempty"`

	// inboundRuleRefs is a list of references to FirewallRules as an alternative to
	// using InboundRules but can be used in conjunction with it
	// +optional
	// +listType=atomic
	InboundRuleRefs []*corev1.ObjectReference `json:"inboundRuleRefs,omitempty"`

	// inboundPolicy determines if traffic by default should be ACCEPTed or DROPped. Defaults to ACCEPT if not defined.
	// +kubebuilder:validation:Enum=ACCEPT;DROP
	// +kubebuilder:default=ACCEPT
	// +optional
	InboundPolicy string `json:"inboundPolicy,omitempty"`

	// outboundRules is a list of FirewallRules that will be applied to the Firewall.
	// +optional
	// +listType=atomic
	OutboundRules []FirewallRuleSpec `json:"outboundRules,omitempty"`

	// outboundRuleRefs is a list of references to FirewallRules as an alternative to
	// using OutboundRules but can be used in conjunction with it
	// +optional
	// +listType=atomic
	OutboundRuleRefs []*corev1.ObjectReference `json:"outboundRuleRefs,omitempty"`

	// outboundPolicy determines if traffic by default should be ACCEPTed or DROPped. Defaults to ACCEPT if not defined.
	// +kubebuilder:validation:Enum=ACCEPT;DROP
	// +kubebuilder:default=ACCEPT
	// +optional
	OutboundPolicy string `json:"outboundPolicy,omitempty"`

	// credentialsRef is a reference to a Secret that contains the credentials to use for provisioning this Firewall. If not
	// supplied then the credentials of the controller will be used.
	// +optional
	CredentialsRef *corev1.SecretReference `json:"credentialsRef,omitempty"`
}

LinodeFirewallSpec defines the desired state of LinodeFirewall +kubebuilder:validation:MinProperties=1

func (*LinodeFirewallSpec) DeepCopy added in v0.6.1

func (in *LinodeFirewallSpec) DeepCopy() *LinodeFirewallSpec

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

func (*LinodeFirewallSpec) DeepCopyInto added in v0.6.1

func (in *LinodeFirewallSpec) DeepCopyInto(out *LinodeFirewallSpec)

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

type LinodeFirewallStatus added in v0.6.1

type LinodeFirewallStatus struct {
	// conditions define the current service state of the LinodeFirewall.
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// ready is true when the provider resource is ready.
	// +optional
	// +kubebuilder:default=false
	Ready bool `json:"ready"`

	// failureReason will be set in the event that there is a terminal problem
	// reconciling the Firewall and will contain a succinct value suitable
	// for machine interpretation.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Firewall's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Firewalls
	// can be added as events to the Firewall object and/or logged in the
	// controller's output.
	// +optional
	FailureReason *FirewallStatusError `json:"failureReason,omitempty"`

	// failureMessage will be set in the event that there is a terminal problem
	// reconciling the Firewall and will contain a more verbose string suitable
	// for logging and human consumption.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Firewall's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Firewalls
	// can be added as events to the Firewall object and/or logged in the
	// controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
}

LinodeFirewallStatus defines the observed state of LinodeFirewall

func (*LinodeFirewallStatus) DeepCopy added in v0.6.1

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

func (*LinodeFirewallStatus) DeepCopyInto added in v0.6.1

func (in *LinodeFirewallStatus) DeepCopyInto(out *LinodeFirewallStatus)

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

type LinodeInterfaceCreateOptions added in v0.9.7

type LinodeInterfaceCreateOptions struct {
	// firewallID is the ID of the firewall to use for the interface.
	// +optional
	FirewallID *int `json:"firewallID,omitempty"`

	// defaultRoute is the default route for the interface.
	// +optional
	DefaultRoute *InterfaceDefaultRoute `json:"defaultRoute,omitempty"`

	// public is the public interface configuration for the interface.
	// +optional
	Public *PublicInterfaceCreateOptions `json:"public,omitempty"`

	// vpc is the VPC interface configuration for the interface.
	// +optional
	VPC *VPCInterfaceCreateOptions `json:"vpc,omitempty"`

	// vlan is the VLAN interface configuration for the interface.
	// +optional
	VLAN *VLANInterface `json:"vlan,omitempty"`
}

LinodeInterfaceCreateOptions defines the linode network interface config

func (*LinodeInterfaceCreateOptions) DeepCopy added in v0.9.7

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

func (*LinodeInterfaceCreateOptions) DeepCopyInto added in v0.9.7

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

type LinodeMachine added in v0.6.0

type LinodeMachine struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec defines the specification of desired behavior for the LinodeMachine.
	// +required
	Spec LinodeMachineSpec `json:"spec,omitzero,omitempty"`

	// status defines the observed state of LinodeMachine.
	// +optional
	Status LinodeMachineStatus `json:"status,omitempty"`
}

LinodeMachine is the Schema for the linodemachines API

func (*LinodeMachine) DeepCopy added in v0.6.0

func (in *LinodeMachine) DeepCopy() *LinodeMachine

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

func (*LinodeMachine) DeepCopyInto added in v0.6.0

func (in *LinodeMachine) DeepCopyInto(out *LinodeMachine)

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

func (*LinodeMachine) DeepCopyObject added in v0.6.0

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

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

func (*LinodeMachine) DeleteCondition added in v0.10.0

func (lm *LinodeMachine) DeleteCondition(condType string)

func (*LinodeMachine) GetCondition added in v0.10.0

func (lm *LinodeMachine) GetCondition(condType string) *metav1.Condition

func (*LinodeMachine) Hub added in v0.6.0

func (*LinodeMachine) Hub()

Hub marks LinodeMachine as a conversion hub.

func (*LinodeMachine) IsPaused added in v0.10.0

func (lm *LinodeMachine) IsPaused() bool

func (*LinodeMachine) SetCondition added in v0.10.0

func (lm *LinodeMachine) SetCondition(cond metav1.Condition)

type LinodeMachineList added in v0.6.0

type LinodeMachineList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	metav1.ListMeta `json:"metadata,omitempty"`
	// items is a list of LinodeMachine.
	Items []LinodeMachine `json:"items"`
}

LinodeMachineList contains a list of LinodeMachine

func (*LinodeMachineList) DeepCopy added in v0.6.0

func (in *LinodeMachineList) DeepCopy() *LinodeMachineList

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

func (*LinodeMachineList) DeepCopyInto added in v0.6.0

func (in *LinodeMachineList) DeepCopyInto(out *LinodeMachineList)

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

func (*LinodeMachineList) DeepCopyObject added in v0.6.0

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

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

func (*LinodeMachineList) Hub added in v0.6.0

func (*LinodeMachineList) Hub()

Hub marks LinodeMachineList as a conversion hub.

type LinodeMachineSpec added in v0.6.0

type LinodeMachineSpec struct {
	// providerID is the unique identifier as specified by the cloud provider.
	// +optional
	ProviderID *string `json:"providerID,omitempty"`
	// instanceID is the Linode instance ID for this machine.
	// +optional
	// +kubebuilder:deprecatedversion:warning="ProviderID deprecates InstanceID"
	InstanceID *int `json:"instanceID,omitempty"`

	// region is the Linode region to create the instance in.
	// +kubebuilder:validation:MinLength=1
	// +required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	Region string `json:"region,omitempty"`

	// type is the Linode instance type to create.
	// +kubebuilder:validation:MinLength=1
	// +required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	Type string `json:"type,omitempty"`

	// group is the Linode group to create the instance in.
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	Group string `json:"group,omitempty"`

	// rootPass is the root password for the instance.
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	RootPass string `json:"rootPass,omitempty"`

	// authorizedKeys is a list of SSH public keys to add to the instance.
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +listType=set
	AuthorizedKeys []string `json:"authorizedKeys,omitempty"`

	// authorizedUsers is a list of usernames to add to the instance.
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +listType=set
	AuthorizedUsers []string `json:"authorizedUsers,omitempty"`

	// backupID is the ID of the backup to restore the instance from.
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	BackupID int `json:"backupID,omitempty"`

	// image is the Linode image to use for the instance.
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	Image string `json:"image,omitempty"`

	// interfaces is a list of legacy network interfaces to use for the instance.
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +listType=atomic
	Interfaces []InstanceConfigInterfaceCreateOptions `json:"interfaces,omitempty"`

	// linodeInterfaces is a list of Linode network interfaces to use for the instance. Requires Linode Interfaces beta opt-in to use.
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +kubebuilder:object:generate=true
	// +listType=atomic
	LinodeInterfaces []LinodeInterfaceCreateOptions `json:"linodeInterfaces,omitempty"`

	// backupsEnabled is a boolean indicating whether backups should be enabled for the instance.
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	BackupsEnabled bool `json:"backupsEnabled,omitempty"`

	// privateIP is a boolean indicating whether the instance should have a private IP address.
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	PrivateIP *bool `json:"privateIP,omitempty"`

	// tags is a list of tags to apply to the Linode instance.
	// +optional
	// +listType=set
	Tags []string `json:"tags,omitempty"`

	// firewallID is the id of the cloud firewall to apply to the Linode Instance
	// +optional
	FirewallID int `json:"firewallID,omitempty"`

	// osDisk is a configuration for the root disk that includes the OS,
	// if not specified, this defaults to whatever space is not taken up by the DataDisks
	// +optional
	OSDisk *InstanceDisk `json:"osDisk,omitempty"`

	// dataDisks is a map of any additional disks to add to an instance,
	// The sum of these disks + the OSDisk must not be more than allowed on a linodes plan
	// +optional
	DataDisks *InstanceDisks `json:"dataDisks,omitempty"`

	// diskEncryption determines if the disks of the instance should be encrypted. The default is disabled.
	// +optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +kubebuilder:validation:Enum=enabled;disabled
	DiskEncryption string `json:"diskEncryption,omitempty"`

	// credentialsRef is a reference to a Secret that contains the credentials
	// to use for provisioning this machine. If not supplied then these
	// credentials will be used in-order:
	//   1. LinodeMachine
	//   2. Owner LinodeCluster
	//   3. Controller
	// +optional
	CredentialsRef *corev1.SecretReference `json:"credentialsRef,omitempty"`

	// configuration is the Akamai instance configuration OS,
	// if not specified, this defaults to the default configuration associated to the instance.
	// +optional
	Configuration *InstanceConfiguration `json:"configuration,omitempty"`

	// placementGroupRef is a reference to a placement group object. This makes the linode to be launched in that specific group.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	PlacementGroupRef *corev1.ObjectReference `json:"placementGroupRef,omitempty"`

	// firewallRef is a reference to a firewall object. This makes the linode use the specified firewall.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	FirewallRef *corev1.ObjectReference `json:"firewallRef,omitempty"`

	// vpcRef is a reference to a LinodeVPC resource. If specified, this takes precedence over
	// the cluster-level VPC configuration for multi-region support.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	VPCRef *corev1.ObjectReference `json:"vpcRef,omitempty"`

	// vpcID is the ID of an existing VPC in Linode. This allows using a VPC that is not managed by CAPL.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	VPCID *int `json:"vpcID,omitempty"`

	// ipv6Options defines the IPv6 options for the instance.
	// If not specified, IPv6 ranges won't be allocated to instance.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	IPv6Options *IPv6CreateOptions `json:"ipv6Options,omitempty"`

	// networkHelper is an option usually enabled on account level. It helps configure networking automatically for instances.
	// You can use this to enable/disable the network helper for a specific instance.
	// For more information, see https://techdocs.akamai.com/cloud-computing/docs/automatically-configure-networking
	// Defaults to true.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	NetworkHelper *bool `json:"networkHelper,omitempty"`

	// interfaceGeneration is the generation of the interface to use for the cluster's
	// nodes in interface / linodeInterface are not specified for a LinodeMachine.
	// If not set, defaults to "legacy_config".
	// +optional
	// +kubebuilder:validation:Enum=legacy_config;linode
	// +kubebuilder:default=legacy_config
	InterfaceGeneration linodego.InterfaceGeneration `json:"interfaceGeneration,omitempty"`
}

LinodeMachineSpec defines the desired state of LinodeMachine

func (*LinodeMachineSpec) DeepCopy added in v0.6.0

func (in *LinodeMachineSpec) DeepCopy() *LinodeMachineSpec

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

func (*LinodeMachineSpec) DeepCopyInto added in v0.6.0

func (in *LinodeMachineSpec) DeepCopyInto(out *LinodeMachineSpec)

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

type LinodeMachineStatus added in v0.6.0

type LinodeMachineStatus struct {
	// conditions define the current service state of the LinodeMachine.
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// ready is true when the provider resource is ready.
	// +optional
	// +kubebuilder:default=false
	Ready bool `json:"ready"`

	// addresses contains the Linode instance associated addresses.
	// +optional
	// +listType=map
	// +listMapKey=address
	Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"`

	// cloudinitMetadataSupport determines whether to use cloud-init or not.
	// Deprecated: Stackscript no longer in use, so this field is not used.
	// +kubebuilder:deprecatedversion:warning="CloudinitMetadataSupport is deprecated"
	// +optional
	// +kubebuilder:default=true
	CloudinitMetadataSupport bool `json:"cloudinitMetadataSupport,omitempty"`

	// instanceState is the state of the Linode instance for this machine.
	// +optional
	InstanceState *linodego.InstanceStatus `json:"instanceState,omitempty"`

	// failureReason will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a succinct value suitable
	// for machine interpretation.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureReason *string `json:"failureReason,omitempty"`

	// failureMessage will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a more verbose string suitable
	// for logging and human consumption.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// tags are the tags applied to the Linode Machine.
	// +optional
	// +listType=set
	Tags []string `json:"tags,omitempty"`
}

LinodeMachineStatus defines the observed state of LinodeMachine

func (*LinodeMachineStatus) DeepCopy added in v0.6.0

func (in *LinodeMachineStatus) DeepCopy() *LinodeMachineStatus

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

func (*LinodeMachineStatus) DeepCopyInto added in v0.6.0

func (in *LinodeMachineStatus) DeepCopyInto(out *LinodeMachineStatus)

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

type LinodeMachineTemplate added in v0.6.0

type LinodeMachineTemplate struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the desired state of the LinodeMachineTemplate.
	// +optional
	Spec LinodeMachineTemplateSpec `json:"spec,omitzero,omitempty"`

	// status is the observed state of the LinodeMachineTemplate.
	// +optional
	Status LinodeMachineTemplateStatus `json:"status,omitempty"`
}

LinodeMachineTemplate is the Schema for the linodemachinetemplates API

func (*LinodeMachineTemplate) DeepCopy added in v0.6.0

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

func (*LinodeMachineTemplate) DeepCopyInto added in v0.6.0

func (in *LinodeMachineTemplate) DeepCopyInto(out *LinodeMachineTemplate)

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

func (*LinodeMachineTemplate) DeepCopyObject added in v0.6.0

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

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

func (*LinodeMachineTemplate) Hub added in v0.6.0

func (*LinodeMachineTemplate) Hub()

Hub marks LinodeMachineTemplate as a conversion hub.

func (*LinodeMachineTemplate) SetCondition added in v0.10.0

func (lmt *LinodeMachineTemplate) SetCondition(cond metav1.Condition)

type LinodeMachineTemplateList added in v0.6.0

type LinodeMachineTemplateList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// items is a list of LinodeMachineTemplate.
	// +optional
	Items []LinodeMachineTemplate `json:"items"`
}

LinodeMachineTemplateList contains a list of LinodeMachineTemplate

func (*LinodeMachineTemplateList) DeepCopy added in v0.6.0

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

func (*LinodeMachineTemplateList) DeepCopyInto added in v0.6.0

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

func (*LinodeMachineTemplateList) DeepCopyObject added in v0.6.0

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

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

func (*LinodeMachineTemplateList) Hub added in v0.6.0

Hub marks LinodeMachineTemplateList as a conversion hub.

type LinodeMachineTemplateResource added in v0.6.0

type LinodeMachineTemplateResource struct {
	// spec is the specification of the desired behavior of the machine.
	// +required
	Spec LinodeMachineSpec `json:"spec,omitempty,omitzero"`
}

LinodeMachineTemplateResource describes the data needed to create a LinodeMachine from a template.

func (*LinodeMachineTemplateResource) DeepCopy added in v0.6.0

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

func (*LinodeMachineTemplateResource) DeepCopyInto added in v0.6.0

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

type LinodeMachineTemplateSpec added in v0.6.0

type LinodeMachineTemplateSpec struct {
	// template defines the specification for a LinodeMachine.
	// +required
	Template LinodeMachineTemplateResource `json:"template,omitempty,omitzero"`
}

LinodeMachineTemplateSpec defines the desired state of LinodeMachineTemplate

func (*LinodeMachineTemplateSpec) DeepCopy added in v0.6.0

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

func (*LinodeMachineTemplateSpec) DeepCopyInto added in v0.6.0

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

type LinodeMachineTemplateStatus added in v0.9.2

type LinodeMachineTemplateStatus struct {
	// conditions define the current service state of the LinodeMachineTemplate
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// tags that are currently applied to the LinodeMachineTemplate.
	// +optional
	// +listType=set
	Tags []string `json:"tags,omitempty"`

	// firewallID that is currently applied to the LinodeMachineTemplate.
	// +optional
	FirewallID int `json:"firewallID,omitempty"`
}

LinodeMachineTemplateStatus defines the observed state of LinodeMachineTemplate It is used to store the status of the LinodeMachineTemplate, such as tags.

func (*LinodeMachineTemplateStatus) DeepCopy added in v0.9.2

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

func (*LinodeMachineTemplateStatus) DeepCopyInto added in v0.9.2

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

type LinodeNBPortConfig

type LinodeNBPortConfig struct {
	// port configured on the NodeBalancer. It must be valid port range (1-65535).
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// +required
	Port int `json:"port,omitempty"`

	// nodeBalancerConfigID is the config ID of port's NodeBalancer config.
	// +optional
	NodeBalancerConfigID *int `json:"nodeBalancerConfigID,omitempty"`
}

func (*LinodeNBPortConfig) DeepCopy

func (in *LinodeNBPortConfig) DeepCopy() *LinodeNBPortConfig

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

func (*LinodeNBPortConfig) DeepCopyInto

func (in *LinodeNBPortConfig) DeepCopyInto(out *LinodeNBPortConfig)

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

type LinodeObjectStorageBucket added in v0.6.0

type LinodeObjectStorageBucket struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the desired state of the LinodeObjectStorageBucket.
	// +required
	Spec LinodeObjectStorageBucketSpec `json:"spec,omitzero,omitempty"`

	// status is the observed state of the LinodeObjectStorageBucket.
	// +optional
	Status LinodeObjectStorageBucketStatus `json:"status,omitempty"`
}

LinodeObjectStorageBucket is the Schema for the linodeobjectstoragebuckets API

func (*LinodeObjectStorageBucket) DeepCopy added in v0.6.0

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

func (*LinodeObjectStorageBucket) DeepCopyInto added in v0.6.0

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

func (*LinodeObjectStorageBucket) DeepCopyObject added in v0.6.0

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

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

func (*LinodeObjectStorageBucket) GetCondition added in v0.10.0

func (lobj *LinodeObjectStorageBucket) GetCondition(condType string) *metav1.Condition

func (*LinodeObjectStorageBucket) Hub added in v0.6.0

Hub marks LinodeObjectStorageBucketS as a conversion hub.

func (*LinodeObjectStorageBucket) SetCondition added in v0.10.0

func (lobj *LinodeObjectStorageBucket) SetCondition(cond metav1.Condition)

type LinodeObjectStorageBucketList added in v0.6.0

type LinodeObjectStorageBucketList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// items is a list of LinodeObjectStorageBucket.
	// +optional
	Items []LinodeObjectStorageBucket `json:"items"`
}

LinodeObjectStorageBucketList contains a list of LinodeObjectStorageBucket

func (*LinodeObjectStorageBucketList) DeepCopy added in v0.6.0

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

func (*LinodeObjectStorageBucketList) DeepCopyInto added in v0.6.0

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

func (*LinodeObjectStorageBucketList) DeepCopyObject added in v0.6.0

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

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

type LinodeObjectStorageBucketSpec added in v0.6.0

type LinodeObjectStorageBucketSpec struct {

	// region is the ID of the Object Storage region for the bucket.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +kubebuilder:validation:MinLength=1
	// +required
	Region string `json:"region,omitempty"`

	// acl sets the Access Control Level of the bucket using a canned ACL string
	// +optional
	// +kubebuilder:default=private
	// +kubebuilder:validation:Enum=private;public-read;authenticated-read;public-read-write
	ACL ObjectStorageACL `json:"acl,omitempty"`

	// corsEnabled enables for all origins in the bucket .If set to false, CORS is disabled for all origins in the bucket
	// +optional
	// +kubebuilder:default=true
	CorsEnabled bool `json:"corsEnabled,omitempty"`

	// credentialsRef is a reference to a Secret that contains the credentials to use for provisioning the bucket.
	// If not supplied then the credentials of the controller will be used.
	// +optional
	CredentialsRef *corev1.SecretReference `json:"credentialsRef,omitempty"`

	// accessKeyRef is a reference to a LinodeObjectStorageBucketKey for the bucket.
	// +optional
	AccessKeyRef *corev1.ObjectReference `json:"accessKeyRef,omitempty"`

	// forceDeleteBucket enables the object storage bucket used to be deleted even if it contains objects.
	// +optional
	ForceDeleteBucket bool `json:"forceDeleteBucket,omitempty"`
}

LinodeObjectStorageBucketSpec defines the desired state of LinodeObjectStorageBucket

func (*LinodeObjectStorageBucketSpec) DeepCopy added in v0.6.0

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

func (*LinodeObjectStorageBucketSpec) DeepCopyInto added in v0.6.0

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

type LinodeObjectStorageBucketStatus added in v0.6.0

type LinodeObjectStorageBucketStatus struct {
	// conditions define the current service state of the LinodeObjectStorageBucket.
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// ready denotes that the bucket has been provisioned along with access keys.
	// +optional
	// +kubebuilder:default=false
	Ready bool `json:"ready,omitempty"`

	// failureMessage will be set in the event that there is a terminal problem
	// reconciling the Object Storage Bucket and will contain a verbose string
	// suitable for logging and human consumption.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// hostname is the address assigned to the bucket.
	// +optional
	Hostname *string `json:"hostname,omitempty"`

	// creationTime specifies the creation timestamp for the bucket.
	// +optional
	CreationTime *metav1.Time `json:"creationTime,omitempty"`
}

LinodeObjectStorageBucketStatus defines the observed state of LinodeObjectStorageBucket

func (*LinodeObjectStorageBucketStatus) DeepCopy added in v0.6.0

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

func (*LinodeObjectStorageBucketStatus) DeepCopyInto added in v0.6.0

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

type LinodeObjectStorageKey added in v0.6.0

type LinodeObjectStorageKey struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the desired state of the LinodeObjectStorageKey.
	// +required
	Spec LinodeObjectStorageKeySpec `json:"spec,omitzero,omitempty"`

	// status is the observed state of the LinodeObjectStorageKey.
	// +optional
	Status LinodeObjectStorageKeyStatus `json:"status,omitempty"`
}

LinodeObjectStorageKey is the Schema for the linodeobjectstoragekeys API

func (*LinodeObjectStorageKey) DeepCopy added in v0.6.0

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

func (*LinodeObjectStorageKey) DeepCopyInto added in v0.6.0

func (in *LinodeObjectStorageKey) DeepCopyInto(out *LinodeObjectStorageKey)

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

func (*LinodeObjectStorageKey) DeepCopyObject added in v0.6.0

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

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

func (*LinodeObjectStorageKey) GetCondition added in v0.10.0

func (key *LinodeObjectStorageKey) GetCondition(condType string) *metav1.Condition

func (*LinodeObjectStorageKey) SetCondition added in v0.10.0

func (key *LinodeObjectStorageKey) SetCondition(cond metav1.Condition)

type LinodeObjectStorageKeyList added in v0.6.0

type LinodeObjectStorageKeyList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items represent the list of LinodeObjectStorageKey objects.
	Items []LinodeObjectStorageKey `json:"items"`
}

LinodeObjectStorageKeyList contains a list of LinodeObjectStorageKey +kubebuilder:object:root=true

func (*LinodeObjectStorageKeyList) DeepCopy added in v0.6.0

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

func (*LinodeObjectStorageKeyList) DeepCopyInto added in v0.6.0

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

func (*LinodeObjectStorageKeyList) DeepCopyObject added in v0.6.0

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

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

type LinodeObjectStorageKeySpec added in v0.6.0

type LinodeObjectStorageKeySpec struct {
	// bucketAccess is the list of object storage bucket labels which can be accessed using the key
	// +kubebuilder:validation:MinItems=1
	// +required
	// +listType=atomic
	BucketAccess []BucketAccessRef `json:"bucketAccess,omitempty"`

	// credentialsRef is a reference to a Secret that contains the credentials to use for generating access keys.
	// If not supplied, then the credentials of the controller will be used.
	// +optional
	CredentialsRef *corev1.SecretReference `json:"credentialsRef,omitempty"`

	// keyGeneration may be modified to trigger a rotation of the access key.
	// +kubebuilder:default=0
	// +optional
	KeyGeneration *int `json:"keyGeneration,omitempty"`

	// generatedSecret configures the Secret to generate containing access key details.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +required
	GeneratedSecret `json:"generatedSecret"`

	// secretType instructs the controller what type of secret to generate containing access key details.
	// Deprecated: Use generatedSecret.type.
	// +kubebuilder:validation:Enum=Opaque;addons.cluster.x-k8s.io/resource-set
	// +kubebuilder:deprecatedversion:warning="secretType deprecated by generatedSecret.type"
	// +optional
	SecretType corev1.SecretType `json:"secretType,omitempty"`

	// secretDataFormat instructs the controller how to format the data stored in the secret containing access key details.
	// Deprecated: Use generatedSecret.format.
	// +kubebuilder:deprecatedversion:warning="secretDataFormat deprecated by generatedSecret.format"
	// +optional
	SecretDataFormat map[string]string `json:"secretDataFormat,omitempty"`
}

LinodeObjectStorageKeySpec defines the desired state of LinodeObjectStorageKey

func (*LinodeObjectStorageKeySpec) DeepCopy added in v0.6.0

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

func (*LinodeObjectStorageKeySpec) DeepCopyInto added in v0.6.0

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

type LinodeObjectStorageKeyStatus added in v0.6.0

type LinodeObjectStorageKeyStatus struct {
	// conditions define the current service state of the LinodeObjectStorageKey.
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// ready denotes that the key has been provisioned.
	// +optional
	// +kubebuilder:default=false
	Ready bool `json:"ready,omitempty"`

	// failureMessage will be set in the event that there is a terminal problem
	// reconciling the Object Storage Key and will contain a verbose string
	// suitable for logging and human consumption.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// creationTime specifies the creation timestamp for the secret.
	// +optional
	CreationTime *metav1.Time `json:"creationTime,omitempty"`

	// lastKeyGeneration tracks the last known value of .spec.keyGeneration.
	// +optional
	LastKeyGeneration *int `json:"lastKeyGeneration,omitempty"`

	// accessKeyRef stores the ID for Object Storage key provisioned.
	// +optional
	AccessKeyRef *int `json:"accessKeyRef,omitempty"`
}

LinodeObjectStorageKeyStatus defines the observed state of LinodeObjectStorageKey

func (*LinodeObjectStorageKeyStatus) DeepCopy added in v0.6.0

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

func (*LinodeObjectStorageKeyStatus) DeepCopyInto added in v0.6.0

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

type LinodePlacementGroup added in v0.6.0

type LinodePlacementGroup struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the desired state of the LinodePlacementGroup.
	// +required
	Spec LinodePlacementGroupSpec `json:"spec,omitzero,omitempty"`

	// status is the observed state of the LinodePlacementGroup.
	// +optional
	Status LinodePlacementGroupStatus `json:"status,omitempty"`
}

LinodePlacementGroup is the Schema for the linodeplacementgroups API

func (*LinodePlacementGroup) DeepCopy added in v0.6.0

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

func (*LinodePlacementGroup) DeepCopyInto added in v0.6.0

func (in *LinodePlacementGroup) DeepCopyInto(out *LinodePlacementGroup)

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

func (*LinodePlacementGroup) DeepCopyObject added in v0.6.0

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

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

func (*LinodePlacementGroup) GetCondition added in v0.10.0

func (lpg *LinodePlacementGroup) GetCondition(condType string) *metav1.Condition

func (*LinodePlacementGroup) IsPaused added in v0.10.0

func (lpg *LinodePlacementGroup) IsPaused() bool

func (*LinodePlacementGroup) SetCondition added in v0.10.0

func (lpg *LinodePlacementGroup) SetCondition(cond metav1.Condition)

type LinodePlacementGroupList added in v0.6.0

type LinodePlacementGroupList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// items is a list of LinodePlacementGroup.
	Items []LinodePlacementGroup `json:"items"`
}

LinodePlacementGroupList contains a list of LinodePlacementGroup

func (*LinodePlacementGroupList) DeepCopy added in v0.6.0

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

func (*LinodePlacementGroupList) DeepCopyInto added in v0.6.0

func (in *LinodePlacementGroupList) DeepCopyInto(out *LinodePlacementGroupList)

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

func (*LinodePlacementGroupList) DeepCopyObject added in v0.6.0

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

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

type LinodePlacementGroupSpec added in v0.6.0

type LinodePlacementGroupSpec struct {
	// pgID is the ID of the PlacementGroup.
	// +optional
	PGID *int `json:"pgID,omitempty"`
	// region is the Linode region to create the PlacementGroup in.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +required
	Region string `json:"region,omitempty"`
	// placementGroupPolicy defines the policy for the PlacementGroup.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +kubebuilder:default="strict"
	// +kubebuilder:validation:Enum=strict;flexible
	// +optional
	PlacementGroupPolicy string `json:"placementGroupPolicy"`

	// placementGroupType defines the type of the PlacementGroup.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +kubebuilder:default="anti_affinity:local"
	// +kubebuilder:validation:Enum="anti_affinity:local"
	// +optional
	PlacementGroupType string `json:"placementGroupType"`

	// credentialsRef is a reference to a Secret that contains the credentials to use for provisioning this PlacementGroup.
	// If not supplied, then the credentials of the controller will be used.
	// +optional
	CredentialsRef *corev1.SecretReference `json:"credentialsRef,omitempty"`
}

LinodePlacementGroupSpec defines the desired state of LinodePlacementGroup

func (*LinodePlacementGroupSpec) DeepCopy added in v0.6.0

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

func (*LinodePlacementGroupSpec) DeepCopyInto added in v0.6.0

func (in *LinodePlacementGroupSpec) DeepCopyInto(out *LinodePlacementGroupSpec)

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

type LinodePlacementGroupStatus added in v0.6.0

type LinodePlacementGroupStatus struct {
	// conditions define the current service state of the LinodePlacementGroup.
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// ready is true when the provider resource is ready.
	// +optional
	// +kubebuilder:default=false
	Ready bool `json:"ready"`

	// failureReason will be set in the event that there is a terminal problem
	// reconciling the PlacementGroup and will contain a succinct value suitable
	// for machine interpretation.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the PlacementGroup's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of PlacementGroups
	// can be added as events to the PlacementGroup object and/or logged in the
	// controller's output.
	// +optional
	FailureReason *LinodePlacementGroupStatusError `json:"failureReason,omitempty"`

	// failureMessage will be set in the event that there is a terminal problem
	// reconciling the PlacementGroup and will contain a more verbose string suitable
	// for logging and human consumption.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the PlacementGroup's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of PlacementGroups
	// can be added as events to the PlacementGroup object and/or logged in the
	// controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
}

LinodePlacementGroupStatus defines the observed state of LinodePlacementGroup

func (*LinodePlacementGroupStatus) DeepCopy added in v0.6.0

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

func (*LinodePlacementGroupStatus) DeepCopyInto added in v0.6.0

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

type LinodePlacementGroupStatusError added in v0.6.0

type LinodePlacementGroupStatusError string

LinodePlacementGroupStatusError defines errors states for PlacementGroup objects.

const (
	// CreatePlacementGroupError indicates that an error was encountered
	// when trying to create the PlacementGroup.
	CreatePlacementGroupError LinodePlacementGroupStatusError = "CreateError"

	// DeletePlacementGroupError indicates that an error was encountered
	// when trying to delete the PlacementGroup.
	DeletePlacementGroupError LinodePlacementGroupStatusError = "DeleteError"
)

type LinodeVPC added in v0.6.0

type LinodeVPC struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the desired state of the LinodeVPC.
	// +required
	Spec LinodeVPCSpec `json:"spec,omitzero,omitempty"`

	// status is the observed state of the LinodeVPC.
	// +optional
	Status LinodeVPCStatus `json:"status,omitempty"`
}

LinodeVPC is the Schema for the linodemachines API

func (*LinodeVPC) DeepCopy added in v0.6.0

func (in *LinodeVPC) DeepCopy() *LinodeVPC

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

func (*LinodeVPC) DeepCopyInto added in v0.6.0

func (in *LinodeVPC) DeepCopyInto(out *LinodeVPC)

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

func (*LinodeVPC) DeepCopyObject added in v0.6.0

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

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

func (*LinodeVPC) GetCondition added in v0.10.0

func (lv *LinodeVPC) GetCondition(condType string) *metav1.Condition

func (*LinodeVPC) Hub added in v0.6.0

func (*LinodeVPC) Hub()

Hub marks LinodeMachine as a conversion hub.

func (*LinodeVPC) IsPaused added in v0.10.0

func (lv *LinodeVPC) IsPaused() bool

func (*LinodeVPC) SetCondition added in v0.10.0

func (lv *LinodeVPC) SetCondition(cond metav1.Condition)

type LinodeVPCList added in v0.6.0

type LinodeVPCList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// items is a list of LinodeVPC.
	Items []LinodeVPC `json:"items"`
}

LinodeVPCList contains a list of LinodeVPC

func (*LinodeVPCList) DeepCopy added in v0.6.0

func (in *LinodeVPCList) DeepCopy() *LinodeVPCList

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

func (*LinodeVPCList) DeepCopyInto added in v0.6.0

func (in *LinodeVPCList) DeepCopyInto(out *LinodeVPCList)

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

func (*LinodeVPCList) DeepCopyObject added in v0.6.0

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

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

func (*LinodeVPCList) Hub added in v0.6.0

func (*LinodeVPCList) Hub()

Hub marks LinodeVPCList as a conversion hub.

type LinodeVPCSpec added in v0.6.0

type LinodeVPCSpec struct {
	// vpcID is the ID of the VPC.
	// +optional
	VPCID *int `json:"vpcID,omitempty"`

	// description is the description of the VPC.
	// +optional
	Description string `json:"description,omitempty"`

	// region is the region to create the VPC in.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +kubebuilder:validation:MinLength=1
	// +required
	Region string `json:"region,omitempty"`

	// ipv6 is a list of IPv6 ranges allocated to the VPC.
	// Once ranges are allocated based on the IPv6Range field, they will be
	// added to this field.
	// +optional
	// +listType=map
	// +listMapKey=range
	IPv6 []linodego.VPCIPv6Range `json:"ipv6,omitempty"`

	// ipv6Range is a list of IPv6 ranges to allocate to the VPC.
	// If not specified, the VPC will not have an IPv6 range allocated.
	// Once ranges are allocated, they will be added to the IPv6 field.
	// +optional
	// +listType=atomic
	IPv6Range []VPCCreateOptionsIPv6 `json:"ipv6Range,omitempty"`

	// subnets is a list of subnets to create in the VPC.
	// +optional
	// +listType=atomic
	Subnets []VPCSubnetCreateOptions `json:"subnets,omitempty"`

	// retain allows you to keep the VPC after the LinodeVPC object is deleted.
	// This is useful if you want to use an existing VPC that was not created by this controller.
	// If set to true, the controller will not delete the VPC resource in Linode.
	// Defaults to false.
	// +optional
	// +kubebuilder:default=false
	Retain bool `json:"retain,omitempty"`

	// credentialsRef is a reference to a Secret that contains the credentials to use for provisioning this VPC.
	// If not supplied, then the credentials of the controller will be used.
	// +optional
	CredentialsRef *corev1.SecretReference `json:"credentialsRef,omitempty"`
}

LinodeVPCSpec defines the desired state of LinodeVPC

func (*LinodeVPCSpec) DeepCopy added in v0.6.0

func (in *LinodeVPCSpec) DeepCopy() *LinodeVPCSpec

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

func (*LinodeVPCSpec) DeepCopyInto added in v0.6.0

func (in *LinodeVPCSpec) DeepCopyInto(out *LinodeVPCSpec)

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

type LinodeVPCStatus added in v0.6.0

type LinodeVPCStatus struct {
	// conditions define the current service state of the LinodeVPC.
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// ready is true when the provider resource is ready.
	// +optional
	// +kubebuilder:default=false
	Ready bool `json:"ready"`

	// failureReason will be set in the event that there is a terminal problem
	// reconciling the VPC and will contain a succinct value suitable
	// for machine interpretation.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the VPC's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of VPCs
	// can be added as events to the VPC object and/or logged in the
	// controller's output.
	// +optional
	FailureReason *VPCStatusError `json:"failureReason,omitempty"`

	// failureMessage will be set in the event that there is a terminal problem
	// reconciling the VPC and will contain a more verbose string suitable
	// for logging and human consumption.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the VPC's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of VPCs
	// can be added as events to the VPC object and/or logged in the
	// controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
}

LinodeVPCStatus defines the observed state of LinodeVPC

func (*LinodeVPCStatus) DeepCopy added in v0.6.0

func (in *LinodeVPCStatus) DeepCopy() *LinodeVPCStatus

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

func (*LinodeVPCStatus) DeepCopyInto added in v0.6.0

func (in *LinodeVPCStatus) DeepCopyInto(out *LinodeVPCStatus)

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

type NetworkAddresses added in v0.6.1

type NetworkAddresses struct {
	// ipv4 defines a list of IPv4 address strings.
	// +optional
	IPv4 *[]string `json:"ipv4,omitempty"`

	// ipv6 defines a list of IPv6 address strings.
	// +optional
	IPv6 *[]string `json:"ipv6,omitempty"`
}

NetworkAddresses holds a list of IPv4 and IPv6 addresses. We don't use linodego here since kubebuilder can't generate DeepCopyInto for linodego.NetworkAddresses

func (*NetworkAddresses) DeepCopy added in v0.6.1

func (in *NetworkAddresses) DeepCopy() *NetworkAddresses

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

func (*NetworkAddresses) DeepCopyInto added in v0.6.1

func (in *NetworkAddresses) DeepCopyInto(out *NetworkAddresses)

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

type NetworkSpec

type NetworkSpec struct {
	// loadBalancerType is the type of load balancer to use, defaults to NodeBalancer if not otherwise set.
	// +kubebuilder:validation:Enum=NodeBalancer;dns;external
	// +kubebuilder:default=NodeBalancer
	// +optional
	LoadBalancerType string `json:"loadBalancerType,omitempty"`

	// dnsProvider is the provider who manages the domain.
	// Ignored if the LoadBalancerType is set to anything other than dns
	// If not set, defaults linode dns
	// +kubebuilder:validation:Enum=linode;akamai
	// +optional
	DNSProvider string `json:"dnsProvider,omitempty"`

	// dnsRootDomain is the root domain used to create a DNS entry for the control-plane endpoint.
	// Ignored if the LoadBalancerType is set to anything other than dns
	// +optional
	DNSRootDomain string `json:"dnsRootDomain,omitempty"`

	// dnsUniqueIdentifier is the unique identifier for the DNS. This let clusters with the same name have unique
	// DNS record
	// Ignored if the LoadBalancerType is set to anything other than dns
	// If not set, CAPL will create a unique identifier for you
	// +optional
	DNSUniqueIdentifier string `json:"dnsUniqueIdentifier,omitempty"`

	// dnsTTLsec is the TTL for the domain record
	// Ignored if the LoadBalancerType is set to anything other than dns
	// If not set, defaults to 30
	// +optional
	DNSTTLSec int `json:"dnsTTLsec,omitempty"`

	// dnsSubDomainOverride is used to override CAPL's construction of the controlplane endpoint
	// If set, this will override the DNS subdomain from <clustername>-<uniqueid>.<rootdomain> to <overridevalue>.<rootdomain>
	// +optional
	DNSSubDomainOverride string `json:"dnsSubDomainOverride,omitempty"`

	// apiserverLoadBalancerPort used by the api server. It must be valid ports range (1-65535).
	// If omitted, default value is 6443.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// +optional
	ApiserverLoadBalancerPort int `json:"apiserverLoadBalancerPort,omitempty"`

	// nodeBalancerID is the id of NodeBalancer.
	// +optional
	NodeBalancerID *int `json:"nodeBalancerID,omitempty"`

	// nodeBalancerFirewallID is the id of NodeBalancer Firewall.
	// +optional
	NodeBalancerFirewallID *int `json:"nodeBalancerFirewallID,omitempty"`

	// apiserverNodeBalancerConfigID is the config ID of api server NodeBalancer config.
	// +optional
	ApiserverNodeBalancerConfigID *int `json:"apiserverNodeBalancerConfigID,omitempty"`

	// additionalPorts contains list of ports to be configured with NodeBalancer.
	// +optional
	// +listType=map
	// +listMapKey=port
	AdditionalPorts []LinodeNBPortConfig `json:"additionalPorts,omitempty"`

	// subnetName is the name/label of the VPC subnet to be used by the cluster
	// +optional
	SubnetName string `json:"subnetName,omitempty"`

	// useVlan provisions a cluster that uses VLANs instead of VPCs. IPAM is managed internally.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	UseVlan bool `json:"useVlan,omitempty"`

	// nodeBalancerBackendIPv4Range is the subnet range we want to provide for creating nodebalancer in VPC.
	// example: 10.10.10.0/30
	// +optional
	NodeBalancerBackendIPv4Range string `json:"nodeBalancerBackendIPv4Range,omitempty"`

	// enableVPCBackends toggles VPC-scoped NodeBalancer and VPC backend IP usage.
	// If set to false (default), the NodeBalancer will not be created in a VPC and
	// backends will use Linode private IPs. If true, the NodeBalancer will be
	// created in the configured VPC (when VPCRef or VPCID is set) and backends
	// will use VPC IPs.
	// +kubebuilder:default=false
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	EnableVPCBackends bool `json:"enableVPCBackends,omitempty"`
}

NetworkSpec encapsulates Linode networking resources.

func (*NetworkSpec) DeepCopy

func (in *NetworkSpec) DeepCopy() *NetworkSpec

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

func (*NetworkSpec) DeepCopyInto

func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)

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

type ObjectStorageACL added in v0.6.0

type ObjectStorageACL string
const (
	ACLPrivate           ObjectStorageACL = "private"
	ACLPublicRead        ObjectStorageACL = "public-read"
	ACLAuthenticatedRead ObjectStorageACL = "authenticated-read"
	ACLPublicReadWrite   ObjectStorageACL = "public-read-write"

	BucketFinalizer = "linodeobjectstoragebucket.infrastructure.cluster.x-k8s.io"
)

ObjectStorageACL options represent the access control level of a bucket.

type ObjectStore added in v0.8.0

type ObjectStore struct {
	// presignedURLDuration defines the duration for which presigned URLs are valid.
	//
	// This is used to generate presigned URLs for S3 Bucket objects, which are used by
	// control-plane and worker nodes to fetch bootstrap data.
	// +optional
	PresignedURLDuration *metav1.Duration `json:"presignedURLDuration,omitempty"`

	// credentialsRef is a reference to a Secret that contains the credentials to use for accessing the Cluster Object Store.
	// +optional
	CredentialsRef corev1.SecretReference `json:"credentialsRef,omitempty"`
}

ObjectStore defines a supporting Object Storage bucket for cluster operations. This is currently used for bootstrapping (e.g. Cloud-init).

func (*ObjectStore) DeepCopy added in v0.8.0

func (in *ObjectStore) DeepCopy() *ObjectStore

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

func (*ObjectStore) DeepCopyInto added in v0.8.0

func (in *ObjectStore) DeepCopyInto(out *ObjectStore)

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

type PublicInterfaceCreateOptions added in v0.9.7

type PublicInterfaceCreateOptions struct {
	// ipv4 is the IPv4 configuration for the public interface.
	// +optional
	IPv4 *PublicInterfaceIPv4CreateOptions `json:"ipv4,omitempty"`

	// ipv6 is the IPv6 configuration for the public interface.
	// +optional
	IPv6 *PublicInterfaceIPv6CreateOptions `json:"ipv6,omitempty"`
}

PublicInterfaceCreateOptions defines the IPv4 and IPv6 public interface create options

func (*PublicInterfaceCreateOptions) DeepCopy added in v0.9.7

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

func (*PublicInterfaceCreateOptions) DeepCopyInto added in v0.9.7

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

type PublicInterfaceIPv4AddressCreateOptions added in v0.9.7

type PublicInterfaceIPv4AddressCreateOptions struct {
	// address is the IPv4 address for the public interface.
	// +kubebuilder:validation:MinLength=1
	// +required
	Address string `json:"address,omitempty"`

	// primary is a boolean indicating whether the address is primary.
	// +optional
	Primary *bool `json:"primary,omitempty"`
}

PublicInterfaceIPv4AddressCreateOptions defines the public IPv4 address and whether it is primary

func (*PublicInterfaceIPv4AddressCreateOptions) DeepCopy added in v0.9.7

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

func (*PublicInterfaceIPv4AddressCreateOptions) DeepCopyInto added in v0.9.7

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

type PublicInterfaceIPv4CreateOptions added in v0.9.7

type PublicInterfaceIPv4CreateOptions struct {
	// addresses is the IPv4 addresses for the public interface.
	// +optional
	// +listType=map
	// +listMapKey=address
	Addresses []PublicInterfaceIPv4AddressCreateOptions `json:"addresses,omitempty"`
}

PublicInterfaceIPv4CreateOptions defines the PublicInterfaceIPv4AddressCreateOptions for addresses

func (*PublicInterfaceIPv4CreateOptions) DeepCopy added in v0.9.7

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

func (*PublicInterfaceIPv4CreateOptions) DeepCopyInto added in v0.9.7

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

type PublicInterfaceIPv6CreateOptions added in v0.9.7

type PublicInterfaceIPv6CreateOptions struct {
	// ranges is the IPv6 ranges for the public interface.
	// +optional
	// +listType=map
	// +listMapKey=range
	Ranges []PublicInterfaceIPv6RangeCreateOptions `json:"ranges,omitempty"`
}

PublicInterfaceIPv6CreateOptions defines the PublicInterfaceIPv6RangeCreateOptions

func (*PublicInterfaceIPv6CreateOptions) DeepCopy added in v0.9.7

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

func (*PublicInterfaceIPv6CreateOptions) DeepCopyInto added in v0.9.7

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

type PublicInterfaceIPv6RangeCreateOptions added in v0.9.7

type PublicInterfaceIPv6RangeCreateOptions struct {
	// range is the IPv6 range for the public interface.
	// +kubebuilder:validation:MinLength=1
	// +required
	Range string `json:"range,omitempty"`
}

PublicInterfaceIPv6RangeCreateOptions defines the IPv6 range for a public interface

func (*PublicInterfaceIPv6RangeCreateOptions) DeepCopy added in v0.9.7

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

func (*PublicInterfaceIPv6RangeCreateOptions) DeepCopyInto added in v0.9.7

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

type VLANInterface added in v0.9.7

type VLANInterface struct {
	// vlanLabel is the label of the VLAN.
	// +kubebuilder:validation:MinLength=1
	// +required
	VLANLabel string `json:"vlanLabel,omitempty"`

	// ipamAddress is the IP address to assign to the interface.
	// +optional
	IPAMAddress *string `json:"ipamAddress,omitempty"`
}

VLANInterface defines the VLAN interface configuration for an instance

func (*VLANInterface) DeepCopy added in v0.9.7

func (in *VLANInterface) DeepCopy() *VLANInterface

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

func (*VLANInterface) DeepCopyInto added in v0.9.7

func (in *VLANInterface) DeepCopyInto(out *VLANInterface)

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

type VPCCreateOptionsIPv6 added in v0.9.2

type VPCCreateOptionsIPv6 struct {
	// range is the IPv6 prefix for the VPC.
	// +optional
	Range *string `json:"range,omitempty"`

	// allocationClass is the IPv6 inventory from which the VPC prefix should be allocated.
	// +optional
	AllocationClass *string `json:"allocationClass,omitempty"`
}

VPCCreateOptionsIPv6 defines the options for creating an IPv6 range in a VPC. It's copied from linodego.VPCCreateOptionsIPv6 and should be kept in sync. Values supported by the linode API should be used here. See https://techdocs.akamai.com/linode-api/reference/post-vpc for more details.

func (*VPCCreateOptionsIPv6) DeepCopy added in v0.9.2

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

func (*VPCCreateOptionsIPv6) DeepCopyInto added in v0.9.2

func (in *VPCCreateOptionsIPv6) DeepCopyInto(out *VPCCreateOptionsIPv6)

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

type VPCIPv4 added in v0.6.0

type VPCIPv4 struct {
	// vpc is the ID of the VPC to use for the interface.
	// +optional
	VPC string `json:"vpc,omitempty"`

	// nat1to1 is the NAT 1:1 address for the interface.
	// +optional
	NAT1To1 string `json:"nat1to1,omitempty"`
}

VPCIPv4 defines VPC IPV4 settings

func (*VPCIPv4) DeepCopy added in v0.6.0

func (in *VPCIPv4) DeepCopy() *VPCIPv4

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

func (*VPCIPv4) DeepCopyInto added in v0.6.0

func (in *VPCIPv4) DeepCopyInto(out *VPCIPv4)

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

type VPCInterfaceCreateOptions added in v0.9.7

type VPCInterfaceCreateOptions struct {
	// subnetId is the ID of the subnet to use for the interface.
	// +optional
	SubnetID *int `json:"subnetId,omitempty"`

	// ipv4 is the IPv4 configuration for the interface.
	// +optional
	IPv4 *VPCInterfaceIPv4CreateOptions `json:"ipv4,omitempty"`

	// ipv6 is the IPv6 configuration for the interface.
	// +optional
	IPv6 *VPCInterfaceIPv6CreateOptions `json:"ipv6,omitempty"`
}

VPCInterfaceCreateOptions defines the VPC interface configuration for an instance

func (*VPCInterfaceCreateOptions) DeepCopy added in v0.9.7

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

func (*VPCInterfaceCreateOptions) DeepCopyInto added in v0.9.7

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

type VPCInterfaceIPv4AddressCreateOptions added in v0.9.7

type VPCInterfaceIPv4AddressCreateOptions struct {
	// address is the IPv4 address for the interface.
	// +kubebuilder:validation:MinLength=1
	// +required
	Address string `json:"address,omitempty"`

	// primary is a boolean indicating whether the address is primary.
	// +optional
	Primary *bool `json:"primary,omitempty"`

	// nat1to1Address is the NAT 1:1 address for the interface.
	// +optional
	NAT1To1Address *string `json:"nat1to1Address,omitempty"`
}

VPCInterfaceIPv4AddressCreateOptions defines the IPv4 configuration for a VPC interface

func (*VPCInterfaceIPv4AddressCreateOptions) DeepCopy added in v0.9.7

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

func (*VPCInterfaceIPv4AddressCreateOptions) DeepCopyInto added in v0.9.7

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

type VPCInterfaceIPv4CreateOptions added in v0.9.7

type VPCInterfaceIPv4CreateOptions struct {
	// addresses is the IPv4 addresses for the interface.
	// +optional
	// +listType=map
	// +listMapKey=address
	Addresses []VPCInterfaceIPv4AddressCreateOptions `json:"addresses,omitempty"`

	// ranges is the IPv4 ranges for the interface.
	// +optional
	// +listType=map
	// +listMapKey=range
	Ranges []VPCInterfaceIPv4RangeCreateOptions `json:"ranges,omitempty"`
}

VPCInterfaceIPv4CreateOptions defines the IPv4 address and range configuration for a VPC interface

func (*VPCInterfaceIPv4CreateOptions) DeepCopy added in v0.9.7

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

func (*VPCInterfaceIPv4CreateOptions) DeepCopyInto added in v0.9.7

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

type VPCInterfaceIPv4RangeCreateOptions added in v0.9.7

type VPCInterfaceIPv4RangeCreateOptions struct {
	// range is the IPv4 range for the interface.
	// +kubebuilder:validation:MinLength=1
	// +required
	Range string `json:"range,omitempty"`
}

VPCInterfaceIPv4RangeCreateOptions defines the IPv4 range for a VPC interface

func (*VPCInterfaceIPv4RangeCreateOptions) DeepCopy added in v0.9.7

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

func (*VPCInterfaceIPv4RangeCreateOptions) DeepCopyInto added in v0.9.7

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

type VPCInterfaceIPv6CreateOptions added in v0.9.7

type VPCInterfaceIPv6CreateOptions struct {
	// slaac is the IPv6 SLAAC configuration for the interface.
	// +optional
	// +listType=map
	// +listMapKey=range
	SLAAC []VPCInterfaceIPv6SLAACCreateOptions `json:"slaac,omitempty"`

	// ranges is the IPv6 ranges for the interface.
	// +optional
	// +listType=map
	// +listMapKey=range
	Ranges []VPCInterfaceIPv6RangeCreateOptions `json:"ranges,omitempty"`

	// isPublic is a boolean indicating whether the interface is public.
	// +required
	IsPublic *bool `json:"isPublic,omitempty"`
}

VPCInterfaceIPv6CreateOptions defines the IPv6 configuration for a VPC interface

func (*VPCInterfaceIPv6CreateOptions) DeepCopy added in v0.9.7

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

func (*VPCInterfaceIPv6CreateOptions) DeepCopyInto added in v0.9.7

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

type VPCInterfaceIPv6RangeCreateOptions added in v0.9.7

type VPCInterfaceIPv6RangeCreateOptions struct {
	// range is the IPv6 range for the interface.
	// +kubebuilder:validation:MinLength=1
	// +required
	Range string `json:"range,omitempty"`
}

VPCInterfaceIPv6RangeCreateOptions defines the IPv6 range for a VPC interface

func (*VPCInterfaceIPv6RangeCreateOptions) DeepCopy added in v0.9.7

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

func (*VPCInterfaceIPv6RangeCreateOptions) DeepCopyInto added in v0.9.7

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

type VPCInterfaceIPv6SLAACCreateOptions added in v0.9.7

type VPCInterfaceIPv6SLAACCreateOptions struct {
	// range is the IPv6 range for the interface.
	// +kubebuilder:validation:MinLength=1
	// +required
	Range string `json:"range,omitempty"`
}

VPCInterfaceIPv6SLAACCreateOptions defines the Range for IPv6 SLAAC

func (*VPCInterfaceIPv6SLAACCreateOptions) DeepCopy added in v0.9.7

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

func (*VPCInterfaceIPv6SLAACCreateOptions) DeepCopyInto added in v0.9.7

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

type VPCStatusError added in v0.6.0

type VPCStatusError string

VPCStatusError defines errors states for VPC objects.

const (
	// CreateVPCError indicates that an error was encountered
	// when trying to create the VPC.
	CreateVPCError VPCStatusError = "CreateError"

	// UpdateVPCError indicates that an error was encountered
	// when trying to update the VPC.
	UpdateVPCError VPCStatusError = "UpdateError"

	// DeleteVPCError indicates that an error was encountered
	// when trying to delete the VPC.
	DeleteVPCError VPCStatusError = "DeleteError"
)

type VPCSubnetCreateOptions added in v0.6.0

type VPCSubnetCreateOptions struct {
	// label is the label of the subnet.
	// +kubebuilder:validation:MinLength=3
	// +kubebuilder:validation:MaxLength=63
	// +optional
	Label string `json:"label,omitempty"`

	// ipv4 is the IPv4 address range of the subnet.
	// +optional
	IPv4 string `json:"ipv4,omitempty"`

	// ipv6 is a list of IPv6 ranges allocated to the subnet.
	// Once ranges are allocated based on the IPv6Range field, they will be
	// added to this field.
	// +optional
	// +listType=map
	// +listMapKey=range
	IPv6 []linodego.VPCIPv6Range `json:"ipv6,omitempty"`

	// ipv6Range is a list of IPv6 ranges to allocate to the subnet.
	// If not specified, the subnet will not have an IPv6 range allocated.
	// Once ranges are allocated, they will be added to the IPv6 field.
	// +optional
	// +listType=atomic
	IPv6Range []VPCSubnetCreateOptionsIPv6 `json:"ipv6Range,omitempty"`

	// subnetID is subnet id for the subnet
	// +optional
	SubnetID int `json:"subnetID,omitempty"`

	// retain allows you to keep the Subnet after the LinodeVPC object is deleted.
	// This is only applicable when the parent VPC has retain set to true.
	// +optional
	// +kubebuilder:default=false
	Retain bool `json:"retain,omitempty"`
}

VPCSubnetCreateOptions defines subnet options

func (*VPCSubnetCreateOptions) DeepCopy added in v0.6.0

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

func (*VPCSubnetCreateOptions) DeepCopyInto added in v0.6.0

func (in *VPCSubnetCreateOptions) DeepCopyInto(out *VPCSubnetCreateOptions)

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

type VPCSubnetCreateOptionsIPv6 added in v0.9.2

type VPCSubnetCreateOptionsIPv6 struct {
	// range is the IPv6 prefix for the subnet.
	// +optional
	Range *string `json:"range,omitempty"`
}

VPCSubnetCreateOptionsIPv6 defines the options for creating an IPv6 range in a VPC subnet. It's copied from linodego.VPCSubnetCreateOptionsIPv6 and should be kept in sync. Values supported by the linode API should be used here. See https://techdocs.akamai.com/linode-api/reference/post-vpc-subnet for more details.

func (*VPCSubnetCreateOptionsIPv6) DeepCopy added in v0.9.2

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

func (*VPCSubnetCreateOptionsIPv6) DeepCopyInto added in v0.9.2

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