Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the infrastructure v1alpha1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Index ¶
- Constants
- Variables
- type AvailabilityZone
- type ImageSpec
- type IonosCloudCluster
- func (in *IonosCloudCluster) DeepCopy() *IonosCloudCluster
- func (in *IonosCloudCluster) DeepCopyInto(out *IonosCloudCluster)
- func (in *IonosCloudCluster) DeepCopyObject() runtime.Object
- func (i *IonosCloudCluster) DeleteCurrentClusterRequest()
- func (i *IonosCloudCluster) GetConditions() clusterv1.Conditions
- func (i *IonosCloudCluster) SetConditions(conditions clusterv1.Conditions)
- func (i *IonosCloudCluster) SetCurrentClusterRequest(method, status, requestPath string)
- type IonosCloudClusterList
- type IonosCloudClusterSpec
- type IonosCloudClusterStatus
- type IonosCloudMachine
- func (in *IonosCloudMachine) DeepCopy() *IonosCloudMachine
- func (in *IonosCloudMachine) DeepCopyInto(out *IonosCloudMachine)
- func (in *IonosCloudMachine) DeepCopyObject() runtime.Object
- func (m *IonosCloudMachine) DeleteCurrentRequest()
- func (m *IonosCloudMachine) ExtractServerID() string
- func (m *IonosCloudMachine) GetConditions() clusterv1.Conditions
- func (m *IonosCloudMachine) SetConditions(conditions clusterv1.Conditions)
- func (m *IonosCloudMachine) SetCurrentRequest(method, status, requestPath string)
- type IonosCloudMachineList
- type IonosCloudMachineSpec
- type IonosCloudMachineStatus
- type IonosCloudMachineTemplate
- type IonosCloudMachineTemplateList
- type IonosCloudMachineTemplateResource
- type IonosCloudMachineTemplateSpec
- type MachineNetworkInfo
- type NICInfo
- type Network
- type Networks
- type ProvisioningRequest
- type ServerType
- type Volume
- type VolumeDiskType
Constants ¶
const ( // ClusterFinalizer allows cleanup of resources, which are // associated with the IonosCloudCluster before removing it from the API server. ClusterFinalizer = "ionoscloudcluster.infrastructure.cluster.x-k8s.io" // IonosCloudClusterReady is the condition for the IonosCloudCluster, which indicates that the cluster is ready. IonosCloudClusterReady clusterv1.ConditionType = "ClusterReady" // IonosCloudClusterKind is the string resource kind of the IonosCloudCluster resource. IonosCloudClusterKind = "IonosCloudCluster" )
const ( // IonosCloudMachineType is the named type for the API object. IonosCloudMachineType = "IonosCloudMachine" // MachineFinalizer is the finalizer for the IonosCloudMachine resources. // It will prevent the deletion of the resource until it was removed by the controller // to ensure that related cloud resources will be deleted before the IonosCloudMachine resource // will be removed from the API server. MachineFinalizer = "ionoscloudmachine.infrastructure.cluster.x-k8s.io" // MachineProvisionedCondition documents the status of the provisioning of a IonosCloudMachine and // the underlying VM. MachineProvisionedCondition clusterv1.ConditionType = "MachineProvisioned" // WaitingForClusterInfrastructureReason (Severity=Info) indicates that the IonosCloudMachine is currently // waiting for the cluster infrastructure to become ready. WaitingForClusterInfrastructureReason = "WaitingForClusterInfrastructure" // WaitingForBootstrapDataReason (Severity=Info) indicates that the bootstrap provider has not yet finished // creating the bootstrap data secret and store it in the Cluster API Machine. WaitingForBootstrapDataReason = "WaitingForBootstrapData" // CloudResourceConfigAuto is a constant to indicate that the cloud resource should be managed by the // Cluster API provider implementation. CloudResourceConfigAuto = "AUTO" )
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1alpha1"} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = schemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AvailabilityZone ¶
type AvailabilityZone string
AvailabilityZone is the availability zone where different cloud resources are created in.
const ( // AvailabilityZoneAuto automatically selects an availability zone. AvailabilityZoneAuto AvailabilityZone = "AUTO" // AvailabilityZoneOne zone 1. AvailabilityZoneOne AvailabilityZone = "ZONE_1" // AvailabilityZoneTwo zone 2. AvailabilityZoneTwo AvailabilityZone = "ZONE_2" // AvailabilityZoneThree zone 3. AvailabilityZoneThree AvailabilityZone = "ZONE_3" )
func (AvailabilityZone) String ¶
func (a AvailabilityZone) String() string
String returns the string representation of the AvailabilityZone.
type ImageSpec ¶
type ImageSpec struct { // ID is the ID of the image to use for the VM. //+kubebuilder:validation:MinLength=1 ID string `json:"id"` }
ImageSpec defines the image to use for the VM.
func (*ImageSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec.
func (*ImageSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IonosCloudCluster ¶
type IonosCloudCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IonosCloudClusterSpec `json:"spec,omitempty"` Status IonosCloudClusterStatus `json:"status,omitempty"` }
IonosCloudCluster is the Schema for the ionoscloudclusters API.
func (*IonosCloudCluster) DeepCopy ¶
func (in *IonosCloudCluster) DeepCopy() *IonosCloudCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IonosCloudCluster.
func (*IonosCloudCluster) DeepCopyInto ¶
func (in *IonosCloudCluster) DeepCopyInto(out *IonosCloudCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IonosCloudCluster) DeepCopyObject ¶
func (in *IonosCloudCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IonosCloudCluster) DeleteCurrentClusterRequest ¶
func (i *IonosCloudCluster) DeleteCurrentClusterRequest()
DeleteCurrentClusterRequest deletes the current provisioning request for the cluster.
func (*IonosCloudCluster) GetConditions ¶
func (i *IonosCloudCluster) GetConditions() clusterv1.Conditions
GetConditions returns the conditions from the status.
func (*IonosCloudCluster) SetConditions ¶
func (i *IonosCloudCluster) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the conditions in the status.
func (*IonosCloudCluster) SetCurrentClusterRequest ¶
func (i *IonosCloudCluster) SetCurrentClusterRequest(method, status, requestPath string)
SetCurrentClusterRequest sets the current provisioning request for the cluster.
type IonosCloudClusterList ¶
type IonosCloudClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IonosCloudCluster `json:"items"` }
IonosCloudClusterList contains a list of IonosCloudCluster.
func (*IonosCloudClusterList) DeepCopy ¶
func (in *IonosCloudClusterList) DeepCopy() *IonosCloudClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IonosCloudClusterList.
func (*IonosCloudClusterList) DeepCopyInto ¶
func (in *IonosCloudClusterList) DeepCopyInto(out *IonosCloudClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IonosCloudClusterList) DeepCopyObject ¶
func (in *IonosCloudClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IonosCloudClusterSpec ¶
type IonosCloudClusterSpec struct { // ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. //+kubebuilder:validation:XValidation:rule="self.host == oldSelf.host || oldSelf.host == ”",message="control plane endpoint host cannot be updated" //+kubebuilder:validation:XValidation:rule="self.port == oldSelf.port || oldSelf.port == 0",message="control plane endpoint port cannot be updated" // // TODO(gfariasalves): as of now, IP must be provided by the user as we still don't insert the // provider-provided block IP into the kube-vip manifest. ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint,omitempty"` // Location is the location where the data centers should be located. //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="location is immutable" //+kubebuilder:example=de/txl //+kubebuilder:validation:MinLength=1 Location string `json:"location"` // CredentialsRef is a reference to the secret containing the credentials to access the IONOS Cloud API. //+kubebuilder:validation:XValidation:rule="has(self.name) && self.name != ”",message="credentialsRef.name must be provided" CredentialsRef corev1.LocalObjectReference `json:"credentialsRef"` }
IonosCloudClusterSpec defines the desired state of IonosCloudCluster.
func (*IonosCloudClusterSpec) DeepCopy ¶
func (in *IonosCloudClusterSpec) DeepCopy() *IonosCloudClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IonosCloudClusterSpec.
func (*IonosCloudClusterSpec) DeepCopyInto ¶
func (in *IonosCloudClusterSpec) DeepCopyInto(out *IonosCloudClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IonosCloudClusterStatus ¶
type IonosCloudClusterStatus struct { // Ready indicates that the cluster is ready. //+optional Ready bool `json:"ready,omitempty"` // Conditions defines current service state of the IonosCloudCluster. //+optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` // CurrentRequestByDatacenter maps data center IDs to a pending provisioning request made during reconciliation. //+optional CurrentRequestByDatacenter map[string]ProvisioningRequest `json:"currentRequest,omitempty"` // CurrentClusterRequest is the current pending request made during reconciliation for the whole cluster. //+optional CurrentClusterRequest *ProvisioningRequest `json:"currentClusterRequest,omitempty"` // ControlPlaneEndpointIPBlockID is the IONOS Cloud UUID for the control plane endpoint IP block. //+optional ControlPlaneEndpointIPBlockID string `json:"controlPlaneEndpointIPBlockID,omitempty"` }
IonosCloudClusterStatus defines the observed state of IonosCloudCluster.
func (*IonosCloudClusterStatus) DeepCopy ¶
func (in *IonosCloudClusterStatus) DeepCopy() *IonosCloudClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IonosCloudClusterStatus.
func (*IonosCloudClusterStatus) DeepCopyInto ¶
func (in *IonosCloudClusterStatus) DeepCopyInto(out *IonosCloudClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IonosCloudMachine ¶
type IonosCloudMachine struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` //+kubebuilder:validation:XValidation:rule="self.type != 'VCPU' || !has(self.cpuFamily)",message="cpuFamily must not be specified when using VCPU" Spec IonosCloudMachineSpec `json:"spec,omitempty"` Status IonosCloudMachineStatus `json:"status,omitempty"` }
IonosCloudMachine is the Schema for the ionoscloudmachines API.
func (*IonosCloudMachine) DeepCopy ¶
func (in *IonosCloudMachine) DeepCopy() *IonosCloudMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IonosCloudMachine.
func (*IonosCloudMachine) DeepCopyInto ¶
func (in *IonosCloudMachine) DeepCopyInto(out *IonosCloudMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IonosCloudMachine) DeepCopyObject ¶
func (in *IonosCloudMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IonosCloudMachine) DeleteCurrentRequest ¶
func (m *IonosCloudMachine) DeleteCurrentRequest()
DeleteCurrentRequest deletes the current provisioning request for the machine.
func (*IonosCloudMachine) ExtractServerID ¶
func (m *IonosCloudMachine) ExtractServerID() string
ExtractServerID extracts the server ID from the provider ID. if the provider ID is empty, an empty string will be returned instead.
func (*IonosCloudMachine) GetConditions ¶
func (m *IonosCloudMachine) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the IonosCloudMachine resource.
func (*IonosCloudMachine) SetConditions ¶
func (m *IonosCloudMachine) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the IonosCloudMachine to the predescribed clusterv1.Conditions.
func (*IonosCloudMachine) SetCurrentRequest ¶
func (m *IonosCloudMachine) SetCurrentRequest(method, status, requestPath string)
SetCurrentRequest sets the current provisioning request for the machine.
type IonosCloudMachineList ¶
type IonosCloudMachineList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IonosCloudMachine `json:"items"` }
IonosCloudMachineList contains a list of IonosCloudMachine.
func (*IonosCloudMachineList) DeepCopy ¶
func (in *IonosCloudMachineList) DeepCopy() *IonosCloudMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IonosCloudMachineList.
func (*IonosCloudMachineList) DeepCopyInto ¶
func (in *IonosCloudMachineList) DeepCopyInto(out *IonosCloudMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IonosCloudMachineList) DeepCopyObject ¶
func (in *IonosCloudMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IonosCloudMachineSpec ¶
type IonosCloudMachineSpec struct { // ProviderID is the IONOS Cloud provider ID // will be in the format ionos://ee090ff2-1eef-48ec-a246-a51a33aa4f3a //+optional ProviderID *string `json:"providerID,omitempty"` // DatacenterID is the ID of the data center where the VM should be created in. //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="datacenterID is immutable" //+kubebuilder:validation:Format=uuid DatacenterID string `json:"datacenterID"` // NumCores defines the number of cores for the VM. //+kubebuilder:validation:Minimum=1 //+kubebuilder:default=1 //+optional NumCores int32 `json:"numCores,omitempty"` // AvailabilityZone is the availability zone in which the VM should be provisioned. //+kubebuilder:validation:Enum=AUTO;ZONE_1;ZONE_2 //+kubebuilder:default=AUTO //+optional AvailabilityZone AvailabilityZone `json:"availabilityZone,omitempty"` // MemoryMB is the memory size for the VM in MB. // Size must be specified in multiples of 256 MB with a minimum of 1024 MB // which is required as we are using hot-pluggable RAM by default. //+kubebuilder:validation:MultipleOf=1024 //+kubebuilder:validation:Minimum=2048 //+kubebuilder:default=3072 //+optional MemoryMB int32 `json:"memoryMB,omitempty"` // CPUFamily defines the CPU architecture, which will be used for this VM. // Not all CPU architectures are available in all data centers. // // If not specified, the cloud will select a suitable CPU family // based on the availability in the data center. //+kubebuilder:example=AMD_OPTERON //+optional CPUFamily *string `json:"cpuFamily,omitempty"` // Disk defines the boot volume of the VM. Disk *Volume `json:"disk"` // AdditionalNetworks defines the additional network configurations for the VM. // NOTE(lubedacht): We currently only support networks with DHCP enabled. //+optional AdditionalNetworks Networks `json:"additionalNetworks,omitempty"` // FailoverIP can be set to enable failover for VMs in the same MachineDeployment. // It can be either set to an already reserved IPv4 address, or it can be set to "AUTO" // which will automatically reserve an IPv4 address for the Failover Group. // // If the machine is a control plane machine, this field will not be taken into account. //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="failoverIP is immutable" //+kubebuilder:validation:XValidation:rule=`self == "AUTO" || self.matches("((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}$")`,message="failoverIP must be either 'AUTO' or a valid IPv4 address" //+optional FailoverIP *string `json:"failoverIP,omitempty"` // Type is the server type of the VM. Can be either ENTERPRISE or VCPU. //+kubebuilder:validation:XValidation:rule="self == oldSelf",message="type is immutable" //+kubebuilder:validation:Enum=ENTERPRISE;VCPU //+kubebuilder:default=ENTERPRISE //+optional Type ServerType `json:"type,omitempty"` }
IonosCloudMachineSpec defines the desired state of IonosCloudMachine.
func (*IonosCloudMachineSpec) DeepCopy ¶
func (in *IonosCloudMachineSpec) DeepCopy() *IonosCloudMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IonosCloudMachineSpec.
func (*IonosCloudMachineSpec) DeepCopyInto ¶
func (in *IonosCloudMachineSpec) DeepCopyInto(out *IonosCloudMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IonosCloudMachineStatus ¶
type IonosCloudMachineStatus struct { // Ready indicates the VM has been provisioned and is ready. //+optional Ready bool `json:"ready"` // MachineNetworkInfo contains information about the network configuration of the VM. // This information is only available after the VM has been provisioned. MachineNetworkInfo *MachineNetworkInfo `json:"machineNetworkInfo,omitempty"` // FailureReason will be set in the event that there is a terminal problem // reconciling the Machine and will contain a succinct value suitable // for machine interpretation. // // This field should not be set for transitive errors that a controller // faces that are expected to be fixed automatically over // time (like service outages), but instead indicate that something is // fundamentally wrong with the Machine's spec or the configuration of // the controller, and that manual intervention is required. Examples // of terminal errors would be invalid combinations of settings in the // spec, values that are unsupported by the controller, or the // responsible controller itself being critically misconfigured. // // Any transient errors that occur during the reconciliation of IonosCloudMachines // can be added as events to the IonosCloudMachine object and/or logged in the // controller's output. //+optional FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"` // FailureMessage will be set in the event that there is a terminal problem // reconciling the Machine and will contain a more verbose string suitable // for logging and human consumption. // // This field should not be set for transitive errors that a controller // faces that are expected to be fixed automatically over // time (like service outages), but instead indicate that something is // fundamentally wrong with the Machine's spec or the configuration of // the controller, and that manual intervention is required. Examples // of terminal errors would be invalid combinations of settings in the // spec, values that are unsupported by the controller, or the // responsible controller itself being critically misconfigured. // // Any transient errors that occur during the reconciliation of IonosCloudMachines // can be added as events to the IonosCloudMachine object and/or logged in the // controller's output. //+optional FailureMessage *string `json:"failureMessage,omitempty"` // Conditions defines current service state of the IonosCloudMachine. //+optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` // CurrentRequest shows the current provisioning request for any // cloud resource that is being provisioned. //+optional CurrentRequest *ProvisioningRequest `json:"currentRequest,omitempty"` }
IonosCloudMachineStatus defines the observed state of IonosCloudMachine.
func (*IonosCloudMachineStatus) DeepCopy ¶
func (in *IonosCloudMachineStatus) DeepCopy() *IonosCloudMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IonosCloudMachineStatus.
func (*IonosCloudMachineStatus) DeepCopyInto ¶
func (in *IonosCloudMachineStatus) DeepCopyInto(out *IonosCloudMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IonosCloudMachineTemplate ¶
type IonosCloudMachineTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IonosCloudMachineTemplateSpec `json:"spec,omitempty"` }
IonosCloudMachineTemplate is the Schema for the ionoscloudmachinetemplates API.
func (*IonosCloudMachineTemplate) DeepCopy ¶
func (in *IonosCloudMachineTemplate) DeepCopy() *IonosCloudMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IonosCloudMachineTemplate.
func (*IonosCloudMachineTemplate) DeepCopyInto ¶
func (in *IonosCloudMachineTemplate) DeepCopyInto(out *IonosCloudMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IonosCloudMachineTemplate) DeepCopyObject ¶
func (in *IonosCloudMachineTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IonosCloudMachineTemplateList ¶
type IonosCloudMachineTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IonosCloudMachineTemplate `json:"items"` }
IonosCloudMachineTemplateList contains a list of IonosCloudMachineTemplate.
func (*IonosCloudMachineTemplateList) DeepCopy ¶
func (in *IonosCloudMachineTemplateList) DeepCopy() *IonosCloudMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IonosCloudMachineTemplateList.
func (*IonosCloudMachineTemplateList) DeepCopyInto ¶
func (in *IonosCloudMachineTemplateList) DeepCopyInto(out *IonosCloudMachineTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IonosCloudMachineTemplateList) DeepCopyObject ¶
func (in *IonosCloudMachineTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IonosCloudMachineTemplateResource ¶
type IonosCloudMachineTemplateResource struct { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata //+optional ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"` // Spec is the IonosCloudMachineSpec for the IonosCloudMachineTemplate. Spec IonosCloudMachineSpec `json:"spec"` }
IonosCloudMachineTemplateResource defines the spec and metadata for IonosCloudMachineTemplate supported by capi.
func (*IonosCloudMachineTemplateResource) DeepCopy ¶
func (in *IonosCloudMachineTemplateResource) DeepCopy() *IonosCloudMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IonosCloudMachineTemplateResource.
func (*IonosCloudMachineTemplateResource) DeepCopyInto ¶
func (in *IonosCloudMachineTemplateResource) DeepCopyInto(out *IonosCloudMachineTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IonosCloudMachineTemplateSpec ¶
type IonosCloudMachineTemplateSpec struct { // Template is the IonosCloudMachineTemplateResource for the IonosCloudMachineTemplate. Template IonosCloudMachineTemplateResource `json:"template"` }
IonosCloudMachineTemplateSpec defines the desired state of IonosCloudMachineTemplate.
func (*IonosCloudMachineTemplateSpec) DeepCopy ¶
func (in *IonosCloudMachineTemplateSpec) DeepCopy() *IonosCloudMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IonosCloudMachineTemplateSpec.
func (*IonosCloudMachineTemplateSpec) DeepCopyInto ¶
func (in *IonosCloudMachineTemplateSpec) DeepCopyInto(out *IonosCloudMachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineNetworkInfo ¶
type MachineNetworkInfo struct { // NICInfo holds information about the NICs, which are attached to the VM. //+optional NICInfo []NICInfo `json:"nicInfo,omitempty"` }
MachineNetworkInfo contains information about the network configuration of the VM.
func (*MachineNetworkInfo) DeepCopy ¶
func (in *MachineNetworkInfo) DeepCopy() *MachineNetworkInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineNetworkInfo.
func (*MachineNetworkInfo) DeepCopyInto ¶
func (in *MachineNetworkInfo) DeepCopyInto(out *MachineNetworkInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NICInfo ¶
type NICInfo struct { // IPv4Addresses contains the IPv4 addresses of the NIC. IPv4Addresses []string `json:"ipv4Addresses"` // IPv6Addresses contains the IPv6 addresses of the NIC. IPv6Addresses []string `json:"ipv6Addresses"` // NetworkID is the ID of the LAN to which the NIC is connected. NetworkID int32 `json:"networkID"` // Primary indicates whether the NIC is the primary NIC of the VM. Primary bool `json:"primary"` }
NICInfo provides information about the NIC of the VM.
func (*NICInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NICInfo.
func (*NICInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Network ¶
type Network struct { // NetworkID represents an ID an existing LAN in the data center. // This LAN will be excluded from the deletion process. //+kubebuilder:validation:Minimum=1 NetworkID int32 `json:"networkID"` }
Network contains the config for additional LANs.
func (*Network) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Networks ¶
type Networks []Network
Networks contains a list of additional LAN IDs that should be attached to the VM.
func (Networks) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Networks.
func (Networks) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProvisioningRequest ¶
type ProvisioningRequest struct { // Method is the request method Method string `json:"method"` // RequestPath is the sub path for the request URL RequestPath string `json:"requestPath"` // RequestStatus is the status of the request in the queue. //+kubebuilder:validation:Enum=QUEUED;RUNNING;DONE;FAILED //+optional State string `json:"state,omitempty"` }
ProvisioningRequest is a definition of a provisioning request in the IONOS Cloud.
func (*ProvisioningRequest) DeepCopy ¶
func (in *ProvisioningRequest) DeepCopy() *ProvisioningRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProvisioningRequest.
func (*ProvisioningRequest) DeepCopyInto ¶
func (in *ProvisioningRequest) DeepCopyInto(out *ProvisioningRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerType ¶
type ServerType string
ServerType is the type of server which is created (ENTERPRISE or VCPU).
const ( // ServerTypeEnterprise server of type ENTERPRISE. ServerTypeEnterprise ServerType = "ENTERPRISE" // ServerTypeVCPU server of type VCPU. ServerTypeVCPU ServerType = "VCPU" )
func (ServerType) String ¶
func (a ServerType) String() string
String returns the string representation of the ServerType.
type Volume ¶
type Volume struct { // Name is the name of the volume //+optional Name string `json:"name,omitempty"` // DiskType defines the type of the hard drive. //+kubebuilder:validation:Enum=HDD;SSD Standard;SSD Premium //+kubebuilder:default=HDD //+optional DiskType VolumeDiskType `json:"diskType,omitempty"` // SizeGB defines the size of the volume in GB //+kubebuilder:validation:Minimum=10 //+kubebuilder:default=20 //+optional SizeGB int `json:"sizeGB,omitempty"` // AvailabilityZone is the availability zone where the volume will be created. //+kubebuilder:validation:Enum=AUTO;ZONE_1;ZONE_2;ZONE_3 //+kubebuilder:default=AUTO //+optional AvailabilityZone AvailabilityZone `json:"availabilityZone,omitempty"` // Image is the image to use for the VM. //+required Image *ImageSpec `json:"image"` }
Volume is the physical storage on the VM.
func (*Volume) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.
func (*Volume) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeDiskType ¶
type VolumeDiskType string
VolumeDiskType specifies the type of hard disk.
const ( // VolumeDiskTypeHDD defines the disk type HDD. VolumeDiskTypeHDD VolumeDiskType = "HDD" // VolumeDiskTypeSSDStandard defines the standard SSD disk type. // This is the same as VolumeDiskTypeSSD. VolumeDiskTypeSSDStandard VolumeDiskType = "SSD Standard" // VolumeDiskTypeSSDPremium defines the premium SSD disk type. VolumeDiskTypeSSDPremium VolumeDiskType = "SSD Premium" )
func (VolumeDiskType) String ¶
func (v VolumeDiskType) String() string
String returns the string representation of the VolumeDiskType.