v1alpha1

package
v0.0.0-...-0c44014 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=loadbalancer.hcloud.upbound.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "loadbalancer.hcloud.upbound.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	Balancer_Kind             = "Balancer"
	Balancer_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Balancer_Kind}.String()
	Balancer_KindAPIVersion   = Balancer_Kind + "." + CRDGroupVersion.String()
	Balancer_GroupVersionKind = CRDGroupVersion.WithKind(Balancer_Kind)
)

Repository type metadata.

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

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

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

Functions

This section is empty.

Types

type AlgorithmInitParameters

type AlgorithmInitParameters struct {

	// Type of the Load Balancer Algorithm. round_robin or least_connections
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*AlgorithmInitParameters) DeepCopy

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

func (*AlgorithmInitParameters) DeepCopyInto

func (in *AlgorithmInitParameters) DeepCopyInto(out *AlgorithmInitParameters)

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

type AlgorithmObservation

type AlgorithmObservation struct {

	// Type of the Load Balancer Algorithm. round_robin or least_connections
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*AlgorithmObservation) DeepCopy

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

func (*AlgorithmObservation) DeepCopyInto

func (in *AlgorithmObservation) DeepCopyInto(out *AlgorithmObservation)

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

type AlgorithmParameters

type AlgorithmParameters struct {

	// Type of the Load Balancer Algorithm. round_robin or least_connections
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*AlgorithmParameters) DeepCopy

func (in *AlgorithmParameters) DeepCopy() *AlgorithmParameters

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

func (*AlgorithmParameters) DeepCopyInto

func (in *AlgorithmParameters) DeepCopyInto(out *AlgorithmParameters)

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

type Balancer

type Balancer struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.loadBalancerType) || (has(self.initProvider) && has(self.initProvider.loadBalancerType))",message="spec.forProvider.loadBalancerType is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   BalancerSpec   `json:"spec"`
	Status BalancerStatus `json:"status,omitempty"`
}

Balancer is the Schema for the Balancers API. Provides a Hetzner Cloud Load Balancer to represent a Load Balancer in the Hetzner Cloud. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,hcloud}

func (*Balancer) DeepCopy

func (in *Balancer) DeepCopy() *Balancer

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

func (*Balancer) DeepCopyInto

func (in *Balancer) DeepCopyInto(out *Balancer)

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

func (*Balancer) DeepCopyObject

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

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

func (*Balancer) GetCondition

func (mg *Balancer) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Balancer.

func (*Balancer) GetConnectionDetailsMapping

func (tr *Balancer) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Balancer

func (*Balancer) GetDeletionPolicy

func (mg *Balancer) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Balancer.

func (*Balancer) GetID

func (tr *Balancer) GetID() string

GetID returns ID of underlying Terraform resource of this Balancer

func (*Balancer) GetInitParameters

func (tr *Balancer) GetInitParameters() (map[string]any, error)

GetInitParameters of this Balancer

func (*Balancer) GetManagementPolicies

func (mg *Balancer) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Balancer.

func (*Balancer) GetMergedParameters

func (tr *Balancer) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Balancer

func (*Balancer) GetObservation

func (tr *Balancer) GetObservation() (map[string]any, error)

GetObservation of this Balancer

func (*Balancer) GetParameters

func (tr *Balancer) GetParameters() (map[string]any, error)

GetParameters of this Balancer

func (*Balancer) GetProviderConfigReference

func (mg *Balancer) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Balancer.

func (*Balancer) GetPublishConnectionDetailsTo

func (mg *Balancer) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Balancer.

func (*Balancer) GetTerraformResourceType

func (mg *Balancer) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Balancer

func (*Balancer) GetTerraformSchemaVersion

func (tr *Balancer) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Balancer) GetWriteConnectionSecretToReference

func (mg *Balancer) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Balancer.

func (*Balancer) Hub

func (tr *Balancer) Hub()

Hub marks this type as a conversion hub.

func (*Balancer) LateInitialize

func (tr *Balancer) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Balancer using its observed tfState. returns True if there are any spec changes for the resource.

func (*Balancer) SetConditions

func (mg *Balancer) SetConditions(c ...xpv1.Condition)

SetConditions of this Balancer.

func (*Balancer) SetDeletionPolicy

func (mg *Balancer) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Balancer.

func (*Balancer) SetManagementPolicies

func (mg *Balancer) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Balancer.

func (*Balancer) SetObservation

func (tr *Balancer) SetObservation(obs map[string]any) error

SetObservation for this Balancer

func (*Balancer) SetParameters

func (tr *Balancer) SetParameters(params map[string]any) error

SetParameters for this Balancer

func (*Balancer) SetProviderConfigReference

func (mg *Balancer) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Balancer.

func (*Balancer) SetPublishConnectionDetailsTo

func (mg *Balancer) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Balancer.

func (*Balancer) SetWriteConnectionSecretToReference

func (mg *Balancer) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Balancer.

type BalancerInitParameters

type BalancerInitParameters struct {

	// Configuration of the algorithm the Load Balancer use.
	Algorithm []AlgorithmInitParameters `json:"algorithm,omitempty" tf:"algorithm,omitempty"`

	// Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
	DeleteProtection *bool `json:"deleteProtection,omitempty" tf:"delete_protection,omitempty"`

	// User-defined labels (key-value pairs) should be created with.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Type of the Load Balancer.
	LoadBalancerType *string `json:"loadBalancerType,omitempty" tf:"load_balancer_type,omitempty"`

	// The location name of the Load Balancer. Require when no network_zone is set.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Name of the Load Balancer.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The Network Zone of the Load Balancer. Require when no location is set.
	NetworkZone *string `json:"networkZone,omitempty" tf:"network_zone,omitempty"`

	Target []TargetInitParameters `json:"target,omitempty" tf:"target,omitempty"`
}

func (*BalancerInitParameters) DeepCopy

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

func (*BalancerInitParameters) DeepCopyInto

func (in *BalancerInitParameters) DeepCopyInto(out *BalancerInitParameters)

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

type BalancerList

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

BalancerList contains a list of Balancers

func (*BalancerList) DeepCopy

func (in *BalancerList) DeepCopy() *BalancerList

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

func (*BalancerList) DeepCopyInto

func (in *BalancerList) DeepCopyInto(out *BalancerList)

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

func (*BalancerList) DeepCopyObject

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

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

func (*BalancerList) GetItems

func (l *BalancerList) GetItems() []resource.Managed

GetItems of this BalancerList.

type BalancerObservation

type BalancerObservation struct {

	// Configuration of the algorithm the Load Balancer use.
	Algorithm []AlgorithmObservation `json:"algorithm,omitempty" tf:"algorithm,omitempty"`

	// Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
	DeleteProtection *bool `json:"deleteProtection,omitempty" tf:"delete_protection,omitempty"`

	// (int) Unique ID of the Load Balancer.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// (string) IPv4 Address of the Load Balancer.
	IPv4 *string `json:"ipv4,omitempty" tf:"ipv4,omitempty"`

	// (string) IPv6 Address of the Load Balancer.
	IPv6 *string `json:"ipv6,omitempty" tf:"ipv6,omitempty"`

	// User-defined labels (key-value pairs) should be created with.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Type of the Load Balancer.
	LoadBalancerType *string `json:"loadBalancerType,omitempty" tf:"load_balancer_type,omitempty"`

	// The location name of the Load Balancer. Require when no network_zone is set.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Name of the Load Balancer.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (int) ID of the first private network that this Load Balancer is connected to.
	NetworkID *float64 `json:"networkId,omitempty" tf:"network_id,omitempty"`

	// (string) IP of the Load Balancer in the first private network that it is connected to.
	NetworkIP *string `json:"networkIp,omitempty" tf:"network_ip,omitempty"`

	// The Network Zone of the Load Balancer. Require when no location is set.
	NetworkZone *string `json:"networkZone,omitempty" tf:"network_zone,omitempty"`

	Target []TargetObservation `json:"target,omitempty" tf:"target,omitempty"`
}

func (*BalancerObservation) DeepCopy

func (in *BalancerObservation) DeepCopy() *BalancerObservation

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

func (*BalancerObservation) DeepCopyInto

func (in *BalancerObservation) DeepCopyInto(out *BalancerObservation)

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

type BalancerParameters

type BalancerParameters struct {

	// Configuration of the algorithm the Load Balancer use.
	// +kubebuilder:validation:Optional
	Algorithm []AlgorithmParameters `json:"algorithm,omitempty" tf:"algorithm,omitempty"`

	// Enable or disable delete protection. See "Delete Protection" in the Provider Docs for details.
	// +kubebuilder:validation:Optional
	DeleteProtection *bool `json:"deleteProtection,omitempty" tf:"delete_protection,omitempty"`

	// User-defined labels (key-value pairs) should be created with.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// Type of the Load Balancer.
	// +kubebuilder:validation:Optional
	LoadBalancerType *string `json:"loadBalancerType,omitempty" tf:"load_balancer_type,omitempty"`

	// The location name of the Load Balancer. Require when no network_zone is set.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Name of the Load Balancer.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The Network Zone of the Load Balancer. Require when no location is set.
	// +kubebuilder:validation:Optional
	NetworkZone *string `json:"networkZone,omitempty" tf:"network_zone,omitempty"`

	// +kubebuilder:validation:Optional
	Target []TargetParameters `json:"target,omitempty" tf:"target,omitempty"`
}

func (*BalancerParameters) DeepCopy

func (in *BalancerParameters) DeepCopy() *BalancerParameters

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

func (*BalancerParameters) DeepCopyInto

func (in *BalancerParameters) DeepCopyInto(out *BalancerParameters)

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

type BalancerSpec

type BalancerSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     BalancerParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider BalancerInitParameters `json:"initProvider,omitempty"`
}

BalancerSpec defines the desired state of Balancer

func (*BalancerSpec) DeepCopy

func (in *BalancerSpec) DeepCopy() *BalancerSpec

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

func (*BalancerSpec) DeepCopyInto

func (in *BalancerSpec) DeepCopyInto(out *BalancerSpec)

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

type BalancerStatus

type BalancerStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        BalancerObservation `json:"atProvider,omitempty"`
}

BalancerStatus defines the observed state of Balancer.

func (*BalancerStatus) DeepCopy

func (in *BalancerStatus) DeepCopy() *BalancerStatus

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

func (*BalancerStatus) DeepCopyInto

func (in *BalancerStatus) DeepCopyInto(out *BalancerStatus)

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

type TargetInitParameters

type TargetInitParameters struct {

	// (int) Unique ID of the Load Balancer.
	ServerID *float64 `json:"serverId,omitempty" tf:"server_id,omitempty"`

	// Type of the Load Balancer Algorithm. round_robin or least_connections
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	UsePrivateIP *bool `json:"usePrivateIp,omitempty" tf:"use_private_ip,omitempty"`
}

func (*TargetInitParameters) DeepCopy

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

func (*TargetInitParameters) DeepCopyInto

func (in *TargetInitParameters) DeepCopyInto(out *TargetInitParameters)

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

type TargetObservation

type TargetObservation struct {

	// (int) Unique ID of the Load Balancer.
	ServerID *float64 `json:"serverId,omitempty" tf:"server_id,omitempty"`

	// Type of the Load Balancer Algorithm. round_robin or least_connections
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	UsePrivateIP *bool `json:"usePrivateIp,omitempty" tf:"use_private_ip,omitempty"`
}

func (*TargetObservation) DeepCopy

func (in *TargetObservation) DeepCopy() *TargetObservation

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

func (*TargetObservation) DeepCopyInto

func (in *TargetObservation) DeepCopyInto(out *TargetObservation)

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

type TargetParameters

type TargetParameters struct {

	// (int) Unique ID of the Load Balancer.
	// +kubebuilder:validation:Optional
	ServerID *float64 `json:"serverId,omitempty" tf:"server_id,omitempty"`

	// Type of the Load Balancer Algorithm. round_robin or least_connections
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`

	// +kubebuilder:validation:Optional
	UsePrivateIP *bool `json:"usePrivateIp,omitempty" tf:"use_private_ip,omitempty"`
}

func (*TargetParameters) DeepCopy

func (in *TargetParameters) DeepCopy() *TargetParameters

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

func (*TargetParameters) DeepCopyInto

func (in *TargetParameters) DeepCopyInto(out *TargetParameters)

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