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) GetManagementPolicies() xpv1.ManagementPolicies
- func (mg *Cluster) GetProviderConfigReference() *xpv1.Reference
- func (mg *Cluster) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
- func (mg *Cluster) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (mg *Cluster) SetConditions(c ...xpv1.Condition)
- func (mg *Cluster) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *Cluster) SetManagementPolicies(r xpv1.ManagementPolicies)
- func (mg *Cluster) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *Cluster) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
- 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) GetManagementPolicies() xpv1.ManagementPolicies
- func (mg *NodePool) GetProviderConfigReference() *xpv1.Reference
- func (mg *NodePool) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
- 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) SetManagementPolicies(r xpv1.ManagementPolicies)
- func (mg *NodePool) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *NodePool) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
- 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} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
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="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=k8sc;k8scluster
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) GetManagementPolicies ¶ added in v1.0.6
func (mg *Cluster) GetManagementPolicies() xpv1.ManagementPolicies
GetManagementPolicies of this Cluster.
func (*Cluster) GetProviderConfigReference ¶
GetProviderConfigReference of this Cluster.
func (*Cluster) GetPublishConnectionDetailsTo ¶ added in v1.0.2
func (mg *Cluster) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
GetPublishConnectionDetailsTo of this Cluster.
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) SetManagementPolicies ¶ added in v1.0.6
func (mg *Cluster) SetManagementPolicies(r xpv1.ManagementPolicies)
SetManagementPolicies of this Cluster.
func (*Cluster) SetProviderConfigReference ¶
SetProviderConfigReference of this Cluster.
func (*Cluster) SetPublishConnectionDetailsTo ¶ added in v1.0.2
func (mg *Cluster) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
SetPublishConnectionDetailsTo of this Cluster.
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 IONOS Object Storage buckets configured for K8s usage. // For now, it contains only an IONOS Object Storage 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 { // 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 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 { // Use IP to set specific IP to the resource. If both IP and IPBlockConfig are set, // only `ip` field will be considered. 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 ¶
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 { // 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 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"` // The datacenter ID, requires system privileges, for internal usage only // // +kubebuilder:validation:Optional DatacenterID string `json:"datacenterID,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},shortName=k8sn;k8snp
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) GetManagementPolicies ¶ added in v1.0.6
func (mg *NodePool) GetManagementPolicies() xpv1.ManagementPolicies
GetManagementPolicies of this NodePool.
func (*NodePool) GetProviderConfigReference ¶
GetProviderConfigReference of this NodePool.
func (*NodePool) GetPublishConnectionDetailsTo ¶ added in v1.0.2
func (mg *NodePool) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
GetPublishConnectionDetailsTo of this NodePool.
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) SetManagementPolicies ¶ added in v1.0.6
func (mg *NodePool) SetManagementPolicies(r xpv1.ManagementPolicies)
SetManagementPolicies of this NodePool.
func (*NodePool) SetProviderConfigReference ¶
SetProviderConfigReference of this NodePool.
func (*NodePool) SetPublishConnectionDetailsTo ¶ added in v1.0.2
func (mg *NodePool) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
SetPublishConnectionDetailsTo of this NodePool.
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"` CPUFamily string `json:"cpuFamily,omitempty"` NodeCount *int32 `json:"nodeCount,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 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.