An ApplicationLoadBalancer is an example API type.
Type
CRD
Group
alb.ionoscloud.crossplane.io
Version
v1alpha1
apiVersion: alb.ionoscloud.crossplane.io/v1alpha1
kind: ApplicationLoadBalancer
ApplicationLoadBalancerSpec defines the desired state of an ApplicationLoadBalancer.
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).
A Datacenter, to which the user has access, to provision the ApplicationLoadBalancer in.
DatacenterIDRef references to a Datacenter to retrieve its ID.
Policies for referencing.
DatacenterIDSelector selects reference to a Datacenter to retrieve its DatacenterID.
Policies for selection.
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.
Use IPs to set specific IPs to the resource. If both IPs and IPsBlockConfigs are set,
only ips
field will be considered.
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.
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.
IPBlockIDRef references to a IPBlock to retrieve its ID.
Policies for referencing.
IPBlockIDSelector selects reference to a IPBlock to retrieve its IPBlockID.
Policies for selection.
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.
ID of the listening (inbound) LAN. Lan ID can be set directly or via reference.
LanIDRef references to a Lan to retrieve its ID.
Policies for referencing.
LanIDSelector selects reference to a Lan to retrieve its LanID.
Policies for selection.
ID of the balanced private target LAN (outbound). Lan ID can be set directly or via reference.
LanIDRef references to a Lan to retrieve its ID.
Policies for referencing.
LanIDSelector selects reference to a Lan to retrieve its LanID.
Policies for selection.
THIS IS A BETA FIELD. It is on by default but can be opted out through a Crossplane feature flag. ManagementPolicies specify the array of actions Crossplane is allowed to take on the managed and external resources. This field is planned to replace the DeletionPolicy field in a future release. Currently, both could be set independently and non-default values would be honored if the feature flag is enabled. If both are custom, the DeletionPolicy field will be ignored. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md
ProviderConfigReference specifies how the provider that will be used to create, observe, update, and delete this managed resource should be configured.
Policies for referencing.
PublishConnectionDetailsTo specifies the connection secret config which contains a name, metadata and a reference to secret store config to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource.
WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource. This field is planned to be replaced in a future release in favor of PublishConnectionDetailsTo. Currently, both could be set independently and connection details would be published to both without affecting each other.
ApplicationLoadBalancerStatus represents the observed state of an ApplicationLoadBalancer.
Conditions of the resource.
example
apiVersion: alb.ionoscloud.crossplane.io/v1alpha1
kind: ApplicationLoadBalancer
metadata:
name: example
spec:
forProvider:
datacenterConfig:
datacenterIdRef:
name: example
ipsConfig:
ipsBlockConfigs:
- indexes:
- 0
ipBlockIdRef:
name: example
listenerLanConfig:
lanIdRef:
name: examplelan
name: exampleApplicationLoadBalancer
targetLanConfig:
lanIdRef:
name: example
providerConfigRef:
name: example