Documentation
¶
Overview ¶
Package v1alpha1 contains the v1alpha1 group K8s resources of the IONOS Cloud provider. +kubebuilder:object:generate=true +groupName=k8s.ionoscloud.crossplane.io +versionName=v1alpha1
Index ¶
- Constants
- Variables
- func ExtractClusterID() reference.ExtractValueFn
- type Cluster
- func (in *Cluster) DeepCopy() *Cluster
- func (in *Cluster) DeepCopyInto(out *Cluster)
- func (in *Cluster) DeepCopyObject() runtime.Object
- func (mg *Cluster) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (mg *Cluster) GetDeletionPolicy() xpv1.DeletionPolicy
- func (mg *Cluster) GetProviderConfigReference() *xpv1.Reference
- func (mg *Cluster) GetProviderReference() *xpv1.Reference
- func (mg *Cluster) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (mg *Cluster) SetConditions(c ...xpv1.Condition)
- func (mg *Cluster) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *Cluster) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *Cluster) SetProviderReference(r *xpv1.Reference)
- func (mg *Cluster) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type ClusterConfig
- type ClusterList
- type ClusterObservation
- type ClusterParameters
- type ClusterSpec
- type ClusterStatus
- type DatacenterConfig
- type IPBlockConfig
- type IPConfig
- type IPsBlockConfig
- type IPsConfigs
- type KubernetesAutoScaling
- type KubernetesNodePoolLan
- type KubernetesNodePoolLanRoutes
- type LanConfig
- type MaintenanceWindow
- type NodePool
- func (in *NodePool) DeepCopy() *NodePool
- func (in *NodePool) DeepCopyInto(out *NodePool)
- func (in *NodePool) DeepCopyObject() runtime.Object
- func (mg *NodePool) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (mg *NodePool) GetDeletionPolicy() xpv1.DeletionPolicy
- func (mg *NodePool) GetProviderConfigReference() *xpv1.Reference
- func (mg *NodePool) GetProviderReference() *xpv1.Reference
- func (mg *NodePool) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (mg *NodePool) ResolveReferences(ctx context.Context, c client.Reader) error
- func (mg *NodePool) SetConditions(c ...xpv1.Condition)
- func (mg *NodePool) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *NodePool) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *NodePool) SetProviderReference(r *xpv1.Reference)
- func (mg *NodePool) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type NodePoolList
- type NodePoolObservation
- type NodePoolParameters
- type NodePoolSpec
- type NodePoolStatus
- type S3Bucket
Constants ¶
const ( Group = "k8s.ionoscloud.crossplane.io" Version = "v1alpha1" )
Package type metadata.
Variables ¶
var ( ClusterKind = reflect.TypeOf(Cluster{}).Name() ClusterGroupKind = schema.GroupKind{Group: Group, Kind: ClusterKind}.String() ClusterKindAPIVersion = ClusterKind + "." + SchemeGroupVersion.String() ClusterGroupVersionKind = SchemeGroupVersion.WithKind(ClusterKind) )
Cluster type metadata.
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} )
var ( NodePoolKind = reflect.TypeOf(NodePool{}).Name() NodePoolGroupKind = schema.GroupKind{Group: Group, Kind: NodePoolKind}.String() NodePoolKindAPIVersion = NodePoolKind + "." + SchemeGroupVersion.String() NodePoolGroupVersionKind = SchemeGroupVersion.WithKind(NodePoolKind) )
NodePool type metadata.
Functions ¶
func ExtractClusterID ¶
func ExtractClusterID() reference.ExtractValueFn
ExtractClusterID returns the externalName of a referenced Cluster.
Types ¶
type Cluster ¶
type Cluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterSpec `json:"spec"` Status ClusterStatus `json:"status,omitempty"` }
A Cluster 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="CLUSTER ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="CLUSTER NAME",type="string",JSONPath=".spec.forProvider.name" +kubebuilder:printcolumn:name="K8S VERSION",priority=1,type="string",JSONPath=".spec.forProvider.k8sVersion" +kubebuilder:printcolumn:name="PUBLIC",priority=1,type="string",JSONPath=".spec.forProvider.public" +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 (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Cluster) GetCondition ¶
func (mg *Cluster) GetCondition(ct xpv1.ConditionType) xpv1.Condition
GetCondition of this Cluster.
func (*Cluster) GetDeletionPolicy ¶
func (mg *Cluster) GetDeletionPolicy() xpv1.DeletionPolicy
GetDeletionPolicy of this Cluster.
func (*Cluster) GetProviderConfigReference ¶
GetProviderConfigReference of this Cluster.
func (*Cluster) GetProviderReference ¶
GetProviderReference of this Cluster. Deprecated: Use GetProviderConfigReference.
func (*Cluster) GetWriteConnectionSecretToReference ¶
func (mg *Cluster) GetWriteConnectionSecretToReference() *xpv1.SecretReference
GetWriteConnectionSecretToReference of this Cluster.
func (*Cluster) SetConditions ¶
SetConditions of this Cluster.
func (*Cluster) SetDeletionPolicy ¶
func (mg *Cluster) SetDeletionPolicy(r xpv1.DeletionPolicy)
SetDeletionPolicy of this Cluster.
func (*Cluster) SetProviderConfigReference ¶
SetProviderConfigReference of this Cluster.
func (*Cluster) SetProviderReference ¶
SetProviderReference of this Cluster. Deprecated: Use SetProviderConfigReference.
func (*Cluster) SetWriteConnectionSecretToReference ¶
func (mg *Cluster) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
SetWriteConnectionSecretToReference of this Cluster.
type ClusterConfig ¶
type ClusterConfig struct { // ClusterID is the ID of the Cluster 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=Cluster // +crossplane:generate:reference:extractor=ExtractClusterID() ClusterID string `json:"clusterId,omitempty"` // ClusterIDRef references to a Cluster to retrieve its ID // // +optional // +immutable ClusterIDRef *xpv1.Reference `json:"clusterIdRef,omitempty"` // ClusterIDSelector selects reference to a Cluster to retrieve its clusterId // // +optional ClusterIDSelector *xpv1.Selector `json:"clusterIdSelector,omitempty"` }
ClusterConfig is used by resources that need to link clusters via id or via reference.
func (*ClusterConfig) DeepCopy ¶
func (in *ClusterConfig) DeepCopy() *ClusterConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterConfig.
func (*ClusterConfig) DeepCopyInto ¶
func (in *ClusterConfig) DeepCopyInto(out *ClusterConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterList ¶
type ClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Cluster `json:"items"` }
ClusterList contains a list of Cluster
func (*ClusterList) DeepCopy ¶
func (in *ClusterList) DeepCopy() *ClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
func (*ClusterList) DeepCopyInto ¶
func (in *ClusterList) DeepCopyInto(out *ClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterList) DeepCopyObject ¶
func (in *ClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterList) GetItems ¶
func (l *ClusterList) GetItems() []resource.Managed
GetItems of this ClusterList.
type ClusterObservation ¶
type ClusterObservation struct { ClusterID string `json:"clusterId,omitempty"` State string `json:"state,omitempty"` AvailableUpgradeVersions []string `json:"availableUpgradeVersions,omitempty"` ViableNodePoolVersions []string `json:"viableNodePoolVersions,omitempty"` }
ClusterObservation are the observable fields of a Cluster.
func (*ClusterObservation) DeepCopy ¶
func (in *ClusterObservation) DeepCopy() *ClusterObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterObservation.
func (*ClusterObservation) DeepCopyInto ¶
func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterParameters ¶
type ClusterParameters struct { // A Kubernetes cluster name. Valid Kubernetes cluster name must be 63 characters or less and must be empty // or begin and end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. // // +kubebuilder:validation:Required Name string `json:"name"` // The Kubernetes version the cluster is running. This imposes restrictions on what Kubernetes versions can be run in a cluster's nodepools. // Additionally, not all Kubernetes versions are viable upgrade targets for all prior versions. // Example: 1.15.4 // // +kubebuilder:validation:Optional K8sVersion string `json:"k8sVersion,omitempty"` // The maintenance window is used for updating the cluster's control plane and for upgrading the cluster's K8s version. // If no value is given, one is chosen dynamically, so there is no fixed default. // // +kubebuilder:validation:Optional MaintenanceWindow MaintenanceWindow `json:"maintenanceWindow,omitempty"` // Access to the K8s API server is restricted to these CIDRs. Traffic, internal to the cluster, is not affected by this restriction. // If no allow-list is specified, access is not restricted. // If an IP without subnet mask is provided, the default value is used: 32 for IPv4 and 128 for IPv6. // Example: "1.2.3.4/32", "2002::1234:abcd:ffff:c0a8:101/64", "1.2.3.4", "2002::1234:abcd:ffff:c0a8:101" // // +kubebuilder:validation:Optional APISubnetAllowList []string `json:"apiSubnetAllowList,omitempty"` // List of S3 bucket configured for K8s usage. // For now it contains only an S3 bucket used to store K8s API audit logs // // +kubebuilder:validation:Optional // +kubebuilder:validation:MaxItems=1 S3Buckets []S3Bucket `json:"s3Buckets,omitempty"` }
ClusterParameters are the observable fields of a Cluster. Required fields in order to create a K8s Public Cluster: Name.
func (*ClusterParameters) DeepCopy ¶
func (in *ClusterParameters) DeepCopy() *ClusterParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterParameters.
func (*ClusterParameters) DeepCopyInto ¶
func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSpec ¶
type ClusterSpec struct { xpv1.ResourceSpec `json:",inline"` ForProvider ClusterParameters `json:"forProvider"` }
A ClusterSpec defines the desired state of a Cluster.
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStatus ¶
type ClusterStatus struct { xpv1.ResourceStatus `json:",inline"` AtProvider ClusterObservation `json:"atProvider,omitempty"` }
A ClusterStatus represents the observed state of a Cluster.
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
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 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 { 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPConfig.
func (*IPConfig) DeepCopyInto ¶
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 KubernetesAutoScaling ¶
type KubernetesAutoScaling struct { // The minimum number of worker nodes that the managed node group can scale in. // Should be set together with 'maxNodeCount'. // Value for this attribute must be greater than equal to 1 and less than equal to maxNodeCount. // // +kubebuilder:validation:Minimum=1 MinNodeCount int32 `json:"minNodeCount,omitempty"` // The maximum number of worker nodes that the managed node pool can scale-out. // Should be set together with 'minNodeCount'. // Value for this attribute must be greater than equal to 1 and minNodeCount. // // +kubebuilder:validation:Minimum=1 MaxNodeCount int32 `json:"maxNodeCount,omitempty"` }
KubernetesAutoScaling struct for KubernetesAutoScaling
func (*KubernetesAutoScaling) DeepCopy ¶
func (in *KubernetesAutoScaling) DeepCopy() *KubernetesAutoScaling
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesAutoScaling.
func (*KubernetesAutoScaling) DeepCopyInto ¶
func (in *KubernetesAutoScaling) DeepCopyInto(out *KubernetesAutoScaling)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesNodePoolLan ¶
type KubernetesNodePoolLan struct { // The LAN of an existing private LAN at the related datacenter // // +kubebuilder:validation:Optional LanCfg LanConfig `json:"lanConfig"` // Indicates if the Kubernetes NodePool LAN will reserve an IP using DHCP. // // +kubebuilder:validation:Optional Dhcp bool `json:"dhcp,omitempty"` // Array of additional LANs Routes attached to worker nodes // // +kubebuilder:validation:Optional Routes []KubernetesNodePoolLanRoutes `json:"routes,omitempty"` }
KubernetesNodePoolLan struct for KubernetesNodePoolLan
func (*KubernetesNodePoolLan) DeepCopy ¶
func (in *KubernetesNodePoolLan) DeepCopy() *KubernetesNodePoolLan
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesNodePoolLan.
func (*KubernetesNodePoolLan) DeepCopyInto ¶
func (in *KubernetesNodePoolLan) DeepCopyInto(out *KubernetesNodePoolLan)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesNodePoolLanRoutes ¶
type KubernetesNodePoolLanRoutes struct { // IPv4 or IPv6 CIDR to be routed via the interface. // // +kubebuilder:validation:Optional Network string `json:"network,omitempty"` // IPv4 or IPv6 Gateway IP for the route. // // +kubebuilder:validation:Optional GatewayIP string `json:"gatewayIp,omitempty"` }
KubernetesNodePoolLanRoutes struct for KubernetesNodePoolLanRoutes
func (*KubernetesNodePoolLanRoutes) DeepCopy ¶
func (in *KubernetesNodePoolLanRoutes) DeepCopy() *KubernetesNodePoolLanRoutes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesNodePoolLanRoutes.
func (*KubernetesNodePoolLanRoutes) DeepCopyInto ¶
func (in *KubernetesNodePoolLanRoutes) DeepCopyInto(out *KubernetesNodePoolLanRoutes)
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 NodePool will connect to. // 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LanConfig.
func (*LanConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MaintenanceWindow ¶
type MaintenanceWindow struct { Time string `json:"time,omitempty"` // DayOfTheWeek The name of the week day. DayOfTheWeek string `json:"dayOfTheWeek,omitempty"` }
MaintenanceWindow A weekly window, during which maintenance might occur
func (*MaintenanceWindow) DeepCopy ¶
func (in *MaintenanceWindow) DeepCopy() *MaintenanceWindow
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindow.
func (*MaintenanceWindow) DeepCopyInto ¶
func (in *MaintenanceWindow) DeepCopyInto(out *MaintenanceWindow)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePool ¶
type NodePool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NodePoolSpec `json:"spec"` Status NodePoolStatus `json:"status,omitempty"` }
A NodePool 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="CLUSTER ID",type="string",JSONPath=".spec.forProvider.clusterConfig.clusterId" +kubebuilder:printcolumn:name="NODEPOOL ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="NODEPOOL NAME",type="string",JSONPath=".spec.forProvider.name" +kubebuilder:printcolumn:name="DATACENTER ID",priority=1,type="string",JSONPath=".spec.forProvider.datacenterConfig.datacenterId" +kubebuilder:printcolumn:name="K8S VERSION",priority=1,type="string",JSONPath=".spec.forProvider.k8sVersion" +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 (*NodePool) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePool.
func (*NodePool) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodePool) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NodePool) GetCondition ¶
func (mg *NodePool) GetCondition(ct xpv1.ConditionType) xpv1.Condition
GetCondition of this NodePool.
func (*NodePool) GetDeletionPolicy ¶
func (mg *NodePool) GetDeletionPolicy() xpv1.DeletionPolicy
GetDeletionPolicy of this NodePool.
func (*NodePool) GetProviderConfigReference ¶
GetProviderConfigReference of this NodePool.
func (*NodePool) GetProviderReference ¶
GetProviderReference of this NodePool. Deprecated: Use GetProviderConfigReference.
func (*NodePool) GetWriteConnectionSecretToReference ¶
func (mg *NodePool) GetWriteConnectionSecretToReference() *xpv1.SecretReference
GetWriteConnectionSecretToReference of this NodePool.
func (*NodePool) ResolveReferences ¶
ResolveReferences of this NodePool.
func (*NodePool) SetConditions ¶
SetConditions of this NodePool.
func (*NodePool) SetDeletionPolicy ¶
func (mg *NodePool) SetDeletionPolicy(r xpv1.DeletionPolicy)
SetDeletionPolicy of this NodePool.
func (*NodePool) SetProviderConfigReference ¶
SetProviderConfigReference of this NodePool.
func (*NodePool) SetProviderReference ¶
SetProviderReference of this NodePool. Deprecated: Use SetProviderConfigReference.
func (*NodePool) SetWriteConnectionSecretToReference ¶
func (mg *NodePool) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
SetWriteConnectionSecretToReference of this NodePool.
type NodePoolList ¶
type NodePoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NodePool `json:"items"` }
NodePoolList contains a list of NodePool
func (*NodePoolList) DeepCopy ¶
func (in *NodePoolList) DeepCopy() *NodePoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolList.
func (*NodePoolList) DeepCopyInto ¶
func (in *NodePoolList) DeepCopyInto(out *NodePoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodePoolList) DeepCopyObject ¶
func (in *NodePoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NodePoolList) GetItems ¶
func (l *NodePoolList) GetItems() []resource.Managed
GetItems of this NodePoolList.
type NodePoolObservation ¶
type NodePoolObservation struct { NodePoolID string `json:"nodePoolId,omitempty"` State string `json:"state,omitempty"` PublicIPs []string `json:"publicIps,omitempty"` AvailableUpgradeVersions []string `json:"availableUpgradeVersions,omitempty"` }
NodePoolObservation are the observable fields of a NodePool.
func (*NodePoolObservation) DeepCopy ¶
func (in *NodePoolObservation) DeepCopy() *NodePoolObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolObservation.
func (*NodePoolObservation) DeepCopyInto ¶
func (in *NodePoolObservation) DeepCopyInto(out *NodePoolObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePoolParameters ¶
type NodePoolParameters struct { // The K8s Cluster on which the NodePool will be created // // +immutable // +kubebuilder:validation:Required ClusterCfg ClusterConfig `json:"clusterConfig"` // A Kubernetes node pool name. Valid Kubernetes node pool name must be 63 characters or less // and must be empty or begin and end with an alphanumeric character ([a-z0-9A-Z]) with // dashes (-), underscores (_), dots (.), and alphanumerics between. // // +immutable // +kubebuilder:validation:Required Name string `json:"name"` // A Datacenter, to which the user has access. // // +immutable // +kubebuilder:validation:Required DatacenterCfg DatacenterConfig `json:"datacenterConfig"` // The number of nodes that make up the node pool. // // +kubebuilder:validation:Required NodeCount int32 `json:"nodeCount"` // A valid CPU family name. // If no CPUFamily is provided, it will be set the first CPUFamily supported by the location. // // +immutable // +kubebuilder:validation:Optional // +kubebuilder:validation:Enum=AMD_OPTERON;INTEL_SKYLAKE;INTEL_XEON CPUFamily string `json:"cpuFamily,omitempty"` // The number of cores for the node. // // +kubebuilder:validation:Required CoresCount int32 `json:"coresCount"` // The RAM size for the node. Must be set in multiples of 1024 MB, with minimum size is of 2048 MB. // // +immutable // +kubebuilder:validation:Required // +kubebuilder:validation:MultipleOf=1024 // +kubebuilder:validation:Minimum=2048 RAMSize int32 `json:"ramSize"` // The availability zone in which the target VM should be provisioned. // // +immutable // +kubebuilder:validation:Required // +kubebuilder:validation:Enum=AUTO;ZONE_1;ZONE_2 AvailabilityZone string `json:"availabilityZone"` // The type of hardware for the volume. // // +immutable // +kubebuilder:validation:Required // +kubebuilder:validation:Enum=HDD;SSD StorageType string `json:"storageType"` // The size of the volume in GB. The size should be greater than 10GB. // // +immutable // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=10 StorageSize int32 `json:"storageSize"` // The Kubernetes version the NodePool is running. This imposes restrictions on what Kubernetes // versions can be run in a cluster's NodePools. Additionally, not all Kubernetes versions are // viable upgrade targets for all prior versions. // // +kubebuilder:validation:Optional K8sVersion string `json:"k8sVersion,omitempty"` // The maintenance window is used for updating the software on the NodePool's nodes and for upgrading the NodePool's K8s version. // If no value is given, one is chosen dynamically, so there is no fixed default. // // +kubebuilder:validation:Optional MaintenanceWindow MaintenanceWindow `json:"maintenanceWindow,omitempty"` // property to be set when auto-scaling needs to be enabled for the NodePool. // By default, auto-scaling is not enabled. // // +kubebuilder:validation:Optional AutoScaling KubernetesAutoScaling `json:"autoScaling,omitempty"` // Array of additional private LANs attached to worker nodes // // +kubebuilder:validation:Optional Lans []KubernetesNodePoolLan `json:"lans,omitempty"` // Map of labels attached to NodePool. // // +kubebuilder:validation:Optional Labels map[string]string `json:"labels,omitempty"` // Map of annotations attached to NodePool. // // +kubebuilder:validation:Optional Annotations map[string]string `json:"annotations,omitempty"` // Optional array of reserved public IP addresses to be used by the nodes. // IPs must be from same location as the Datacenter used for the NodePool. // The array must contain one more IP than the maximum possible number of nodes // (nodeCount+1 for fixed number of nodes or maxNodeCount+1 when auto-scaling is used). // The extra IP is used when the nodes are rebuilt. // IPs can be set directly or via reference and indexes. // // +kubebuilder:validation:Optional PublicIPsCfg IPsConfigs `json:"publicIpsConfigs,omitempty"` }
NodePoolParameters are the observable fields of a NodePool. Required fields in order to create a K8s NodePool: ClusterConfig, Name, DatacenterConfig, NodeCount, CoresCount, RAMSize, AvailabilityZone, StorageType, StorageSize.
func (*NodePoolParameters) DeepCopy ¶
func (in *NodePoolParameters) DeepCopy() *NodePoolParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolParameters.
func (*NodePoolParameters) DeepCopyInto ¶
func (in *NodePoolParameters) DeepCopyInto(out *NodePoolParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePoolSpec ¶
type NodePoolSpec struct { xpv1.ResourceSpec `json:",inline"` ForProvider NodePoolParameters `json:"forProvider"` }
A NodePoolSpec defines the desired state of a NodePool.
func (*NodePoolSpec) DeepCopy ¶
func (in *NodePoolSpec) DeepCopy() *NodePoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolSpec.
func (*NodePoolSpec) DeepCopyInto ¶
func (in *NodePoolSpec) DeepCopyInto(out *NodePoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePoolStatus ¶
type NodePoolStatus struct { xpv1.ResourceStatus `json:",inline"` AtProvider NodePoolObservation `json:"atProvider,omitempty"` }
A NodePoolStatus represents the observed state of a NodePool.
func (*NodePoolStatus) DeepCopy ¶
func (in *NodePoolStatus) DeepCopy() *NodePoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePoolStatus.
func (*NodePoolStatus) DeepCopyInto ¶
func (in *NodePoolStatus) DeepCopyInto(out *NodePoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3Bucket ¶
type S3Bucket struct { // +kubebuilder:validation:Required Name string `json:"name"` }
S3Bucket configured for K8s usage.
func (*S3Bucket) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Bucket.
func (*S3Bucket) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.