v1alpha1

package
v1.1.6 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package v1alpha1 contains the v1alpha1 group ApplicationLoadBalancer resources of the IONOS Cloud provider. +kubebuilder:object:generate=true +groupName=alb.ionoscloud.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	Group   = "alb.ionoscloud.crossplane.io"
	Version = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	ApplicationLoadBalancerKind             = reflect.TypeOf(ApplicationLoadBalancer{}).Name()
	ApplicationLoadBalancerGroupKind        = schema.GroupKind{Group: Group, Kind: ApplicationLoadBalancerKind}.String()
	ApplicationLoadBalancerKindAPIVersion   = ApplicationLoadBalancerKind + "." + SchemeGroupVersion.String()
	ApplicationLoadBalancerGroupVersionKind = SchemeGroupVersion.WithKind(ApplicationLoadBalancerKind)
)

ApplicationLoadBalancer type metadata.

View Source
var (
	ForwardingRuleKind             = reflect.TypeOf(ForwardingRule{}).Name()
	ForwardingRuleGroupKind        = schema.GroupKind{Group: Group, Kind: ForwardingRuleKind}.String()
	ForwardingRuleKindAPIVersion   = ForwardingRuleKind + "." + SchemeGroupVersion.String()
	ForwardingRuleGroupVersionKind = SchemeGroupVersion.WithKind(ForwardingRuleKind)
)

ApplicationLoadBalancer type metadata.

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	TargetGroupKind             = reflect.TypeOf(TargetGroup{}).Name()
	TargetGroupGroupKind        = schema.GroupKind{Group: Group, Kind: TargetGroupKind}.String()
	TargetGroupKindAPIVersion   = TargetGroupKind + "." + SchemeGroupVersion.String()
	TargetGroupGroupVersionKind = SchemeGroupVersion.WithKind(TargetGroupKind)
)

TargetGroup type metadata.

Functions

func ExtractApplicationLoadBalancerID

func ExtractApplicationLoadBalancerID() reference.ExtractValueFn

ExtractApplicationLoadBalancerID returns the externalName of a referenced ApplicationLoadBalancer.

func ExtractTargetGroupID

func ExtractTargetGroupID() reference.ExtractValueFn

ExtractTargetGroupID returns the externalName of a referenced TargetGroup.

Types

type ApplicationLoadBalancer

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

	Spec   ApplicationLoadBalancerSpec   `json:"spec"`
	Status ApplicationLoadBalancerStatus `json:"status,omitempty"`
}

An ApplicationLoadBalancer is an example API type. +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="DATACENTER ID",type="string",JSONPath=".spec.forProvider.datacenterConfig.datacenterId" +kubebuilder:printcolumn:name="APPLICATIONLOADBALANCER ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="APPLICATIONLOADBALANCER NAME",type="string",JSONPath=".spec.forProvider.name" +kubebuilder:printcolumn:name="LISTENER LAN",priority=1,type="string",JSONPath=".spec.forProvider.listenerLanConfig.lanId" +kubebuilder:printcolumn:name="TARGET LAN",priority=1,type="string",JSONPath=".spec.forProvider.targetLanConfig.lanId" +kubebuilder:printcolumn:name="IPS",priority=1,type="string",JSONPath=".status.atProvider.publicIps" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.atProvider.state" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud},shortName=alb;applicationlb

func (*ApplicationLoadBalancer) DeepCopy

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

func (*ApplicationLoadBalancer) DeepCopyInto

func (in *ApplicationLoadBalancer) DeepCopyInto(out *ApplicationLoadBalancer)

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

func (*ApplicationLoadBalancer) DeepCopyObject

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

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

func (*ApplicationLoadBalancer) GetCondition

GetCondition of this ApplicationLoadBalancer.

func (*ApplicationLoadBalancer) GetDeletionPolicy

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

GetDeletionPolicy of this ApplicationLoadBalancer.

func (*ApplicationLoadBalancer) GetManagementPolicies added in v1.0.6

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

GetManagementPolicies of this ApplicationLoadBalancer.

func (*ApplicationLoadBalancer) GetProviderConfigReference

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

GetProviderConfigReference of this ApplicationLoadBalancer.

func (*ApplicationLoadBalancer) GetPublishConnectionDetailsTo added in v1.0.2

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

GetPublishConnectionDetailsTo of this ApplicationLoadBalancer.

func (*ApplicationLoadBalancer) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this ApplicationLoadBalancer.

func (*ApplicationLoadBalancer) ResolveReferences

func (mg *ApplicationLoadBalancer) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this ApplicationLoadBalancer.

func (*ApplicationLoadBalancer) SetConditions

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

SetConditions of this ApplicationLoadBalancer.

func (*ApplicationLoadBalancer) SetDeletionPolicy

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

SetDeletionPolicy of this ApplicationLoadBalancer.

func (*ApplicationLoadBalancer) SetManagementPolicies added in v1.0.6

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

SetManagementPolicies of this ApplicationLoadBalancer.

func (*ApplicationLoadBalancer) SetProviderConfigReference

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

SetProviderConfigReference of this ApplicationLoadBalancer.

func (*ApplicationLoadBalancer) SetPublishConnectionDetailsTo added in v1.0.2

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

SetPublishConnectionDetailsTo of this ApplicationLoadBalancer.

func (*ApplicationLoadBalancer) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this ApplicationLoadBalancer.

type ApplicationLoadBalancerConfig

type ApplicationLoadBalancerConfig struct {
	// ApplicationLoadBalancerID is the ID of the ApplicationLoadBalancer on which the resource should have access.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=ApplicationLoadBalancer
	// +crossplane:generate:reference:extractor=ExtractApplicationLoadBalancerID()
	ApplicationLoadBalancerID string `json:"applicationLoadBalancerId,omitempty"`
	// ApplicationLoadBalancerIDRef references to a Datacenter to retrieve its ID.
	//
	// +optional
	// +immutable
	ApplicationLoadBalancerIDRef *xpv1.Reference `json:"applicationLoadBalancerIdRef,omitempty"`
	// ApplicationLoadBalancerIDSelector selects reference to a Datacenter to retrieve its DatacenterID.
	//
	// +optional
	ApplicationLoadBalancerIDSelector *xpv1.Selector `json:"applicationLoadBalancerIdSelector,omitempty"`
}

ApplicationLoadBalancerConfig is used by resources that need to link application load balancers via id or via reference.

func (*ApplicationLoadBalancerConfig) DeepCopy

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

func (*ApplicationLoadBalancerConfig) DeepCopyInto

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

type ApplicationLoadBalancerHTTPRule

type ApplicationLoadBalancerHTTPRule struct {
	// The unique name of the Application Load Balancer HTTP rule.
	//
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// Type of the HTTP rule.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=FORWARD;STATIC;REDIRECT
	Type string `json:"type"`
	// The ID of the target group; mandatory and only valid for FORWARD actions.
	// The ID can be set directly or via reference.
	//
	// +kubebuilder:validation:Optional
	TargetGroupCfg TargetGroupConfig `json:"targetGroupConfig,omitempty"`
	// Default is false; valid only for REDIRECT actions.
	//
	// +kubebuilder:validation:Optional
	DropQuery bool `json:"dropQuery,omitempty"`
	// The location for redirecting; mandatory and valid only for REDIRECT actions.
	// Example: www.ionos.com
	//
	// +kubebuilder:validation:Optional
	Location string `json:"location,omitempty"`
	// Valid only for REDIRECT and STATIC actions.
	// For REDIRECT actions, default is 301 and possible values are 301, 302, 303, 307, and 308.
	// For STATIC actions, default is 503 and valid range is 200 to 599.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=301;302;303;307;308;200;503;599
	StatusCode int32 `json:"statusCode,omitempty"`
	// The response message of the request; mandatory for STATIC actions.
	//
	// +kubebuilder:validation:Optional
	ResponseMessage string `json:"responseMessage,omitempty"`
	// Valid only for STATIC actions. Example: text/html
	//
	// +kubebuilder:validation:Optional
	ContentType string `json:"contentType,omitempty"`
	// An array of items in the collection.
	// The action is only performed if each and every condition is met; if no conditions are set, the rule will always be performed.
	//
	// +kubebuilder:validation:Optional
	Conditions []ApplicationLoadBalancerHTTPRuleCondition `json:"conditions,omitempty"`
}

ApplicationLoadBalancerHTTPRule struct for Application Load Balancer HTTP Rule Required fields in order to create an ApplicationLoadBalancerHTTPRule: Name, Type, TargetGroup (via ID or via reference) - required only for FORWARD actions. Location - required only for REDIRECT actions. ResponseMessage - required only for STATIC actions.

func (*ApplicationLoadBalancerHTTPRule) DeepCopy

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

func (*ApplicationLoadBalancerHTTPRule) DeepCopyInto

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

type ApplicationLoadBalancerHTTPRuleCondition

type ApplicationLoadBalancerHTTPRuleCondition struct {
	// Type of the HTTP rule condition.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=HEADER;PATH;QUERY;METHOD;HOST;COOKIE;SOURCE_IP
	Type string `json:"type"`
	// Matching rule for the HTTP rule condition attribute;
	// Mandatory for HEADER, PATH, QUERY, METHOD, HOST, and COOKIE types; Must be null when type is SOURCE_IP.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=EXISTS;CONTAINS;EQUALS;MATCHES;STARTS_WITH;ENDS_WITH
	Condition string `json:"condition"`
	// Specifies whether the condition is negated or not; the default is False.
	//
	// +kubebuilder:validation:Optional
	Negate bool `json:"negate,omitempty"`
	// Must be null when type is PATH, METHOD, HOST, or SOURCE_IP. Key can only be set when type is COOKIES, HEADER, or QUERY.
	//
	// +kubebuilder:validation:Optional
	Key string `json:"key,omitempty"`
	// Mandatory for conditions CONTAINS, EQUALS, MATCHES, STARTS_WITH, ENDS_WITH;
	// Must be null when condition is EXISTS; should be a valid CIDR if provided and if type is SOURCE_IP.
	//
	// +kubebuilder:validation:Optional
	Value string `json:"value,omitempty"`
}

ApplicationLoadBalancerHTTPRuleCondition struct for Application Load Balancer HTTP Rule Condition Required fields in order to create an ApplicationLoadBalancerHTTPRuleCondition: Type, Condition.

func (*ApplicationLoadBalancerHTTPRuleCondition) DeepCopy

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

func (*ApplicationLoadBalancerHTTPRuleCondition) DeepCopyInto

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

type ApplicationLoadBalancerList

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

ApplicationLoadBalancerList contains a list of ApplicationLoadBalancer

func (*ApplicationLoadBalancerList) DeepCopy

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

func (*ApplicationLoadBalancerList) DeepCopyInto

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

func (*ApplicationLoadBalancerList) DeepCopyObject

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

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

func (*ApplicationLoadBalancerList) GetItems

GetItems of this ApplicationLoadBalancerList.

type ApplicationLoadBalancerObservation

type ApplicationLoadBalancerObservation struct {
	ApplicationLoadBalancerID string   `json:"applicationLoadBalancerId,omitempty"`
	PublicIPs                 []string `json:"publicIps,omitempty"`
	State                     string   `json:"state,omitempty"`
	AvailableUpgradeVersions  []string `json:"availableUpgradeVersions,omitempty"`
	ViableNodePoolVersions    []string `json:"viableNodePoolVersions,omitempty"`
}

ApplicationLoadBalancerObservation are the observable fields of an ApplicationLoadBalancer.

func (*ApplicationLoadBalancerObservation) DeepCopy

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

func (*ApplicationLoadBalancerObservation) DeepCopyInto

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

type ApplicationLoadBalancerParameters

type ApplicationLoadBalancerParameters struct {
	// A Datacenter, to which the user has access, to provision
	// the ApplicationLoadBalancer in.
	//
	// +immutable
	// +kubebuilder:validation:Required
	DatacenterCfg DatacenterConfig `json:"datacenterConfig"`
	// The name of the Application Load Balancer.
	//
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// ID of the listening (inbound) LAN.
	// Lan ID can be set directly or via reference.
	//
	// +kubebuilder:validation:Required
	ListenerLanCfg LanConfig `json:"listenerLanConfig"`
	// ID of the balanced private target LAN (outbound).
	// Lan ID can be set directly or via reference.
	//
	// +kubebuilder:validation:Required
	TargetLanCfg LanConfig `json:"targetLanConfig"`
	// Collection of the Application Load Balancer IP addresses.
	// (Inbound and outbound) IPs of the listenerLan are customer-reserved public IPs for
	// the public Load Balancers, and private IPs for the private Load Balancers.
	// The IPs can be set directly or using reference to the existing IPBlocks and indexes.
	// If no indexes are set, all IPs from the corresponding IPBlock will be assigned.
	// All IPs set on the Nic will be displayed on the status's ips field.
	//
	// +optional
	// +kubebuilder:validation:Optional
	IpsCfg IPsConfigs `json:"ipsConfig,omitempty"`
	// Collection of private IP addresses with the subnet mask of the Application Load Balancer.
	// IPs must contain valid a subnet mask.
	// If no IP is provided, the system will generate an IP with /24 subnet.
	//
	// +optional
	// +kubebuilder:validation:Optional
	LbPrivateIps []string `json:"lbPrivateIps,omitempty"`
}

ApplicationLoadBalancerParameters are the observable fields of an ApplicationLoadBalancer. Required fields in order to create an ApplicationLoadBalancer: DatacenterConfig (via ID or via reference), Name, ListenerLanConfig (via ID or via reference), TargetLanConfig (via ID or via reference).

func (*ApplicationLoadBalancerParameters) DeepCopy

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

func (*ApplicationLoadBalancerParameters) DeepCopyInto

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

type ApplicationLoadBalancerSpec

type ApplicationLoadBalancerSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       ApplicationLoadBalancerParameters `json:"forProvider"`
}

ApplicationLoadBalancerSpec defines the desired state of an ApplicationLoadBalancer.

func (*ApplicationLoadBalancerSpec) DeepCopy

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

func (*ApplicationLoadBalancerSpec) DeepCopyInto

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

type ApplicationLoadBalancerStatus

type ApplicationLoadBalancerStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          ApplicationLoadBalancerObservation `json:"atProvider,omitempty"`
}

ApplicationLoadBalancerStatus represents the observed state of an ApplicationLoadBalancer.

func (*ApplicationLoadBalancerStatus) DeepCopy

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

func (*ApplicationLoadBalancerStatus) DeepCopyInto

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

type DatacenterConfig

type DatacenterConfig struct {
	// DatacenterID is the ID of the Datacenter on which the resource should have access.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/compute/v1alpha1.Datacenter
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/compute/v1alpha1.ExtractDatacenterID()
	DatacenterID string `json:"datacenterId,omitempty"`
	// DatacenterIDRef references to a Datacenter to retrieve its ID.
	//
	// +optional
	// +immutable
	DatacenterIDRef *xpv1.Reference `json:"datacenterIdRef,omitempty"`
	// DatacenterIDSelector selects reference to a Datacenter to retrieve its DatacenterID.
	//
	// +optional
	DatacenterIDSelector *xpv1.Selector `json:"datacenterIdSelector,omitempty"`
}

DatacenterConfig is used by resources that need to link datacenters via id or via reference.

func (*DatacenterConfig) DeepCopy

func (in *DatacenterConfig) DeepCopy() *DatacenterConfig

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

func (*DatacenterConfig) DeepCopyInto

func (in *DatacenterConfig) DeepCopyInto(out *DatacenterConfig)

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

type ForwardingRule

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

	Spec   ForwardingRuleSpec   `json:"spec"`
	Status ForwardingRuleStatus `json:"status,omitempty"`
}

An ForwardingRule is an example API type. +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="DATACENTER ID",type="string",JSONPath=".spec.forProvider.datacenterConfig.datacenterId" +kubebuilder:printcolumn:name="APPLICATIONLOADBALANCER ID",type="string",JSONPath=".spec.forProvider.applicationLoadBalancerConfig.applicationLoadBalancerId" +kubebuilder:printcolumn:name="FORWARDINGRULE ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="FORWARDINGRULE NAME",type="string",JSONPath=".spec.forProvider.name" +kubebuilder:printcolumn:name="PROTOCOL",priority=1,type="string",JSONPath=".spec.forProvider.protocol" +kubebuilder:printcolumn:name="LISTENER IP",priority=1,type="string",JSONPath=".status.atProvider.listenerIp" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.atProvider.state" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud}

func (*ForwardingRule) DeepCopy

func (in *ForwardingRule) DeepCopy() *ForwardingRule

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

func (*ForwardingRule) DeepCopyInto

func (in *ForwardingRule) DeepCopyInto(out *ForwardingRule)

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

func (*ForwardingRule) DeepCopyObject

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

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

func (*ForwardingRule) GetCondition

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

GetCondition of this ForwardingRule.

func (*ForwardingRule) GetDeletionPolicy

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

GetDeletionPolicy of this ForwardingRule.

func (*ForwardingRule) GetManagementPolicies added in v1.0.6

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

GetManagementPolicies of this ForwardingRule.

func (*ForwardingRule) GetProviderConfigReference

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

GetProviderConfigReference of this ForwardingRule.

func (*ForwardingRule) GetPublishConnectionDetailsTo added in v1.0.2

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

GetPublishConnectionDetailsTo of this ForwardingRule.

func (*ForwardingRule) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this ForwardingRule.

func (*ForwardingRule) ResolveReferences

func (mg *ForwardingRule) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this ForwardingRule.

func (*ForwardingRule) SetConditions

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

SetConditions of this ForwardingRule.

func (*ForwardingRule) SetDeletionPolicy

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

SetDeletionPolicy of this ForwardingRule.

func (*ForwardingRule) SetManagementPolicies added in v1.0.6

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

SetManagementPolicies of this ForwardingRule.

func (*ForwardingRule) SetProviderConfigReference

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

SetProviderConfigReference of this ForwardingRule.

func (*ForwardingRule) SetPublishConnectionDetailsTo added in v1.0.2

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

SetPublishConnectionDetailsTo of this ForwardingRule.

func (*ForwardingRule) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this ForwardingRule.

type ForwardingRuleList

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

ForwardingRuleList contains a list of ApplicationLoadBalancer

func (*ForwardingRuleList) DeepCopy

func (in *ForwardingRuleList) DeepCopy() *ForwardingRuleList

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

func (*ForwardingRuleList) DeepCopyInto

func (in *ForwardingRuleList) DeepCopyInto(out *ForwardingRuleList)

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

func (*ForwardingRuleList) DeepCopyObject

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

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

func (*ForwardingRuleList) GetItems

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

GetItems of this ForwardingRuleList.

type ForwardingRuleObservation

type ForwardingRuleObservation struct {
	ForwardingRuleID string `json:"forwardingRuleId,omitempty"`
	ListenerIP       string `json:"listenerIp,omitempty"`
	State            string `json:"state,omitempty"`
}

ForwardingRuleObservation are the observable fields of an ApplicationLoadBalancerForwardingRule.

func (*ForwardingRuleObservation) DeepCopy

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

func (*ForwardingRuleObservation) DeepCopyInto

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

type ForwardingRuleParameters

type ForwardingRuleParameters struct {
	// A Datacenter, to which the user has access, to provision
	// the ApplicationLoadBalancer in.
	//
	// +immutable
	// +kubebuilder:validation:Required
	DatacenterCfg DatacenterConfig `json:"datacenterConfig"`
	// An ApplicationLoadBalancer, to which the user has access, to provision
	// the Forwarding Rule in.
	//
	// +immutable
	// +kubebuilder:validation:Required
	ALBCfg ApplicationLoadBalancerConfig `json:"applicationLoadBalancerConfig"`
	// The name of the Application Load Balancer Forwarding Rule.
	//
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// Balancing protocol
	//
	// +kubebuilder:validation:Enum=HTTP
	// +kubebuilder:validation:Required
	Protocol string `json:"protocol"`
	// Listening (inbound) IP. IP must be assigned to the listener NIC of the Application Load Balancer.
	//
	// +kubebuilder:validation:Required
	ListenerIP IPConfig `json:"listenerIpConfig"`
	// Listening (inbound) port number; valid range is 1 to 65535.
	//
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:validation:Required
	ListenerPort int32 `json:"listenerPort"`
	// The maximum time in milliseconds to wait for the client to acknowledge or send data;
	// default is 50,000 (50 seconds).
	//
	// +kubebuilder:validation:Optional
	ClientTimeout int32 `json:"clientTimeout,omitempty"`
	// Array of items in the collection.
	//
	// +kubebuilder:validation:Optional
	ServerCertificatesIDs []string `json:"serverCertificatesIds,omitempty"`
	// An array of items in the collection. The original order of rules is preserved during processing,
	// except for Forward-type rules are processed after the rules with other action defined.
	// The relative order of Forward-type rules is also preserved during the processing.
	//
	// +kubebuilder:validation:Optional
	HTTPRules []ApplicationLoadBalancerHTTPRule `json:"httpRules,omitempty"`
}

ForwardingRuleParameters are the observable fields of an ApplicationLoadBalancerForwardingRule. Required fields in order to create an ApplicationLoadBalancerForwardingRule: DatacenterConfig (via ID or via reference), ApplicationLoadBalancerConfig (via ID or via reference), Name, Protocol, ListenerIPConfig (via ID or via reference), ListenerPort.

func (*ForwardingRuleParameters) DeepCopy

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

func (*ForwardingRuleParameters) DeepCopyInto

func (in *ForwardingRuleParameters) DeepCopyInto(out *ForwardingRuleParameters)

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

type ForwardingRuleSpec

type ForwardingRuleSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       ForwardingRuleParameters `json:"forProvider"`
}

ForwardingRuleSpec defines the desired state of an ApplicationLoadBalancer.

func (*ForwardingRuleSpec) DeepCopy

func (in *ForwardingRuleSpec) DeepCopy() *ForwardingRuleSpec

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

func (*ForwardingRuleSpec) DeepCopyInto

func (in *ForwardingRuleSpec) DeepCopyInto(out *ForwardingRuleSpec)

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

type ForwardingRuleStatus

type ForwardingRuleStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          ForwardingRuleObservation `json:"atProvider,omitempty"`
}

ForwardingRuleStatus represents the observed state of an ApplicationLoadBalancer.

func (*ForwardingRuleStatus) DeepCopy

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

func (*ForwardingRuleStatus) DeepCopyInto

func (in *ForwardingRuleStatus) DeepCopyInto(out *ForwardingRuleStatus)

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

type IPBlockConfig

type IPBlockConfig struct {
	// IPBlockID is the ID of the IPBlock on which the resource will be created.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/compute/v1alpha1.IPBlock
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/compute/v1alpha1.ExtractIPBlockID()
	IPBlockID string `json:"ipBlockId,omitempty"`
	// IPBlockIDRef references to a IPBlock to retrieve its ID.
	//
	// +optional
	// +immutable
	IPBlockIDRef *xpv1.Reference `json:"ipBlockIdRef,omitempty"`
	// IPBlockIDSelector selects reference to a IPBlock to retrieve its IPBlockID.
	//
	// +optional
	IPBlockIDSelector *xpv1.Selector `json:"ipBlockIdSelector,omitempty"`
	// Index is referring to the IP index retrieved from the IPBlock.
	// Index starts from 0.
	//
	// +kubebuilder:validation:Required
	Index int `json:"index"`
}

IPBlockConfig - used by resources that need to link IPBlock via id or via reference to get one single IP.

func (*IPBlockConfig) DeepCopy

func (in *IPBlockConfig) DeepCopy() *IPBlockConfig

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

func (*IPBlockConfig) DeepCopyInto

func (in *IPBlockConfig) DeepCopyInto(out *IPBlockConfig)

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

type IPConfig

type IPConfig struct {
	// Use IP to set specific IP to the resource. If both IP and IPBlockConfig are set,
	// only `ip` field will be considered.
	//
	// +kubebuilder:validation:Pattern="^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
	IP string `json:"ip,omitempty"`
	// Use IpBlockConfig to reference existing IPBlock, and to mention the index for the IP.
	// Index starts from 0 and it must be provided.
	IPBlockCfg IPBlockConfig `json:"ipBlockConfig,omitempty"`
}

IPConfig is used by resources that need to link ip directly or from IPBlock via id or via reference.

func (*IPConfig) DeepCopy

func (in *IPConfig) DeepCopy() *IPConfig

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

func (*IPConfig) DeepCopyInto

func (in *IPConfig) DeepCopyInto(out *IPConfig)

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

type IPsBlockConfig

type IPsBlockConfig struct {
	// IPBlockID is the ID of the IPBlock on which the resource will be created.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/compute/v1alpha1.IPBlock
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/compute/v1alpha1.ExtractIPBlockID()
	IPBlockID string `json:"ipBlockId,omitempty"`
	// IPBlockIDRef references to a IPBlock to retrieve its ID.
	//
	// +optional
	// +immutable
	IPBlockIDRef *xpv1.Reference `json:"ipBlockIdRef,omitempty"`
	// IPBlockIDSelector selects reference to a IPBlock to retrieve its IPBlockID.
	//
	// +optional
	IPBlockIDSelector *xpv1.Selector `json:"ipBlockIdSelector,omitempty"`
	// Indexes are referring to the IPs indexes retrieved from the IPBlock.
	// Indexes are starting from 0. If no index is set, all IPs from the
	// corresponding IPBlock will be assigned.
	//
	// +optional
	Indexes []int `json:"indexes,omitempty"`
}

IPsBlockConfig - used by resources that need to link IPBlock via id or via reference to get multiple IPs.

func (*IPsBlockConfig) DeepCopy

func (in *IPsBlockConfig) DeepCopy() *IPsBlockConfig

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

func (*IPsBlockConfig) DeepCopyInto

func (in *IPsBlockConfig) DeepCopyInto(out *IPsBlockConfig)

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

type IPsConfigs

type IPsConfigs struct {
	// Use IPs to set specific IPs to the resource. If both IPs and IPsBlockConfigs are set,
	// only `ips` field will be considered.
	IPs []string `json:"ips,omitempty"`
	// Use IpsBlockConfigs to reference existing IPBlocks, and to mention the indexes for the IPs.
	// Indexes start from 0, and multiple indexes can be set. If no index is set, all IPs from the
	// corresponding IPBlock will be assigned to the resource.
	IPBlockCfgs []IPsBlockConfig `json:"ipsBlockConfigs,omitempty"`
}

IPsConfigs - used by resources that need to link multiple IPs directly or from IPBlock via id or via reference.

func (*IPsConfigs) DeepCopy

func (in *IPsConfigs) DeepCopy() *IPsConfigs

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

func (*IPsConfigs) DeepCopyInto

func (in *IPsConfigs) DeepCopyInto(out *IPsConfigs)

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

type LanConfig

type LanConfig struct {
	// LanID is the ID of the Lan on which the resource will be created.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +crossplane:generate:reference:type=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/compute/v1alpha1.Lan
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/compute/v1alpha1.ExtractLanID()
	LanID string `json:"lanId,omitempty"`
	// LanIDRef references to a Lan to retrieve its ID.
	//
	// +optional
	// +immutable
	LanIDRef *xpv1.Reference `json:"lanIdRef,omitempty"`
	// LanIDSelector selects reference to a Lan to retrieve its LanID.
	//
	// +optional
	LanIDSelector *xpv1.Selector `json:"lanIdSelector,omitempty"`
}

LanConfig is used by resources that need to link lans via id or via reference.

func (*LanConfig) DeepCopy

func (in *LanConfig) DeepCopy() *LanConfig

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

func (*LanConfig) DeepCopyInto

func (in *LanConfig) DeepCopyInto(out *LanConfig)

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

type TargetGroup

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

	Spec   TargetGroupSpec   `json:"spec"`
	Status TargetGroupStatus `json:"status,omitempty"`
}

An TargetGroup is an example API type. +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="TARGETGROUP ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="TARGETGROUP NAME",type="string",JSONPath=".spec.forProvider.name" +kubebuilder:printcolumn:name="PROTOCOL",priority=1,type="string",JSONPath=".spec.forProvider.protocol" +kubebuilder:printcolumn:name="ALGORITHM",priority=1,type="string",JSONPath=".spec.forProvider.algorithm" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.atProvider.state" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud}

func (*TargetGroup) DeepCopy

func (in *TargetGroup) DeepCopy() *TargetGroup

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

func (*TargetGroup) DeepCopyInto

func (in *TargetGroup) DeepCopyInto(out *TargetGroup)

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

func (*TargetGroup) DeepCopyObject

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

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

func (*TargetGroup) GetCondition

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

GetCondition of this TargetGroup.

func (*TargetGroup) GetDeletionPolicy

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

GetDeletionPolicy of this TargetGroup.

func (*TargetGroup) GetManagementPolicies added in v1.0.6

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

GetManagementPolicies of this TargetGroup.

func (*TargetGroup) GetProviderConfigReference

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

GetProviderConfigReference of this TargetGroup.

func (*TargetGroup) GetPublishConnectionDetailsTo added in v1.0.2

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

GetPublishConnectionDetailsTo of this TargetGroup.

func (*TargetGroup) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this TargetGroup.

func (*TargetGroup) SetConditions

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

SetConditions of this TargetGroup.

func (*TargetGroup) SetDeletionPolicy

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

SetDeletionPolicy of this TargetGroup.

func (*TargetGroup) SetManagementPolicies added in v1.0.6

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

SetManagementPolicies of this TargetGroup.

func (*TargetGroup) SetProviderConfigReference

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

SetProviderConfigReference of this TargetGroup.

func (*TargetGroup) SetPublishConnectionDetailsTo added in v1.0.2

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

SetPublishConnectionDetailsTo of this TargetGroup.

func (*TargetGroup) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this TargetGroup.

type TargetGroupConfig

type TargetGroupConfig struct {
	// TargetGroupID is the ID of the TargetGroup on which the resource should have access.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=TargetGroup
	// +crossplane:generate:reference:extractor=ExtractTargetGroupID()
	TargetGroupID string `json:"targetGroupId,omitempty"`
	// TargetGroupIDRef references to a TargetGroup to retrieve its ID.
	//
	// +optional
	// +immutable
	TargetGroupIDRef *xpv1.Reference `json:"targetGroupIdRef,omitempty"`
	// TargetGroupIDSelector selects reference to a TargetGroup to retrieve its TargetGroupID.
	//
	// +optional
	TargetGroupIDSelector *xpv1.Selector `json:"targetGroupIdSelector,omitempty"`
}

TargetGroupConfig is used by resources that need to link application load balancers via id or via reference.

func (*TargetGroupConfig) DeepCopy

func (in *TargetGroupConfig) DeepCopy() *TargetGroupConfig

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

func (*TargetGroupConfig) DeepCopyInto

func (in *TargetGroupConfig) DeepCopyInto(out *TargetGroupConfig)

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

type TargetGroupHTTPHealthCheck

type TargetGroupHTTPHealthCheck struct {
	// The path (destination URL) for the HTTP health check request; the default is `/`.
	//
	// +kubebuilder:validation:Optional
	Path string `json:"path,omitempty"`
	// The method for the HTTP health check.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=HEAD;PUT;POST;GET;TRACE;PATCH;OPTIONS
	Method string `json:"method,omitempty"`
	// The match type for the HTTP health check.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum="";STATUS_CODE;RESPONSE_BODY
	MatchType string `json:"matchType"`
	// The response returned by the request, depending on the match type.
	//
	// +kubebuilder:validation:Required
	Response string `json:"response"`
	// +kubebuilder:validation:Optional
	Regex bool `json:"regex,omitempty"`
	// +kubebuilder:validation:Optional
	Negate bool `json:"negate,omitempty"`
}

TargetGroupHTTPHealthCheck struct for TargetGroupHttpHealthCheck Required fields in order to create an TargetGroupHttpHealthCheck: Response, MatchType.

func (*TargetGroupHTTPHealthCheck) DeepCopy

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

func (*TargetGroupHTTPHealthCheck) DeepCopyInto

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

type TargetGroupHealthCheck

type TargetGroupHealthCheck struct {
	// The maximum time in milliseconds to wait for a target to respond to a check.
	// For target VMs with 'Check Interval' set, the lesser of the two  values
	// is used once the TCP connection is established.
	//
	// +kubebuilder:validation:Optional
	CheckTimeout int32 `json:"checkTimeout,omitempty"`
	// The interval in milliseconds between consecutive health checks; default is 2000.
	//
	// +kubebuilder:validation:Optional
	CheckInterval int32 `json:"checkInterval,omitempty"`
	// The maximum number of attempts to reconnect to a target after a connection failure.
	// Valid range is 0 to 65535, and default is three reconnection attempts.
	//
	// +kubebuilder:validation:Optional
	Retries int32 `json:"retries,omitempty"`
}

TargetGroupHealthCheck struct for TargetGroupHealthCheck

func (*TargetGroupHealthCheck) DeepCopy

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

func (*TargetGroupHealthCheck) DeepCopyInto

func (in *TargetGroupHealthCheck) DeepCopyInto(out *TargetGroupHealthCheck)

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

type TargetGroupList

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

TargetGroupList contains a list of TargetGroup

func (*TargetGroupList) DeepCopy

func (in *TargetGroupList) DeepCopy() *TargetGroupList

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

func (*TargetGroupList) DeepCopyInto

func (in *TargetGroupList) DeepCopyInto(out *TargetGroupList)

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

func (*TargetGroupList) DeepCopyObject

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

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

func (*TargetGroupList) GetItems

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

GetItems of this TargetGroupList.

type TargetGroupObservation

type TargetGroupObservation struct {
	TargetGroupID string `json:"targetGroupId,omitempty"`
	State         string `json:"state,omitempty"`
}

TargetGroupObservation are the observable fields of an TargetGroup.

func (*TargetGroupObservation) DeepCopy

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

func (*TargetGroupObservation) DeepCopyInto

func (in *TargetGroupObservation) DeepCopyInto(out *TargetGroupObservation)

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

type TargetGroupParameters

type TargetGroupParameters struct {
	// The name of the target group.
	//
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// Balancing algorithm.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=ROUND_ROBIN;LEAST_CONNECTION;RANDOM;SOURCE_IP
	Algorithm string `json:"algorithm"`
	// Balancing protocol.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=HTTP
	Protocol string `json:"protocol"`
	// Array of items in the collection.
	//
	// +kubebuilder:validation:Optional
	Targets []TargetGroupTarget `json:"targets,omitempty"`
	// Health check properties for target group.
	//
	// +kubebuilder:validation:Optional
	HealthCheck TargetGroupHealthCheck `json:"healthCheck,omitempty"`
	// HTTP health check properties for target group.
	//
	// +kubebuilder:validation:Optional
	HTTPHealthCheck TargetGroupHTTPHealthCheck `json:"httpHealthCheck,omitempty"`
}

TargetGroupParameters are the observable fields of an TargetGroup. Required fields in order to create an TargetGroup: Name, Algorithm, Protocol.

func (*TargetGroupParameters) DeepCopy

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

func (*TargetGroupParameters) DeepCopyInto

func (in *TargetGroupParameters) DeepCopyInto(out *TargetGroupParameters)

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

type TargetGroupSpec

type TargetGroupSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       TargetGroupParameters `json:"forProvider"`
}

TargetGroupSpec defines the desired state of an TargetGroup.

func (*TargetGroupSpec) DeepCopy

func (in *TargetGroupSpec) DeepCopy() *TargetGroupSpec

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

func (*TargetGroupSpec) DeepCopyInto

func (in *TargetGroupSpec) DeepCopyInto(out *TargetGroupSpec)

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

type TargetGroupStatus

type TargetGroupStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          TargetGroupObservation `json:"atProvider,omitempty"`
}

TargetGroupStatus represents the observed state of an TargetGroup.

func (*TargetGroupStatus) DeepCopy

func (in *TargetGroupStatus) DeepCopy() *TargetGroupStatus

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

func (*TargetGroupStatus) DeepCopyInto

func (in *TargetGroupStatus) DeepCopyInto(out *TargetGroupStatus)

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

type TargetGroupTarget

type TargetGroupTarget struct {
	// The IP of the balanced target VM.
	//
	// +kubebuilder:validation:Required
	IP string `json:"ip"`
	// The port of the balanced target service; valid range is 1 to 65535.
	//
	// +kubebuilder:validation:Required
	Port int32 `json:"port"`
	// Traffic is distributed in proportion to target weight, relative to the combined weight of all targets.
	// A target with higher weight receives a greater share of traffic. Valid range is 0 to 256 and default is 1;
	// targets with weight of 0 do not participate in load balancing but still accept persistent connections.
	// It is best use values in the middle of the range to leave room for later adjustments.
	//
	// +kubebuilder:validation:Required
	Weight int32 `json:"weight"`
	// Makes the target available only if it accepts periodic health check TCP connection attempts;
	// when turned off, the target is considered always available.
	// The health check only consists of a connection attempt to the address and port of the target.
	//
	// +kubebuilder:validation:Optional
	HealthCheckEnabled bool `json:"healthCheckEnabled,omitempty"`
	// Maintenance mode prevents the target from receiving balanced traffic.
	//
	// +kubebuilder:validation:Optional
	MaintenanceEnabled bool `json:"maintenanceEnabled,omitempty"`
}

TargetGroupTarget struct for TargetGroupTarget Required fields in order to create an TargetGroupTarget: IPConfig, Port, Weight.

func (*TargetGroupTarget) DeepCopy

func (in *TargetGroupTarget) DeepCopy() *TargetGroupTarget

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

func (*TargetGroupTarget) DeepCopyInto

func (in *TargetGroupTarget) DeepCopyInto(out *TargetGroupTarget)

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