Help us shape the future of Go! Take the 2026 Go Developer Survey

v1alpha2

package
v0.10.17 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2026 License: Apache-2.0 Imports: 9 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
	//nolint:kubeapilinter // to maintain backwards compatibility
	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.9.9

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.9.9

func (in *InstanceDisks) DeepCopy() *InstanceDisks

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

func (*InstanceDisks) DeepCopyInto added in v0.9.9

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.9.9

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

func (*LinodeCluster) GetConditions

func (lc *LinodeCluster) GetConditions() []metav1.Condition

func (*LinodeCluster) Hub

func (*LinodeCluster) Hub()

Hub marks LinodeCluster as a conversion hub.

func (*LinodeCluster) IsPaused added in v0.9.9

func (lc *LinodeCluster) IsPaused() bool

func (*LinodeCluster) SetCondition added in v0.9.9

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

func (*LinodeCluster) SetConditions

func (lc *LinodeCluster) SetConditions(conditions []metav1.Condition)

type LinodeClusterInitializationStatus added in v0.10.16

type LinodeClusterInitializationStatus struct {
	// provisioned is true when the infrastructure provider reports that the Cluster's infrastructure is fully provisioned.
	// NOTE: this field is part of the Cluster API contract, and it is used to orchestrate initial Cluster provisioning.
	// +optional
	Provisioned *bool `json:"provisioned,omitempty"`
}

LinodeClusterInitializationStatus provides observations of the LinodeCluster initialization process. +kubebuilder:validation:MinProperties=1

func (*LinodeClusterInitializationStatus) DeepCopy added in v0.10.16

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

func (*LinodeClusterInitializationStatus) DeepCopyInto added in v0.10.16

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

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"`

	// initialization provides observations of the LinodeCluster initialization process.
	// NOTE: Fields in this struct are part of the Cluster API contract and are used to orchestrate initial Cluster provisioning.
	// +optional
	Initialization LinodeClusterInitializationStatus `json:"initialization,omitempty,omitzero"`

	// 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.9.9

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

func (*LinodeFirewall) GetConditions added in v0.6.1

func (lfw *LinodeFirewall) GetConditions() []metav1.Condition

func (*LinodeFirewall) IsPaused added in v0.9.9

func (lfw *LinodeFirewall) IsPaused() bool

func (*LinodeFirewall) SetCondition added in v0.9.9

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

func (*LinodeFirewall) SetConditions added in v0.6.1

func (lfw *LinodeFirewall) SetConditions(conditions []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"`

	// firewall_id is the ID of the firewall to use for the interface.
	// +optional
	//nolint:kubeapilinter // to maintain backwards compatibility
	FirewallIDLegacy *int `json:"firewall_id,omitempty"`

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

	// default_route is the default route for the interface.
	// +optional
	//nolint:kubeapilinter // to maintain backwards compatibility
	DefaultRouteLegacy *InterfaceDefaultRoute `json:"default_route,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"`

	// rdmaVPC attaches this interface entry to an RDMA VPC subnet.
	// Mutually exclusive with vpc, public and vlan.
	// firewallID is ignored for rdmaVPC entries
	// NOTE: RDMA VPC interfaces may not currently be available to all users.
	// +optional
	RDMAVPC *RDMAVPCInterfaceSpec `json:"rdmaVPC,omitempty"`
}

LinodeInterfaceCreateOptions defines the linode network interface config +kubebuilder:validation:XValidation:rule="!has(self.rdmaVPC) || (!has(self.vpc) && !has(self.public) && !has(self.vlan))",message="rdmaVPC is mutually exclusive with vpc, public, and vlan"

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.9.9

func (lm *LinodeMachine) DeleteCondition(condType string)

func (*LinodeMachine) GetCondition added in v0.9.9

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

func (*LinodeMachine) GetConditions added in v0.6.0

func (lm *LinodeMachine) GetConditions() []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.9.9

func (lm *LinodeMachine) IsPaused() bool

func (*LinodeMachine) SetCondition added in v0.9.9

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

func (*LinodeMachine) SetConditions added in v0.6.0

func (lm *LinodeMachine) SetConditions(conditions []metav1.Condition)

type LinodeMachineInitializationStatus added in v0.10.16

type LinodeMachineInitializationStatus struct {
	// provisioned is true when the infrastructure provider reports that the Machine's infrastructure is fully provisioned.
	// NOTE: this field is part of the Cluster API contract, and it is used to orchestrate initial Cluster provisioning.
	// +optional
	Provisioned *bool `json:"provisioned,omitempty"`
}

LinodeMachineInitializationStatus provides observations of the LinodeMachine initialization process. +kubebuilder:validation:MinProperties=1

func (*LinodeMachineInitializationStatus) DeepCopy added in v0.10.16

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

func (*LinodeMachineInitializationStatus) DeepCopyInto added in v0.10.16

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

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"`

	// placementGroupID is the ID of an existing placement group to associate with the Linode instance.
	// It takes precedence over placementGroupRef when both are set.
	// +optional
	// +kubebuilder:validation:Minimum=1
	PlacementGroupID int `json:"placementGroupID,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"`

	// initialization provides observations of the LinodeMachine initialization process.
	// NOTE: Fields in this struct are part of the Cluster API contract and are used to orchestrate initial Cluster provisioning.
	// +optional
	Initialization LinodeMachineInitializationStatus `json:"initialization,omitempty,omitzero"`

	// 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 are 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.9.9

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"`

	// placementGroupID that is currently associated with the LinodeMachineTemplate
	// +optional
	PlacementGroupID int `json:"placementGroupID,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.9.9

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.9.9

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"`

	// failureReason will be set in the event that there is a terminal problem
	// reconciling the Object Storage Bucket and will contain a succinct value suitable
	// for machine interpretation.
	// +optional
	FailureReason *string `json:"failureReason,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.9.9

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

func (*LinodeObjectStorageKey) SetCondition added in v0.9.9

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: secretType is no longer supported, 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: secretDataFormat is no longer supported, please 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"`

	// failureReason will be set in the event that there is a terminal problem
	// reconciling the Object Storage Key and will contain a succinct value suitable
	// for machine interpretation.
	// +optional
	FailureReason *string `json:"failureReason,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.9.9

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

func (*LinodePlacementGroup) GetConditions added in v0.6.0

func (lpg *LinodePlacementGroup) GetConditions() []metav1.Condition

func (*LinodePlacementGroup) IsPaused added in v0.9.9

func (lpg *LinodePlacementGroup) IsPaused() bool

func (*LinodePlacementGroup) SetCondition added in v0.9.9

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

func (*LinodePlacementGroup) SetConditions added in v0.6.0

func (lpg *LinodePlacementGroup) SetConditions(conditions []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.9.9

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

func (*LinodeVPC) GetConditions added in v0.6.0

func (lv *LinodeVPC) GetConditions() []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.9.9

func (lv *LinodeVPC) IsPaused() bool

func (*LinodeVPC) SetCondition added in v0.9.9

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

func (*LinodeVPC) SetConditions added in v0.6.0

func (lv *LinodeVPC) SetConditions(conditions []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,omitzero"`

	// ipv4 is a list of IPv4 ranges allocated to the VPC.
	// Once ranges are allocated based on the IPv4Range field, they will be
	// added to this field.
	// +optional
	// +listType=map
	// +listMapKey=range
	IPv4 []linodego.VPCIPv4Range `json:"ipv4,omitzero"`

	// 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,omitzero"`

	// ipv4Range is a list of IPv4 ranges to allocate to the VPC.
	// If not specified, the VPC will not have an IPv4 range allocated.
	// Once ranges are allocated, they will be added to the IPv4 field.
	// +optional
	// +listType=atomic
	IPv4Range []string `json:"ipv4Range,omitzero"`

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

	// vpcType is the type of VPC to create. Valid values are "regular" and "rdma".
	// Defaults to "regular". Set to "rdma" to create a GPUDirect RDMA VPC.
	// NOTE: RDMA VPCs may not currently be available to all users.
	// +kubebuilder:validation:Enum=regular;rdma
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +kubebuilder:default=regular
	// +optional
	VPCType linodego.VPCType `json:"vpcType,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"`

	// secondaryCredentialsRef is an optional reference to a Secret that contains credentials for a secondary
	// Cluster Object Store. It is used only when the primary Object Store cannot upload bootstrap data and
	// generate a non-empty presigned URL.
	// +optional
	SecondaryCredentialsRef *corev1.SecretReference `json:"secondaryCredentialsRef,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 RDMAVPCInterfaceSpec added in v0.10.14

type RDMAVPCInterfaceSpec struct {
	// subnetID is the ID of the RDMA VPC subnet to attach.
	// Use when the subnet ID is known upfront. Mutually exclusive with vpcRef/subnetName.
	// +optional
	SubnetID *int `json:"subnetID,omitempty"`

	// vpcRef is a reference to a LinodeVPC resource with vpcType=rdma managed by CAPL.
	// CAPL resolves the subnet ID at reconcile time using subnetName.
	// Mutually exclusive with subnetID.
	// +optional
	VPCRef *corev1.ObjectReference `json:"vpcRef,omitempty"`

	// subnetName is the label of the subnet within the referenced LinodeVPC.
	// Required when vpcRef is set.
	// +optional
	SubnetName string `json:"subnetName,omitempty"`
}

RDMAVPCInterfaceSpec defines an RDMA VPC subnet attachment within a linodeInterfaces entry. Mirrors linodego.RDMAVPCInterfaceCreateOptions. IP address assignment is always auto. Specify either subnetID (direct) or vpcRef+subnetName (resolved at reconcile time). +kubebuilder:validation:XValidation:rule=(has(self.subnetID) && !has(self.vpcRef)) || (!has(self.subnetID) && has(self.vpcRef) && self.subnetName != ""),message="specify either subnetID alone, or both vpcRef and a non-empty subnetName"

func (*RDMAVPCInterfaceSpec) DeepCopy added in v0.10.14

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

func (*RDMAVPCInterfaceSpec) DeepCopyInto added in v0.10.14

func (in *RDMAVPCInterfaceSpec) DeepCopyInto(out *RDMAVPCInterfaceSpec)

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
	// +optional
	VLANLabel string `json:"vlanLabel,omitempty"`

	// vlan_label is the label of the VLAN.
	// +kubebuilder:validation:MinLength=1
	// +optional
	//nolint:kubeapilinter // to maintain backwards compatibility
	VLANLabelLegacy string `json:"vlan_label,omitempty"`

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

	// ipam_address is the IP address to assign to the interface.
	// +optional
	//nolint:kubeapilinter  // to maintain backwards compatibility
	IPAMAddressLegacy *string `json:"ipam_address,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,omitzero"`

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

	// allocation_class is the IPv6 inventory from which the VPC prefix should be allocated.
	// +optional
	//nolint:kubeapilinter // to maintain backwards compatibility
	AllocationClassLegacy *string `json:"allocation_class,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"`

	// subnet_id is the ID of the subnet to use for the interface.
	// +optional
	//nolint:kubeapilinter // to maintain backwards compatibility
	SubnetIDLegacy *int `json:"subnet_id,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"`

	// nat_1_1_address is the NAT 1:1 address for the interface.
	// +optional
	//nolint:kubeapilinter // to maintain backwards compatibility
	NAT1To1AddressLegacy *string `json:"nat_1_1_address,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.
	// +optional
	IsPublic *bool `json:"isPublic,omitempty"`

	// +optional
	//nolint:kubeapilinter // to maintain backwards compatibility
	// is_public is a boolean indicating whether the interface is public.
	IsPublicLegacy *bool `json:"is_public,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,omitzero"`

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

	// 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,omitzero"`

	// 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,omitzero"`

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

	// 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,omitzero"`
}

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