v1alpha1

package
v1.0.0-beta.4 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2022 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}
)
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}

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) GetProviderConfigReference

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

GetProviderConfigReference of this ApplicationLoadBalancer.

func (*ApplicationLoadBalancer) GetProviderReference

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

GetProviderReference of this ApplicationLoadBalancer. Deprecated: Use GetProviderConfigReference.

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) SetProviderConfigReference

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

SetProviderConfigReference of this ApplicationLoadBalancer.

func (*ApplicationLoadBalancer) SetProviderReference

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

SetProviderReference of this ApplicationLoadBalancer. Deprecated: Use SetProviderConfigReference.

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) GetProviderConfigReference

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

GetProviderConfigReference of this ForwardingRule.

func (*ForwardingRule) GetProviderReference

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

GetProviderReference of this ForwardingRule. Deprecated: Use GetProviderConfigReference.

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) SetProviderConfigReference

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

SetProviderConfigReference of this ForwardingRule.

func (*ForwardingRule) SetProviderReference

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

SetProviderReference of this ForwardingRule. Deprecated: Use SetProviderConfigReference.

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 {
	// NicID 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 nicId
	//
	// +optional
	IPBlockIDSelector *xpv1.Selector `json:"ipBlockIdSelector,omitempty"`
	// Index is referring to the IP index retrieved from the IPBlock.
	// Index is starting 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 {
	// +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"`
	IPBlockCfg IPBlockConfig `json:"ipBlockConfig,omitempty"`
}

IPConfig is used by resources that need to link ips from IPBlock via id or via reference and using index. Indexes start from 0, and only one index must be set. If both IPs and IPBlockConfigs fields are set, only ip will be used.

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 {
	// NicID 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 nicId
	//
	// +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 {
	IPs         []string         `json:"ips,omitempty"`
	IPBlockCfgs []IPsBlockConfig `json:"ipsBlockConfigs,omitempty"`
}

IPsConfigs - used by resources that need to link multiple IPs from IPBlock via id or via reference and using index. Indexes start from 0, and multiple indexes can be set. If no index is set, all IPs from the corresponding IPBlock will be assigned. If both IPs and IPBlockConfigs fields are set, only ips will be considered.

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) GetProviderConfigReference

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

GetProviderConfigReference of this TargetGroup.

func (*TargetGroup) GetProviderReference

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

GetProviderReference of this TargetGroup. Deprecated: Use GetProviderConfigReference.

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) SetProviderConfigReference

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

SetProviderConfigReference of this TargetGroup.

func (*TargetGroup) SetProviderReference

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

SetProviderReference of this TargetGroup. Deprecated: Use SetProviderConfigReference.

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 Datacenter to retrieve its ID
	//
	// +optional
	// +immutable
	TargetGroupIDRef *xpv1.Reference `json:"targetGroupIdRef,omitempty"`
	// TargetGroupIDSelector selects reference to a Datacenter to retrieve its datacenterId
	//
	// +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"`
	// +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