v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=compute.ionoscloud.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "compute.ionoscloud.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	BootDeviceSelection_Kind             = "BootDeviceSelection"
	BootDeviceSelection_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: BootDeviceSelection_Kind}.String()
	BootDeviceSelection_KindAPIVersion   = BootDeviceSelection_Kind + "." + CRDGroupVersion.String()
	BootDeviceSelection_GroupVersionKind = CRDGroupVersion.WithKind(BootDeviceSelection_Kind)
)

Repository type metadata.

View Source
var (
	Crossconnect_Kind             = "Crossconnect"
	Crossconnect_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Crossconnect_Kind}.String()
	Crossconnect_KindAPIVersion   = Crossconnect_Kind + "." + CRDGroupVersion.String()
	Crossconnect_GroupVersionKind = CRDGroupVersion.WithKind(Crossconnect_Kind)
)

Repository type metadata.

View Source
var (
	CubeServer_Kind             = "CubeServer"
	CubeServer_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: CubeServer_Kind}.String()
	CubeServer_KindAPIVersion   = CubeServer_Kind + "." + CRDGroupVersion.String()
	CubeServer_GroupVersionKind = CRDGroupVersion.WithKind(CubeServer_Kind)
)

Repository type metadata.

View Source
var (
	Datacenter_Kind             = "Datacenter"
	Datacenter_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Datacenter_Kind}.String()
	Datacenter_KindAPIVersion   = Datacenter_Kind + "." + CRDGroupVersion.String()
	Datacenter_GroupVersionKind = CRDGroupVersion.WithKind(Datacenter_Kind)
)

Repository type metadata.

View Source
var (
	Firewall_Kind             = "Firewall"
	Firewall_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Firewall_Kind}.String()
	Firewall_KindAPIVersion   = Firewall_Kind + "." + CRDGroupVersion.String()
	Firewall_GroupVersionKind = CRDGroupVersion.WithKind(Firewall_Kind)
)

Repository type metadata.

View Source
var (
	Group_Kind             = "Group"
	Group_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Group_Kind}.String()
	Group_KindAPIVersion   = Group_Kind + "." + CRDGroupVersion.String()
	Group_GroupVersionKind = CRDGroupVersion.WithKind(Group_Kind)
)

Repository type metadata.

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	Ipblock_Kind             = "Ipblock"
	Ipblock_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Ipblock_Kind}.String()
	Ipblock_KindAPIVersion   = Ipblock_Kind + "." + CRDGroupVersion.String()
	Ipblock_GroupVersionKind = CRDGroupVersion.WithKind(Ipblock_Kind)
)

Repository type metadata.

View Source
var (
	Ipfailover_Kind             = "Ipfailover"
	Ipfailover_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Ipfailover_Kind}.String()
	Ipfailover_KindAPIVersion   = Ipfailover_Kind + "." + CRDGroupVersion.String()
	Ipfailover_GroupVersionKind = CRDGroupVersion.WithKind(Ipfailover_Kind)
)

Repository type metadata.

View Source
var (
	Lan_Kind             = "Lan"
	Lan_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Lan_Kind}.String()
	Lan_KindAPIVersion   = Lan_Kind + "." + CRDGroupVersion.String()
	Lan_GroupVersionKind = CRDGroupVersion.WithKind(Lan_Kind)
)

Repository type metadata.

View Source
var (
	Loadbalancer_Kind             = "Loadbalancer"
	Loadbalancer_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Loadbalancer_Kind}.String()
	Loadbalancer_KindAPIVersion   = Loadbalancer_Kind + "." + CRDGroupVersion.String()
	Loadbalancer_GroupVersionKind = CRDGroupVersion.WithKind(Loadbalancer_Kind)
)

Repository type metadata.

View Source
var (
	Nic_Kind             = "Nic"
	Nic_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Nic_Kind}.String()
	Nic_KindAPIVersion   = Nic_Kind + "." + CRDGroupVersion.String()
	Nic_GroupVersionKind = CRDGroupVersion.WithKind(Nic_Kind)
)

Repository type metadata.

View Source
var (
	Server_Kind             = "Server"
	Server_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Server_Kind}.String()
	Server_KindAPIVersion   = Server_Kind + "." + CRDGroupVersion.String()
	Server_GroupVersionKind = CRDGroupVersion.WithKind(Server_Kind)
)

Repository type metadata.

View Source
var (
	Share_Kind             = "Share"
	Share_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Share_Kind}.String()
	Share_KindAPIVersion   = Share_Kind + "." + CRDGroupVersion.String()
	Share_GroupVersionKind = CRDGroupVersion.WithKind(Share_Kind)
)

Repository type metadata.

View Source
var (
	Snapshot_Kind             = "Snapshot"
	Snapshot_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Snapshot_Kind}.String()
	Snapshot_KindAPIVersion   = Snapshot_Kind + "." + CRDGroupVersion.String()
	Snapshot_GroupVersionKind = CRDGroupVersion.WithKind(Snapshot_Kind)
)

Repository type metadata.

View Source
var (
	Unit_Kind             = "Unit"
	Unit_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Unit_Kind}.String()
	Unit_KindAPIVersion   = Unit_Kind + "." + CRDGroupVersion.String()
	Unit_GroupVersionKind = CRDGroupVersion.WithKind(Unit_Kind)
)

Repository type metadata.

View Source
var (
	User_Kind             = "User"
	User_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: User_Kind}.String()
	User_KindAPIVersion   = User_Kind + "." + CRDGroupVersion.String()
	User_GroupVersionKind = CRDGroupVersion.WithKind(User_Kind)
)

Repository type metadata.

View Source
var (
	VCPUServer_Kind             = "VCPUServer"
	VCPUServer_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: VCPUServer_Kind}.String()
	VCPUServer_KindAPIVersion   = VCPUServer_Kind + "." + CRDGroupVersion.String()
	VCPUServer_GroupVersionKind = CRDGroupVersion.WithKind(VCPUServer_Kind)
)

Repository type metadata.

View Source
var (
	Volume_Kind             = "Volume"
	Volume_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Volume_Kind}.String()
	Volume_KindAPIVersion   = Volume_Kind + "." + CRDGroupVersion.String()
	Volume_GroupVersionKind = CRDGroupVersion.WithKind(Volume_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type BootDeviceSelection

type BootDeviceSelection struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              BootDeviceSelectionSpec   `json:"spec"`
	Status            BootDeviceSelectionStatus `json:"status,omitempty"`
}

BootDeviceSelection is the Schema for the BootDeviceSelections API. <no value> +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*BootDeviceSelection) DeepCopy

func (in *BootDeviceSelection) DeepCopy() *BootDeviceSelection

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDeviceSelection.

func (*BootDeviceSelection) DeepCopyInto

func (in *BootDeviceSelection) DeepCopyInto(out *BootDeviceSelection)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BootDeviceSelection) DeepCopyObject

func (in *BootDeviceSelection) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*BootDeviceSelection) GetCondition

func (mg *BootDeviceSelection) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this BootDeviceSelection.

func (*BootDeviceSelection) GetConnectionDetailsMapping

func (tr *BootDeviceSelection) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this BootDeviceSelection

func (*BootDeviceSelection) GetDeletionPolicy

func (mg *BootDeviceSelection) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this BootDeviceSelection.

func (*BootDeviceSelection) GetID

func (tr *BootDeviceSelection) GetID() string

GetID returns ID of underlying Terraform resource of this BootDeviceSelection

func (*BootDeviceSelection) GetInitParameters

func (tr *BootDeviceSelection) GetInitParameters() (map[string]any, error)

GetInitParameters of this BootDeviceSelection

func (*BootDeviceSelection) GetManagementPolicies

func (mg *BootDeviceSelection) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this BootDeviceSelection.

func (*BootDeviceSelection) GetMergedParameters

func (tr *BootDeviceSelection) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this BootDeviceSelection

func (*BootDeviceSelection) GetObservation

func (tr *BootDeviceSelection) GetObservation() (map[string]any, error)

GetObservation of this BootDeviceSelection

func (*BootDeviceSelection) GetParameters

func (tr *BootDeviceSelection) GetParameters() (map[string]any, error)

GetParameters of this BootDeviceSelection

func (*BootDeviceSelection) GetProviderConfigReference

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

GetProviderConfigReference of this BootDeviceSelection.

func (*BootDeviceSelection) GetPublishConnectionDetailsTo

func (mg *BootDeviceSelection) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this BootDeviceSelection.

func (*BootDeviceSelection) GetTerraformResourceType

func (mg *BootDeviceSelection) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this BootDeviceSelection

func (*BootDeviceSelection) GetTerraformSchemaVersion

func (tr *BootDeviceSelection) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*BootDeviceSelection) GetWriteConnectionSecretToReference

func (mg *BootDeviceSelection) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this BootDeviceSelection.

func (*BootDeviceSelection) Hub

func (tr *BootDeviceSelection) Hub()

Hub marks this type as a conversion hub.

func (*BootDeviceSelection) LateInitialize

func (tr *BootDeviceSelection) LateInitialize(attrs []byte) (bool, error)

LateInitialize this BootDeviceSelection using its observed tfState. returns True if there are any spec changes for the resource.

func (*BootDeviceSelection) ResolveReferences

func (mg *BootDeviceSelection) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this BootDeviceSelection.

func (*BootDeviceSelection) SetConditions

func (mg *BootDeviceSelection) SetConditions(c ...xpv1.Condition)

SetConditions of this BootDeviceSelection.

func (*BootDeviceSelection) SetDeletionPolicy

func (mg *BootDeviceSelection) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this BootDeviceSelection.

func (*BootDeviceSelection) SetManagementPolicies

func (mg *BootDeviceSelection) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this BootDeviceSelection.

func (*BootDeviceSelection) SetObservation

func (tr *BootDeviceSelection) SetObservation(obs map[string]any) error

SetObservation for this BootDeviceSelection

func (*BootDeviceSelection) SetParameters

func (tr *BootDeviceSelection) SetParameters(params map[string]any) error

SetParameters for this BootDeviceSelection

func (*BootDeviceSelection) SetProviderConfigReference

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

SetProviderConfigReference of this BootDeviceSelection.

func (*BootDeviceSelection) SetPublishConnectionDetailsTo

func (mg *BootDeviceSelection) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this BootDeviceSelection.

func (*BootDeviceSelection) SetWriteConnectionSecretToReference

func (mg *BootDeviceSelection) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this BootDeviceSelection.

type BootDeviceSelectionInitParameters

type BootDeviceSelectionInitParameters struct {

	// ID of the entity to set as primary boot device. Possible boot devices are CDROM Images and Volumes. If omitted, server will boot from PXE
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Volume
	BootDeviceID *string `json:"bootDeviceId,omitempty" tf:"boot_device_id,omitempty"`

	// Reference to a Volume in compute to populate bootDeviceId.
	// +kubebuilder:validation:Optional
	BootDeviceIDRef *v1.Reference `json:"bootDeviceIdRef,omitempty" tf:"-"`

	// Selector for a Volume in compute to populate bootDeviceId.
	// +kubebuilder:validation:Optional
	BootDeviceIDSelector *v1.Selector `json:"bootDeviceIdSelector,omitempty" tf:"-"`

	// ID of the Datacenter that holds the server for which the boot volume is selected
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// ID of the Server for which the boot device will be selected.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Server
	ServerID *string `json:"serverId,omitempty" tf:"server_id,omitempty"`

	// Reference to a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDRef *v1.Reference `json:"serverIdRef,omitempty" tf:"-"`

	// Selector for a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDSelector *v1.Selector `json:"serverIdSelector,omitempty" tf:"-"`
}

func (*BootDeviceSelectionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDeviceSelectionInitParameters.

func (*BootDeviceSelectionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootDeviceSelectionList

type BootDeviceSelectionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []BootDeviceSelection `json:"items"`
}

BootDeviceSelectionList contains a list of BootDeviceSelections

func (*BootDeviceSelectionList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDeviceSelectionList.

func (*BootDeviceSelectionList) DeepCopyInto

func (in *BootDeviceSelectionList) DeepCopyInto(out *BootDeviceSelectionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BootDeviceSelectionList) DeepCopyObject

func (in *BootDeviceSelectionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*BootDeviceSelectionList) GetItems

func (l *BootDeviceSelectionList) GetItems() []resource.Managed

GetItems of this BootDeviceSelectionList.

type BootDeviceSelectionObservation

type BootDeviceSelectionObservation struct {

	// ID of the entity to set as primary boot device. Possible boot devices are CDROM Images and Volumes. If omitted, server will boot from PXE
	BootDeviceID *string `json:"bootDeviceId,omitempty" tf:"boot_device_id,omitempty"`

	// ID of the Datacenter that holds the server for which the boot volume is selected
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// ID of the first attached volume of the Server, which will be the default boot volume.
	DefaultBootVolumeID *string `json:"defaultBootVolumeId,omitempty" tf:"default_boot_volume_id,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// ID of the Server for which the boot device will be selected.
	ServerID *string `json:"serverId,omitempty" tf:"server_id,omitempty"`
}

func (*BootDeviceSelectionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDeviceSelectionObservation.

func (*BootDeviceSelectionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootDeviceSelectionParameters

type BootDeviceSelectionParameters struct {

	// ID of the entity to set as primary boot device. Possible boot devices are CDROM Images and Volumes. If omitted, server will boot from PXE
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Volume
	// +kubebuilder:validation:Optional
	BootDeviceID *string `json:"bootDeviceId,omitempty" tf:"boot_device_id,omitempty"`

	// Reference to a Volume in compute to populate bootDeviceId.
	// +kubebuilder:validation:Optional
	BootDeviceIDRef *v1.Reference `json:"bootDeviceIdRef,omitempty" tf:"-"`

	// Selector for a Volume in compute to populate bootDeviceId.
	// +kubebuilder:validation:Optional
	BootDeviceIDSelector *v1.Selector `json:"bootDeviceIdSelector,omitempty" tf:"-"`

	// ID of the Datacenter that holds the server for which the boot volume is selected
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	// +kubebuilder:validation:Optional
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// ID of the Server for which the boot device will be selected.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Server
	// +kubebuilder:validation:Optional
	ServerID *string `json:"serverId,omitempty" tf:"server_id,omitempty"`

	// Reference to a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDRef *v1.Reference `json:"serverIdRef,omitempty" tf:"-"`

	// Selector for a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDSelector *v1.Selector `json:"serverIdSelector,omitempty" tf:"-"`
}

func (*BootDeviceSelectionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDeviceSelectionParameters.

func (*BootDeviceSelectionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootDeviceSelectionSpec

type BootDeviceSelectionSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     BootDeviceSelectionParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider BootDeviceSelectionInitParameters `json:"initProvider,omitempty"`
}

BootDeviceSelectionSpec defines the desired state of BootDeviceSelection

func (*BootDeviceSelectionSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDeviceSelectionSpec.

func (*BootDeviceSelectionSpec) DeepCopyInto

func (in *BootDeviceSelectionSpec) DeepCopyInto(out *BootDeviceSelectionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootDeviceSelectionStatus

type BootDeviceSelectionStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        BootDeviceSelectionObservation `json:"atProvider,omitempty"`
}

BootDeviceSelectionStatus defines the observed state of BootDeviceSelection.

func (*BootDeviceSelectionStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootDeviceSelectionStatus.

func (*BootDeviceSelectionStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CPUArchitectureInitParameters

type CPUArchitectureInitParameters struct {
}

func (*CPUArchitectureInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUArchitectureInitParameters.

func (*CPUArchitectureInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CPUArchitectureObservation

type CPUArchitectureObservation struct {

	// A valid CPU family name
	CPUFamily *string `json:"cpuFamily,omitempty" tf:"cpu_family,omitempty"`

	// The maximum number of cores available
	MaxCores *float64 `json:"maxCores,omitempty" tf:"max_cores,omitempty"`

	// The maximum number of RAM in MB
	MaxRAM *float64 `json:"maxRam,omitempty" tf:"max_ram,omitempty"`

	// A valid CPU vendor name
	Vendor *string `json:"vendor,omitempty" tf:"vendor,omitempty"`
}

func (*CPUArchitectureObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUArchitectureObservation.

func (*CPUArchitectureObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CPUArchitectureParameters

type CPUArchitectureParameters struct {
}

func (*CPUArchitectureParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUArchitectureParameters.

func (*CPUArchitectureParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConnectableDatacentersInitParameters

type ConnectableDatacentersInitParameters struct {
}

func (*ConnectableDatacentersInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectableDatacentersInitParameters.

func (*ConnectableDatacentersInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConnectableDatacentersObservation

type ConnectableDatacentersObservation struct {

	// The UUID of the connectable datacenter
	// The UUID of the connectable datacenter
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The physical location of the connectable datacenter
	// The physical location of the connectable datacenter
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// [string] The name of the cross-connection.
	// The name of the connectable datacenter
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*ConnectableDatacentersObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectableDatacentersObservation.

func (*ConnectableDatacentersObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConnectableDatacentersParameters

type ConnectableDatacentersParameters struct {
}

func (*ConnectableDatacentersParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectableDatacentersParameters.

func (*ConnectableDatacentersParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Crossconnect

type Crossconnect struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   CrossconnectSpec   `json:"spec"`
	Status CrossconnectStatus `json:"status,omitempty"`
}

Crossconnect is the Schema for the Crossconnects API. Creates and manages Cross Connections between virtual datacenters. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*Crossconnect) DeepCopy

func (in *Crossconnect) DeepCopy() *Crossconnect

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Crossconnect.

func (*Crossconnect) DeepCopyInto

func (in *Crossconnect) DeepCopyInto(out *Crossconnect)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Crossconnect) DeepCopyObject

func (in *Crossconnect) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Crossconnect) GetCondition

func (mg *Crossconnect) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Crossconnect.

func (*Crossconnect) GetConnectionDetailsMapping

func (tr *Crossconnect) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Crossconnect

func (*Crossconnect) GetDeletionPolicy

func (mg *Crossconnect) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Crossconnect.

func (*Crossconnect) GetID

func (tr *Crossconnect) GetID() string

GetID returns ID of underlying Terraform resource of this Crossconnect

func (*Crossconnect) GetInitParameters

func (tr *Crossconnect) GetInitParameters() (map[string]any, error)

GetInitParameters of this Crossconnect

func (*Crossconnect) GetManagementPolicies

func (mg *Crossconnect) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Crossconnect.

func (*Crossconnect) GetMergedParameters

func (tr *Crossconnect) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Crossconnect

func (*Crossconnect) GetObservation

func (tr *Crossconnect) GetObservation() (map[string]any, error)

GetObservation of this Crossconnect

func (*Crossconnect) GetParameters

func (tr *Crossconnect) GetParameters() (map[string]any, error)

GetParameters of this Crossconnect

func (*Crossconnect) GetProviderConfigReference

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

GetProviderConfigReference of this Crossconnect.

func (*Crossconnect) GetPublishConnectionDetailsTo

func (mg *Crossconnect) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Crossconnect.

func (*Crossconnect) GetTerraformResourceType

func (mg *Crossconnect) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Crossconnect

func (*Crossconnect) GetTerraformSchemaVersion

func (tr *Crossconnect) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Crossconnect) GetWriteConnectionSecretToReference

func (mg *Crossconnect) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Crossconnect.

func (*Crossconnect) Hub

func (tr *Crossconnect) Hub()

Hub marks this type as a conversion hub.

func (*Crossconnect) LateInitialize

func (tr *Crossconnect) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Crossconnect using its observed tfState. returns True if there are any spec changes for the resource.

func (*Crossconnect) SetConditions

func (mg *Crossconnect) SetConditions(c ...xpv1.Condition)

SetConditions of this Crossconnect.

func (*Crossconnect) SetDeletionPolicy

func (mg *Crossconnect) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Crossconnect.

func (*Crossconnect) SetManagementPolicies

func (mg *Crossconnect) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Crossconnect.

func (*Crossconnect) SetObservation

func (tr *Crossconnect) SetObservation(obs map[string]any) error

SetObservation for this Crossconnect

func (*Crossconnect) SetParameters

func (tr *Crossconnect) SetParameters(params map[string]any) error

SetParameters for this Crossconnect

func (*Crossconnect) SetProviderConfigReference

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

SetProviderConfigReference of this Crossconnect.

func (*Crossconnect) SetPublishConnectionDetailsTo

func (mg *Crossconnect) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Crossconnect.

func (*Crossconnect) SetWriteConnectionSecretToReference

func (mg *Crossconnect) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Crossconnect.

type CrossconnectInitParameters

type CrossconnectInitParameters struct {

	// A list containing all the connectable datacenters
	ConnectableDatacenters []ConnectableDatacentersInitParameters `json:"connectableDatacenters,omitempty" tf:"connectable_datacenters,omitempty"`

	// [string] A short description for the cross-connection.
	// The desired description
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// [string] The name of the cross-connection.
	// The desired name
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (Computed) Lists LAN's joined to this cross connect
	// A list containing the details of all cross-connected datacenters
	Peers []PeersInitParameters `json:"peers,omitempty" tf:"peers,omitempty"`
}

func (*CrossconnectInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossconnectInitParameters.

func (*CrossconnectInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CrossconnectList

type CrossconnectList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Crossconnect `json:"items"`
}

CrossconnectList contains a list of Crossconnects

func (*CrossconnectList) DeepCopy

func (in *CrossconnectList) DeepCopy() *CrossconnectList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossconnectList.

func (*CrossconnectList) DeepCopyInto

func (in *CrossconnectList) DeepCopyInto(out *CrossconnectList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CrossconnectList) DeepCopyObject

func (in *CrossconnectList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CrossconnectList) GetItems

func (l *CrossconnectList) GetItems() []resource.Managed

GetItems of this CrossconnectList.

type CrossconnectObservation

type CrossconnectObservation struct {

	// A list containing all the connectable datacenters
	ConnectableDatacenters []ConnectableDatacentersObservation `json:"connectableDatacenters,omitempty" tf:"connectable_datacenters,omitempty"`

	// [string] A short description for the cross-connection.
	// The desired description
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The UUID of the connectable datacenter
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// [string] The name of the cross-connection.
	// The desired name
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (Computed) Lists LAN's joined to this cross connect
	// A list containing the details of all cross-connected datacenters
	Peers []PeersObservation `json:"peers,omitempty" tf:"peers,omitempty"`
}

func (*CrossconnectObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossconnectObservation.

func (*CrossconnectObservation) DeepCopyInto

func (in *CrossconnectObservation) DeepCopyInto(out *CrossconnectObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CrossconnectParameters

type CrossconnectParameters struct {

	// A list containing all the connectable datacenters
	// +kubebuilder:validation:Optional
	ConnectableDatacenters []ConnectableDatacentersParameters `json:"connectableDatacenters,omitempty" tf:"connectable_datacenters,omitempty"`

	// [string] A short description for the cross-connection.
	// The desired description
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// [string] The name of the cross-connection.
	// The desired name
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (Computed) Lists LAN's joined to this cross connect
	// A list containing the details of all cross-connected datacenters
	// +kubebuilder:validation:Optional
	Peers []PeersParameters `json:"peers,omitempty" tf:"peers,omitempty"`
}

func (*CrossconnectParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossconnectParameters.

func (*CrossconnectParameters) DeepCopyInto

func (in *CrossconnectParameters) DeepCopyInto(out *CrossconnectParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CrossconnectSpec

type CrossconnectSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     CrossconnectParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider CrossconnectInitParameters `json:"initProvider,omitempty"`
}

CrossconnectSpec defines the desired state of Crossconnect

func (*CrossconnectSpec) DeepCopy

func (in *CrossconnectSpec) DeepCopy() *CrossconnectSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossconnectSpec.

func (*CrossconnectSpec) DeepCopyInto

func (in *CrossconnectSpec) DeepCopyInto(out *CrossconnectSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CrossconnectStatus

type CrossconnectStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        CrossconnectObservation `json:"atProvider,omitempty"`
}

CrossconnectStatus defines the observed state of Crossconnect.

func (*CrossconnectStatus) DeepCopy

func (in *CrossconnectStatus) DeepCopy() *CrossconnectStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossconnectStatus.

func (*CrossconnectStatus) DeepCopyInto

func (in *CrossconnectStatus) DeepCopyInto(out *CrossconnectStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CubeServer

type CubeServer struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.nic) || (has(self.initProvider) && has(self.initProvider.nic))",message="spec.forProvider.nic is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.templateUuid) || (has(self.initProvider) && has(self.initProvider.templateUuid))",message="spec.forProvider.templateUuid is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.volume) || (has(self.initProvider) && has(self.initProvider.volume))",message="spec.forProvider.volume is a required parameter"
	Spec   CubeServerSpec   `json:"spec"`
	Status CubeServerStatus `json:"status,omitempty"`
}

CubeServer is the Schema for the CubeServers API. Creates and manages IonosCloud Cube Server objects. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*CubeServer) DeepCopy

func (in *CubeServer) DeepCopy() *CubeServer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CubeServer.

func (*CubeServer) DeepCopyInto

func (in *CubeServer) DeepCopyInto(out *CubeServer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CubeServer) DeepCopyObject

func (in *CubeServer) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CubeServer) GetCondition

func (mg *CubeServer) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this CubeServer.

func (*CubeServer) GetConnectionDetailsMapping

func (tr *CubeServer) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this CubeServer

func (*CubeServer) GetDeletionPolicy

func (mg *CubeServer) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this CubeServer.

func (*CubeServer) GetID

func (tr *CubeServer) GetID() string

GetID returns ID of underlying Terraform resource of this CubeServer

func (*CubeServer) GetInitParameters

func (tr *CubeServer) GetInitParameters() (map[string]any, error)

GetInitParameters of this CubeServer

func (*CubeServer) GetManagementPolicies

func (mg *CubeServer) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this CubeServer.

func (*CubeServer) GetMergedParameters

func (tr *CubeServer) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this CubeServer

func (*CubeServer) GetObservation

func (tr *CubeServer) GetObservation() (map[string]any, error)

GetObservation of this CubeServer

func (*CubeServer) GetParameters

func (tr *CubeServer) GetParameters() (map[string]any, error)

GetParameters of this CubeServer

func (*CubeServer) GetProviderConfigReference

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

GetProviderConfigReference of this CubeServer.

func (*CubeServer) GetPublishConnectionDetailsTo

func (mg *CubeServer) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this CubeServer.

func (*CubeServer) GetTerraformResourceType

func (mg *CubeServer) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this CubeServer

func (*CubeServer) GetTerraformSchemaVersion

func (tr *CubeServer) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*CubeServer) GetWriteConnectionSecretToReference

func (mg *CubeServer) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this CubeServer.

func (*CubeServer) Hub

func (tr *CubeServer) Hub()

Hub marks this type as a conversion hub.

func (*CubeServer) LateInitialize

func (tr *CubeServer) LateInitialize(attrs []byte) (bool, error)

LateInitialize this CubeServer using its observed tfState. returns True if there are any spec changes for the resource.

func (*CubeServer) ResolveReferences

func (mg *CubeServer) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this CubeServer.

func (*CubeServer) SetConditions

func (mg *CubeServer) SetConditions(c ...xpv1.Condition)

SetConditions of this CubeServer.

func (*CubeServer) SetDeletionPolicy

func (mg *CubeServer) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this CubeServer.

func (*CubeServer) SetManagementPolicies

func (mg *CubeServer) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this CubeServer.

func (*CubeServer) SetObservation

func (tr *CubeServer) SetObservation(obs map[string]any) error

SetObservation for this CubeServer

func (*CubeServer) SetParameters

func (tr *CubeServer) SetParameters(params map[string]any) error

SetParameters for this CubeServer

func (*CubeServer) SetProviderConfigReference

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

SetProviderConfigReference of this CubeServer.

func (*CubeServer) SetPublishConnectionDetailsTo

func (mg *CubeServer) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this CubeServer.

func (*CubeServer) SetWriteConnectionSecretToReference

func (mg *CubeServer) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this CubeServer.

type CubeServerInitParameters

type CubeServerInitParameters struct {

	// [string] The availability zone in which the server should exist. This property is immutable.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// DEPRECATED Please refer to ionoscloud_server_boot_device_selection [string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud_image data source.
	BootCdrom *string `json:"bootCdrom,omitempty" tf:"boot_cdrom,omitempty"`

	// [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
	BootImage *string `json:"bootImage,omitempty" tf:"boot_image,omitempty"`

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	// The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
	ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"`

	// [string] Required if ssh_key_path is not provided.
	ImagePasswordSecretRef *v1.SecretKeySelector `json:"imagePasswordSecretRef,omitempty" tf:"-"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// See the Nic section.
	Nic *NicInitParameters `json:"nic,omitempty" tf:"nic,omitempty"`

	// [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
	SSHKeyPath []*string `json:"sshKeyPath,omitempty" tf:"ssh_key_path,omitempty"`

	// [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
	TemplateUUID *string `json:"templateUuid,omitempty" tf:"template_uuid,omitempty"`

	// [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.
	// Sets the power state of the cube server. Possible values: `RUNNING` or `SUSPENDED`.
	VMState *string `json:"vmState,omitempty" tf:"vm_state,omitempty"`

	// See the Volume section.
	Volume *VolumeInitParameters `json:"volume,omitempty" tf:"volume,omitempty"`
}

func (*CubeServerInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CubeServerInitParameters.

func (*CubeServerInitParameters) DeepCopyInto

func (in *CubeServerInitParameters) DeepCopyInto(out *CubeServerInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CubeServerList

type CubeServerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CubeServer `json:"items"`
}

CubeServerList contains a list of CubeServers

func (*CubeServerList) DeepCopy

func (in *CubeServerList) DeepCopy() *CubeServerList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CubeServerList.

func (*CubeServerList) DeepCopyInto

func (in *CubeServerList) DeepCopyInto(out *CubeServerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CubeServerList) DeepCopyObject

func (in *CubeServerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CubeServerList) GetItems

func (l *CubeServerList) GetItems() []resource.Managed

GetItems of this CubeServerList.

type CubeServerObservation

type CubeServerObservation struct {

	// [string] The availability zone in which the server should exist. This property is immutable.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// DEPRECATED Please refer to ionoscloud_server_boot_device_selection [string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud_image data source.
	BootCdrom *string `json:"bootCdrom,omitempty" tf:"boot_cdrom,omitempty"`

	// [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
	BootImage *string `json:"bootImage,omitempty" tf:"boot_image,omitempty"`

	// (Computed) The associated boot volume.
	BootVolume *string `json:"bootVolume,omitempty" tf:"boot_volume,omitempty"`

	// [string] The ID of a Virtual Data Center.
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// (Computed) The associated firewall rule.
	FirewallruleID *string `json:"firewallruleId,omitempty" tf:"firewallrule_id,omitempty"`

	// The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	// The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
	ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"`

	// A list that contains the IDs for the volumes defined inside the cube server resource.
	InlineVolumeIds []*string `json:"inlineVolumeIds,omitempty" tf:"inline_volume_ids,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// See the Nic section.
	Nic *NicObservation `json:"nic,omitempty" tf:"nic,omitempty"`

	// (Computed) The associated IP address.
	PrimaryIP *string `json:"primaryIp,omitempty" tf:"primary_ip,omitempty"`

	// (Computed) The associated NIC.
	PrimaryNic *string `json:"primaryNic,omitempty" tf:"primary_nic,omitempty"`

	// [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
	SSHKeyPath []*string `json:"sshKeyPath,omitempty" tf:"ssh_key_path,omitempty"`

	// [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
	TemplateUUID *string `json:"templateUuid,omitempty" tf:"template_uuid,omitempty"`

	// [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.
	// Sets the power state of the cube server. Possible values: `RUNNING` or `SUSPENDED`.
	VMState *string `json:"vmState,omitempty" tf:"vm_state,omitempty"`

	// See the Volume section.
	Volume *VolumeObservation `json:"volume,omitempty" tf:"volume,omitempty"`
}

func (*CubeServerObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CubeServerObservation.

func (*CubeServerObservation) DeepCopyInto

func (in *CubeServerObservation) DeepCopyInto(out *CubeServerObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CubeServerParameters

type CubeServerParameters struct {

	// [string] The availability zone in which the server should exist. This property is immutable.
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// DEPRECATED Please refer to ionoscloud_server_boot_device_selection [string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud_image data source.
	// +kubebuilder:validation:Optional
	BootCdrom *string `json:"bootCdrom,omitempty" tf:"boot_cdrom,omitempty"`

	// [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
	// +kubebuilder:validation:Optional
	BootImage *string `json:"bootImage,omitempty" tf:"boot_image,omitempty"`

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	// +kubebuilder:validation:Optional
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	// The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	// +kubebuilder:validation:Optional
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
	// +kubebuilder:validation:Optional
	ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"`

	// [string] Required if ssh_key_path is not provided.
	// +kubebuilder:validation:Optional
	ImagePasswordSecretRef *v1.SecretKeySelector `json:"imagePasswordSecretRef,omitempty" tf:"-"`

	// [string] The name of the server.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// See the Nic section.
	// +kubebuilder:validation:Optional
	Nic *NicParameters `json:"nic,omitempty" tf:"nic,omitempty"`

	// [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
	// +kubebuilder:validation:Optional
	SSHKeyPath []*string `json:"sshKeyPath,omitempty" tf:"ssh_key_path,omitempty"`

	// [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
	// +kubebuilder:validation:Optional
	TemplateUUID *string `json:"templateUuid,omitempty" tf:"template_uuid,omitempty"`

	// [string] Sets the power state of the cube server. E.g: RUNNING or SUSPENDED.
	// Sets the power state of the cube server. Possible values: `RUNNING` or `SUSPENDED`.
	// +kubebuilder:validation:Optional
	VMState *string `json:"vmState,omitempty" tf:"vm_state,omitempty"`

	// See the Volume section.
	// +kubebuilder:validation:Optional
	Volume *VolumeParameters `json:"volume,omitempty" tf:"volume,omitempty"`
}

func (*CubeServerParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CubeServerParameters.

func (*CubeServerParameters) DeepCopyInto

func (in *CubeServerParameters) DeepCopyInto(out *CubeServerParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CubeServerSpec

type CubeServerSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     CubeServerParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider CubeServerInitParameters `json:"initProvider,omitempty"`
}

CubeServerSpec defines the desired state of CubeServer

func (*CubeServerSpec) DeepCopy

func (in *CubeServerSpec) DeepCopy() *CubeServerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CubeServerSpec.

func (*CubeServerSpec) DeepCopyInto

func (in *CubeServerSpec) DeepCopyInto(out *CubeServerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CubeServerStatus

type CubeServerStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        CubeServerObservation `json:"atProvider,omitempty"`
}

CubeServerStatus defines the observed state of CubeServer.

func (*CubeServerStatus) DeepCopy

func (in *CubeServerStatus) DeepCopy() *CubeServerStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CubeServerStatus.

func (*CubeServerStatus) DeepCopyInto

func (in *CubeServerStatus) DeepCopyInto(out *CubeServerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Datacenter

type Datacenter struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   DatacenterSpec   `json:"spec"`
	Status DatacenterStatus `json:"status,omitempty"`
}

Datacenter is the Schema for the Datacenters API. Creates and manages IonosCloud Virtual Data Center. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*Datacenter) DeepCopy

func (in *Datacenter) DeepCopy() *Datacenter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Datacenter.

func (*Datacenter) DeepCopyInto

func (in *Datacenter) DeepCopyInto(out *Datacenter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Datacenter) DeepCopyObject

func (in *Datacenter) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Datacenter) GetCondition

func (mg *Datacenter) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Datacenter.

func (*Datacenter) GetConnectionDetailsMapping

func (tr *Datacenter) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Datacenter

func (*Datacenter) GetDeletionPolicy

func (mg *Datacenter) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Datacenter.

func (*Datacenter) GetID

func (tr *Datacenter) GetID() string

GetID returns ID of underlying Terraform resource of this Datacenter

func (*Datacenter) GetInitParameters

func (tr *Datacenter) GetInitParameters() (map[string]any, error)

GetInitParameters of this Datacenter

func (*Datacenter) GetManagementPolicies

func (mg *Datacenter) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Datacenter.

func (*Datacenter) GetMergedParameters

func (tr *Datacenter) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Datacenter

func (*Datacenter) GetObservation

func (tr *Datacenter) GetObservation() (map[string]any, error)

GetObservation of this Datacenter

func (*Datacenter) GetParameters

func (tr *Datacenter) GetParameters() (map[string]any, error)

GetParameters of this Datacenter

func (*Datacenter) GetProviderConfigReference

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

GetProviderConfigReference of this Datacenter.

func (*Datacenter) GetPublishConnectionDetailsTo

func (mg *Datacenter) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Datacenter.

func (*Datacenter) GetTerraformResourceType

func (mg *Datacenter) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Datacenter

func (*Datacenter) GetTerraformSchemaVersion

func (tr *Datacenter) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Datacenter) GetWriteConnectionSecretToReference

func (mg *Datacenter) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Datacenter.

func (*Datacenter) Hub

func (tr *Datacenter) Hub()

Hub marks this type as a conversion hub.

func (*Datacenter) LateInitialize

func (tr *Datacenter) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Datacenter using its observed tfState. returns True if there are any spec changes for the resource.

func (*Datacenter) SetConditions

func (mg *Datacenter) SetConditions(c ...xpv1.Condition)

SetConditions of this Datacenter.

func (*Datacenter) SetDeletionPolicy

func (mg *Datacenter) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Datacenter.

func (*Datacenter) SetManagementPolicies

func (mg *Datacenter) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Datacenter.

func (*Datacenter) SetObservation

func (tr *Datacenter) SetObservation(obs map[string]any) error

SetObservation for this Datacenter

func (*Datacenter) SetParameters

func (tr *Datacenter) SetParameters(params map[string]any) error

SetParameters for this Datacenter

func (*Datacenter) SetProviderConfigReference

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

SetProviderConfigReference of this Datacenter.

func (*Datacenter) SetPublishConnectionDetailsTo

func (mg *Datacenter) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Datacenter.

func (*Datacenter) SetWriteConnectionSecretToReference

func (mg *Datacenter) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Datacenter.

type DatacenterInitParameters

type DatacenterInitParameters struct {

	// [string] Description for the Virtual Data Center.
	// A description for the datacenter, e.g. staging, production
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// [string] The regional location where the Virtual Data Center will be created. This argument is immutable.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// [string] The name of the Virtual Data Center.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [bool] Boolean value representing if the data center requires extra protection e.g. two factor protection
	SecAuthProtection *bool `json:"secAuthProtection,omitempty" tf:"sec_auth_protection,omitempty"`
}

func (*DatacenterInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterInitParameters.

func (*DatacenterInitParameters) DeepCopyInto

func (in *DatacenterInitParameters) DeepCopyInto(out *DatacenterInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DatacenterList

type DatacenterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Datacenter `json:"items"`
}

DatacenterList contains a list of Datacenters

func (*DatacenterList) DeepCopy

func (in *DatacenterList) DeepCopy() *DatacenterList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterList.

func (*DatacenterList) DeepCopyInto

func (in *DatacenterList) DeepCopyInto(out *DatacenterList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DatacenterList) DeepCopyObject

func (in *DatacenterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DatacenterList) GetItems

func (l *DatacenterList) GetItems() []resource.Managed

GetItems of this DatacenterList.

type DatacenterObservation

type DatacenterObservation struct {

	// (Computed) Array of features and CPU families available in a location
	CPUArchitecture []CPUArchitectureObservation `json:"cpuArchitecture,omitempty" tf:"cpu_architecture,omitempty"`

	// [string] Description for the Virtual Data Center.
	// A description for the datacenter, e.g. staging, production
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (Computed) List of features supported by the location this data center is part of
	// +listType=set
	Features []*string `json:"features,omitempty" tf:"features,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// (Computed) The automatically-assigned /56 IPv6 CIDR block if IPv6 is enabled on this virtual data center
	// Auto-assigned /56 IPv6 CIDR block, if IPv6 is enabled for the datacenter. Read-only
	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	// [string] The regional location where the Virtual Data Center will be created. This argument is immutable.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// [string] The name of the Virtual Data Center.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [bool] Boolean value representing if the data center requires extra protection e.g. two factor protection
	SecAuthProtection *bool `json:"secAuthProtection,omitempty" tf:"sec_auth_protection,omitempty"`

	// (Computed) The version of that Data Center. Gets incremented with every change
	Version *float64 `json:"version,omitempty" tf:"version,omitempty"`
}

func (*DatacenterObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterObservation.

func (*DatacenterObservation) DeepCopyInto

func (in *DatacenterObservation) DeepCopyInto(out *DatacenterObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DatacenterParameters

type DatacenterParameters struct {

	// [string] Description for the Virtual Data Center.
	// A description for the datacenter, e.g. staging, production
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// [string] The regional location where the Virtual Data Center will be created. This argument is immutable.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// [string] The name of the Virtual Data Center.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [bool] Boolean value representing if the data center requires extra protection e.g. two factor protection
	// +kubebuilder:validation:Optional
	SecAuthProtection *bool `json:"secAuthProtection,omitempty" tf:"sec_auth_protection,omitempty"`
}

func (*DatacenterParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterParameters.

func (*DatacenterParameters) DeepCopyInto

func (in *DatacenterParameters) DeepCopyInto(out *DatacenterParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DatacenterSpec

type DatacenterSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     DatacenterParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider DatacenterInitParameters `json:"initProvider,omitempty"`
}

DatacenterSpec defines the desired state of Datacenter

func (*DatacenterSpec) DeepCopy

func (in *DatacenterSpec) DeepCopy() *DatacenterSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpec.

func (*DatacenterSpec) DeepCopyInto

func (in *DatacenterSpec) DeepCopyInto(out *DatacenterSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DatacenterStatus

type DatacenterStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        DatacenterObservation `json:"atProvider,omitempty"`
}

DatacenterStatus defines the observed state of Datacenter.

func (*DatacenterStatus) DeepCopy

func (in *DatacenterStatus) DeepCopy() *DatacenterStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterStatus.

func (*DatacenterStatus) DeepCopyInto

func (in *DatacenterStatus) DeepCopyInto(out *DatacenterStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Firewall

type Firewall struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.protocol) || (has(self.initProvider) && has(self.initProvider.protocol))",message="spec.forProvider.protocol is a required parameter"
	Spec   FirewallSpec   `json:"spec"`
	Status FirewallStatus `json:"status,omitempty"`
}

Firewall is the Schema for the Firewalls API. Creates and manages Firewall Rules. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*Firewall) DeepCopy

func (in *Firewall) DeepCopy() *Firewall

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Firewall.

func (*Firewall) DeepCopyInto

func (in *Firewall) DeepCopyInto(out *Firewall)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Firewall) DeepCopyObject

func (in *Firewall) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Firewall) GetCondition

func (mg *Firewall) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Firewall.

func (*Firewall) GetConnectionDetailsMapping

func (tr *Firewall) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Firewall

func (*Firewall) GetDeletionPolicy

func (mg *Firewall) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Firewall.

func (*Firewall) GetID

func (tr *Firewall) GetID() string

GetID returns ID of underlying Terraform resource of this Firewall

func (*Firewall) GetInitParameters

func (tr *Firewall) GetInitParameters() (map[string]any, error)

GetInitParameters of this Firewall

func (*Firewall) GetManagementPolicies

func (mg *Firewall) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Firewall.

func (*Firewall) GetMergedParameters

func (tr *Firewall) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Firewall

func (*Firewall) GetObservation

func (tr *Firewall) GetObservation() (map[string]any, error)

GetObservation of this Firewall

func (*Firewall) GetParameters

func (tr *Firewall) GetParameters() (map[string]any, error)

GetParameters of this Firewall

func (*Firewall) GetProviderConfigReference

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

GetProviderConfigReference of this Firewall.

func (*Firewall) GetPublishConnectionDetailsTo

func (mg *Firewall) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Firewall.

func (*Firewall) GetTerraformResourceType

func (mg *Firewall) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Firewall

func (*Firewall) GetTerraformSchemaVersion

func (tr *Firewall) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Firewall) GetWriteConnectionSecretToReference

func (mg *Firewall) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Firewall.

func (*Firewall) Hub

func (tr *Firewall) Hub()

Hub marks this type as a conversion hub.

func (*Firewall) LateInitialize

func (tr *Firewall) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Firewall using its observed tfState. returns True if there are any spec changes for the resource.

func (*Firewall) ResolveReferences

func (mg *Firewall) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Firewall.

func (*Firewall) SetConditions

func (mg *Firewall) SetConditions(c ...xpv1.Condition)

SetConditions of this Firewall.

func (*Firewall) SetDeletionPolicy

func (mg *Firewall) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Firewall.

func (*Firewall) SetManagementPolicies

func (mg *Firewall) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Firewall.

func (*Firewall) SetObservation

func (tr *Firewall) SetObservation(obs map[string]any) error

SetObservation for this Firewall

func (*Firewall) SetParameters

func (tr *Firewall) SetParameters(params map[string]any) error

SetParameters for this Firewall

func (*Firewall) SetProviderConfigReference

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

SetProviderConfigReference of this Firewall.

func (*Firewall) SetPublishConnectionDetailsTo

func (mg *Firewall) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Firewall.

func (*Firewall) SetWriteConnectionSecretToReference

func (mg *Firewall) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Firewall.

type FirewallInitParameters

type FirewallInitParameters struct {
	IcmpCode *string `json:"icmpCode,omitempty" tf:"icmp_code,omitempty"`

	IcmpType *string `json:"icmpType,omitempty" tf:"icmp_type,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	PortRangeEnd *float64 `json:"portRangeEnd,omitempty" tf:"port_range_end,omitempty"`

	PortRangeStart *float64 `json:"portRangeStart,omitempty" tf:"port_range_start,omitempty"`

	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`

	SourceIP *string `json:"sourceIp,omitempty" tf:"source_ip,omitempty"`

	SourceMac *string `json:"sourceMac,omitempty" tf:"source_mac,omitempty"`

	TargetIP *string `json:"targetIp,omitempty" tf:"target_ip,omitempty"`

	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*FirewallInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallInitParameters.

func (*FirewallInitParameters) DeepCopyInto

func (in *FirewallInitParameters) DeepCopyInto(out *FirewallInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallInitParameters_2

type FirewallInitParameters_2 struct {

	// [string] The Virtual Data Center ID.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// [int] Defines the allowed code (from 0 to 254) if protocol ICMP is chosen.
	IcmpCode *string `json:"icmpCode,omitempty" tf:"icmp_code,omitempty"`

	// [string] Defines the allowed code (from 0 to 254) if protocol ICMP is chosen. Value null allows all codes.
	IcmpType *string `json:"icmpType,omitempty" tf:"icmp_type,omitempty"`

	// [string] The name of the firewall rule.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [string] The NIC ID.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Nic
	NicID *string `json:"nicId,omitempty" tf:"nic_id,omitempty"`

	// Reference to a Nic in compute to populate nicId.
	// +kubebuilder:validation:Optional
	NicIDRef *v1.Reference `json:"nicIdRef,omitempty" tf:"-"`

	// Selector for a Nic in compute to populate nicId.
	// +kubebuilder:validation:Optional
	NicIDSelector *v1.Selector `json:"nicIdSelector,omitempty" tf:"-"`

	// [int] Defines the end range of the allowed port (from 1 to 65534) if the protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd null to allow all ports.
	PortRangeEnd *float64 `json:"portRangeEnd,omitempty" tf:"port_range_end,omitempty"`

	// [int] Defines the start range of the allowed port (from 1 to 65534) if protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd null to allow all ports.
	PortRangeStart *float64 `json:"portRangeStart,omitempty" tf:"port_range_start,omitempty"`

	// [string] The protocol for the rule: TCP, UDP, ICMP, ANY. Property cannot be modified after creation (disallowed in update requests).
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`

	// [string] The Server ID.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Server
	ServerID *string `json:"serverId,omitempty" tf:"server_id,omitempty"`

	// Reference to a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDRef *v1.Reference `json:"serverIdRef,omitempty" tf:"-"`

	// Selector for a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDSelector *v1.Selector `json:"serverIdSelector,omitempty" tf:"-"`

	// [string] Only traffic originating from the respective IPv4 address is allowed. Value null allows all source IPs.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Ipblock
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/provider-upjet-ionoscloud/config/common.FirstIPBlockIP()
	SourceIP *string `json:"sourceIp,omitempty" tf:"source_ip,omitempty"`

	// Reference to a Ipblock in compute to populate sourceIp.
	// +kubebuilder:validation:Optional
	SourceIPRef *v1.Reference `json:"sourceIpRef,omitempty" tf:"-"`

	// Selector for a Ipblock in compute to populate sourceIp.
	// +kubebuilder:validation:Optional
	SourceIPSelector *v1.Selector `json:"sourceIpSelector,omitempty" tf:"-"`

	// [string] Only traffic originating from the respective MAC address is allowed. Valid format: aa:bb:cc:dd:ee:ff. Value null allows all source MAC address. Valid format: aa:bb:cc:dd:ee:ff.
	SourceMac *string `json:"sourceMac,omitempty" tf:"source_mac,omitempty"`

	// [string] In case the target NIC has multiple IP addresses, only traffic directed to the respective IP address of the NIC is allowed. Value null allows all target IPs.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Ipblock
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/provider-upjet-ionoscloud/config/common.FirstIPBlockIP()
	TargetIP *string `json:"targetIp,omitempty" tf:"target_ip,omitempty"`

	// Reference to a Ipblock in compute to populate targetIp.
	// +kubebuilder:validation:Optional
	TargetIPRef *v1.Reference `json:"targetIpRef,omitempty" tf:"-"`

	// Selector for a Ipblock in compute to populate targetIp.
	// +kubebuilder:validation:Optional
	TargetIPSelector *v1.Selector `json:"targetIpSelector,omitempty" tf:"-"`

	// [string] The type of firewall rule. If is not specified, it will take the default value INGRESS.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*FirewallInitParameters_2) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallInitParameters_2.

func (*FirewallInitParameters_2) DeepCopyInto

func (in *FirewallInitParameters_2) DeepCopyInto(out *FirewallInitParameters_2)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallList

type FirewallList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Firewall `json:"items"`
}

FirewallList contains a list of Firewalls

func (*FirewallList) DeepCopy

func (in *FirewallList) DeepCopy() *FirewallList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallList.

func (*FirewallList) DeepCopyInto

func (in *FirewallList) DeepCopyInto(out *FirewallList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FirewallList) DeepCopyObject

func (in *FirewallList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*FirewallList) GetItems

func (l *FirewallList) GetItems() []resource.Managed

GetItems of this FirewallList.

type FirewallObservation

type FirewallObservation struct {
	IcmpCode *string `json:"icmpCode,omitempty" tf:"icmp_code,omitempty"`

	IcmpType *string `json:"icmpType,omitempty" tf:"icmp_type,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	PortRangeEnd *float64 `json:"portRangeEnd,omitempty" tf:"port_range_end,omitempty"`

	PortRangeStart *float64 `json:"portRangeStart,omitempty" tf:"port_range_start,omitempty"`

	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`

	SourceIP *string `json:"sourceIp,omitempty" tf:"source_ip,omitempty"`

	SourceMac *string `json:"sourceMac,omitempty" tf:"source_mac,omitempty"`

	TargetIP *string `json:"targetIp,omitempty" tf:"target_ip,omitempty"`

	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*FirewallObservation) DeepCopy

func (in *FirewallObservation) DeepCopy() *FirewallObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallObservation.

func (*FirewallObservation) DeepCopyInto

func (in *FirewallObservation) DeepCopyInto(out *FirewallObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallObservation_2

type FirewallObservation_2 struct {

	// [string] The Virtual Data Center ID.
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// [int] Defines the allowed code (from 0 to 254) if protocol ICMP is chosen.
	IcmpCode *string `json:"icmpCode,omitempty" tf:"icmp_code,omitempty"`

	// [string] Defines the allowed code (from 0 to 254) if protocol ICMP is chosen. Value null allows all codes.
	IcmpType *string `json:"icmpType,omitempty" tf:"icmp_type,omitempty"`

	// [string] The name of the firewall rule.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [string] The NIC ID.
	NicID *string `json:"nicId,omitempty" tf:"nic_id,omitempty"`

	// [int] Defines the end range of the allowed port (from 1 to 65534) if the protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd null to allow all ports.
	PortRangeEnd *float64 `json:"portRangeEnd,omitempty" tf:"port_range_end,omitempty"`

	// [int] Defines the start range of the allowed port (from 1 to 65534) if protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd null to allow all ports.
	PortRangeStart *float64 `json:"portRangeStart,omitempty" tf:"port_range_start,omitempty"`

	// [string] The protocol for the rule: TCP, UDP, ICMP, ANY. Property cannot be modified after creation (disallowed in update requests).
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`

	// [string] The Server ID.
	ServerID *string `json:"serverId,omitempty" tf:"server_id,omitempty"`

	// [string] Only traffic originating from the respective IPv4 address is allowed. Value null allows all source IPs.
	SourceIP *string `json:"sourceIp,omitempty" tf:"source_ip,omitempty"`

	// [string] Only traffic originating from the respective MAC address is allowed. Valid format: aa:bb:cc:dd:ee:ff. Value null allows all source MAC address. Valid format: aa:bb:cc:dd:ee:ff.
	SourceMac *string `json:"sourceMac,omitempty" tf:"source_mac,omitempty"`

	// [string] In case the target NIC has multiple IP addresses, only traffic directed to the respective IP address of the NIC is allowed. Value null allows all target IPs.
	TargetIP *string `json:"targetIp,omitempty" tf:"target_ip,omitempty"`

	// [string] The type of firewall rule. If is not specified, it will take the default value INGRESS.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*FirewallObservation_2) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallObservation_2.

func (*FirewallObservation_2) DeepCopyInto

func (in *FirewallObservation_2) DeepCopyInto(out *FirewallObservation_2)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallParameters

type FirewallParameters struct {

	// +kubebuilder:validation:Optional
	IcmpCode *string `json:"icmpCode,omitempty" tf:"icmp_code,omitempty"`

	// +kubebuilder:validation:Optional
	IcmpType *string `json:"icmpType,omitempty" tf:"icmp_type,omitempty"`

	// [string] The name of the server.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// +kubebuilder:validation:Optional
	PortRangeEnd *float64 `json:"portRangeEnd,omitempty" tf:"port_range_end,omitempty"`

	// +kubebuilder:validation:Optional
	PortRangeStart *float64 `json:"portRangeStart,omitempty" tf:"port_range_start,omitempty"`

	// +kubebuilder:validation:Optional
	Protocol *string `json:"protocol" tf:"protocol,omitempty"`

	// +kubebuilder:validation:Optional
	SourceIP *string `json:"sourceIp,omitempty" tf:"source_ip,omitempty"`

	// +kubebuilder:validation:Optional
	SourceMac *string `json:"sourceMac,omitempty" tf:"source_mac,omitempty"`

	// +kubebuilder:validation:Optional
	TargetIP *string `json:"targetIp,omitempty" tf:"target_ip,omitempty"`

	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*FirewallParameters) DeepCopy

func (in *FirewallParameters) DeepCopy() *FirewallParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallParameters.

func (*FirewallParameters) DeepCopyInto

func (in *FirewallParameters) DeepCopyInto(out *FirewallParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallParameters_2

type FirewallParameters_2 struct {

	// [string] The Virtual Data Center ID.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	// +kubebuilder:validation:Optional
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// [int] Defines the allowed code (from 0 to 254) if protocol ICMP is chosen.
	// +kubebuilder:validation:Optional
	IcmpCode *string `json:"icmpCode,omitempty" tf:"icmp_code,omitempty"`

	// [string] Defines the allowed code (from 0 to 254) if protocol ICMP is chosen. Value null allows all codes.
	// +kubebuilder:validation:Optional
	IcmpType *string `json:"icmpType,omitempty" tf:"icmp_type,omitempty"`

	// [string] The name of the firewall rule.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [string] The NIC ID.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Nic
	// +kubebuilder:validation:Optional
	NicID *string `json:"nicId,omitempty" tf:"nic_id,omitempty"`

	// Reference to a Nic in compute to populate nicId.
	// +kubebuilder:validation:Optional
	NicIDRef *v1.Reference `json:"nicIdRef,omitempty" tf:"-"`

	// Selector for a Nic in compute to populate nicId.
	// +kubebuilder:validation:Optional
	NicIDSelector *v1.Selector `json:"nicIdSelector,omitempty" tf:"-"`

	// [int] Defines the end range of the allowed port (from 1 to 65534) if the protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd null to allow all ports.
	// +kubebuilder:validation:Optional
	PortRangeEnd *float64 `json:"portRangeEnd,omitempty" tf:"port_range_end,omitempty"`

	// [int] Defines the start range of the allowed port (from 1 to 65534) if protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd null to allow all ports.
	// +kubebuilder:validation:Optional
	PortRangeStart *float64 `json:"portRangeStart,omitempty" tf:"port_range_start,omitempty"`

	// [string] The protocol for the rule: TCP, UDP, ICMP, ANY. Property cannot be modified after creation (disallowed in update requests).
	// +kubebuilder:validation:Optional
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`

	// [string] The Server ID.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Server
	// +kubebuilder:validation:Optional
	ServerID *string `json:"serverId,omitempty" tf:"server_id,omitempty"`

	// Reference to a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDRef *v1.Reference `json:"serverIdRef,omitempty" tf:"-"`

	// Selector for a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDSelector *v1.Selector `json:"serverIdSelector,omitempty" tf:"-"`

	// [string] Only traffic originating from the respective IPv4 address is allowed. Value null allows all source IPs.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Ipblock
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/provider-upjet-ionoscloud/config/common.FirstIPBlockIP()
	// +kubebuilder:validation:Optional
	SourceIP *string `json:"sourceIp,omitempty" tf:"source_ip,omitempty"`

	// Reference to a Ipblock in compute to populate sourceIp.
	// +kubebuilder:validation:Optional
	SourceIPRef *v1.Reference `json:"sourceIpRef,omitempty" tf:"-"`

	// Selector for a Ipblock in compute to populate sourceIp.
	// +kubebuilder:validation:Optional
	SourceIPSelector *v1.Selector `json:"sourceIpSelector,omitempty" tf:"-"`

	// [string] Only traffic originating from the respective MAC address is allowed. Valid format: aa:bb:cc:dd:ee:ff. Value null allows all source MAC address. Valid format: aa:bb:cc:dd:ee:ff.
	// +kubebuilder:validation:Optional
	SourceMac *string `json:"sourceMac,omitempty" tf:"source_mac,omitempty"`

	// [string] In case the target NIC has multiple IP addresses, only traffic directed to the respective IP address of the NIC is allowed. Value null allows all target IPs.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Ipblock
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/provider-upjet-ionoscloud/config/common.FirstIPBlockIP()
	// +kubebuilder:validation:Optional
	TargetIP *string `json:"targetIp,omitempty" tf:"target_ip,omitempty"`

	// Reference to a Ipblock in compute to populate targetIp.
	// +kubebuilder:validation:Optional
	TargetIPRef *v1.Reference `json:"targetIpRef,omitempty" tf:"-"`

	// Selector for a Ipblock in compute to populate targetIp.
	// +kubebuilder:validation:Optional
	TargetIPSelector *v1.Selector `json:"targetIpSelector,omitempty" tf:"-"`

	// [string] The type of firewall rule. If is not specified, it will take the default value INGRESS.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*FirewallParameters_2) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallParameters_2.

func (*FirewallParameters_2) DeepCopyInto

func (in *FirewallParameters_2) DeepCopyInto(out *FirewallParameters_2)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallSpec

type FirewallSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     FirewallParameters_2 `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider FirewallInitParameters_2 `json:"initProvider,omitempty"`
}

FirewallSpec defines the desired state of Firewall

func (*FirewallSpec) DeepCopy

func (in *FirewallSpec) DeepCopy() *FirewallSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallSpec.

func (*FirewallSpec) DeepCopyInto

func (in *FirewallSpec) DeepCopyInto(out *FirewallSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FirewallStatus

type FirewallStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        FirewallObservation_2 `json:"atProvider,omitempty"`
}

FirewallStatus defines the observed state of Firewall.

func (*FirewallStatus) DeepCopy

func (in *FirewallStatus) DeepCopy() *FirewallStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallStatus.

func (*FirewallStatus) DeepCopyInto

func (in *FirewallStatus) DeepCopyInto(out *FirewallStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FlowlogInitParameters

type FlowlogInitParameters struct {

	// Specifies the action to be taken when the rule is matched. Possible values: ACCEPTED, REJECTED, ALL. Immutable, update forces re-creation.
	// Specifies the traffic direction pattern. Valid values: ACCEPTED, REJECTED, ALL. Immutable, forces re-recreation of the nic resource.
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// Specifies the IONOS Object Storage bucket where the flow log data will be stored. The bucket must exist. Immutable, update forces re-creation.
	// The bucket name of an existing IONOS Object Storage bucket. Immutable, forces re-recreation of the nic resource.
	Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"`

	// Specifies the traffic direction pattern. Valid values: INGRESS, EGRESS, BIDIRECTIONAL. Immutable, update forces re-creation.
	// Specifies the traffic direction pattern. Valid values: INGRESS, EGRESS, BIDIRECTIONAL. Immutable, forces re-recreation of the nic resource.
	Direction *string `json:"direction,omitempty" tf:"direction,omitempty"`

	// [string] The name of the LAN.
	// The resource name.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*FlowlogInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowlogInitParameters.

func (*FlowlogInitParameters) DeepCopyInto

func (in *FlowlogInitParameters) DeepCopyInto(out *FlowlogInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FlowlogObservation

type FlowlogObservation struct {

	// Specifies the action to be taken when the rule is matched. Possible values: ACCEPTED, REJECTED, ALL. Immutable, update forces re-creation.
	// Specifies the traffic direction pattern. Valid values: ACCEPTED, REJECTED, ALL. Immutable, forces re-recreation of the nic resource.
	Action *string `json:"action,omitempty" tf:"action,omitempty"`

	// Specifies the IONOS Object Storage bucket where the flow log data will be stored. The bucket must exist. Immutable, update forces re-creation.
	// The bucket name of an existing IONOS Object Storage bucket. Immutable, forces re-recreation of the nic resource.
	Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"`

	// Specifies the traffic direction pattern. Valid values: INGRESS, EGRESS, BIDIRECTIONAL. Immutable, update forces re-creation.
	// Specifies the traffic direction pattern. Valid values: INGRESS, EGRESS, BIDIRECTIONAL. Immutable, forces re-recreation of the nic resource.
	Direction *string `json:"direction,omitempty" tf:"direction,omitempty"`

	// (Computed) The ID of the NIC.
	// The resource's unique identifier.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// [string] The name of the LAN.
	// The resource name.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*FlowlogObservation) DeepCopy

func (in *FlowlogObservation) DeepCopy() *FlowlogObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowlogObservation.

func (*FlowlogObservation) DeepCopyInto

func (in *FlowlogObservation) DeepCopyInto(out *FlowlogObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FlowlogParameters

type FlowlogParameters struct {

	// Specifies the action to be taken when the rule is matched. Possible values: ACCEPTED, REJECTED, ALL. Immutable, update forces re-creation.
	// Specifies the traffic direction pattern. Valid values: ACCEPTED, REJECTED, ALL. Immutable, forces re-recreation of the nic resource.
	// +kubebuilder:validation:Optional
	Action *string `json:"action" tf:"action,omitempty"`

	// Specifies the IONOS Object Storage bucket where the flow log data will be stored. The bucket must exist. Immutable, update forces re-creation.
	// The bucket name of an existing IONOS Object Storage bucket. Immutable, forces re-recreation of the nic resource.
	// +kubebuilder:validation:Optional
	Bucket *string `json:"bucket" tf:"bucket,omitempty"`

	// Specifies the traffic direction pattern. Valid values: INGRESS, EGRESS, BIDIRECTIONAL. Immutable, update forces re-creation.
	// Specifies the traffic direction pattern. Valid values: INGRESS, EGRESS, BIDIRECTIONAL. Immutable, forces re-recreation of the nic resource.
	// +kubebuilder:validation:Optional
	Direction *string `json:"direction" tf:"direction,omitempty"`

	// [string] The name of the LAN.
	// The resource name.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`
}

func (*FlowlogParameters) DeepCopy

func (in *FlowlogParameters) DeepCopy() *FlowlogParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowlogParameters.

func (*FlowlogParameters) DeepCopyInto

func (in *FlowlogParameters) DeepCopyInto(out *FlowlogParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Group

type Group struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   GroupSpec   `json:"spec"`
	Status GroupStatus `json:"status,omitempty"`
}

Group is the Schema for the Groups API. Creates and manages group objects. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*Group) DeepCopy

func (in *Group) DeepCopy() *Group

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Group.

func (*Group) DeepCopyInto

func (in *Group) DeepCopyInto(out *Group)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Group) DeepCopyObject

func (in *Group) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Group) GetCondition

func (mg *Group) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Group.

func (*Group) GetConnectionDetailsMapping

func (tr *Group) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Group

func (*Group) GetDeletionPolicy

func (mg *Group) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Group.

func (*Group) GetID

func (tr *Group) GetID() string

GetID returns ID of underlying Terraform resource of this Group

func (*Group) GetInitParameters

func (tr *Group) GetInitParameters() (map[string]any, error)

GetInitParameters of this Group

func (*Group) GetManagementPolicies

func (mg *Group) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Group.

func (*Group) GetMergedParameters

func (tr *Group) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Group

func (*Group) GetObservation

func (tr *Group) GetObservation() (map[string]any, error)

GetObservation of this Group

func (*Group) GetParameters

func (tr *Group) GetParameters() (map[string]any, error)

GetParameters of this Group

func (*Group) GetProviderConfigReference

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

GetProviderConfigReference of this Group.

func (*Group) GetPublishConnectionDetailsTo

func (mg *Group) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Group.

func (*Group) GetTerraformResourceType

func (mg *Group) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Group

func (*Group) GetTerraformSchemaVersion

func (tr *Group) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Group) GetWriteConnectionSecretToReference

func (mg *Group) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Group.

func (*Group) Hub

func (tr *Group) Hub()

Hub marks this type as a conversion hub.

func (*Group) LateInitialize

func (tr *Group) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Group using its observed tfState. returns True if there are any spec changes for the resource.

func (*Group) ResolveReferences

func (mg *Group) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Group.

func (*Group) SetConditions

func (mg *Group) SetConditions(c ...xpv1.Condition)

SetConditions of this Group.

func (*Group) SetDeletionPolicy

func (mg *Group) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Group.

func (*Group) SetManagementPolicies

func (mg *Group) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Group.

func (*Group) SetObservation

func (tr *Group) SetObservation(obs map[string]any) error

SetObservation for this Group

func (*Group) SetParameters

func (tr *Group) SetParameters(params map[string]any) error

SetParameters for this Group

func (*Group) SetProviderConfigReference

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

SetProviderConfigReference of this Group.

func (*Group) SetPublishConnectionDetailsTo

func (mg *Group) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Group.

func (*Group) SetWriteConnectionSecretToReference

func (mg *Group) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Group.

type GroupInitParameters

type GroupInitParameters struct {

	// [Boolean] The group will be allowed to access the activity log.
	AccessActivityLog *bool `json:"accessActivityLog,omitempty" tf:"access_activity_log,omitempty"`

	// [Boolean]  The group will be allowed to access and manage certificates.
	// Privilege for a group to access and manage certificates.
	AccessAndManageCertificates *bool `json:"accessAndManageCertificates,omitempty" tf:"access_and_manage_certificates,omitempty"`

	// [Boolean]  The group will be allowed to access and manage monitoring.
	// Privilege for a group to access and manage monitoring related functionality (access metrics, CRUD on alarms, alarm-actions etc) using Monotoring-as-a-Service (MaaS).
	AccessAndManageMonitoring *bool `json:"accessAndManageMonitoring,omitempty" tf:"access_and_manage_monitoring,omitempty"`

	// [Boolean] The group will be allowed to create backup unit privilege.
	// Create backup unit privilege.
	CreateBackupUnit *bool `json:"createBackupUnit,omitempty" tf:"create_backup_unit,omitempty"`

	// [Boolean] The group will be allowed to create virtual data centers.
	CreateDatacenter *bool `json:"createDatacenter,omitempty" tf:"create_datacenter,omitempty"`

	// [Boolean]  The group will be allowed to create flow log.
	// Create Flow Logs privilege.
	CreateFlowLog *bool `json:"createFlowLog,omitempty" tf:"create_flow_log,omitempty"`

	// [Boolean] The group will be allowed to create internet access privilege.
	// Create internet access privilege.
	CreateInternetAccess *bool `json:"createInternetAccess,omitempty" tf:"create_internet_access,omitempty"`

	// [Boolean]  The group will be allowed to create kubernetes cluster privilege.
	// Create Kubernetes cluster privilege.
	CreateK8SCluster *bool `json:"createK8SCluster,omitempty" tf:"create_k8s_cluster,omitempty"`

	// [Boolean] The group will be allowed to create Cross Connects privilege.
	CreatePcc *bool `json:"createPcc,omitempty" tf:"create_pcc,omitempty"`

	// [Boolean] The group will be allowed to create snapshots.
	CreateSnapshot *bool `json:"createSnapshot,omitempty" tf:"create_snapshot,omitempty"`

	// [Boolean]  Privilege for a group to manage DBaaS related functionality.
	// Privilege for a group to manage DBaaS related functionality
	ManageDbaas *bool `json:"manageDbaas,omitempty" tf:"manage_dbaas,omitempty"`

	// [string] A name for the group.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [Boolean] The group will be allowed to reserve IP addresses.
	ReserveIP *bool `json:"reserveIp,omitempty" tf:"reserve_ip,omitempty"`

	// [Boolean] The group will have S3 privilege.
	S3Privilege *bool `json:"s3Privilege,omitempty" tf:"s3_privilege,omitempty"`

	// [string] The ID of the specific user to add to the group. Please use user_ids argument since this is DEPRECATED
	UserID *string `json:"userId,omitempty" tf:"user_id,omitempty"`

	// [list] A list of users to add to the group.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.User
	// +listType=set
	UserIds []*string `json:"userIds,omitempty" tf:"user_ids,omitempty"`

	// References to User in compute to populate userIds.
	// +kubebuilder:validation:Optional
	UserIdsRefs []v1.Reference `json:"userIdsRefs,omitempty" tf:"-"`

	// Selector for a list of User in compute to populate userIds.
	// +kubebuilder:validation:Optional
	UserIdsSelector *v1.Selector `json:"userIdsSelector,omitempty" tf:"-"`
}

func (*GroupInitParameters) DeepCopy

func (in *GroupInitParameters) DeepCopy() *GroupInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupInitParameters.

func (*GroupInitParameters) DeepCopyInto

func (in *GroupInitParameters) DeepCopyInto(out *GroupInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupList

type GroupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Group `json:"items"`
}

GroupList contains a list of Groups

func (*GroupList) DeepCopy

func (in *GroupList) DeepCopy() *GroupList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupList.

func (*GroupList) DeepCopyInto

func (in *GroupList) DeepCopyInto(out *GroupList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GroupList) DeepCopyObject

func (in *GroupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GroupList) GetItems

func (l *GroupList) GetItems() []resource.Managed

GetItems of this GroupList.

type GroupObservation

type GroupObservation struct {

	// [Boolean] The group will be allowed to access the activity log.
	AccessActivityLog *bool `json:"accessActivityLog,omitempty" tf:"access_activity_log,omitempty"`

	// [Boolean]  The group will be allowed to access and manage certificates.
	// Privilege for a group to access and manage certificates.
	AccessAndManageCertificates *bool `json:"accessAndManageCertificates,omitempty" tf:"access_and_manage_certificates,omitempty"`

	// [Boolean]  The group will be allowed to access and manage monitoring.
	// Privilege for a group to access and manage monitoring related functionality (access metrics, CRUD on alarms, alarm-actions etc) using Monotoring-as-a-Service (MaaS).
	AccessAndManageMonitoring *bool `json:"accessAndManageMonitoring,omitempty" tf:"access_and_manage_monitoring,omitempty"`

	// [Boolean] The group will be allowed to create backup unit privilege.
	// Create backup unit privilege.
	CreateBackupUnit *bool `json:"createBackupUnit,omitempty" tf:"create_backup_unit,omitempty"`

	// [Boolean] The group will be allowed to create virtual data centers.
	CreateDatacenter *bool `json:"createDatacenter,omitempty" tf:"create_datacenter,omitempty"`

	// [Boolean]  The group will be allowed to create flow log.
	// Create Flow Logs privilege.
	CreateFlowLog *bool `json:"createFlowLog,omitempty" tf:"create_flow_log,omitempty"`

	// [Boolean] The group will be allowed to create internet access privilege.
	// Create internet access privilege.
	CreateInternetAccess *bool `json:"createInternetAccess,omitempty" tf:"create_internet_access,omitempty"`

	// [Boolean]  The group will be allowed to create kubernetes cluster privilege.
	// Create Kubernetes cluster privilege.
	CreateK8SCluster *bool `json:"createK8SCluster,omitempty" tf:"create_k8s_cluster,omitempty"`

	// [Boolean] The group will be allowed to create Cross Connects privilege.
	CreatePcc *bool `json:"createPcc,omitempty" tf:"create_pcc,omitempty"`

	// [Boolean] The group will be allowed to create snapshots.
	CreateSnapshot *bool `json:"createSnapshot,omitempty" tf:"create_snapshot,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// [Boolean]  Privilege for a group to manage DBaaS related functionality.
	// Privilege for a group to manage DBaaS related functionality
	ManageDbaas *bool `json:"manageDbaas,omitempty" tf:"manage_dbaas,omitempty"`

	// [string] A name for the group.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [Boolean] The group will be allowed to reserve IP addresses.
	ReserveIP *bool `json:"reserveIp,omitempty" tf:"reserve_ip,omitempty"`

	// [Boolean] The group will have S3 privilege.
	S3Privilege *bool `json:"s3Privilege,omitempty" tf:"s3_privilege,omitempty"`

	// [string] The ID of the specific user to add to the group. Please use user_ids argument since this is DEPRECATED
	UserID *string `json:"userId,omitempty" tf:"user_id,omitempty"`

	// [list] A list of users to add to the group.
	// +listType=set
	UserIds []*string `json:"userIds,omitempty" tf:"user_ids,omitempty"`

	// (Computed) List of users - See the User section
	Users []UsersObservation `json:"users,omitempty" tf:"users,omitempty"`
}

func (*GroupObservation) DeepCopy

func (in *GroupObservation) DeepCopy() *GroupObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupObservation.

func (*GroupObservation) DeepCopyInto

func (in *GroupObservation) DeepCopyInto(out *GroupObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupParameters

type GroupParameters struct {

	// [Boolean] The group will be allowed to access the activity log.
	// +kubebuilder:validation:Optional
	AccessActivityLog *bool `json:"accessActivityLog,omitempty" tf:"access_activity_log,omitempty"`

	// [Boolean]  The group will be allowed to access and manage certificates.
	// Privilege for a group to access and manage certificates.
	// +kubebuilder:validation:Optional
	AccessAndManageCertificates *bool `json:"accessAndManageCertificates,omitempty" tf:"access_and_manage_certificates,omitempty"`

	// [Boolean]  The group will be allowed to access and manage monitoring.
	// Privilege for a group to access and manage monitoring related functionality (access metrics, CRUD on alarms, alarm-actions etc) using Monotoring-as-a-Service (MaaS).
	// +kubebuilder:validation:Optional
	AccessAndManageMonitoring *bool `json:"accessAndManageMonitoring,omitempty" tf:"access_and_manage_monitoring,omitempty"`

	// [Boolean] The group will be allowed to create backup unit privilege.
	// Create backup unit privilege.
	// +kubebuilder:validation:Optional
	CreateBackupUnit *bool `json:"createBackupUnit,omitempty" tf:"create_backup_unit,omitempty"`

	// [Boolean] The group will be allowed to create virtual data centers.
	// +kubebuilder:validation:Optional
	CreateDatacenter *bool `json:"createDatacenter,omitempty" tf:"create_datacenter,omitempty"`

	// [Boolean]  The group will be allowed to create flow log.
	// Create Flow Logs privilege.
	// +kubebuilder:validation:Optional
	CreateFlowLog *bool `json:"createFlowLog,omitempty" tf:"create_flow_log,omitempty"`

	// [Boolean] The group will be allowed to create internet access privilege.
	// Create internet access privilege.
	// +kubebuilder:validation:Optional
	CreateInternetAccess *bool `json:"createInternetAccess,omitempty" tf:"create_internet_access,omitempty"`

	// [Boolean]  The group will be allowed to create kubernetes cluster privilege.
	// Create Kubernetes cluster privilege.
	// +kubebuilder:validation:Optional
	CreateK8SCluster *bool `json:"createK8SCluster,omitempty" tf:"create_k8s_cluster,omitempty"`

	// [Boolean] The group will be allowed to create Cross Connects privilege.
	// +kubebuilder:validation:Optional
	CreatePcc *bool `json:"createPcc,omitempty" tf:"create_pcc,omitempty"`

	// [Boolean] The group will be allowed to create snapshots.
	// +kubebuilder:validation:Optional
	CreateSnapshot *bool `json:"createSnapshot,omitempty" tf:"create_snapshot,omitempty"`

	// [Boolean]  Privilege for a group to manage DBaaS related functionality.
	// Privilege for a group to manage DBaaS related functionality
	// +kubebuilder:validation:Optional
	ManageDbaas *bool `json:"manageDbaas,omitempty" tf:"manage_dbaas,omitempty"`

	// [string] A name for the group.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [Boolean] The group will be allowed to reserve IP addresses.
	// +kubebuilder:validation:Optional
	ReserveIP *bool `json:"reserveIp,omitempty" tf:"reserve_ip,omitempty"`

	// [Boolean] The group will have S3 privilege.
	// +kubebuilder:validation:Optional
	S3Privilege *bool `json:"s3Privilege,omitempty" tf:"s3_privilege,omitempty"`

	// [string] The ID of the specific user to add to the group. Please use user_ids argument since this is DEPRECATED
	// +kubebuilder:validation:Optional
	UserID *string `json:"userId,omitempty" tf:"user_id,omitempty"`

	// [list] A list of users to add to the group.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.User
	// +kubebuilder:validation:Optional
	// +listType=set
	UserIds []*string `json:"userIds,omitempty" tf:"user_ids,omitempty"`

	// References to User in compute to populate userIds.
	// +kubebuilder:validation:Optional
	UserIdsRefs []v1.Reference `json:"userIdsRefs,omitempty" tf:"-"`

	// Selector for a list of User in compute to populate userIds.
	// +kubebuilder:validation:Optional
	UserIdsSelector *v1.Selector `json:"userIdsSelector,omitempty" tf:"-"`
}

func (*GroupParameters) DeepCopy

func (in *GroupParameters) DeepCopy() *GroupParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupParameters.

func (*GroupParameters) DeepCopyInto

func (in *GroupParameters) DeepCopyInto(out *GroupParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupSpec

type GroupSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     GroupParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider GroupInitParameters `json:"initProvider,omitempty"`
}

GroupSpec defines the desired state of Group

func (*GroupSpec) DeepCopy

func (in *GroupSpec) DeepCopy() *GroupSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupSpec.

func (*GroupSpec) DeepCopyInto

func (in *GroupSpec) DeepCopyInto(out *GroupSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupStatus

type GroupStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        GroupObservation `json:"atProvider,omitempty"`
}

GroupStatus defines the observed state of Group.

func (*GroupStatus) DeepCopy

func (in *GroupStatus) DeepCopy() *GroupStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupStatus.

func (*GroupStatus) DeepCopyInto

func (in *GroupStatus) DeepCopyInto(out *GroupStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPConsumersInitParameters

type IPConsumersInitParameters struct {
}

func (*IPConsumersInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPConsumersInitParameters.

func (*IPConsumersInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPConsumersObservation

type IPConsumersObservation struct {
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// [string] The name of Ip Block
	DatacenterName *string `json:"datacenterName,omitempty" tf:"datacenter_name,omitempty"`

	IP *string `json:"ip,omitempty" tf:"ip,omitempty"`

	K8SClusterUUID *string `json:"k8sClusterUuid,omitempty" tf:"k8s_cluster_uuid,omitempty"`

	K8SNodepoolUUID *string `json:"k8sNodepoolUuid,omitempty" tf:"k8s_nodepool_uuid,omitempty"`

	Mac *string `json:"mac,omitempty" tf:"mac,omitempty"`

	NicID *string `json:"nicId,omitempty" tf:"nic_id,omitempty"`

	ServerID *string `json:"serverId,omitempty" tf:"server_id,omitempty"`

	// [string] The name of Ip Block
	ServerName *string `json:"serverName,omitempty" tf:"server_name,omitempty"`
}

func (*IPConsumersObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPConsumersObservation.

func (*IPConsumersObservation) DeepCopyInto

func (in *IPConsumersObservation) DeepCopyInto(out *IPConsumersObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPConsumersParameters

type IPConsumersParameters struct {
}

func (*IPConsumersParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPConsumersParameters.

func (*IPConsumersParameters) DeepCopyInto

func (in *IPConsumersParameters) DeepCopyInto(out *IPConsumersParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPFailoverInitParameters

type IPFailoverInitParameters struct {
}

func (*IPFailoverInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPFailoverInitParameters.

func (*IPFailoverInitParameters) DeepCopyInto

func (in *IPFailoverInitParameters) DeepCopyInto(out *IPFailoverInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPFailoverObservation

type IPFailoverObservation struct {
	IP *string `json:"ip,omitempty" tf:"ip,omitempty"`

	NicUUID *string `json:"nicUuid,omitempty" tf:"nic_uuid,omitempty"`
}

func (*IPFailoverObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPFailoverObservation.

func (*IPFailoverObservation) DeepCopyInto

func (in *IPFailoverObservation) DeepCopyInto(out *IPFailoverObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPFailoverParameters

type IPFailoverParameters struct {
}

func (*IPFailoverParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPFailoverParameters.

func (*IPFailoverParameters) DeepCopyInto

func (in *IPFailoverParameters) DeepCopyInto(out *IPFailoverParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Ipblock

type Ipblock struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.size) || (has(self.initProvider) && has(self.initProvider.size))",message="spec.forProvider.size is a required parameter"
	Spec   IpblockSpec   `json:"spec"`
	Status IpblockStatus `json:"status,omitempty"`
}

Ipblock is the Schema for the Ipblocks API. Creates and manages IP Block objects. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*Ipblock) DeepCopy

func (in *Ipblock) DeepCopy() *Ipblock

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ipblock.

func (*Ipblock) DeepCopyInto

func (in *Ipblock) DeepCopyInto(out *Ipblock)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Ipblock) DeepCopyObject

func (in *Ipblock) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Ipblock) GetCondition

func (mg *Ipblock) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Ipblock.

func (*Ipblock) GetConnectionDetailsMapping

func (tr *Ipblock) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Ipblock

func (*Ipblock) GetDeletionPolicy

func (mg *Ipblock) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Ipblock.

func (*Ipblock) GetID

func (tr *Ipblock) GetID() string

GetID returns ID of underlying Terraform resource of this Ipblock

func (*Ipblock) GetInitParameters

func (tr *Ipblock) GetInitParameters() (map[string]any, error)

GetInitParameters of this Ipblock

func (*Ipblock) GetManagementPolicies

func (mg *Ipblock) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Ipblock.

func (*Ipblock) GetMergedParameters

func (tr *Ipblock) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Ipblock

func (*Ipblock) GetObservation

func (tr *Ipblock) GetObservation() (map[string]any, error)

GetObservation of this Ipblock

func (*Ipblock) GetParameters

func (tr *Ipblock) GetParameters() (map[string]any, error)

GetParameters of this Ipblock

func (*Ipblock) GetProviderConfigReference

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

GetProviderConfigReference of this Ipblock.

func (*Ipblock) GetPublishConnectionDetailsTo

func (mg *Ipblock) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Ipblock.

func (*Ipblock) GetTerraformResourceType

func (mg *Ipblock) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Ipblock

func (*Ipblock) GetTerraformSchemaVersion

func (tr *Ipblock) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Ipblock) GetWriteConnectionSecretToReference

func (mg *Ipblock) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Ipblock.

func (*Ipblock) Hub

func (tr *Ipblock) Hub()

Hub marks this type as a conversion hub.

func (*Ipblock) LateInitialize

func (tr *Ipblock) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Ipblock using its observed tfState. returns True if there are any spec changes for the resource.

func (*Ipblock) SetConditions

func (mg *Ipblock) SetConditions(c ...xpv1.Condition)

SetConditions of this Ipblock.

func (*Ipblock) SetDeletionPolicy

func (mg *Ipblock) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Ipblock.

func (*Ipblock) SetManagementPolicies

func (mg *Ipblock) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Ipblock.

func (*Ipblock) SetObservation

func (tr *Ipblock) SetObservation(obs map[string]any) error

SetObservation for this Ipblock

func (*Ipblock) SetParameters

func (tr *Ipblock) SetParameters(params map[string]any) error

SetParameters for this Ipblock

func (*Ipblock) SetProviderConfigReference

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

SetProviderConfigReference of this Ipblock.

func (*Ipblock) SetPublishConnectionDetailsTo

func (mg *Ipblock) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Ipblock.

func (*Ipblock) SetWriteConnectionSecretToReference

func (mg *Ipblock) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Ipblock.

type IpblockInitParameters

type IpblockInitParameters struct {

	// Only attribute. Lists consumption detail of an individual ip
	IPConsumers []IPConsumersInitParameters `json:"ipConsumers,omitempty" tf:"ip_consumers,omitempty"`

	// [string] The regional location for this IP Block: us/las, us/ewr, de/fra, de/fkb.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// [string] The name of Ip Block
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [integer] The number of IP addresses to reserve for this block.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`
}

func (*IpblockInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpblockInitParameters.

func (*IpblockInitParameters) DeepCopyInto

func (in *IpblockInitParameters) DeepCopyInto(out *IpblockInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IpblockList

type IpblockList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Ipblock `json:"items"`
}

IpblockList contains a list of Ipblocks

func (*IpblockList) DeepCopy

func (in *IpblockList) DeepCopy() *IpblockList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpblockList.

func (*IpblockList) DeepCopyInto

func (in *IpblockList) DeepCopyInto(out *IpblockList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IpblockList) DeepCopyObject

func (in *IpblockList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*IpblockList) GetItems

func (l *IpblockList) GetItems() []resource.Managed

GetItems of this IpblockList.

type IpblockObservation

type IpblockObservation struct {
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Only attribute. Lists consumption detail of an individual ip
	IPConsumers []IPConsumersObservation `json:"ipConsumers,omitempty" tf:"ip_consumers,omitempty"`

	// (Computed)[integer] The list of IP addresses associated with this block.
	Ips []*string `json:"ips,omitempty" tf:"ips,omitempty"`

	// [string] The regional location for this IP Block: us/las, us/ewr, de/fra, de/fkb.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// [string] The name of Ip Block
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [integer] The number of IP addresses to reserve for this block.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`
}

func (*IpblockObservation) DeepCopy

func (in *IpblockObservation) DeepCopy() *IpblockObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpblockObservation.

func (*IpblockObservation) DeepCopyInto

func (in *IpblockObservation) DeepCopyInto(out *IpblockObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IpblockParameters

type IpblockParameters struct {

	// Only attribute. Lists consumption detail of an individual ip
	// +kubebuilder:validation:Optional
	IPConsumers []IPConsumersParameters `json:"ipConsumers,omitempty" tf:"ip_consumers,omitempty"`

	// [string] The regional location for this IP Block: us/las, us/ewr, de/fra, de/fkb.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// [string] The name of Ip Block
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [integer] The number of IP addresses to reserve for this block.
	// +kubebuilder:validation:Optional
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`
}

func (*IpblockParameters) DeepCopy

func (in *IpblockParameters) DeepCopy() *IpblockParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpblockParameters.

func (*IpblockParameters) DeepCopyInto

func (in *IpblockParameters) DeepCopyInto(out *IpblockParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IpblockSpec

type IpblockSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     IpblockParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider IpblockInitParameters `json:"initProvider,omitempty"`
}

IpblockSpec defines the desired state of Ipblock

func (*IpblockSpec) DeepCopy

func (in *IpblockSpec) DeepCopy() *IpblockSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpblockSpec.

func (*IpblockSpec) DeepCopyInto

func (in *IpblockSpec) DeepCopyInto(out *IpblockSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IpblockStatus

type IpblockStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        IpblockObservation `json:"atProvider,omitempty"`
}

IpblockStatus defines the observed state of Ipblock.

func (*IpblockStatus) DeepCopy

func (in *IpblockStatus) DeepCopy() *IpblockStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpblockStatus.

func (*IpblockStatus) DeepCopyInto

func (in *IpblockStatus) DeepCopyInto(out *IpblockStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Ipfailover

type Ipfailover struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              IpfailoverSpec   `json:"spec"`
	Status            IpfailoverStatus `json:"status,omitempty"`
}

Ipfailover is the Schema for the Ipfailovers API. Creates and manages ipfailover objects. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*Ipfailover) DeepCopy

func (in *Ipfailover) DeepCopy() *Ipfailover

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ipfailover.

func (*Ipfailover) DeepCopyInto

func (in *Ipfailover) DeepCopyInto(out *Ipfailover)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Ipfailover) DeepCopyObject

func (in *Ipfailover) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Ipfailover) GetCondition

func (mg *Ipfailover) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Ipfailover.

func (*Ipfailover) GetConnectionDetailsMapping

func (tr *Ipfailover) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Ipfailover

func (*Ipfailover) GetDeletionPolicy

func (mg *Ipfailover) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Ipfailover.

func (*Ipfailover) GetID

func (tr *Ipfailover) GetID() string

GetID returns ID of underlying Terraform resource of this Ipfailover

func (*Ipfailover) GetInitParameters

func (tr *Ipfailover) GetInitParameters() (map[string]any, error)

GetInitParameters of this Ipfailover

func (*Ipfailover) GetManagementPolicies

func (mg *Ipfailover) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Ipfailover.

func (*Ipfailover) GetMergedParameters

func (tr *Ipfailover) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Ipfailover

func (*Ipfailover) GetObservation

func (tr *Ipfailover) GetObservation() (map[string]any, error)

GetObservation of this Ipfailover

func (*Ipfailover) GetParameters

func (tr *Ipfailover) GetParameters() (map[string]any, error)

GetParameters of this Ipfailover

func (*Ipfailover) GetProviderConfigReference

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

GetProviderConfigReference of this Ipfailover.

func (*Ipfailover) GetPublishConnectionDetailsTo

func (mg *Ipfailover) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Ipfailover.

func (*Ipfailover) GetTerraformResourceType

func (mg *Ipfailover) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Ipfailover

func (*Ipfailover) GetTerraformSchemaVersion

func (tr *Ipfailover) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Ipfailover) GetWriteConnectionSecretToReference

func (mg *Ipfailover) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Ipfailover.

func (*Ipfailover) Hub

func (tr *Ipfailover) Hub()

Hub marks this type as a conversion hub.

func (*Ipfailover) LateInitialize

func (tr *Ipfailover) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Ipfailover using its observed tfState. returns True if there are any spec changes for the resource.

func (*Ipfailover) ResolveReferences

func (mg *Ipfailover) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Ipfailover.

func (*Ipfailover) SetConditions

func (mg *Ipfailover) SetConditions(c ...xpv1.Condition)

SetConditions of this Ipfailover.

func (*Ipfailover) SetDeletionPolicy

func (mg *Ipfailover) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Ipfailover.

func (*Ipfailover) SetManagementPolicies

func (mg *Ipfailover) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Ipfailover.

func (*Ipfailover) SetObservation

func (tr *Ipfailover) SetObservation(obs map[string]any) error

SetObservation for this Ipfailover

func (*Ipfailover) SetParameters

func (tr *Ipfailover) SetParameters(params map[string]any) error

SetParameters for this Ipfailover

func (*Ipfailover) SetProviderConfigReference

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

SetProviderConfigReference of this Ipfailover.

func (*Ipfailover) SetPublishConnectionDetailsTo

func (mg *Ipfailover) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Ipfailover.

func (*Ipfailover) SetWriteConnectionSecretToReference

func (mg *Ipfailover) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Ipfailover.

type IpfailoverInitParameters

type IpfailoverInitParameters struct {

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// [string] The reserved IP address to be used in the IP failover group.
	// Failover IP
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Ipblock
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/provider-upjet-ionoscloud/config/common.FirstIPBlockIP()
	IP *string `json:"ip,omitempty" tf:"ip,omitempty"`

	// Reference to a Ipblock in compute to populate ip.
	// +kubebuilder:validation:Optional
	IPRef *v1.Reference `json:"ipRef,omitempty" tf:"-"`

	// Selector for a Ipblock in compute to populate ip.
	// +kubebuilder:validation:Optional
	IPSelector *v1.Selector `json:"ipSelector,omitempty" tf:"-"`

	// [string] The ID of a LAN.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Lan
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	LanID *string `json:"lanId,omitempty" tf:"lan_id,omitempty"`

	// Reference to a Lan in compute to populate lanId.
	// +kubebuilder:validation:Optional
	LanIDRef *v1.Reference `json:"lanIdRef,omitempty" tf:"-"`

	// Selector for a Lan in compute to populate lanId.
	// +kubebuilder:validation:Optional
	LanIDSelector *v1.Selector `json:"lanIdSelector,omitempty" tf:"-"`

	// [string] The ID of a NIC.
	// The UUID of the master NIC
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Server
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/provider-upjet-ionoscloud/config/common.ServerPrimaryNIC()
	Nicuuid *string `json:"nicuuid,omitempty" tf:"nicuuid,omitempty"`

	// Reference to a Server in compute to populate nicuuid.
	// +kubebuilder:validation:Optional
	NicuuidRef *v1.Reference `json:"nicuuidRef,omitempty" tf:"-"`

	// Selector for a Server in compute to populate nicuuid.
	// +kubebuilder:validation:Optional
	NicuuidSelector *v1.Selector `json:"nicuuidSelector,omitempty" tf:"-"`
}

func (*IpfailoverInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpfailoverInitParameters.

func (*IpfailoverInitParameters) DeepCopyInto

func (in *IpfailoverInitParameters) DeepCopyInto(out *IpfailoverInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IpfailoverList

type IpfailoverList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Ipfailover `json:"items"`
}

IpfailoverList contains a list of Ipfailovers

func (*IpfailoverList) DeepCopy

func (in *IpfailoverList) DeepCopy() *IpfailoverList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpfailoverList.

func (*IpfailoverList) DeepCopyInto

func (in *IpfailoverList) DeepCopyInto(out *IpfailoverList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IpfailoverList) DeepCopyObject

func (in *IpfailoverList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*IpfailoverList) GetItems

func (l *IpfailoverList) GetItems() []resource.Managed

GetItems of this IpfailoverList.

type IpfailoverObservation

type IpfailoverObservation struct {

	// [string] The ID of a Virtual Data Center.
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// [string] The reserved IP address to be used in the IP failover group.
	// Failover IP
	IP *string `json:"ip,omitempty" tf:"ip,omitempty"`

	// [string] The ID of a LAN.
	LanID *string `json:"lanId,omitempty" tf:"lan_id,omitempty"`

	// [string] The ID of a NIC.
	// The UUID of the master NIC
	Nicuuid *string `json:"nicuuid,omitempty" tf:"nicuuid,omitempty"`
}

func (*IpfailoverObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpfailoverObservation.

func (*IpfailoverObservation) DeepCopyInto

func (in *IpfailoverObservation) DeepCopyInto(out *IpfailoverObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IpfailoverParameters

type IpfailoverParameters struct {

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	// +kubebuilder:validation:Optional
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// [string] The reserved IP address to be used in the IP failover group.
	// Failover IP
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Ipblock
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/provider-upjet-ionoscloud/config/common.FirstIPBlockIP()
	// +kubebuilder:validation:Optional
	IP *string `json:"ip,omitempty" tf:"ip,omitempty"`

	// Reference to a Ipblock in compute to populate ip.
	// +kubebuilder:validation:Optional
	IPRef *v1.Reference `json:"ipRef,omitempty" tf:"-"`

	// Selector for a Ipblock in compute to populate ip.
	// +kubebuilder:validation:Optional
	IPSelector *v1.Selector `json:"ipSelector,omitempty" tf:"-"`

	// [string] The ID of a LAN.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Lan
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	LanID *string `json:"lanId,omitempty" tf:"lan_id,omitempty"`

	// Reference to a Lan in compute to populate lanId.
	// +kubebuilder:validation:Optional
	LanIDRef *v1.Reference `json:"lanIdRef,omitempty" tf:"-"`

	// Selector for a Lan in compute to populate lanId.
	// +kubebuilder:validation:Optional
	LanIDSelector *v1.Selector `json:"lanIdSelector,omitempty" tf:"-"`

	// [string] The ID of a NIC.
	// The UUID of the master NIC
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Server
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/provider-upjet-ionoscloud/config/common.ServerPrimaryNIC()
	// +kubebuilder:validation:Optional
	Nicuuid *string `json:"nicuuid,omitempty" tf:"nicuuid,omitempty"`

	// Reference to a Server in compute to populate nicuuid.
	// +kubebuilder:validation:Optional
	NicuuidRef *v1.Reference `json:"nicuuidRef,omitempty" tf:"-"`

	// Selector for a Server in compute to populate nicuuid.
	// +kubebuilder:validation:Optional
	NicuuidSelector *v1.Selector `json:"nicuuidSelector,omitempty" tf:"-"`
}

func (*IpfailoverParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpfailoverParameters.

func (*IpfailoverParameters) DeepCopyInto

func (in *IpfailoverParameters) DeepCopyInto(out *IpfailoverParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IpfailoverSpec

type IpfailoverSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     IpfailoverParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider IpfailoverInitParameters `json:"initProvider,omitempty"`
}

IpfailoverSpec defines the desired state of Ipfailover

func (*IpfailoverSpec) DeepCopy

func (in *IpfailoverSpec) DeepCopy() *IpfailoverSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpfailoverSpec.

func (*IpfailoverSpec) DeepCopyInto

func (in *IpfailoverSpec) DeepCopyInto(out *IpfailoverSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IpfailoverStatus

type IpfailoverStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        IpfailoverObservation `json:"atProvider,omitempty"`
}

IpfailoverStatus defines the observed state of Ipfailover.

func (*IpfailoverStatus) DeepCopy

func (in *IpfailoverStatus) DeepCopy() *IpfailoverStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpfailoverStatus.

func (*IpfailoverStatus) DeepCopyInto

func (in *IpfailoverStatus) DeepCopyInto(out *IpfailoverStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LabelInitParameters

type LabelInitParameters struct {

	// [string] The key of the label.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// [string] The value of the label.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*LabelInitParameters) DeepCopy

func (in *LabelInitParameters) DeepCopy() *LabelInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelInitParameters.

func (*LabelInitParameters) DeepCopyInto

func (in *LabelInitParameters) DeepCopyInto(out *LabelInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LabelObservation

type LabelObservation struct {

	// [string] The key of the label.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// [string] The value of the label.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*LabelObservation) DeepCopy

func (in *LabelObservation) DeepCopy() *LabelObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelObservation.

func (*LabelObservation) DeepCopyInto

func (in *LabelObservation) DeepCopyInto(out *LabelObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LabelParameters

type LabelParameters struct {

	// [string] The key of the label.
	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

	// [string] The value of the label.
	// +kubebuilder:validation:Optional
	Value *string `json:"value" tf:"value,omitempty"`
}

func (*LabelParameters) DeepCopy

func (in *LabelParameters) DeepCopy() *LabelParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelParameters.

func (*LabelParameters) DeepCopyInto

func (in *LabelParameters) DeepCopyInto(out *LabelParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Lan

type Lan struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              LanSpec   `json:"spec"`
	Status            LanStatus `json:"status,omitempty"`
}

Lan is the Schema for the Lans API. Creates and manages LAN objects. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*Lan) DeepCopy

func (in *Lan) DeepCopy() *Lan

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Lan.

func (*Lan) DeepCopyInto

func (in *Lan) DeepCopyInto(out *Lan)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Lan) DeepCopyObject

func (in *Lan) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Lan) GetCondition

func (mg *Lan) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Lan.

func (*Lan) GetConnectionDetailsMapping

func (tr *Lan) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Lan

func (*Lan) GetDeletionPolicy

func (mg *Lan) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Lan.

func (*Lan) GetID

func (tr *Lan) GetID() string

GetID returns ID of underlying Terraform resource of this Lan

func (*Lan) GetInitParameters

func (tr *Lan) GetInitParameters() (map[string]any, error)

GetInitParameters of this Lan

func (*Lan) GetManagementPolicies

func (mg *Lan) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Lan.

func (*Lan) GetMergedParameters

func (tr *Lan) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Lan

func (*Lan) GetObservation

func (tr *Lan) GetObservation() (map[string]any, error)

GetObservation of this Lan

func (*Lan) GetParameters

func (tr *Lan) GetParameters() (map[string]any, error)

GetParameters of this Lan

func (*Lan) GetProviderConfigReference

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

GetProviderConfigReference of this Lan.

func (*Lan) GetPublishConnectionDetailsTo

func (mg *Lan) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Lan.

func (*Lan) GetTerraformResourceType

func (mg *Lan) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Lan

func (*Lan) GetTerraformSchemaVersion

func (tr *Lan) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Lan) GetWriteConnectionSecretToReference

func (mg *Lan) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Lan.

func (*Lan) Hub

func (tr *Lan) Hub()

Hub marks this type as a conversion hub.

func (*Lan) LateInitialize

func (tr *Lan) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Lan using its observed tfState. returns True if there are any spec changes for the resource.

func (*Lan) ResolveReferences

func (mg *Lan) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Lan.

func (*Lan) SetConditions

func (mg *Lan) SetConditions(c ...xpv1.Condition)

SetConditions of this Lan.

func (*Lan) SetDeletionPolicy

func (mg *Lan) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Lan.

func (*Lan) SetManagementPolicies

func (mg *Lan) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Lan.

func (*Lan) SetObservation

func (tr *Lan) SetObservation(obs map[string]any) error

SetObservation for this Lan

func (*Lan) SetParameters

func (tr *Lan) SetParameters(params map[string]any) error

SetParameters for this Lan

func (*Lan) SetProviderConfigReference

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

SetProviderConfigReference of this Lan.

func (*Lan) SetPublishConnectionDetailsTo

func (mg *Lan) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Lan.

func (*Lan) SetWriteConnectionSecretToReference

func (mg *Lan) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Lan.

type LanInitParameters

type LanInitParameters struct {

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// (Computed) IP failover configurations for lan
	IPFailover []IPFailoverInitParameters `json:"ipFailover,omitempty" tf:"ip_failover,omitempty"`

	// (Computed, Optional) Contains the LAN's /64 IPv6 CIDR block if this LAN is IPv6 enabled. 'AUTO' will result in enabling this LAN for IPv6 and automatically assign a /64 IPv6 CIDR block to this LAN. If you specify your own IPv6 CIDR block then you must provide a unique /64 block, which is inside the IPv6 CIDR block of the virtual datacenter and unique inside all LANs from this virtual datacenter.
	// IPv6 CIDR block assigned to the LAN. Can be set to 'AUTO' for an automatically assigned address or the address can be explicitly supplied.
	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	// [string] The name of the LAN.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [String] The unique id of a ionoscloud_private_crossconnect resource, in order. It needs to be ensured that IP addresses of the NICs of all LANs connected to a given Cross Connect is not duplicated and belongs to the same subnet range
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Crossconnect
	Pcc *string `json:"pcc,omitempty" tf:"pcc,omitempty"`

	// Reference to a Crossconnect in compute to populate pcc.
	// +kubebuilder:validation:Optional
	PccRef *v1.Reference `json:"pccRef,omitempty" tf:"-"`

	// Selector for a Crossconnect in compute to populate pcc.
	// +kubebuilder:validation:Optional
	PccSelector *v1.Selector `json:"pccSelector,omitempty" tf:"-"`

	// [Boolean] Indicates if the LAN faces the public Internet (true) or not (false).
	Public *bool `json:"public,omitempty" tf:"public,omitempty"`
}

func (*LanInitParameters) DeepCopy

func (in *LanInitParameters) DeepCopy() *LanInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LanInitParameters.

func (*LanInitParameters) DeepCopyInto

func (in *LanInitParameters) DeepCopyInto(out *LanInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LanList

type LanList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Lan `json:"items"`
}

LanList contains a list of Lans

func (*LanList) DeepCopy

func (in *LanList) DeepCopy() *LanList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LanList.

func (*LanList) DeepCopyInto

func (in *LanList) DeepCopyInto(out *LanList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LanList) DeepCopyObject

func (in *LanList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*LanList) GetItems

func (l *LanList) GetItems() []resource.Managed

GetItems of this LanList.

type LanObservation

type LanObservation struct {

	// [string] The ID of a Virtual Data Center.
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// (Computed) IP failover configurations for lan
	IPFailover []IPFailoverObservation `json:"ipFailover,omitempty" tf:"ip_failover,omitempty"`

	// (Computed, Optional) Contains the LAN's /64 IPv6 CIDR block if this LAN is IPv6 enabled. 'AUTO' will result in enabling this LAN for IPv6 and automatically assign a /64 IPv6 CIDR block to this LAN. If you specify your own IPv6 CIDR block then you must provide a unique /64 block, which is inside the IPv6 CIDR block of the virtual datacenter and unique inside all LANs from this virtual datacenter.
	// IPv6 CIDR block assigned to the LAN. Can be set to 'AUTO' for an automatically assigned address or the address can be explicitly supplied.
	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	// [string] The name of the LAN.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [String] The unique id of a ionoscloud_private_crossconnect resource, in order. It needs to be ensured that IP addresses of the NICs of all LANs connected to a given Cross Connect is not duplicated and belongs to the same subnet range
	Pcc *string `json:"pcc,omitempty" tf:"pcc,omitempty"`

	// [Boolean] Indicates if the LAN faces the public Internet (true) or not (false).
	Public *bool `json:"public,omitempty" tf:"public,omitempty"`
}

func (*LanObservation) DeepCopy

func (in *LanObservation) DeepCopy() *LanObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LanObservation.

func (*LanObservation) DeepCopyInto

func (in *LanObservation) DeepCopyInto(out *LanObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LanParameters

type LanParameters struct {

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	// +kubebuilder:validation:Optional
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// (Computed) IP failover configurations for lan
	// +kubebuilder:validation:Optional
	IPFailover []IPFailoverParameters `json:"ipFailover,omitempty" tf:"ip_failover,omitempty"`

	// (Computed, Optional) Contains the LAN's /64 IPv6 CIDR block if this LAN is IPv6 enabled. 'AUTO' will result in enabling this LAN for IPv6 and automatically assign a /64 IPv6 CIDR block to this LAN. If you specify your own IPv6 CIDR block then you must provide a unique /64 block, which is inside the IPv6 CIDR block of the virtual datacenter and unique inside all LANs from this virtual datacenter.
	// IPv6 CIDR block assigned to the LAN. Can be set to 'AUTO' for an automatically assigned address or the address can be explicitly supplied.
	// +kubebuilder:validation:Optional
	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	// [string] The name of the LAN.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [String] The unique id of a ionoscloud_private_crossconnect resource, in order. It needs to be ensured that IP addresses of the NICs of all LANs connected to a given Cross Connect is not duplicated and belongs to the same subnet range
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Crossconnect
	// +kubebuilder:validation:Optional
	Pcc *string `json:"pcc,omitempty" tf:"pcc,omitempty"`

	// Reference to a Crossconnect in compute to populate pcc.
	// +kubebuilder:validation:Optional
	PccRef *v1.Reference `json:"pccRef,omitempty" tf:"-"`

	// Selector for a Crossconnect in compute to populate pcc.
	// +kubebuilder:validation:Optional
	PccSelector *v1.Selector `json:"pccSelector,omitempty" tf:"-"`

	// [Boolean] Indicates if the LAN faces the public Internet (true) or not (false).
	// +kubebuilder:validation:Optional
	Public *bool `json:"public,omitempty" tf:"public,omitempty"`
}

func (*LanParameters) DeepCopy

func (in *LanParameters) DeepCopy() *LanParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LanParameters.

func (*LanParameters) DeepCopyInto

func (in *LanParameters) DeepCopyInto(out *LanParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LanSpec

type LanSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     LanParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider LanInitParameters `json:"initProvider,omitempty"`
}

LanSpec defines the desired state of Lan

func (*LanSpec) DeepCopy

func (in *LanSpec) DeepCopy() *LanSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LanSpec.

func (*LanSpec) DeepCopyInto

func (in *LanSpec) DeepCopyInto(out *LanSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LanStatus

type LanStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        LanObservation `json:"atProvider,omitempty"`
}

LanStatus defines the observed state of Lan.

func (*LanStatus) DeepCopy

func (in *LanStatus) DeepCopy() *LanStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LanStatus.

func (*LanStatus) DeepCopyInto

func (in *LanStatus) DeepCopyInto(out *LanStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Loadbalancer

type Loadbalancer struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.nicIds) || (has(self.initProvider) && has(self.initProvider.nicIds))",message="spec.forProvider.nicIds is a required parameter"
	Spec   LoadbalancerSpec   `json:"spec"`
	Status LoadbalancerStatus `json:"status,omitempty"`
}

Loadbalancer is the Schema for the Loadbalancers API. Creates and manages Load Balancers +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*Loadbalancer) DeepCopy

func (in *Loadbalancer) DeepCopy() *Loadbalancer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Loadbalancer.

func (*Loadbalancer) DeepCopyInto

func (in *Loadbalancer) DeepCopyInto(out *Loadbalancer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Loadbalancer) DeepCopyObject

func (in *Loadbalancer) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Loadbalancer) GetCondition

func (mg *Loadbalancer) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Loadbalancer.

func (*Loadbalancer) GetConnectionDetailsMapping

func (tr *Loadbalancer) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Loadbalancer

func (*Loadbalancer) GetDeletionPolicy

func (mg *Loadbalancer) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Loadbalancer.

func (*Loadbalancer) GetID

func (tr *Loadbalancer) GetID() string

GetID returns ID of underlying Terraform resource of this Loadbalancer

func (*Loadbalancer) GetInitParameters

func (tr *Loadbalancer) GetInitParameters() (map[string]any, error)

GetInitParameters of this Loadbalancer

func (*Loadbalancer) GetManagementPolicies

func (mg *Loadbalancer) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Loadbalancer.

func (*Loadbalancer) GetMergedParameters

func (tr *Loadbalancer) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Loadbalancer

func (*Loadbalancer) GetObservation

func (tr *Loadbalancer) GetObservation() (map[string]any, error)

GetObservation of this Loadbalancer

func (*Loadbalancer) GetParameters

func (tr *Loadbalancer) GetParameters() (map[string]any, error)

GetParameters of this Loadbalancer

func (*Loadbalancer) GetProviderConfigReference

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

GetProviderConfigReference of this Loadbalancer.

func (*Loadbalancer) GetPublishConnectionDetailsTo

func (mg *Loadbalancer) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Loadbalancer.

func (*Loadbalancer) GetTerraformResourceType

func (mg *Loadbalancer) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Loadbalancer

func (*Loadbalancer) GetTerraformSchemaVersion

func (tr *Loadbalancer) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Loadbalancer) GetWriteConnectionSecretToReference

func (mg *Loadbalancer) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Loadbalancer.

func (*Loadbalancer) Hub

func (tr *Loadbalancer) Hub()

Hub marks this type as a conversion hub.

func (*Loadbalancer) LateInitialize

func (tr *Loadbalancer) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Loadbalancer using its observed tfState. returns True if there are any spec changes for the resource.

func (*Loadbalancer) ResolveReferences

func (mg *Loadbalancer) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Loadbalancer.

func (*Loadbalancer) SetConditions

func (mg *Loadbalancer) SetConditions(c ...xpv1.Condition)

SetConditions of this Loadbalancer.

func (*Loadbalancer) SetDeletionPolicy

func (mg *Loadbalancer) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Loadbalancer.

func (*Loadbalancer) SetManagementPolicies

func (mg *Loadbalancer) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Loadbalancer.

func (*Loadbalancer) SetObservation

func (tr *Loadbalancer) SetObservation(obs map[string]any) error

SetObservation for this Loadbalancer

func (*Loadbalancer) SetParameters

func (tr *Loadbalancer) SetParameters(params map[string]any) error

SetParameters for this Loadbalancer

func (*Loadbalancer) SetProviderConfigReference

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

SetProviderConfigReference of this Loadbalancer.

func (*Loadbalancer) SetPublishConnectionDetailsTo

func (mg *Loadbalancer) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Loadbalancer.

func (*Loadbalancer) SetWriteConnectionSecretToReference

func (mg *Loadbalancer) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Loadbalancer.

type LoadbalancerInitParameters

type LoadbalancerInitParameters struct {

	// [Boolean] Indicates if the load balancer will reserve an IP using DHCP.
	DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// [string] IPv4 address of the load balancer.
	IP *string `json:"ip,omitempty" tf:"ip,omitempty"`

	// [string] The name of the load balancer.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [list] A list of NIC IDs that are part of the load balancer.
	NicIds []*string `json:"nicIds,omitempty" tf:"nic_ids,omitempty"`
}

func (*LoadbalancerInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadbalancerInitParameters.

func (*LoadbalancerInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadbalancerList

type LoadbalancerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Loadbalancer `json:"items"`
}

LoadbalancerList contains a list of Loadbalancers

func (*LoadbalancerList) DeepCopy

func (in *LoadbalancerList) DeepCopy() *LoadbalancerList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadbalancerList.

func (*LoadbalancerList) DeepCopyInto

func (in *LoadbalancerList) DeepCopyInto(out *LoadbalancerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LoadbalancerList) DeepCopyObject

func (in *LoadbalancerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*LoadbalancerList) GetItems

func (l *LoadbalancerList) GetItems() []resource.Managed

GetItems of this LoadbalancerList.

type LoadbalancerObservation

type LoadbalancerObservation struct {

	// [Boolean] Indicates if the load balancer will reserve an IP using DHCP.
	DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`

	// [string] The ID of a Virtual Data Center.
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// [string] IPv4 address of the load balancer.
	IP *string `json:"ip,omitempty" tf:"ip,omitempty"`

	// [string] The name of the load balancer.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [list] A list of NIC IDs that are part of the load balancer.
	NicIds []*string `json:"nicIds,omitempty" tf:"nic_ids,omitempty"`
}

func (*LoadbalancerObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadbalancerObservation.

func (*LoadbalancerObservation) DeepCopyInto

func (in *LoadbalancerObservation) DeepCopyInto(out *LoadbalancerObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadbalancerParameters

type LoadbalancerParameters struct {

	// [Boolean] Indicates if the load balancer will reserve an IP using DHCP.
	// +kubebuilder:validation:Optional
	DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	// +kubebuilder:validation:Optional
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// [string] IPv4 address of the load balancer.
	// +kubebuilder:validation:Optional
	IP *string `json:"ip,omitempty" tf:"ip,omitempty"`

	// [string] The name of the load balancer.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [list] A list of NIC IDs that are part of the load balancer.
	// +kubebuilder:validation:Optional
	NicIds []*string `json:"nicIds,omitempty" tf:"nic_ids,omitempty"`
}

func (*LoadbalancerParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadbalancerParameters.

func (*LoadbalancerParameters) DeepCopyInto

func (in *LoadbalancerParameters) DeepCopyInto(out *LoadbalancerParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadbalancerSpec

type LoadbalancerSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     LoadbalancerParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider LoadbalancerInitParameters `json:"initProvider,omitempty"`
}

LoadbalancerSpec defines the desired state of Loadbalancer

func (*LoadbalancerSpec) DeepCopy

func (in *LoadbalancerSpec) DeepCopy() *LoadbalancerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadbalancerSpec.

func (*LoadbalancerSpec) DeepCopyInto

func (in *LoadbalancerSpec) DeepCopyInto(out *LoadbalancerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadbalancerStatus

type LoadbalancerStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        LoadbalancerObservation `json:"atProvider,omitempty"`
}

LoadbalancerStatus defines the observed state of Loadbalancer.

func (*LoadbalancerStatus) DeepCopy

func (in *LoadbalancerStatus) DeepCopy() *LoadbalancerStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadbalancerStatus.

func (*LoadbalancerStatus) DeepCopyInto

func (in *LoadbalancerStatus) DeepCopyInto(out *LoadbalancerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Nic

type Nic struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              NicSpec   `json:"spec"`
	Status            NicStatus `json:"status,omitempty"`
}

Nic is the Schema for the Nics API. Creates and manages Network Interface objects. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*Nic) DeepCopy

func (in *Nic) DeepCopy() *Nic

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Nic.

func (*Nic) DeepCopyInto

func (in *Nic) DeepCopyInto(out *Nic)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Nic) DeepCopyObject

func (in *Nic) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Nic) GetCondition

func (mg *Nic) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Nic.

func (*Nic) GetConnectionDetailsMapping

func (tr *Nic) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Nic

func (*Nic) GetDeletionPolicy

func (mg *Nic) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Nic.

func (*Nic) GetID

func (tr *Nic) GetID() string

GetID returns ID of underlying Terraform resource of this Nic

func (*Nic) GetInitParameters

func (tr *Nic) GetInitParameters() (map[string]any, error)

GetInitParameters of this Nic

func (*Nic) GetManagementPolicies

func (mg *Nic) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Nic.

func (*Nic) GetMergedParameters

func (tr *Nic) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Nic

func (*Nic) GetObservation

func (tr *Nic) GetObservation() (map[string]any, error)

GetObservation of this Nic

func (*Nic) GetParameters

func (tr *Nic) GetParameters() (map[string]any, error)

GetParameters of this Nic

func (*Nic) GetProviderConfigReference

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

GetProviderConfigReference of this Nic.

func (*Nic) GetPublishConnectionDetailsTo

func (mg *Nic) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Nic.

func (*Nic) GetTerraformResourceType

func (mg *Nic) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Nic

func (*Nic) GetTerraformSchemaVersion

func (tr *Nic) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Nic) GetWriteConnectionSecretToReference

func (mg *Nic) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Nic.

func (*Nic) Hub

func (tr *Nic) Hub()

Hub marks this type as a conversion hub.

func (*Nic) LateInitialize

func (tr *Nic) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Nic using its observed tfState. returns True if there are any spec changes for the resource.

func (*Nic) ResolveReferences

func (mg *Nic) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Nic.

func (*Nic) SetConditions

func (mg *Nic) SetConditions(c ...xpv1.Condition)

SetConditions of this Nic.

func (*Nic) SetDeletionPolicy

func (mg *Nic) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Nic.

func (*Nic) SetManagementPolicies

func (mg *Nic) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Nic.

func (*Nic) SetObservation

func (tr *Nic) SetObservation(obs map[string]any) error

SetObservation for this Nic

func (*Nic) SetParameters

func (tr *Nic) SetParameters(params map[string]any) error

SetParameters for this Nic

func (*Nic) SetProviderConfigReference

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

SetProviderConfigReference of this Nic.

func (*Nic) SetPublishConnectionDetailsTo

func (mg *Nic) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Nic.

func (*Nic) SetWriteConnectionSecretToReference

func (mg *Nic) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Nic.

type NicFirewallInitParameters

type NicFirewallInitParameters struct {
	IcmpCode *string `json:"icmpCode,omitempty" tf:"icmp_code,omitempty"`

	// (Computed)[string] Server usages: ENTERPRISE or CUBE. This property is immutable.
	IcmpType *string `json:"icmpType,omitempty" tf:"icmp_type,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	PortRangeEnd *float64 `json:"portRangeEnd,omitempty" tf:"port_range_end,omitempty"`

	PortRangeStart *float64 `json:"portRangeStart,omitempty" tf:"port_range_start,omitempty"`

	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`

	SourceIP *string `json:"sourceIp,omitempty" tf:"source_ip,omitempty"`

	SourceMac *string `json:"sourceMac,omitempty" tf:"source_mac,omitempty"`

	TargetIP *string `json:"targetIp,omitempty" tf:"target_ip,omitempty"`

	// (Computed)[string] Server usages: ENTERPRISE or CUBE. This property is immutable.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*NicFirewallInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NicFirewallInitParameters.

func (*NicFirewallInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NicFirewallObservation

type NicFirewallObservation struct {
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	IcmpCode *string `json:"icmpCode,omitempty" tf:"icmp_code,omitempty"`

	// (Computed)[string] Server usages: ENTERPRISE or CUBE. This property is immutable.
	IcmpType *string `json:"icmpType,omitempty" tf:"icmp_type,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	PortRangeEnd *float64 `json:"portRangeEnd,omitempty" tf:"port_range_end,omitempty"`

	PortRangeStart *float64 `json:"portRangeStart,omitempty" tf:"port_range_start,omitempty"`

	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`

	SourceIP *string `json:"sourceIp,omitempty" tf:"source_ip,omitempty"`

	SourceMac *string `json:"sourceMac,omitempty" tf:"source_mac,omitempty"`

	TargetIP *string `json:"targetIp,omitempty" tf:"target_ip,omitempty"`

	// (Computed)[string] Server usages: ENTERPRISE or CUBE. This property is immutable.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*NicFirewallObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NicFirewallObservation.

func (*NicFirewallObservation) DeepCopyInto

func (in *NicFirewallObservation) DeepCopyInto(out *NicFirewallObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NicFirewallParameters

type NicFirewallParameters struct {

	// +kubebuilder:validation:Optional
	IcmpCode *string `json:"icmpCode,omitempty" tf:"icmp_code,omitempty"`

	// (Computed)[string] Server usages: ENTERPRISE or CUBE. This property is immutable.
	// +kubebuilder:validation:Optional
	IcmpType *string `json:"icmpType,omitempty" tf:"icmp_type,omitempty"`

	// [string] The name of the server.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// +kubebuilder:validation:Optional
	PortRangeEnd *float64 `json:"portRangeEnd,omitempty" tf:"port_range_end,omitempty"`

	// +kubebuilder:validation:Optional
	PortRangeStart *float64 `json:"portRangeStart,omitempty" tf:"port_range_start,omitempty"`

	// +kubebuilder:validation:Optional
	Protocol *string `json:"protocol" tf:"protocol,omitempty"`

	// +kubebuilder:validation:Optional
	SourceIP *string `json:"sourceIp,omitempty" tf:"source_ip,omitempty"`

	// +kubebuilder:validation:Optional
	SourceMac *string `json:"sourceMac,omitempty" tf:"source_mac,omitempty"`

	// +kubebuilder:validation:Optional
	TargetIP *string `json:"targetIp,omitempty" tf:"target_ip,omitempty"`

	// (Computed)[string] Server usages: ENTERPRISE or CUBE. This property is immutable.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*NicFirewallParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NicFirewallParameters.

func (*NicFirewallParameters) DeepCopyInto

func (in *NicFirewallParameters) DeepCopyInto(out *NicFirewallParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NicInitParameters

type NicInitParameters struct {
	DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`

	// Indicates whether this NIC receives an IPv6 address through DHCP.
	Dhcpv6 *bool `json:"dhcpv6,omitempty" tf:"dhcpv6,omitempty"`

	Firewall *FirewallInitParameters `json:"firewall,omitempty" tf:"firewall,omitempty"`

	FirewallActive *bool `json:"firewallActive,omitempty" tf:"firewall_active,omitempty"`

	FirewallType *string `json:"firewallType,omitempty" tf:"firewall_type,omitempty"`

	// IPv6 CIDR block assigned to the NIC.
	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	// Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
	IPv6Ips []*string `json:"ipv6Ips,omitempty" tf:"ipv6_ips,omitempty"`

	Ips []*string `json:"ips,omitempty" tf:"ips,omitempty"`

	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Lan
	Lan *float64 `json:"lan,omitempty" tf:"lan,omitempty"`

	// Reference to a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanRef *v1.Reference `json:"lanRef,omitempty" tf:"-"`

	// Selector for a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanSelector *v1.Selector `json:"lanSelector,omitempty" tf:"-"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*NicInitParameters) DeepCopy

func (in *NicInitParameters) DeepCopy() *NicInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NicInitParameters.

func (*NicInitParameters) DeepCopyInto

func (in *NicInitParameters) DeepCopyInto(out *NicInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NicInitParameters_2

type NicInitParameters_2 struct {

	// [Boolean] Indicates if the NIC should get an IP address using DHCP (true) or not (false).
	DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// [Boolean] Indicates if the NIC should get an IPv6 address using DHCP (true) or not (false).
	// Indicates whether this NIC receives an IPv6 address through DHCP.
	Dhcpv6 *bool `json:"dhcpv6,omitempty" tf:"dhcpv6,omitempty"`

	// [Boolean] If this resource is set to true and is nested under a server resource firewall, with open SSH port, resource must be nested under the NIC.
	FirewallActive *bool `json:"firewallActive,omitempty" tf:"firewall_active,omitempty"`

	// [String] The type of firewall rules that will be allowed on the NIC. If it is not specified it will take the default value INGRESS
	FirewallType *string `json:"firewallType,omitempty" tf:"firewall_type,omitempty"`

	// Only 1 flow log can be configured. Only the name field can change as part of an update. Flow logs holistically capture network information such as source and destination IP addresses, source and destination ports, number of packets, amount of bytes, the start and end time of the recording, and the type of protocol – and log the extent to which your instances are being accessed.
	// Only 1 flow log can be configured. Only the name field can change as part of an update. Flow logs holistically capture network information such as source and destination
	// IP addresses, source and destination ports, number of packets, amount of bytes,
	// the start and end time of the recording, and the type of protocol –
	// and log the extent to which your instances are being accessed.
	Flowlog *FlowlogInitParameters `json:"flowlog,omitempty" tf:"flowlog,omitempty"`

	// (Computed, Optional) Automatically assigned /80 IPv6 CIDR block if the NIC is connected to an IPv6 enabled LAN. You can also specify an /80 IPv6 CIDR block for the NIC on your own, which must be inside the /64 IPv6 CIDR block of the LAN and unique.
	// IPv6 CIDR block assigned to the NIC.
	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	// [list] Collection of IPv6 addresses assigned to a NIC. Explicitly assigned public IPs need to come from the NIC's Ipv6 CIDR block, Passing value null or empty array will assign an IPv6 address automatically from the NIC's CIDR block.
	// Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
	IPv6Ips []*string `json:"ipv6Ips,omitempty" tf:"ipv6_ips,omitempty"`

	// [list] Collection of IP addresses assigned to a NIC. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
	// Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
	Ips []*string `json:"ips,omitempty" tf:"ips,omitempty"`

	// [integer] The LAN ID the NIC will sit on.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Lan
	Lan *float64 `json:"lan,omitempty" tf:"lan,omitempty"`

	// Reference to a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanRef *v1.Reference `json:"lanRef,omitempty" tf:"-"`

	// Selector for a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanSelector *v1.Selector `json:"lanSelector,omitempty" tf:"-"`

	// [string] The name of the LAN.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [string] The ID of a server.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Server
	ServerID *string `json:"serverId,omitempty" tf:"server_id,omitempty"`

	// Reference to a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDRef *v1.Reference `json:"serverIdRef,omitempty" tf:"-"`

	// Selector for a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDSelector *v1.Selector `json:"serverIdSelector,omitempty" tf:"-"`
}

func (*NicInitParameters_2) DeepCopy

func (in *NicInitParameters_2) DeepCopy() *NicInitParameters_2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NicInitParameters_2.

func (*NicInitParameters_2) DeepCopyInto

func (in *NicInitParameters_2) DeepCopyInto(out *NicInitParameters_2)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NicList

type NicList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Nic `json:"items"`
}

NicList contains a list of Nics

func (*NicList) DeepCopy

func (in *NicList) DeepCopy() *NicList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NicList.

func (*NicList) DeepCopyInto

func (in *NicList) DeepCopyInto(out *NicList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NicList) DeepCopyObject

func (in *NicList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NicList) GetItems

func (l *NicList) GetItems() []resource.Managed

GetItems of this NicList.

type NicObservation

type NicObservation struct {
	DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`

	DeviceNumber *float64 `json:"deviceNumber,omitempty" tf:"device_number,omitempty"`

	// Indicates whether this NIC receives an IPv6 address through DHCP.
	Dhcpv6 *bool `json:"dhcpv6,omitempty" tf:"dhcpv6,omitempty"`

	Firewall *FirewallObservation `json:"firewall,omitempty" tf:"firewall,omitempty"`

	FirewallActive *bool `json:"firewallActive,omitempty" tf:"firewall_active,omitempty"`

	FirewallType *string `json:"firewallType,omitempty" tf:"firewall_type,omitempty"`

	// IPv6 CIDR block assigned to the NIC.
	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	// Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
	IPv6Ips []*string `json:"ipv6Ips,omitempty" tf:"ipv6_ips,omitempty"`

	Ips []*string `json:"ips,omitempty" tf:"ips,omitempty"`

	Lan *float64 `json:"lan,omitempty" tf:"lan,omitempty"`

	Mac *string `json:"mac,omitempty" tf:"mac,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	PciSlot *float64 `json:"pciSlot,omitempty" tf:"pci_slot,omitempty"`
}

func (*NicObservation) DeepCopy

func (in *NicObservation) DeepCopy() *NicObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NicObservation.

func (*NicObservation) DeepCopyInto

func (in *NicObservation) DeepCopyInto(out *NicObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NicObservation_2

type NicObservation_2 struct {

	// [Boolean] Indicates if the NIC should get an IP address using DHCP (true) or not (false).
	DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`

	// [string] The ID of a Virtual Data Center.
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// (Computed) The Logical Unit Number (LUN) of the storage volume. Null if this NIC was created from CloudAPI and no DCD changes were done on the Datacenter.
	DeviceNumber *float64 `json:"deviceNumber,omitempty" tf:"device_number,omitempty"`

	// [Boolean] Indicates if the NIC should get an IPv6 address using DHCP (true) or not (false).
	// Indicates whether this NIC receives an IPv6 address through DHCP.
	Dhcpv6 *bool `json:"dhcpv6,omitempty" tf:"dhcpv6,omitempty"`

	// [Boolean] If this resource is set to true and is nested under a server resource firewall, with open SSH port, resource must be nested under the NIC.
	FirewallActive *bool `json:"firewallActive,omitempty" tf:"firewall_active,omitempty"`

	// [String] The type of firewall rules that will be allowed on the NIC. If it is not specified it will take the default value INGRESS
	FirewallType *string `json:"firewallType,omitempty" tf:"firewall_type,omitempty"`

	// Only 1 flow log can be configured. Only the name field can change as part of an update. Flow logs holistically capture network information such as source and destination IP addresses, source and destination ports, number of packets, amount of bytes, the start and end time of the recording, and the type of protocol – and log the extent to which your instances are being accessed.
	// Only 1 flow log can be configured. Only the name field can change as part of an update. Flow logs holistically capture network information such as source and destination
	// IP addresses, source and destination ports, number of packets, amount of bytes,
	// the start and end time of the recording, and the type of protocol –
	// and log the extent to which your instances are being accessed.
	Flowlog *FlowlogObservation `json:"flowlog,omitempty" tf:"flowlog,omitempty"`

	// (Computed) The ID of the NIC.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// (Computed, Optional) Automatically assigned /80 IPv6 CIDR block if the NIC is connected to an IPv6 enabled LAN. You can also specify an /80 IPv6 CIDR block for the NIC on your own, which must be inside the /64 IPv6 CIDR block of the LAN and unique.
	// IPv6 CIDR block assigned to the NIC.
	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	// [list] Collection of IPv6 addresses assigned to a NIC. Explicitly assigned public IPs need to come from the NIC's Ipv6 CIDR block, Passing value null or empty array will assign an IPv6 address automatically from the NIC's CIDR block.
	// Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
	IPv6Ips []*string `json:"ipv6Ips,omitempty" tf:"ipv6_ips,omitempty"`

	// [list] Collection of IP addresses assigned to a NIC. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
	// Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
	Ips []*string `json:"ips,omitempty" tf:"ips,omitempty"`

	// [integer] The LAN ID the NIC will sit on.
	Lan *float64 `json:"lan,omitempty" tf:"lan,omitempty"`

	// (Computed) The MAC address of the NIC.
	Mac *string `json:"mac,omitempty" tf:"mac,omitempty"`

	// [string] The name of the LAN.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (Computed) The PCI slot number of the Nic.
	PciSlot *float64 `json:"pciSlot,omitempty" tf:"pci_slot,omitempty"`

	// [string] The ID of a server.
	ServerID *string `json:"serverId,omitempty" tf:"server_id,omitempty"`
}

func (*NicObservation_2) DeepCopy

func (in *NicObservation_2) DeepCopy() *NicObservation_2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NicObservation_2.

func (*NicObservation_2) DeepCopyInto

func (in *NicObservation_2) DeepCopyInto(out *NicObservation_2)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NicParameters

type NicParameters struct {

	// +kubebuilder:validation:Optional
	DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`

	// Indicates whether this NIC receives an IPv6 address through DHCP.
	// +kubebuilder:validation:Optional
	Dhcpv6 *bool `json:"dhcpv6,omitempty" tf:"dhcpv6,omitempty"`

	// +kubebuilder:validation:Optional
	Firewall *FirewallParameters `json:"firewall,omitempty" tf:"firewall,omitempty"`

	// +kubebuilder:validation:Optional
	FirewallActive *bool `json:"firewallActive,omitempty" tf:"firewall_active,omitempty"`

	// +kubebuilder:validation:Optional
	FirewallType *string `json:"firewallType,omitempty" tf:"firewall_type,omitempty"`

	// IPv6 CIDR block assigned to the NIC.
	// +kubebuilder:validation:Optional
	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	// Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
	// +kubebuilder:validation:Optional
	IPv6Ips []*string `json:"ipv6Ips,omitempty" tf:"ipv6_ips,omitempty"`

	// +kubebuilder:validation:Optional
	Ips []*string `json:"ips,omitempty" tf:"ips,omitempty"`

	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Lan
	// +kubebuilder:validation:Optional
	Lan *float64 `json:"lan,omitempty" tf:"lan,omitempty"`

	// Reference to a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanRef *v1.Reference `json:"lanRef,omitempty" tf:"-"`

	// Selector for a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanSelector *v1.Selector `json:"lanSelector,omitempty" tf:"-"`

	// [string] The name of the server.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*NicParameters) DeepCopy

func (in *NicParameters) DeepCopy() *NicParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NicParameters.

func (*NicParameters) DeepCopyInto

func (in *NicParameters) DeepCopyInto(out *NicParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NicParameters_2

type NicParameters_2 struct {

	// [Boolean] Indicates if the NIC should get an IP address using DHCP (true) or not (false).
	// +kubebuilder:validation:Optional
	DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	// +kubebuilder:validation:Optional
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// [Boolean] Indicates if the NIC should get an IPv6 address using DHCP (true) or not (false).
	// Indicates whether this NIC receives an IPv6 address through DHCP.
	// +kubebuilder:validation:Optional
	Dhcpv6 *bool `json:"dhcpv6,omitempty" tf:"dhcpv6,omitempty"`

	// [Boolean] If this resource is set to true and is nested under a server resource firewall, with open SSH port, resource must be nested under the NIC.
	// +kubebuilder:validation:Optional
	FirewallActive *bool `json:"firewallActive,omitempty" tf:"firewall_active,omitempty"`

	// [String] The type of firewall rules that will be allowed on the NIC. If it is not specified it will take the default value INGRESS
	// +kubebuilder:validation:Optional
	FirewallType *string `json:"firewallType,omitempty" tf:"firewall_type,omitempty"`

	// Only 1 flow log can be configured. Only the name field can change as part of an update. Flow logs holistically capture network information such as source and destination IP addresses, source and destination ports, number of packets, amount of bytes, the start and end time of the recording, and the type of protocol – and log the extent to which your instances are being accessed.
	// Only 1 flow log can be configured. Only the name field can change as part of an update. Flow logs holistically capture network information such as source and destination
	// IP addresses, source and destination ports, number of packets, amount of bytes,
	// the start and end time of the recording, and the type of protocol –
	// and log the extent to which your instances are being accessed.
	// +kubebuilder:validation:Optional
	Flowlog *FlowlogParameters `json:"flowlog,omitempty" tf:"flowlog,omitempty"`

	// (Computed, Optional) Automatically assigned /80 IPv6 CIDR block if the NIC is connected to an IPv6 enabled LAN. You can also specify an /80 IPv6 CIDR block for the NIC on your own, which must be inside the /64 IPv6 CIDR block of the LAN and unique.
	// IPv6 CIDR block assigned to the NIC.
	// +kubebuilder:validation:Optional
	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	// [list] Collection of IPv6 addresses assigned to a NIC. Explicitly assigned public IPs need to come from the NIC's Ipv6 CIDR block, Passing value null or empty array will assign an IPv6 address automatically from the NIC's CIDR block.
	// Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
	// +kubebuilder:validation:Optional
	IPv6Ips []*string `json:"ipv6Ips,omitempty" tf:"ipv6_ips,omitempty"`

	// [list] Collection of IP addresses assigned to a NIC. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
	// Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
	// +kubebuilder:validation:Optional
	Ips []*string `json:"ips,omitempty" tf:"ips,omitempty"`

	// [integer] The LAN ID the NIC will sit on.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Lan
	// +kubebuilder:validation:Optional
	Lan *float64 `json:"lan,omitempty" tf:"lan,omitempty"`

	// Reference to a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanRef *v1.Reference `json:"lanRef,omitempty" tf:"-"`

	// Selector for a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanSelector *v1.Selector `json:"lanSelector,omitempty" tf:"-"`

	// [string] The name of the LAN.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [string] The ID of a server.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Server
	// +kubebuilder:validation:Optional
	ServerID *string `json:"serverId,omitempty" tf:"server_id,omitempty"`

	// Reference to a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDRef *v1.Reference `json:"serverIdRef,omitempty" tf:"-"`

	// Selector for a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDSelector *v1.Selector `json:"serverIdSelector,omitempty" tf:"-"`
}

func (*NicParameters_2) DeepCopy

func (in *NicParameters_2) DeepCopy() *NicParameters_2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NicParameters_2.

func (*NicParameters_2) DeepCopyInto

func (in *NicParameters_2) DeepCopyInto(out *NicParameters_2)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NicSpec

type NicSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     NicParameters_2 `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider NicInitParameters_2 `json:"initProvider,omitempty"`
}

NicSpec defines the desired state of Nic

func (*NicSpec) DeepCopy

func (in *NicSpec) DeepCopy() *NicSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NicSpec.

func (*NicSpec) DeepCopyInto

func (in *NicSpec) DeepCopyInto(out *NicSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NicStatus

type NicStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        NicObservation_2 `json:"atProvider,omitempty"`
}

NicStatus defines the observed state of Nic.

func (*NicStatus) DeepCopy

func (in *NicStatus) DeepCopy() *NicStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NicStatus.

func (*NicStatus) DeepCopyInto

func (in *NicStatus) DeepCopyInto(out *NicStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PeersInitParameters

type PeersInitParameters struct {
}

func (*PeersInitParameters) DeepCopy

func (in *PeersInitParameters) DeepCopy() *PeersInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeersInitParameters.

func (*PeersInitParameters) DeepCopyInto

func (in *PeersInitParameters) DeepCopyInto(out *PeersInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PeersObservation

type PeersObservation struct {

	// The id of the cross-connected datacenter
	// The id of the cross-connected datacenter
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// The name of the cross-connected datacenter
	// The name of the cross-connected datacenter
	DatacenterName *string `json:"datacenterName,omitempty" tf:"datacenter_name,omitempty"`

	// The id of the cross-connected LAN
	// The id of the cross-connected LAN
	LanID *string `json:"lanId,omitempty" tf:"lan_id,omitempty"`

	// The name of the cross-connected LAN
	// The name of the cross-connected LAN
	LanName *string `json:"lanName,omitempty" tf:"lan_name,omitempty"`

	// The physical location of the connectable datacenter
	// The location of the cross-connected datacenter
	Location *string `json:"location,omitempty" tf:"location,omitempty"`
}

func (*PeersObservation) DeepCopy

func (in *PeersObservation) DeepCopy() *PeersObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeersObservation.

func (*PeersObservation) DeepCopyInto

func (in *PeersObservation) DeepCopyInto(out *PeersObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PeersParameters

type PeersParameters struct {
}

func (*PeersParameters) DeepCopy

func (in *PeersParameters) DeepCopy() *PeersParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeersParameters.

func (*PeersParameters) DeepCopyInto

func (in *PeersParameters) DeepCopyInto(out *PeersParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Server

type Server struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.volume) || (has(self.initProvider) && has(self.initProvider.volume))",message="spec.forProvider.volume is a required parameter"
	Spec   ServerSpec   `json:"spec"`
	Status ServerStatus `json:"status,omitempty"`
}

Server is the Schema for the Servers API. Creates and manages IonosCloud Server objects. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*Server) DeepCopy

func (in *Server) DeepCopy() *Server

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Server.

func (*Server) DeepCopyInto

func (in *Server) DeepCopyInto(out *Server)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Server) DeepCopyObject

func (in *Server) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Server) GetCondition

func (mg *Server) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Server.

func (*Server) GetConnectionDetailsMapping

func (tr *Server) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Server

func (*Server) GetDeletionPolicy

func (mg *Server) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Server.

func (*Server) GetID

func (tr *Server) GetID() string

GetID returns ID of underlying Terraform resource of this Server

func (*Server) GetInitParameters

func (tr *Server) GetInitParameters() (map[string]any, error)

GetInitParameters of this Server

func (*Server) GetManagementPolicies

func (mg *Server) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Server.

func (*Server) GetMergedParameters

func (tr *Server) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Server

func (*Server) GetObservation

func (tr *Server) GetObservation() (map[string]any, error)

GetObservation of this Server

func (*Server) GetParameters

func (tr *Server) GetParameters() (map[string]any, error)

GetParameters of this Server

func (*Server) GetProviderConfigReference

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

GetProviderConfigReference of this Server.

func (*Server) GetPublishConnectionDetailsTo

func (mg *Server) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Server.

func (*Server) GetTerraformResourceType

func (mg *Server) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Server

func (*Server) GetTerraformSchemaVersion

func (tr *Server) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Server) GetWriteConnectionSecretToReference

func (mg *Server) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Server.

func (*Server) Hub

func (tr *Server) Hub()

Hub marks this type as a conversion hub.

func (*Server) LateInitialize

func (tr *Server) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Server using its observed tfState. returns True if there are any spec changes for the resource.

func (*Server) ResolveReferences

func (mg *Server) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Server.

func (*Server) SetConditions

func (mg *Server) SetConditions(c ...xpv1.Condition)

SetConditions of this Server.

func (*Server) SetDeletionPolicy

func (mg *Server) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Server.

func (*Server) SetManagementPolicies

func (mg *Server) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Server.

func (*Server) SetObservation

func (tr *Server) SetObservation(obs map[string]any) error

SetObservation for this Server

func (*Server) SetParameters

func (tr *Server) SetParameters(params map[string]any) error

SetParameters for this Server

func (*Server) SetProviderConfigReference

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

SetProviderConfigReference of this Server.

func (*Server) SetPublishConnectionDetailsTo

func (mg *Server) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Server.

func (*Server) SetWriteConnectionSecretToReference

func (mg *Server) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Server.

type ServerInitParameters

type ServerInitParameters struct {

	// [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. This property is immutable.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// DEPRECATED Please refer to ionoscloud_server_boot_device_selection (Computed)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud_image data source.
	// The associated boot drive, if any. Must be the UUID of a bootable CDROM image that you can retrieve using the image data source
	BootCdrom *string `json:"bootCdrom,omitempty" tf:"boot_cdrom,omitempty"`

	// [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
	BootImage *string `json:"bootImage,omitempty" tf:"boot_image,omitempty"`

	// [string] CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource. E.g.: "INTEL_SKYLAKE" or "INTEL_XEON".
	CPUFamily *string `json:"cpuFamily,omitempty" tf:"cpu_family,omitempty"`

	// (Computed)[integer] Number of server CPU cores.
	Cores *float64 `json:"cores,omitempty" tf:"cores,omitempty"`

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// (Computed) The associated firewall rules.
	FirewallruleIds []*string `json:"firewallruleIds,omitempty" tf:"firewallrule_ids,omitempty"`

	// [string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	// The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
	ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"`

	// [string] Required if ssh_key_path is not provided.
	ImagePasswordSecretRef *v1.SecretKeySelector `json:"imagePasswordSecretRef,omitempty" tf:"-"`

	// [set] A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
	Label []LabelInitParameters `json:"label,omitempty" tf:"label,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// See the Nic section.
	Nic *ServerNicInitParameters `json:"nic,omitempty" tf:"nic,omitempty"`

	// (Computed)[integer] The amount of memory for the server in MB.
	RAM *float64 `json:"ram,omitempty" tf:"ram,omitempty"`

	// [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images.  Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if image_password is not provided. Does not support ~ expansion to homedir in the given path. This property is immutable.
	// Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Does not support `~` expansion to homedir in the given path. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. This property is immutable.
	SSHKeyPath []*string `json:"sshKeyPath,omitempty" tf:"ssh_key_path,omitempty"`

	// [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
	// Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.
	SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`

	// [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
	TemplateUUID *string `json:"templateUuid,omitempty" tf:"template_uuid,omitempty"`

	// (Computed)[string] Server usages: ENTERPRISE or CUBE. This property is immutable.
	// server usages: ENTERPRISE or CUBE
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// [string] Sets the power state of the server. E.g: RUNNING, SHUTOFF or SUSPENDED. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise.
	// Sets the power state of the server. Possible values: `RUNNING`, `SHUTOFF` or `SUSPENDED`. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise
	VMState *string `json:"vmState,omitempty" tf:"vm_state,omitempty"`

	// See the Volume section.
	Volume *ServerVolumeInitParameters `json:"volume,omitempty" tf:"volume,omitempty"`
}

func (*ServerInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerInitParameters.

func (*ServerInitParameters) DeepCopyInto

func (in *ServerInitParameters) DeepCopyInto(out *ServerInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerList

type ServerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Server `json:"items"`
}

ServerList contains a list of Servers

func (*ServerList) DeepCopy

func (in *ServerList) DeepCopy() *ServerList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerList.

func (*ServerList) DeepCopyInto

func (in *ServerList) DeepCopyInto(out *ServerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ServerList) DeepCopyObject

func (in *ServerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ServerList) GetItems

func (l *ServerList) GetItems() []resource.Managed

GetItems of this ServerList.

type ServerNicInitParameters

type ServerNicInitParameters struct {
	DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`

	// Indicates whether this NIC receives an IPv6 address through DHCP.
	Dhcpv6 *bool `json:"dhcpv6,omitempty" tf:"dhcpv6,omitempty"`

	// Allows to define firewall rules inline in the server. See the Firewall section.
	// Firewall rules created in the server resource. The rules can also be created as separate resources outside the server resource
	Firewall []NicFirewallInitParameters `json:"firewall,omitempty" tf:"firewall,omitempty"`

	FirewallActive *bool `json:"firewallActive,omitempty" tf:"firewall_active,omitempty"`

	// (Computed)[string] Server usages: ENTERPRISE or CUBE. This property is immutable.
	FirewallType *string `json:"firewallType,omitempty" tf:"firewall_type,omitempty"`

	// IPv6 CIDR block assigned to the NIC.
	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	// Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
	IPv6Ips []*string `json:"ipv6Ips,omitempty" tf:"ipv6_ips,omitempty"`

	// Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
	Ips []*string `json:"ips,omitempty" tf:"ips,omitempty"`

	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Lan
	Lan *float64 `json:"lan,omitempty" tf:"lan,omitempty"`

	// Reference to a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanRef *v1.Reference `json:"lanRef,omitempty" tf:"-"`

	// Selector for a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanSelector *v1.Selector `json:"lanSelector,omitempty" tf:"-"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*ServerNicInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerNicInitParameters.

func (*ServerNicInitParameters) DeepCopyInto

func (in *ServerNicInitParameters) DeepCopyInto(out *ServerNicInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerNicObservation

type ServerNicObservation struct {
	DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`

	DeviceNumber *float64 `json:"deviceNumber,omitempty" tf:"device_number,omitempty"`

	// Indicates whether this NIC receives an IPv6 address through DHCP.
	Dhcpv6 *bool `json:"dhcpv6,omitempty" tf:"dhcpv6,omitempty"`

	// Allows to define firewall rules inline in the server. See the Firewall section.
	// Firewall rules created in the server resource. The rules can also be created as separate resources outside the server resource
	Firewall []NicFirewallObservation `json:"firewall,omitempty" tf:"firewall,omitempty"`

	FirewallActive *bool `json:"firewallActive,omitempty" tf:"firewall_active,omitempty"`

	// (Computed)[string] Server usages: ENTERPRISE or CUBE. This property is immutable.
	FirewallType *string `json:"firewallType,omitempty" tf:"firewall_type,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// IPv6 CIDR block assigned to the NIC.
	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	// Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
	IPv6Ips []*string `json:"ipv6Ips,omitempty" tf:"ipv6_ips,omitempty"`

	// Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
	Ips []*string `json:"ips,omitempty" tf:"ips,omitempty"`

	Lan *float64 `json:"lan,omitempty" tf:"lan,omitempty"`

	Mac *string `json:"mac,omitempty" tf:"mac,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	PciSlot *float64 `json:"pciSlot,omitempty" tf:"pci_slot,omitempty"`
}

func (*ServerNicObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerNicObservation.

func (*ServerNicObservation) DeepCopyInto

func (in *ServerNicObservation) DeepCopyInto(out *ServerNicObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerNicParameters

type ServerNicParameters struct {

	// +kubebuilder:validation:Optional
	DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`

	// Indicates whether this NIC receives an IPv6 address through DHCP.
	// +kubebuilder:validation:Optional
	Dhcpv6 *bool `json:"dhcpv6,omitempty" tf:"dhcpv6,omitempty"`

	// Allows to define firewall rules inline in the server. See the Firewall section.
	// Firewall rules created in the server resource. The rules can also be created as separate resources outside the server resource
	// +kubebuilder:validation:Optional
	Firewall []NicFirewallParameters `json:"firewall,omitempty" tf:"firewall,omitempty"`

	// +kubebuilder:validation:Optional
	FirewallActive *bool `json:"firewallActive,omitempty" tf:"firewall_active,omitempty"`

	// (Computed)[string] Server usages: ENTERPRISE or CUBE. This property is immutable.
	// +kubebuilder:validation:Optional
	FirewallType *string `json:"firewallType,omitempty" tf:"firewall_type,omitempty"`

	// IPv6 CIDR block assigned to the NIC.
	// +kubebuilder:validation:Optional
	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	// Collection for IPv6 addresses assigned to a nic. Explicitly assigned IPv6 addresses need to come from inside the IPv6 CIDR block assigned to the nic.
	// +kubebuilder:validation:Optional
	IPv6Ips []*string `json:"ipv6Ips,omitempty" tf:"ipv6_ips,omitempty"`

	// Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
	// +kubebuilder:validation:Optional
	Ips []*string `json:"ips,omitempty" tf:"ips,omitempty"`

	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Lan
	// +kubebuilder:validation:Optional
	Lan *float64 `json:"lan,omitempty" tf:"lan,omitempty"`

	// Reference to a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanRef *v1.Reference `json:"lanRef,omitempty" tf:"-"`

	// Selector for a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanSelector *v1.Selector `json:"lanSelector,omitempty" tf:"-"`

	// [string] The name of the server.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*ServerNicParameters) DeepCopy

func (in *ServerNicParameters) DeepCopy() *ServerNicParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerNicParameters.

func (*ServerNicParameters) DeepCopyInto

func (in *ServerNicParameters) DeepCopyInto(out *ServerNicParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerObservation

type ServerObservation struct {

	// [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. This property is immutable.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// DEPRECATED Please refer to ionoscloud_server_boot_device_selection (Computed)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud_image data source.
	// The associated boot drive, if any. Must be the UUID of a bootable CDROM image that you can retrieve using the image data source
	BootCdrom *string `json:"bootCdrom,omitempty" tf:"boot_cdrom,omitempty"`

	// [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
	BootImage *string `json:"bootImage,omitempty" tf:"boot_image,omitempty"`

	// (Computed) The associated boot volume.
	BootVolume *string `json:"bootVolume,omitempty" tf:"boot_volume,omitempty"`

	// [string] CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource. E.g.: "INTEL_SKYLAKE" or "INTEL_XEON".
	CPUFamily *string `json:"cpuFamily,omitempty" tf:"cpu_family,omitempty"`

	// (Computed)[integer] Number of server CPU cores.
	Cores *float64 `json:"cores,omitempty" tf:"cores,omitempty"`

	// [string] The ID of a Virtual Data Center.
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// (Computed) The associated firewall rule.
	FirewallruleID *string `json:"firewallruleId,omitempty" tf:"firewallrule_id,omitempty"`

	// (Computed) The associated firewall rules.
	FirewallruleIds []*string `json:"firewallruleIds,omitempty" tf:"firewallrule_ids,omitempty"`

	// [string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	// The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
	ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"`

	// (Computed) A list with the IDs for the volumes that are defined inside the server resource.
	// A list that contains the IDs for the volumes defined inside the server resource.
	InlineVolumeIds []*string `json:"inlineVolumeIds,omitempty" tf:"inline_volume_ids,omitempty"`

	// [set] A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
	Label []LabelObservation `json:"label,omitempty" tf:"label,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// See the Nic section.
	Nic *ServerNicObservation `json:"nic,omitempty" tf:"nic,omitempty"`

	// (Computed) The associated IP address.
	PrimaryIP *string `json:"primaryIp,omitempty" tf:"primary_ip,omitempty"`

	// (Computed) The associated NIC.
	// Id of the primary network interface
	PrimaryNic *string `json:"primaryNic,omitempty" tf:"primary_nic,omitempty"`

	// (Computed)[integer] The amount of memory for the server in MB.
	RAM *float64 `json:"ram,omitempty" tf:"ram,omitempty"`

	// [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images.  Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if image_password is not provided. Does not support ~ expansion to homedir in the given path. This property is immutable.
	// Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Does not support `~` expansion to homedir in the given path. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. This property is immutable.
	SSHKeyPath []*string `json:"sshKeyPath,omitempty" tf:"ssh_key_path,omitempty"`

	// [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
	// Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.
	SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`

	// [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
	TemplateUUID *string `json:"templateUuid,omitempty" tf:"template_uuid,omitempty"`

	// (Computed)[string] Server usages: ENTERPRISE or CUBE. This property is immutable.
	// server usages: ENTERPRISE or CUBE
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// [string] Sets the power state of the server. E.g: RUNNING, SHUTOFF or SUSPENDED. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise.
	// Sets the power state of the server. Possible values: `RUNNING`, `SHUTOFF` or `SUSPENDED`. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise
	VMState *string `json:"vmState,omitempty" tf:"vm_state,omitempty"`

	// See the Volume section.
	Volume *ServerVolumeObservation `json:"volume,omitempty" tf:"volume,omitempty"`
}

func (*ServerObservation) DeepCopy

func (in *ServerObservation) DeepCopy() *ServerObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerObservation.

func (*ServerObservation) DeepCopyInto

func (in *ServerObservation) DeepCopyInto(out *ServerObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerParameters

type ServerParameters struct {

	// [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. This property is immutable.
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// DEPRECATED Please refer to ionoscloud_server_boot_device_selection (Computed)[string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud_image data source.
	// The associated boot drive, if any. Must be the UUID of a bootable CDROM image that you can retrieve using the image data source
	// +kubebuilder:validation:Optional
	BootCdrom *string `json:"bootCdrom,omitempty" tf:"boot_cdrom,omitempty"`

	// [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
	// +kubebuilder:validation:Optional
	BootImage *string `json:"bootImage,omitempty" tf:"boot_image,omitempty"`

	// [string] CPU architecture on which server gets provisioned; not all CPU architectures are available in all datacenter regions; available CPU architectures can be retrieved from the datacenter resource. E.g.: "INTEL_SKYLAKE" or "INTEL_XEON".
	// +kubebuilder:validation:Optional
	CPUFamily *string `json:"cpuFamily,omitempty" tf:"cpu_family,omitempty"`

	// (Computed)[integer] Number of server CPU cores.
	// +kubebuilder:validation:Optional
	Cores *float64 `json:"cores,omitempty" tf:"cores,omitempty"`

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	// +kubebuilder:validation:Optional
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// (Computed) The associated firewall rules.
	// +kubebuilder:validation:Optional
	FirewallruleIds []*string `json:"firewallruleIds,omitempty" tf:"firewallrule_ids,omitempty"`

	// [string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	// The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	// +kubebuilder:validation:Optional
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
	// +kubebuilder:validation:Optional
	ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"`

	// [string] Required if ssh_key_path is not provided.
	// +kubebuilder:validation:Optional
	ImagePasswordSecretRef *v1.SecretKeySelector `json:"imagePasswordSecretRef,omitempty" tf:"-"`

	// [set] A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
	// +kubebuilder:validation:Optional
	Label []LabelParameters `json:"label,omitempty" tf:"label,omitempty"`

	// [string] The name of the server.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// See the Nic section.
	// +kubebuilder:validation:Optional
	Nic *ServerNicParameters `json:"nic,omitempty" tf:"nic,omitempty"`

	// (Computed)[integer] The amount of memory for the server in MB.
	// +kubebuilder:validation:Optional
	RAM *float64 `json:"ram,omitempty" tf:"ram,omitempty"`

	// [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images.  Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if image_password is not provided. Does not support ~ expansion to homedir in the given path. This property is immutable.
	// Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Does not support `~` expansion to homedir in the given path. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. This property is immutable.
	// +kubebuilder:validation:Optional
	SSHKeyPath []*string `json:"sshKeyPath,omitempty" tf:"ssh_key_path,omitempty"`

	// [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
	// Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.
	// +kubebuilder:validation:Optional
	SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`

	// [string] The UUID of the template for creating a CUBE server; the available templates for CUBE servers can be found on the templates resource
	// +kubebuilder:validation:Optional
	TemplateUUID *string `json:"templateUuid,omitempty" tf:"template_uuid,omitempty"`

	// (Computed)[string] Server usages: ENTERPRISE or CUBE. This property is immutable.
	// server usages: ENTERPRISE or CUBE
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// [string] Sets the power state of the server. E.g: RUNNING, SHUTOFF or SUSPENDED. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise.
	// Sets the power state of the server. Possible values: `RUNNING`, `SHUTOFF` or `SUSPENDED`. SUSPENDED state is only valid for cube. SHUTOFF state is only valid for enterprise
	// +kubebuilder:validation:Optional
	VMState *string `json:"vmState,omitempty" tf:"vm_state,omitempty"`

	// See the Volume section.
	// +kubebuilder:validation:Optional
	Volume *ServerVolumeParameters `json:"volume,omitempty" tf:"volume,omitempty"`
}

func (*ServerParameters) DeepCopy

func (in *ServerParameters) DeepCopy() *ServerParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerParameters.

func (*ServerParameters) DeepCopyInto

func (in *ServerParameters) DeepCopyInto(out *ServerParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerSpec

type ServerSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ServerParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ServerInitParameters `json:"initProvider,omitempty"`
}

ServerSpec defines the desired state of Server

func (*ServerSpec) DeepCopy

func (in *ServerSpec) DeepCopy() *ServerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerSpec.

func (*ServerSpec) DeepCopyInto

func (in *ServerSpec) DeepCopyInto(out *ServerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerStatus

type ServerStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ServerObservation `json:"atProvider,omitempty"`
}

ServerStatus defines the observed state of Server.

func (*ServerStatus) DeepCopy

func (in *ServerStatus) DeepCopy() *ServerStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerStatus.

func (*ServerStatus) DeepCopyInto

func (in *ServerStatus) DeepCopyInto(out *ServerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerVolumeInitParameters

type ServerVolumeInitParameters struct {

	// [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. This property is immutable.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
	BackupUnitID *string `json:"backupUnitId,omitempty" tf:"backup_unit_id,omitempty"`

	Bus *string `json:"bus,omitempty" tf:"bus,omitempty"`

	// (Computed)[string] Server usages: ENTERPRISE or CUBE. This property is immutable.
	DiskType *string `json:"diskType,omitempty" tf:"disk_type,omitempty"`

	// [string] Required if ssh_key_path is not provided.
	ImagePassword *string `json:"imagePassword,omitempty" tf:"image_password,omitempty"`

	// [string] Sets the OS type of the server.
	LicenceType *string `json:"licenceType,omitempty" tf:"licence_type,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images.  Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if image_password is not provided. Does not support ~ expansion to homedir in the given path. This property is immutable.
	// Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.
	SSHKeyPath []*string `json:"sshKeyPath,omitempty" tf:"ssh_key_path,omitempty"`

	// [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
	// Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.
	SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`

	// The size of the volume in GB.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}

func (*ServerVolumeInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerVolumeInitParameters.

func (*ServerVolumeInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerVolumeObservation

type ServerVolumeObservation struct {

	// [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. This property is immutable.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
	BackupUnitID *string `json:"backupUnitId,omitempty" tf:"backup_unit_id,omitempty"`

	// The UUID of the attached server.
	BootServer *string `json:"bootServer,omitempty" tf:"boot_server,omitempty"`

	Bus *string `json:"bus,omitempty" tf:"bus,omitempty"`

	CPUHotPlug *bool `json:"cpuHotPlug,omitempty" tf:"cpu_hot_plug,omitempty"`

	DeviceNumber *float64 `json:"deviceNumber,omitempty" tf:"device_number,omitempty"`

	DiscVirtioHotPlug *bool `json:"discVirtioHotPlug,omitempty" tf:"disc_virtio_hot_plug,omitempty"`

	DiscVirtioHotUnplug *bool `json:"discVirtioHotUnplug,omitempty" tf:"disc_virtio_hot_unplug,omitempty"`

	// (Computed)[string] Server usages: ENTERPRISE or CUBE. This property is immutable.
	DiskType *string `json:"diskType,omitempty" tf:"disk_type,omitempty"`

	// [string] Required if ssh_key_path is not provided.
	ImagePassword *string `json:"imagePassword,omitempty" tf:"image_password,omitempty"`

	// [string] Sets the OS type of the server.
	LicenceType *string `json:"licenceType,omitempty" tf:"licence_type,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	NicHotPlug *bool `json:"nicHotPlug,omitempty" tf:"nic_hot_plug,omitempty"`

	NicHotUnplug *bool `json:"nicHotUnplug,omitempty" tf:"nic_hot_unplug,omitempty"`

	PciSlot *float64 `json:"pciSlot,omitempty" tf:"pci_slot,omitempty"`

	RAMHotPlug *bool `json:"ramHotPlug,omitempty" tf:"ram_hot_plug,omitempty"`

	// [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images.  Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if image_password is not provided. Does not support ~ expansion to homedir in the given path. This property is immutable.
	// Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.
	SSHKeyPath []*string `json:"sshKeyPath,omitempty" tf:"ssh_key_path,omitempty"`

	// [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
	// Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.
	SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`

	// The size of the volume in GB.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}

func (*ServerVolumeObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerVolumeObservation.

func (*ServerVolumeObservation) DeepCopyInto

func (in *ServerVolumeObservation) DeepCopyInto(out *ServerVolumeObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServerVolumeParameters

type ServerVolumeParameters struct {

	// [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. This property is immutable.
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
	// +kubebuilder:validation:Optional
	BackupUnitID *string `json:"backupUnitId,omitempty" tf:"backup_unit_id,omitempty"`

	// +kubebuilder:validation:Optional
	Bus *string `json:"bus,omitempty" tf:"bus,omitempty"`

	// (Computed)[string] Server usages: ENTERPRISE or CUBE. This property is immutable.
	// +kubebuilder:validation:Optional
	DiskType *string `json:"diskType" tf:"disk_type,omitempty"`

	// [string] Required if ssh_key_path is not provided.
	// +kubebuilder:validation:Optional
	ImagePassword *string `json:"imagePassword,omitempty" tf:"image_password,omitempty"`

	// [string] Sets the OS type of the server.
	// +kubebuilder:validation:Optional
	LicenceType *string `json:"licenceType,omitempty" tf:"licence_type,omitempty"`

	// [string] The name of the server.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images.  Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if image_password is not provided. Does not support ~ expansion to homedir in the given path. This property is immutable.
	// Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.
	// +kubebuilder:validation:Optional
	SSHKeyPath []*string `json:"sshKeyPath,omitempty" tf:"ssh_key_path,omitempty"`

	// [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
	// Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.
	// +kubebuilder:validation:Optional
	SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`

	// The size of the volume in GB.
	// +kubebuilder:validation:Optional
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}

func (*ServerVolumeParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerVolumeParameters.

func (*ServerVolumeParameters) DeepCopyInto

func (in *ServerVolumeParameters) DeepCopyInto(out *ServerVolumeParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Share

type Share struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ShareSpec   `json:"spec"`
	Status            ShareStatus `json:"status,omitempty"`
}

Share is the Schema for the Shares API. Creates and manages share objects. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*Share) DeepCopy

func (in *Share) DeepCopy() *Share

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Share.

func (*Share) DeepCopyInto

func (in *Share) DeepCopyInto(out *Share)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Share) DeepCopyObject

func (in *Share) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Share) GetCondition

func (mg *Share) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Share.

func (*Share) GetConnectionDetailsMapping

func (tr *Share) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Share

func (*Share) GetDeletionPolicy

func (mg *Share) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Share.

func (*Share) GetID

func (tr *Share) GetID() string

GetID returns ID of underlying Terraform resource of this Share

func (*Share) GetInitParameters

func (tr *Share) GetInitParameters() (map[string]any, error)

GetInitParameters of this Share

func (*Share) GetManagementPolicies

func (mg *Share) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Share.

func (*Share) GetMergedParameters

func (tr *Share) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Share

func (*Share) GetObservation

func (tr *Share) GetObservation() (map[string]any, error)

GetObservation of this Share

func (*Share) GetParameters

func (tr *Share) GetParameters() (map[string]any, error)

GetParameters of this Share

func (*Share) GetProviderConfigReference

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

GetProviderConfigReference of this Share.

func (*Share) GetPublishConnectionDetailsTo

func (mg *Share) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Share.

func (*Share) GetTerraformResourceType

func (mg *Share) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Share

func (*Share) GetTerraformSchemaVersion

func (tr *Share) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Share) GetWriteConnectionSecretToReference

func (mg *Share) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Share.

func (*Share) Hub

func (tr *Share) Hub()

Hub marks this type as a conversion hub.

func (*Share) LateInitialize

func (tr *Share) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Share using its observed tfState. returns True if there are any spec changes for the resource.

func (*Share) ResolveReferences

func (mg *Share) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Share.

func (*Share) SetConditions

func (mg *Share) SetConditions(c ...xpv1.Condition)

SetConditions of this Share.

func (*Share) SetDeletionPolicy

func (mg *Share) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Share.

func (*Share) SetManagementPolicies

func (mg *Share) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Share.

func (*Share) SetObservation

func (tr *Share) SetObservation(obs map[string]any) error

SetObservation for this Share

func (*Share) SetParameters

func (tr *Share) SetParameters(params map[string]any) error

SetParameters for this Share

func (*Share) SetProviderConfigReference

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

SetProviderConfigReference of this Share.

func (*Share) SetPublishConnectionDetailsTo

func (mg *Share) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Share.

func (*Share) SetWriteConnectionSecretToReference

func (mg *Share) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Share.

type ShareInitParameters

type ShareInitParameters struct {

	// [Boolean] The group has permission to edit privileges on this resource.
	EditPrivilege *bool `json:"editPrivilege,omitempty" tf:"edit_privilege,omitempty"`

	// [string] The ID of the specific group containing the resource to update.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Group
	GroupID *string `json:"groupId,omitempty" tf:"group_id,omitempty"`

	// Reference to a Group in compute to populate groupId.
	// +kubebuilder:validation:Optional
	GroupIDRef *v1.Reference `json:"groupIdRef,omitempty" tf:"-"`

	// Selector for a Group in compute to populate groupId.
	// +kubebuilder:validation:Optional
	GroupIDSelector *v1.Selector `json:"groupIdSelector,omitempty" tf:"-"`

	// [string] The ID of the specific resource to update.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	ResourceID *string `json:"resourceId,omitempty" tf:"resource_id,omitempty"`

	// Reference to a Datacenter in compute to populate resourceId.
	// +kubebuilder:validation:Optional
	ResourceIDRef *v1.Reference `json:"resourceIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate resourceId.
	// +kubebuilder:validation:Optional
	ResourceIDSelector *v1.Selector `json:"resourceIdSelector,omitempty" tf:"-"`

	// [Boolean] The group has permission to share this resource.
	SharePrivilege *bool `json:"sharePrivilege,omitempty" tf:"share_privilege,omitempty"`
}

func (*ShareInitParameters) DeepCopy

func (in *ShareInitParameters) DeepCopy() *ShareInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShareInitParameters.

func (*ShareInitParameters) DeepCopyInto

func (in *ShareInitParameters) DeepCopyInto(out *ShareInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShareList

type ShareList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Share `json:"items"`
}

ShareList contains a list of Shares

func (*ShareList) DeepCopy

func (in *ShareList) DeepCopy() *ShareList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShareList.

func (*ShareList) DeepCopyInto

func (in *ShareList) DeepCopyInto(out *ShareList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ShareList) DeepCopyObject

func (in *ShareList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ShareList) GetItems

func (l *ShareList) GetItems() []resource.Managed

GetItems of this ShareList.

type ShareObservation

type ShareObservation struct {

	// [Boolean] The group has permission to edit privileges on this resource.
	EditPrivilege *bool `json:"editPrivilege,omitempty" tf:"edit_privilege,omitempty"`

	// [string] The ID of the specific group containing the resource to update.
	GroupID *string `json:"groupId,omitempty" tf:"group_id,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// [string] The ID of the specific resource to update.
	ResourceID *string `json:"resourceId,omitempty" tf:"resource_id,omitempty"`

	// [Boolean] The group has permission to share this resource.
	SharePrivilege *bool `json:"sharePrivilege,omitempty" tf:"share_privilege,omitempty"`
}

func (*ShareObservation) DeepCopy

func (in *ShareObservation) DeepCopy() *ShareObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShareObservation.

func (*ShareObservation) DeepCopyInto

func (in *ShareObservation) DeepCopyInto(out *ShareObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShareParameters

type ShareParameters struct {

	// [Boolean] The group has permission to edit privileges on this resource.
	// +kubebuilder:validation:Optional
	EditPrivilege *bool `json:"editPrivilege,omitempty" tf:"edit_privilege,omitempty"`

	// [string] The ID of the specific group containing the resource to update.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Group
	// +kubebuilder:validation:Optional
	GroupID *string `json:"groupId,omitempty" tf:"group_id,omitempty"`

	// Reference to a Group in compute to populate groupId.
	// +kubebuilder:validation:Optional
	GroupIDRef *v1.Reference `json:"groupIdRef,omitempty" tf:"-"`

	// Selector for a Group in compute to populate groupId.
	// +kubebuilder:validation:Optional
	GroupIDSelector *v1.Selector `json:"groupIdSelector,omitempty" tf:"-"`

	// [string] The ID of the specific resource to update.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	// +kubebuilder:validation:Optional
	ResourceID *string `json:"resourceId,omitempty" tf:"resource_id,omitempty"`

	// Reference to a Datacenter in compute to populate resourceId.
	// +kubebuilder:validation:Optional
	ResourceIDRef *v1.Reference `json:"resourceIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate resourceId.
	// +kubebuilder:validation:Optional
	ResourceIDSelector *v1.Selector `json:"resourceIdSelector,omitempty" tf:"-"`

	// [Boolean] The group has permission to share this resource.
	// +kubebuilder:validation:Optional
	SharePrivilege *bool `json:"sharePrivilege,omitempty" tf:"share_privilege,omitempty"`
}

func (*ShareParameters) DeepCopy

func (in *ShareParameters) DeepCopy() *ShareParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShareParameters.

func (*ShareParameters) DeepCopyInto

func (in *ShareParameters) DeepCopyInto(out *ShareParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShareSpec

type ShareSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ShareParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ShareInitParameters `json:"initProvider,omitempty"`
}

ShareSpec defines the desired state of Share

func (*ShareSpec) DeepCopy

func (in *ShareSpec) DeepCopy() *ShareSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShareSpec.

func (*ShareSpec) DeepCopyInto

func (in *ShareSpec) DeepCopyInto(out *ShareSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShareStatus

type ShareStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ShareObservation `json:"atProvider,omitempty"`
}

ShareStatus defines the observed state of Share.

func (*ShareStatus) DeepCopy

func (in *ShareStatus) DeepCopy() *ShareStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShareStatus.

func (*ShareStatus) DeepCopyInto

func (in *ShareStatus) DeepCopyInto(out *ShareStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Snapshot

type Snapshot struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   SnapshotSpec   `json:"spec"`
	Status SnapshotStatus `json:"status,omitempty"`
}

Snapshot is the Schema for the Snapshots API. Creates and manages snapshot objects. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*Snapshot) DeepCopy

func (in *Snapshot) DeepCopy() *Snapshot

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Snapshot.

func (*Snapshot) DeepCopyInto

func (in *Snapshot) DeepCopyInto(out *Snapshot)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Snapshot) DeepCopyObject

func (in *Snapshot) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Snapshot) GetCondition

func (mg *Snapshot) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Snapshot.

func (*Snapshot) GetConnectionDetailsMapping

func (tr *Snapshot) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Snapshot

func (*Snapshot) GetDeletionPolicy

func (mg *Snapshot) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Snapshot.

func (*Snapshot) GetID

func (tr *Snapshot) GetID() string

GetID returns ID of underlying Terraform resource of this Snapshot

func (*Snapshot) GetInitParameters

func (tr *Snapshot) GetInitParameters() (map[string]any, error)

GetInitParameters of this Snapshot

func (*Snapshot) GetManagementPolicies

func (mg *Snapshot) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Snapshot.

func (*Snapshot) GetMergedParameters

func (tr *Snapshot) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Snapshot

func (*Snapshot) GetObservation

func (tr *Snapshot) GetObservation() (map[string]any, error)

GetObservation of this Snapshot

func (*Snapshot) GetParameters

func (tr *Snapshot) GetParameters() (map[string]any, error)

GetParameters of this Snapshot

func (*Snapshot) GetProviderConfigReference

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

GetProviderConfigReference of this Snapshot.

func (*Snapshot) GetPublishConnectionDetailsTo

func (mg *Snapshot) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Snapshot.

func (*Snapshot) GetTerraformResourceType

func (mg *Snapshot) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Snapshot

func (*Snapshot) GetTerraformSchemaVersion

func (tr *Snapshot) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Snapshot) GetWriteConnectionSecretToReference

func (mg *Snapshot) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Snapshot.

func (*Snapshot) Hub

func (tr *Snapshot) Hub()

Hub marks this type as a conversion hub.

func (*Snapshot) LateInitialize

func (tr *Snapshot) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Snapshot using its observed tfState. returns True if there are any spec changes for the resource.

func (*Snapshot) ResolveReferences

func (mg *Snapshot) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Snapshot.

func (*Snapshot) SetConditions

func (mg *Snapshot) SetConditions(c ...xpv1.Condition)

SetConditions of this Snapshot.

func (*Snapshot) SetDeletionPolicy

func (mg *Snapshot) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Snapshot.

func (*Snapshot) SetManagementPolicies

func (mg *Snapshot) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Snapshot.

func (*Snapshot) SetObservation

func (tr *Snapshot) SetObservation(obs map[string]any) error

SetObservation for this Snapshot

func (*Snapshot) SetParameters

func (tr *Snapshot) SetParameters(params map[string]any) error

SetParameters for this Snapshot

func (*Snapshot) SetProviderConfigReference

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

SetProviderConfigReference of this Snapshot.

func (*Snapshot) SetPublishConnectionDetailsTo

func (mg *Snapshot) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Snapshot.

func (*Snapshot) SetWriteConnectionSecretToReference

func (mg *Snapshot) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Snapshot.

type SnapshotInitParameters

type SnapshotInitParameters struct {

	// (Computed)[string] Is capable of CPU hot plug (no reboot required). Can only be updated.
	CPUHotPlug *bool `json:"cpuHotPlug,omitempty" tf:"cpu_hot_plug,omitempty"`

	// [string] The ID of the Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// (Computed)[string] Human readable description
	// Human readable description
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (Computed)[string] Is capable of Virt-IO drive hot plug (no reboot required). Can only be updated.
	DiscVirtioHotPlug *bool `json:"discVirtioHotPlug,omitempty" tf:"disc_virtio_hot_plug,omitempty"`

	// (Computed)[string] Is capable of Virt-IO drive hot unplug (no reboot required). This works only for non-Windows virtual Machines. Can only be updated.
	DiscVirtioHotUnplug *bool `json:"discVirtioHotUnplug,omitempty" tf:"disc_virtio_hot_unplug,omitempty"`

	// (Computed)[string] OS type of this Snapshot
	// OS type of this Snapshot
	LicenceType *string `json:"licenceType,omitempty" tf:"licence_type,omitempty"`

	// [string] The name of the snapshot.
	// A name of that resource
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (Computed)[string] Is capable of nic hot plug (no reboot required). Can only be updated.
	NicHotPlug *bool `json:"nicHotPlug,omitempty" tf:"nic_hot_plug,omitempty"`

	// (Computed)[string] Is capable of nic hot unplug (no reboot required). Can only be updated.
	NicHotUnplug *bool `json:"nicHotUnplug,omitempty" tf:"nic_hot_unplug,omitempty"`

	// (Computed)[string] Is capable of memory hot plug (no reboot required). Can only be updated.
	RAMHotPlug *bool `json:"ramHotPlug,omitempty" tf:"ram_hot_plug,omitempty"`

	// Boolean value representing if the snapshot requires extra protection e.g. two factor protection
	// Boolean value representing if the snapshot requires extra protection e.g. two factor protection
	SecAuthProtection *bool `json:"secAuthProtection,omitempty" tf:"sec_auth_protection,omitempty"`

	// [string] The ID of the specific volume to take the snapshot from.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Volume
	VolumeID *string `json:"volumeId,omitempty" tf:"volume_id,omitempty"`

	// Reference to a Volume in compute to populate volumeId.
	// +kubebuilder:validation:Optional
	VolumeIDRef *v1.Reference `json:"volumeIdRef,omitempty" tf:"-"`

	// Selector for a Volume in compute to populate volumeId.
	// +kubebuilder:validation:Optional
	VolumeIDSelector *v1.Selector `json:"volumeIdSelector,omitempty" tf:"-"`
}

func (*SnapshotInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotInitParameters.

func (*SnapshotInitParameters) DeepCopyInto

func (in *SnapshotInitParameters) DeepCopyInto(out *SnapshotInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotList

type SnapshotList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Snapshot `json:"items"`
}

SnapshotList contains a list of Snapshots

func (*SnapshotList) DeepCopy

func (in *SnapshotList) DeepCopy() *SnapshotList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotList.

func (*SnapshotList) DeepCopyInto

func (in *SnapshotList) DeepCopyInto(out *SnapshotList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SnapshotList) DeepCopyObject

func (in *SnapshotList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SnapshotList) GetItems

func (l *SnapshotList) GetItems() []resource.Managed

GetItems of this SnapshotList.

type SnapshotObservation

type SnapshotObservation struct {

	// (Computed)[string] Is capable of CPU hot plug (no reboot required). Can only be updated.
	CPUHotPlug *bool `json:"cpuHotPlug,omitempty" tf:"cpu_hot_plug,omitempty"`

	// Is capable of CPU hot unplug (no reboot required)
	CPUHotUnplug *bool `json:"cpuHotUnplug,omitempty" tf:"cpu_hot_unplug,omitempty"`

	// [string] The ID of the Virtual Data Center.
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// (Computed)[string] Human readable description
	// Human readable description
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Is capable of SCSI drive hot plug (no reboot required)
	DiscScsiHotPlug *bool `json:"discScsiHotPlug,omitempty" tf:"disc_scsi_hot_plug,omitempty"`

	// Is capable of SCSI drive hot unplug (no reboot required). This works only for non-Windows virtual Machines.
	DiscScsiHotUnplug *bool `json:"discScsiHotUnplug,omitempty" tf:"disc_scsi_hot_unplug,omitempty"`

	// (Computed)[string] Is capable of Virt-IO drive hot plug (no reboot required). Can only be updated.
	DiscVirtioHotPlug *bool `json:"discVirtioHotPlug,omitempty" tf:"disc_virtio_hot_plug,omitempty"`

	// (Computed)[string] Is capable of Virt-IO drive hot unplug (no reboot required). This works only for non-Windows virtual Machines. Can only be updated.
	DiscVirtioHotUnplug *bool `json:"discVirtioHotUnplug,omitempty" tf:"disc_virtio_hot_unplug,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// (Computed)[string] OS type of this Snapshot
	// OS type of this Snapshot
	LicenceType *string `json:"licenceType,omitempty" tf:"licence_type,omitempty"`

	// Location of that image/snapshot
	// Location of that image/snapshot
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// [string] The name of the snapshot.
	// A name of that resource
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (Computed)[string] Is capable of nic hot plug (no reboot required). Can only be updated.
	NicHotPlug *bool `json:"nicHotPlug,omitempty" tf:"nic_hot_plug,omitempty"`

	// (Computed)[string] Is capable of nic hot unplug (no reboot required). Can only be updated.
	NicHotUnplug *bool `json:"nicHotUnplug,omitempty" tf:"nic_hot_unplug,omitempty"`

	// (Computed)[string] Is capable of memory hot plug (no reboot required). Can only be updated.
	RAMHotPlug *bool `json:"ramHotPlug,omitempty" tf:"ram_hot_plug,omitempty"`

	// Is capable of memory hot unplug (no reboot required)
	RAMHotUnplug *bool `json:"ramHotUnplug,omitempty" tf:"ram_hot_unplug,omitempty"`

	// Boolean value representing if the snapshot requires extra protection e.g. two factor protection
	// Boolean value representing if the snapshot requires extra protection e.g. two factor protection
	SecAuthProtection *bool `json:"secAuthProtection,omitempty" tf:"sec_auth_protection,omitempty"`

	// The size of the image in GB
	// The size of the image in GB
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// [string] The ID of the specific volume to take the snapshot from.
	VolumeID *string `json:"volumeId,omitempty" tf:"volume_id,omitempty"`
}

func (*SnapshotObservation) DeepCopy

func (in *SnapshotObservation) DeepCopy() *SnapshotObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotObservation.

func (*SnapshotObservation) DeepCopyInto

func (in *SnapshotObservation) DeepCopyInto(out *SnapshotObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotParameters

type SnapshotParameters struct {

	// (Computed)[string] Is capable of CPU hot plug (no reboot required). Can only be updated.
	// +kubebuilder:validation:Optional
	CPUHotPlug *bool `json:"cpuHotPlug,omitempty" tf:"cpu_hot_plug,omitempty"`

	// [string] The ID of the Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// (Computed)[string] Human readable description
	// Human readable description
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// (Computed)[string] Is capable of Virt-IO drive hot plug (no reboot required). Can only be updated.
	// +kubebuilder:validation:Optional
	DiscVirtioHotPlug *bool `json:"discVirtioHotPlug,omitempty" tf:"disc_virtio_hot_plug,omitempty"`

	// (Computed)[string] Is capable of Virt-IO drive hot unplug (no reboot required). This works only for non-Windows virtual Machines. Can only be updated.
	// +kubebuilder:validation:Optional
	DiscVirtioHotUnplug *bool `json:"discVirtioHotUnplug,omitempty" tf:"disc_virtio_hot_unplug,omitempty"`

	// (Computed)[string] OS type of this Snapshot
	// OS type of this Snapshot
	// +kubebuilder:validation:Optional
	LicenceType *string `json:"licenceType,omitempty" tf:"licence_type,omitempty"`

	// [string] The name of the snapshot.
	// A name of that resource
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (Computed)[string] Is capable of nic hot plug (no reboot required). Can only be updated.
	// +kubebuilder:validation:Optional
	NicHotPlug *bool `json:"nicHotPlug,omitempty" tf:"nic_hot_plug,omitempty"`

	// (Computed)[string] Is capable of nic hot unplug (no reboot required). Can only be updated.
	// +kubebuilder:validation:Optional
	NicHotUnplug *bool `json:"nicHotUnplug,omitempty" tf:"nic_hot_unplug,omitempty"`

	// (Computed)[string] Is capable of memory hot plug (no reboot required). Can only be updated.
	// +kubebuilder:validation:Optional
	RAMHotPlug *bool `json:"ramHotPlug,omitempty" tf:"ram_hot_plug,omitempty"`

	// Boolean value representing if the snapshot requires extra protection e.g. two factor protection
	// Boolean value representing if the snapshot requires extra protection e.g. two factor protection
	// +kubebuilder:validation:Optional
	SecAuthProtection *bool `json:"secAuthProtection,omitempty" tf:"sec_auth_protection,omitempty"`

	// [string] The ID of the specific volume to take the snapshot from.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Volume
	// +kubebuilder:validation:Optional
	VolumeID *string `json:"volumeId,omitempty" tf:"volume_id,omitempty"`

	// Reference to a Volume in compute to populate volumeId.
	// +kubebuilder:validation:Optional
	VolumeIDRef *v1.Reference `json:"volumeIdRef,omitempty" tf:"-"`

	// Selector for a Volume in compute to populate volumeId.
	// +kubebuilder:validation:Optional
	VolumeIDSelector *v1.Selector `json:"volumeIdSelector,omitempty" tf:"-"`
}

func (*SnapshotParameters) DeepCopy

func (in *SnapshotParameters) DeepCopy() *SnapshotParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotParameters.

func (*SnapshotParameters) DeepCopyInto

func (in *SnapshotParameters) DeepCopyInto(out *SnapshotParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotSpec

type SnapshotSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     SnapshotParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider SnapshotInitParameters `json:"initProvider,omitempty"`
}

SnapshotSpec defines the desired state of Snapshot

func (*SnapshotSpec) DeepCopy

func (in *SnapshotSpec) DeepCopy() *SnapshotSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotSpec.

func (*SnapshotSpec) DeepCopyInto

func (in *SnapshotSpec) DeepCopyInto(out *SnapshotSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotStatus

type SnapshotStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        SnapshotObservation `json:"atProvider,omitempty"`
}

SnapshotStatus defines the observed state of Snapshot.

func (*SnapshotStatus) DeepCopy

func (in *SnapshotStatus) DeepCopy() *SnapshotStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotStatus.

func (*SnapshotStatus) DeepCopyInto

func (in *SnapshotStatus) DeepCopyInto(out *SnapshotStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Unit

type Unit struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.email) || (has(self.initProvider) && has(self.initProvider.email))",message="spec.forProvider.email is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.passwordSecretRef)",message="spec.forProvider.passwordSecretRef is a required parameter"
	Spec   UnitSpec   `json:"spec"`
	Status UnitStatus `json:"status,omitempty"`
}

Unit is the Schema for the Units API. Creates and manages IonosCloud Backup Units. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*Unit) DeepCopy

func (in *Unit) DeepCopy() *Unit

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Unit.

func (*Unit) DeepCopyInto

func (in *Unit) DeepCopyInto(out *Unit)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Unit) DeepCopyObject

func (in *Unit) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Unit) GetCondition

func (mg *Unit) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Unit.

func (*Unit) GetConnectionDetailsMapping

func (tr *Unit) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Unit

func (*Unit) GetDeletionPolicy

func (mg *Unit) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Unit.

func (*Unit) GetID

func (tr *Unit) GetID() string

GetID returns ID of underlying Terraform resource of this Unit

func (*Unit) GetInitParameters

func (tr *Unit) GetInitParameters() (map[string]any, error)

GetInitParameters of this Unit

func (*Unit) GetManagementPolicies

func (mg *Unit) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Unit.

func (*Unit) GetMergedParameters

func (tr *Unit) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Unit

func (*Unit) GetObservation

func (tr *Unit) GetObservation() (map[string]any, error)

GetObservation of this Unit

func (*Unit) GetParameters

func (tr *Unit) GetParameters() (map[string]any, error)

GetParameters of this Unit

func (*Unit) GetProviderConfigReference

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

GetProviderConfigReference of this Unit.

func (*Unit) GetPublishConnectionDetailsTo

func (mg *Unit) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Unit.

func (*Unit) GetTerraformResourceType

func (mg *Unit) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Unit

func (*Unit) GetTerraformSchemaVersion

func (tr *Unit) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Unit) GetWriteConnectionSecretToReference

func (mg *Unit) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Unit.

func (*Unit) Hub

func (tr *Unit) Hub()

Hub marks this type as a conversion hub.

func (*Unit) LateInitialize

func (tr *Unit) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Unit using its observed tfState. returns True if there are any spec changes for the resource.

func (*Unit) SetConditions

func (mg *Unit) SetConditions(c ...xpv1.Condition)

SetConditions of this Unit.

func (*Unit) SetDeletionPolicy

func (mg *Unit) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Unit.

func (*Unit) SetManagementPolicies

func (mg *Unit) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Unit.

func (*Unit) SetObservation

func (tr *Unit) SetObservation(obs map[string]any) error

SetObservation for this Unit

func (*Unit) SetParameters

func (tr *Unit) SetParameters(params map[string]any) error

SetParameters for this Unit

func (*Unit) SetProviderConfigReference

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

SetProviderConfigReference of this Unit.

func (*Unit) SetPublishConnectionDetailsTo

func (mg *Unit) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Unit.

func (*Unit) SetWriteConnectionSecretToReference

func (mg *Unit) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Unit.

type UnitInitParameters

type UnitInitParameters struct {

	// [string] The email address assigned to the backup unit
	// The e-mail address you want assigned to the backup unit.
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// [string] The name of the Backup Unit. This argument is immutable.
	// Alphanumeric name you want assigned to the backup unit.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [string] The desired password for the Backup Unit
	// The password you want assigned to the backup unit.
	PasswordSecretRef v1.SecretKeySelector `json:"passwordSecretRef" tf:"-"`
}

func (*UnitInitParameters) DeepCopy

func (in *UnitInitParameters) DeepCopy() *UnitInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnitInitParameters.

func (*UnitInitParameters) DeepCopyInto

func (in *UnitInitParameters) DeepCopyInto(out *UnitInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UnitList

type UnitList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Unit `json:"items"`
}

UnitList contains a list of Units

func (*UnitList) DeepCopy

func (in *UnitList) DeepCopy() *UnitList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnitList.

func (*UnitList) DeepCopyInto

func (in *UnitList) DeepCopyInto(out *UnitList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*UnitList) DeepCopyObject

func (in *UnitList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*UnitList) GetItems

func (l *UnitList) GetItems() []resource.Managed

GetItems of this UnitList.

type UnitObservation

type UnitObservation struct {

	// [string] The email address assigned to the backup unit
	// The e-mail address you want assigned to the backup unit.
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// (Computed) The login associated with the backup unit. Derived from the contract number
	// The login associated with the backup unit. Derived from the contract number
	Login *string `json:"login,omitempty" tf:"login,omitempty"`

	// [string] The name of the Backup Unit. This argument is immutable.
	// Alphanumeric name you want assigned to the backup unit.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*UnitObservation) DeepCopy

func (in *UnitObservation) DeepCopy() *UnitObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnitObservation.

func (*UnitObservation) DeepCopyInto

func (in *UnitObservation) DeepCopyInto(out *UnitObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UnitParameters

type UnitParameters struct {

	// [string] The email address assigned to the backup unit
	// The e-mail address you want assigned to the backup unit.
	// +kubebuilder:validation:Optional
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// [string] The name of the Backup Unit. This argument is immutable.
	// Alphanumeric name you want assigned to the backup unit.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [string] The desired password for the Backup Unit
	// The password you want assigned to the backup unit.
	// +kubebuilder:validation:Optional
	PasswordSecretRef v1.SecretKeySelector `json:"passwordSecretRef" tf:"-"`
}

func (*UnitParameters) DeepCopy

func (in *UnitParameters) DeepCopy() *UnitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnitParameters.

func (*UnitParameters) DeepCopyInto

func (in *UnitParameters) DeepCopyInto(out *UnitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UnitSpec

type UnitSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     UnitParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider UnitInitParameters `json:"initProvider,omitempty"`
}

UnitSpec defines the desired state of Unit

func (*UnitSpec) DeepCopy

func (in *UnitSpec) DeepCopy() *UnitSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnitSpec.

func (*UnitSpec) DeepCopyInto

func (in *UnitSpec) DeepCopyInto(out *UnitSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UnitStatus

type UnitStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        UnitObservation `json:"atProvider,omitempty"`
}

UnitStatus defines the observed state of Unit.

func (*UnitStatus) DeepCopy

func (in *UnitStatus) DeepCopy() *UnitStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnitStatus.

func (*UnitStatus) DeepCopyInto

func (in *UnitStatus) DeepCopyInto(out *UnitStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type User

type User struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.email) || (has(self.initProvider) && has(self.initProvider.email))",message="spec.forProvider.email is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.firstName) || (has(self.initProvider) && has(self.initProvider.firstName))",message="spec.forProvider.firstName is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.lastName) || (has(self.initProvider) && has(self.initProvider.lastName))",message="spec.forProvider.lastName is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.passwordSecretRef)",message="spec.forProvider.passwordSecretRef is a required parameter"
	Spec   UserSpec   `json:"spec"`
	Status UserStatus `json:"status,omitempty"`
}

User is the Schema for the Users API. Creates and manages user objects. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*User) DeepCopy

func (in *User) DeepCopy() *User

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.

func (*User) DeepCopyInto

func (in *User) DeepCopyInto(out *User)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*User) DeepCopyObject

func (in *User) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*User) GetCondition

func (mg *User) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this User.

func (*User) GetConnectionDetailsMapping

func (tr *User) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this User

func (*User) GetDeletionPolicy

func (mg *User) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this User.

func (*User) GetID

func (tr *User) GetID() string

GetID returns ID of underlying Terraform resource of this User

func (*User) GetInitParameters

func (tr *User) GetInitParameters() (map[string]any, error)

GetInitParameters of this User

func (*User) GetManagementPolicies

func (mg *User) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this User.

func (*User) GetMergedParameters

func (tr *User) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this User

func (*User) GetObservation

func (tr *User) GetObservation() (map[string]any, error)

GetObservation of this User

func (*User) GetParameters

func (tr *User) GetParameters() (map[string]any, error)

GetParameters of this User

func (*User) GetProviderConfigReference

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

GetProviderConfigReference of this User.

func (*User) GetPublishConnectionDetailsTo

func (mg *User) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this User.

func (*User) GetTerraformResourceType

func (mg *User) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this User

func (*User) GetTerraformSchemaVersion

func (tr *User) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*User) GetWriteConnectionSecretToReference

func (mg *User) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this User.

func (*User) Hub

func (tr *User) Hub()

Hub marks this type as a conversion hub.

func (*User) LateInitialize

func (tr *User) LateInitialize(attrs []byte) (bool, error)

LateInitialize this User using its observed tfState. returns True if there are any spec changes for the resource.

func (*User) SetConditions

func (mg *User) SetConditions(c ...xpv1.Condition)

SetConditions of this User.

func (*User) SetDeletionPolicy

func (mg *User) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this User.

func (*User) SetManagementPolicies

func (mg *User) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this User.

func (*User) SetObservation

func (tr *User) SetObservation(obs map[string]any) error

SetObservation for this User

func (*User) SetParameters

func (tr *User) SetParameters(params map[string]any) error

SetParameters for this User

func (*User) SetProviderConfigReference

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

SetProviderConfigReference of this User.

func (*User) SetPublishConnectionDetailsTo

func (mg *User) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this User.

func (*User) SetWriteConnectionSecretToReference

func (mg *User) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this User.

type UserInitParameters

type UserInitParameters struct {

	// [Boolean] Indicates if the user is active
	// Indicates if the user is active
	Active *bool `json:"active,omitempty" tf:"active,omitempty"`

	// [Boolean] Indicates if the user has administrative rights. Administrators do not need to be managed in groups, as they automatically have access to all resources associated with the contract.
	// Indicates if the user has administrative rights. Administrators do not need to be managed in groups, as they automatically have access to all resources associated with the contract.
	Administrator *bool `json:"administrator,omitempty" tf:"administrator,omitempty"`

	// [string] An e-mail address for the user.
	// Email address of the user
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// [string] A first name for the user.
	FirstName *string `json:"firstName,omitempty" tf:"first_name,omitempty"`

	// [Boolean] Indicates if secure (two-factor) authentication should be forced for the user (true) or not (false).
	// Indicates if secure (two-factor) authentication is forced for the user
	ForceSecAuth *bool `json:"forceSecAuth,omitempty" tf:"force_sec_auth,omitempty"`

	// [Set] The groups that this user will be a member of
	// Ids of the groups that the user is a member of
	// +listType=set
	GroupIds []*string `json:"groupIds,omitempty" tf:"group_ids,omitempty"`

	// [string] A last name for the user.
	LastName *string `json:"lastName,omitempty" tf:"last_name,omitempty"`

	// [string] A password for the user.
	PasswordSecretRef v1.SecretKeySelector `json:"passwordSecretRef" tf:"-"`
}

func (*UserInitParameters) DeepCopy

func (in *UserInitParameters) DeepCopy() *UserInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserInitParameters.

func (*UserInitParameters) DeepCopyInto

func (in *UserInitParameters) DeepCopyInto(out *UserInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserList

type UserList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []User `json:"items"`
}

UserList contains a list of Users

func (*UserList) DeepCopy

func (in *UserList) DeepCopy() *UserList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserList.

func (*UserList) DeepCopyInto

func (in *UserList) DeepCopyInto(out *UserList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*UserList) DeepCopyObject

func (in *UserList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*UserList) GetItems

func (l *UserList) GetItems() []resource.Managed

GetItems of this UserList.

type UserObservation

type UserObservation struct {

	// [Boolean] Indicates if the user is active
	// Indicates if the user is active
	Active *bool `json:"active,omitempty" tf:"active,omitempty"`

	// [Boolean] Indicates if the user has administrative rights. Administrators do not need to be managed in groups, as they automatically have access to all resources associated with the contract.
	// Indicates if the user has administrative rights. Administrators do not need to be managed in groups, as they automatically have access to all resources associated with the contract.
	Administrator *bool `json:"administrator,omitempty" tf:"administrator,omitempty"`

	// [string] An e-mail address for the user.
	// Email address of the user
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// [string] A first name for the user.
	FirstName *string `json:"firstName,omitempty" tf:"first_name,omitempty"`

	// [Boolean] Indicates if secure (two-factor) authentication should be forced for the user (true) or not (false).
	// Indicates if secure (two-factor) authentication is forced for the user
	ForceSecAuth *bool `json:"forceSecAuth,omitempty" tf:"force_sec_auth,omitempty"`

	// [Set] The groups that this user will be a member of
	// Ids of the groups that the user is a member of
	// +listType=set
	GroupIds []*string `json:"groupIds,omitempty" tf:"group_ids,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// [string] A last name for the user.
	LastName *string `json:"lastName,omitempty" tf:"last_name,omitempty"`

	// (Computed) Canonical (IONOS Object Storage) id of the user for a given identity
	S3CanonicalUserID *string `json:"s3CanonicalUserId,omitempty" tf:"s3_canonical_user_id,omitempty"`

	// [Boolean] Indicates if secure authentication is active for the user or not. it can not be used in create requests - can be used in update
	// Indicates if secure (two-factor) authentication is active for the user. It can not be used in create requests - can be used in update.
	SecAuthActive *bool `json:"secAuthActive,omitempty" tf:"sec_auth_active,omitempty"`
}

func (*UserObservation) DeepCopy

func (in *UserObservation) DeepCopy() *UserObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserObservation.

func (*UserObservation) DeepCopyInto

func (in *UserObservation) DeepCopyInto(out *UserObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserParameters

type UserParameters struct {

	// [Boolean] Indicates if the user is active
	// Indicates if the user is active
	// +kubebuilder:validation:Optional
	Active *bool `json:"active,omitempty" tf:"active,omitempty"`

	// [Boolean] Indicates if the user has administrative rights. Administrators do not need to be managed in groups, as they automatically have access to all resources associated with the contract.
	// Indicates if the user has administrative rights. Administrators do not need to be managed in groups, as they automatically have access to all resources associated with the contract.
	// +kubebuilder:validation:Optional
	Administrator *bool `json:"administrator,omitempty" tf:"administrator,omitempty"`

	// [string] An e-mail address for the user.
	// Email address of the user
	// +kubebuilder:validation:Optional
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// [string] A first name for the user.
	// +kubebuilder:validation:Optional
	FirstName *string `json:"firstName,omitempty" tf:"first_name,omitempty"`

	// [Boolean] Indicates if secure (two-factor) authentication should be forced for the user (true) or not (false).
	// Indicates if secure (two-factor) authentication is forced for the user
	// +kubebuilder:validation:Optional
	ForceSecAuth *bool `json:"forceSecAuth,omitempty" tf:"force_sec_auth,omitempty"`

	// [Set] The groups that this user will be a member of
	// Ids of the groups that the user is a member of
	// +kubebuilder:validation:Optional
	// +listType=set
	GroupIds []*string `json:"groupIds,omitempty" tf:"group_ids,omitempty"`

	// [string] A last name for the user.
	// +kubebuilder:validation:Optional
	LastName *string `json:"lastName,omitempty" tf:"last_name,omitempty"`

	// [string] A password for the user.
	// +kubebuilder:validation:Optional
	PasswordSecretRef v1.SecretKeySelector `json:"passwordSecretRef" tf:"-"`
}

func (*UserParameters) DeepCopy

func (in *UserParameters) DeepCopy() *UserParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserParameters.

func (*UserParameters) DeepCopyInto

func (in *UserParameters) DeepCopyInto(out *UserParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserSpec

type UserSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     UserParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider UserInitParameters `json:"initProvider,omitempty"`
}

UserSpec defines the desired state of User

func (*UserSpec) DeepCopy

func (in *UserSpec) DeepCopy() *UserSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSpec.

func (*UserSpec) DeepCopyInto

func (in *UserSpec) DeepCopyInto(out *UserSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserStatus

type UserStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        UserObservation `json:"atProvider,omitempty"`
}

UserStatus defines the observed state of User.

func (*UserStatus) DeepCopy

func (in *UserStatus) DeepCopy() *UserStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserStatus.

func (*UserStatus) DeepCopyInto

func (in *UserStatus) DeepCopyInto(out *UserStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UsersInitParameters

type UsersInitParameters struct {
}

func (*UsersInitParameters) DeepCopy

func (in *UsersInitParameters) DeepCopy() *UsersInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UsersInitParameters.

func (*UsersInitParameters) DeepCopyInto

func (in *UsersInitParameters) DeepCopyInto(out *UsersInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UsersObservation

type UsersObservation struct {
	Administrator *bool `json:"administrator,omitempty" tf:"administrator,omitempty"`

	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// [string] A name for the group.
	FirstName *string `json:"firstName,omitempty" tf:"first_name,omitempty"`

	ForceSecAuth *bool `json:"forceSecAuth,omitempty" tf:"force_sec_auth,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// [string] A name for the group.
	LastName *string `json:"lastName,omitempty" tf:"last_name,omitempty"`

	Password *string `json:"password,omitempty" tf:"password,omitempty"`
}

func (*UsersObservation) DeepCopy

func (in *UsersObservation) DeepCopy() *UsersObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UsersObservation.

func (*UsersObservation) DeepCopyInto

func (in *UsersObservation) DeepCopyInto(out *UsersObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UsersParameters

type UsersParameters struct {
}

func (*UsersParameters) DeepCopy

func (in *UsersParameters) DeepCopy() *UsersParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UsersParameters.

func (*UsersParameters) DeepCopyInto

func (in *UsersParameters) DeepCopyInto(out *UsersParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServer

type VCPUServer struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.cores) || (has(self.initProvider) && has(self.initProvider.cores))",message="spec.forProvider.cores is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.ram) || (has(self.initProvider) && has(self.initProvider.ram))",message="spec.forProvider.ram is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.volume) || (has(self.initProvider) && has(self.initProvider.volume))",message="spec.forProvider.volume is a required parameter"
	Spec   VCPUServerSpec   `json:"spec"`
	Status VCPUServerStatus `json:"status,omitempty"`
}

VCPUServer is the Schema for the VCPUServers API. Creates and manages IonosCloud VCPU Server objects. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*VCPUServer) DeepCopy

func (in *VCPUServer) DeepCopy() *VCPUServer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServer.

func (*VCPUServer) DeepCopyInto

func (in *VCPUServer) DeepCopyInto(out *VCPUServer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VCPUServer) DeepCopyObject

func (in *VCPUServer) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VCPUServer) GetCondition

func (mg *VCPUServer) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this VCPUServer.

func (*VCPUServer) GetConnectionDetailsMapping

func (tr *VCPUServer) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this VCPUServer

func (*VCPUServer) GetDeletionPolicy

func (mg *VCPUServer) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this VCPUServer.

func (*VCPUServer) GetID

func (tr *VCPUServer) GetID() string

GetID returns ID of underlying Terraform resource of this VCPUServer

func (*VCPUServer) GetInitParameters

func (tr *VCPUServer) GetInitParameters() (map[string]any, error)

GetInitParameters of this VCPUServer

func (*VCPUServer) GetManagementPolicies

func (mg *VCPUServer) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this VCPUServer.

func (*VCPUServer) GetMergedParameters

func (tr *VCPUServer) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this VCPUServer

func (*VCPUServer) GetObservation

func (tr *VCPUServer) GetObservation() (map[string]any, error)

GetObservation of this VCPUServer

func (*VCPUServer) GetParameters

func (tr *VCPUServer) GetParameters() (map[string]any, error)

GetParameters of this VCPUServer

func (*VCPUServer) GetProviderConfigReference

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

GetProviderConfigReference of this VCPUServer.

func (*VCPUServer) GetPublishConnectionDetailsTo

func (mg *VCPUServer) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this VCPUServer.

func (*VCPUServer) GetTerraformResourceType

func (mg *VCPUServer) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this VCPUServer

func (*VCPUServer) GetTerraformSchemaVersion

func (tr *VCPUServer) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*VCPUServer) GetWriteConnectionSecretToReference

func (mg *VCPUServer) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this VCPUServer.

func (*VCPUServer) Hub

func (tr *VCPUServer) Hub()

Hub marks this type as a conversion hub.

func (*VCPUServer) LateInitialize

func (tr *VCPUServer) LateInitialize(attrs []byte) (bool, error)

LateInitialize this VCPUServer using its observed tfState. returns True if there are any spec changes for the resource.

func (*VCPUServer) ResolveReferences

func (mg *VCPUServer) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this VCPUServer.

func (*VCPUServer) SetConditions

func (mg *VCPUServer) SetConditions(c ...xpv1.Condition)

SetConditions of this VCPUServer.

func (*VCPUServer) SetDeletionPolicy

func (mg *VCPUServer) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this VCPUServer.

func (*VCPUServer) SetManagementPolicies

func (mg *VCPUServer) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this VCPUServer.

func (*VCPUServer) SetObservation

func (tr *VCPUServer) SetObservation(obs map[string]any) error

SetObservation for this VCPUServer

func (*VCPUServer) SetParameters

func (tr *VCPUServer) SetParameters(params map[string]any) error

SetParameters for this VCPUServer

func (*VCPUServer) SetProviderConfigReference

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

SetProviderConfigReference of this VCPUServer.

func (*VCPUServer) SetPublishConnectionDetailsTo

func (mg *VCPUServer) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this VCPUServer.

func (*VCPUServer) SetWriteConnectionSecretToReference

func (mg *VCPUServer) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this VCPUServer.

type VCPUServerInitParameters

type VCPUServerInitParameters struct {

	// [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. This property is immutable.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// DEPRECATED Please refer to ionoscloud_server_boot_device_selection [string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud_image data source.
	// The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud_image data source.
	BootCdrom *string `json:"bootCdrom,omitempty" tf:"boot_cdrom,omitempty"`

	// [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
	BootImage *string `json:"bootImage,omitempty" tf:"boot_image,omitempty"`

	// [integer] Number of server CPU cores.
	Cores *float64 `json:"cores,omitempty" tf:"cores,omitempty"`

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// (Computed) The associated firewall rules.
	FirewallruleIds []*string `json:"firewallruleIds,omitempty" tf:"firewallrule_ids,omitempty"`

	// [string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	// The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
	ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"`

	// [string] The password for the image.
	ImagePasswordSecretRef *v1.SecretKeySelector `json:"imagePasswordSecretRef,omitempty" tf:"-"`

	// A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
	Label []VCPUServerLabelInitParameters `json:"label,omitempty" tf:"label,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// See the Nic section.
	Nic *VCPUServerNicInitParameters `json:"nic,omitempty" tf:"nic,omitempty"`

	// [integer] The amount of memory for the server in MB.
	RAM *float64 `json:"ram,omitempty" tf:"ram,omitempty"`

	// [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
	// Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.
	SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`

	// Sets the power state of the vcpu server. Possible values: `RUNNING` or `SHUTOFF`.
	VMState *string `json:"vmState,omitempty" tf:"vm_state,omitempty"`

	// See the Volume section.
	Volume *VCPUServerVolumeInitParameters `json:"volume,omitempty" tf:"volume,omitempty"`
}

func (*VCPUServerInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerInitParameters.

func (*VCPUServerInitParameters) DeepCopyInto

func (in *VCPUServerInitParameters) DeepCopyInto(out *VCPUServerInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerLabelInitParameters

type VCPUServerLabelInitParameters struct {
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*VCPUServerLabelInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerLabelInitParameters.

func (*VCPUServerLabelInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerLabelObservation

type VCPUServerLabelObservation struct {
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*VCPUServerLabelObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerLabelObservation.

func (*VCPUServerLabelObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerLabelParameters

type VCPUServerLabelParameters struct {

	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

	// +kubebuilder:validation:Optional
	Value *string `json:"value" tf:"value,omitempty"`
}

func (*VCPUServerLabelParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerLabelParameters.

func (*VCPUServerLabelParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerList

type VCPUServerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VCPUServer `json:"items"`
}

VCPUServerList contains a list of VCPUServers

func (*VCPUServerList) DeepCopy

func (in *VCPUServerList) DeepCopy() *VCPUServerList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerList.

func (*VCPUServerList) DeepCopyInto

func (in *VCPUServerList) DeepCopyInto(out *VCPUServerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VCPUServerList) DeepCopyObject

func (in *VCPUServerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VCPUServerList) GetItems

func (l *VCPUServerList) GetItems() []resource.Managed

GetItems of this VCPUServerList.

type VCPUServerNicFirewallInitParameters

type VCPUServerNicFirewallInitParameters struct {
	IcmpCode *string `json:"icmpCode,omitempty" tf:"icmp_code,omitempty"`

	IcmpType *string `json:"icmpType,omitempty" tf:"icmp_type,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	PortRangeEnd *float64 `json:"portRangeEnd,omitempty" tf:"port_range_end,omitempty"`

	PortRangeStart *float64 `json:"portRangeStart,omitempty" tf:"port_range_start,omitempty"`

	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`

	SourceIP *string `json:"sourceIp,omitempty" tf:"source_ip,omitempty"`

	SourceMac *string `json:"sourceMac,omitempty" tf:"source_mac,omitempty"`

	TargetIP *string `json:"targetIp,omitempty" tf:"target_ip,omitempty"`

	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*VCPUServerNicFirewallInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerNicFirewallInitParameters.

func (*VCPUServerNicFirewallInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerNicFirewallObservation

type VCPUServerNicFirewallObservation struct {
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	IcmpCode *string `json:"icmpCode,omitempty" tf:"icmp_code,omitempty"`

	IcmpType *string `json:"icmpType,omitempty" tf:"icmp_type,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	PortRangeEnd *float64 `json:"portRangeEnd,omitempty" tf:"port_range_end,omitempty"`

	PortRangeStart *float64 `json:"portRangeStart,omitempty" tf:"port_range_start,omitempty"`

	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`

	SourceIP *string `json:"sourceIp,omitempty" tf:"source_ip,omitempty"`

	SourceMac *string `json:"sourceMac,omitempty" tf:"source_mac,omitempty"`

	TargetIP *string `json:"targetIp,omitempty" tf:"target_ip,omitempty"`

	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*VCPUServerNicFirewallObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerNicFirewallObservation.

func (*VCPUServerNicFirewallObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerNicFirewallParameters

type VCPUServerNicFirewallParameters struct {

	// +kubebuilder:validation:Optional
	IcmpCode *string `json:"icmpCode,omitempty" tf:"icmp_code,omitempty"`

	// +kubebuilder:validation:Optional
	IcmpType *string `json:"icmpType,omitempty" tf:"icmp_type,omitempty"`

	// [string] The name of the server.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// +kubebuilder:validation:Optional
	PortRangeEnd *float64 `json:"portRangeEnd,omitempty" tf:"port_range_end,omitempty"`

	// +kubebuilder:validation:Optional
	PortRangeStart *float64 `json:"portRangeStart,omitempty" tf:"port_range_start,omitempty"`

	// +kubebuilder:validation:Optional
	Protocol *string `json:"protocol" tf:"protocol,omitempty"`

	// +kubebuilder:validation:Optional
	SourceIP *string `json:"sourceIp,omitempty" tf:"source_ip,omitempty"`

	// +kubebuilder:validation:Optional
	SourceMac *string `json:"sourceMac,omitempty" tf:"source_mac,omitempty"`

	// +kubebuilder:validation:Optional
	TargetIP *string `json:"targetIp,omitempty" tf:"target_ip,omitempty"`

	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*VCPUServerNicFirewallParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerNicFirewallParameters.

func (*VCPUServerNicFirewallParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerNicInitParameters

type VCPUServerNicInitParameters struct {
	DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`

	Dhcpv6 *bool `json:"dhcpv6,omitempty" tf:"dhcpv6,omitempty"`

	// Allows to define firewall rules inline in the server. See the Firewall section.
	// Firewall rules created in the server resource. The rules can also be created as separate resources outside the server resource
	Firewall []VCPUServerNicFirewallInitParameters `json:"firewall,omitempty" tf:"firewall,omitempty"`

	FirewallActive *bool `json:"firewallActive,omitempty" tf:"firewall_active,omitempty"`

	FirewallType *string `json:"firewallType,omitempty" tf:"firewall_type,omitempty"`

	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	IPv6Ips []*string `json:"ipv6Ips,omitempty" tf:"ipv6_ips,omitempty"`

	// Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
	Ips []*string `json:"ips,omitempty" tf:"ips,omitempty"`

	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Lan
	Lan *float64 `json:"lan,omitempty" tf:"lan,omitempty"`

	// Reference to a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanRef *v1.Reference `json:"lanRef,omitempty" tf:"-"`

	// Selector for a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanSelector *v1.Selector `json:"lanSelector,omitempty" tf:"-"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*VCPUServerNicInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerNicInitParameters.

func (*VCPUServerNicInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerNicObservation

type VCPUServerNicObservation struct {
	DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`

	DeviceNumber *float64 `json:"deviceNumber,omitempty" tf:"device_number,omitempty"`

	Dhcpv6 *bool `json:"dhcpv6,omitempty" tf:"dhcpv6,omitempty"`

	// Allows to define firewall rules inline in the server. See the Firewall section.
	// Firewall rules created in the server resource. The rules can also be created as separate resources outside the server resource
	Firewall []VCPUServerNicFirewallObservation `json:"firewall,omitempty" tf:"firewall,omitempty"`

	FirewallActive *bool `json:"firewallActive,omitempty" tf:"firewall_active,omitempty"`

	FirewallType *string `json:"firewallType,omitempty" tf:"firewall_type,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	IPv6Ips []*string `json:"ipv6Ips,omitempty" tf:"ipv6_ips,omitempty"`

	// Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
	Ips []*string `json:"ips,omitempty" tf:"ips,omitempty"`

	Lan *float64 `json:"lan,omitempty" tf:"lan,omitempty"`

	Mac *string `json:"mac,omitempty" tf:"mac,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	PciSlot *float64 `json:"pciSlot,omitempty" tf:"pci_slot,omitempty"`
}

func (*VCPUServerNicObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerNicObservation.

func (*VCPUServerNicObservation) DeepCopyInto

func (in *VCPUServerNicObservation) DeepCopyInto(out *VCPUServerNicObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerNicParameters

type VCPUServerNicParameters struct {

	// +kubebuilder:validation:Optional
	DHCP *bool `json:"dhcp,omitempty" tf:"dhcp,omitempty"`

	// +kubebuilder:validation:Optional
	Dhcpv6 *bool `json:"dhcpv6,omitempty" tf:"dhcpv6,omitempty"`

	// Allows to define firewall rules inline in the server. See the Firewall section.
	// Firewall rules created in the server resource. The rules can also be created as separate resources outside the server resource
	// +kubebuilder:validation:Optional
	Firewall []VCPUServerNicFirewallParameters `json:"firewall,omitempty" tf:"firewall,omitempty"`

	// +kubebuilder:validation:Optional
	FirewallActive *bool `json:"firewallActive,omitempty" tf:"firewall_active,omitempty"`

	// +kubebuilder:validation:Optional
	FirewallType *string `json:"firewallType,omitempty" tf:"firewall_type,omitempty"`

	// +kubebuilder:validation:Optional
	IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"`

	// +kubebuilder:validation:Optional
	IPv6Ips []*string `json:"ipv6Ips,omitempty" tf:"ipv6_ips,omitempty"`

	// Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
	// +kubebuilder:validation:Optional
	Ips []*string `json:"ips,omitempty" tf:"ips,omitempty"`

	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Lan
	// +kubebuilder:validation:Optional
	Lan *float64 `json:"lan,omitempty" tf:"lan,omitempty"`

	// Reference to a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanRef *v1.Reference `json:"lanRef,omitempty" tf:"-"`

	// Selector for a Lan in compute to populate lan.
	// +kubebuilder:validation:Optional
	LanSelector *v1.Selector `json:"lanSelector,omitempty" tf:"-"`

	// [string] The name of the server.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*VCPUServerNicParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerNicParameters.

func (*VCPUServerNicParameters) DeepCopyInto

func (in *VCPUServerNicParameters) DeepCopyInto(out *VCPUServerNicParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerObservation

type VCPUServerObservation struct {

	// [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. This property is immutable.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// DEPRECATED Please refer to ionoscloud_server_boot_device_selection [string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud_image data source.
	// The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud_image data source.
	BootCdrom *string `json:"bootCdrom,omitempty" tf:"boot_cdrom,omitempty"`

	// [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
	BootImage *string `json:"bootImage,omitempty" tf:"boot_image,omitempty"`

	// (Computed) The associated boot volume.
	BootVolume *string `json:"bootVolume,omitempty" tf:"boot_volume,omitempty"`

	CPUFamily *string `json:"cpuFamily,omitempty" tf:"cpu_family,omitempty"`

	// [integer] Number of server CPU cores.
	Cores *float64 `json:"cores,omitempty" tf:"cores,omitempty"`

	// [string] The ID of a Virtual Data Center.
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// (Computed) The associated firewall rule.
	FirewallruleID *string `json:"firewallruleId,omitempty" tf:"firewallrule_id,omitempty"`

	// (Computed) The associated firewall rules.
	FirewallruleIds []*string `json:"firewallruleIds,omitempty" tf:"firewallrule_ids,omitempty"`

	// [string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	// The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
	ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"`

	// (Computed) A list with the IDs for the volumes that are defined inside the server resource.
	// A list that contains the IDs for the volumes defined inside the server resource.
	InlineVolumeIds []*string `json:"inlineVolumeIds,omitempty" tf:"inline_volume_ids,omitempty"`

	// A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
	Label []VCPUServerLabelObservation `json:"label,omitempty" tf:"label,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// See the Nic section.
	Nic *VCPUServerNicObservation `json:"nic,omitempty" tf:"nic,omitempty"`

	// (Computed) The associated IP address.
	PrimaryIP *string `json:"primaryIp,omitempty" tf:"primary_ip,omitempty"`

	// (Computed) The associated NIC.
	// Id of the primary network interface
	PrimaryNic *string `json:"primaryNic,omitempty" tf:"primary_nic,omitempty"`

	// [integer] The amount of memory for the server in MB.
	RAM *float64 `json:"ram,omitempty" tf:"ram,omitempty"`

	// [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
	// Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.
	SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`

	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Sets the power state of the vcpu server. Possible values: `RUNNING` or `SHUTOFF`.
	VMState *string `json:"vmState,omitempty" tf:"vm_state,omitempty"`

	// See the Volume section.
	Volume *VCPUServerVolumeObservation `json:"volume,omitempty" tf:"volume,omitempty"`
}

func (*VCPUServerObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerObservation.

func (*VCPUServerObservation) DeepCopyInto

func (in *VCPUServerObservation) DeepCopyInto(out *VCPUServerObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerParameters

type VCPUServerParameters struct {

	// [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. This property is immutable.
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// DEPRECATED Please refer to ionoscloud_server_boot_device_selection [string] The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud_image data source.
	// The associated boot drive, if any. Must be the UUID of a bootable CDROM image that can be retrieved using the ionoscloud_image data source.
	// +kubebuilder:validation:Optional
	BootCdrom *string `json:"bootCdrom,omitempty" tf:"boot_cdrom,omitempty"`

	// [string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type is not provided.
	// +kubebuilder:validation:Optional
	BootImage *string `json:"bootImage,omitempty" tf:"boot_image,omitempty"`

	// [integer] Number of server CPU cores.
	// +kubebuilder:validation:Optional
	Cores *float64 `json:"cores,omitempty" tf:"cores,omitempty"`

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	// +kubebuilder:validation:Optional
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// (Computed) The associated firewall rules.
	// +kubebuilder:validation:Optional
	FirewallruleIds []*string `json:"firewallruleIds,omitempty" tf:"firewallrule_ids,omitempty"`

	// [string] The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	// The hostname of the resource. Allowed characters are a-z, 0-9 and - (minus). Hostname should not start with minus and should not be longer than 63 characters.
	// +kubebuilder:validation:Optional
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
	// +kubebuilder:validation:Optional
	ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"`

	// [string] The password for the image.
	// +kubebuilder:validation:Optional
	ImagePasswordSecretRef *v1.SecretKeySelector `json:"imagePasswordSecretRef,omitempty" tf:"-"`

	// A label can be seen as an object with only two required fields: key and value, both of the string type. Please check the example presented above to see how a label can be used in the plan. A server can have multiple labels.
	// +kubebuilder:validation:Optional
	Label []VCPUServerLabelParameters `json:"label,omitempty" tf:"label,omitempty"`

	// [string] The name of the server.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// See the Nic section.
	// +kubebuilder:validation:Optional
	Nic *VCPUServerNicParameters `json:"nic,omitempty" tf:"nic,omitempty"`

	// [integer] The amount of memory for the server in MB.
	// +kubebuilder:validation:Optional
	RAM *float64 `json:"ram,omitempty" tf:"ram,omitempty"`

	// [list] Immutable List of absolute or relative paths to files containing public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation. Does not support ~ expansion to homedir in the given path.
	// Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key. This field may only be set in creation requests. When reading, it always returns null. SSH keys are only supported if a public Linux image is used for the volume creation.
	// +kubebuilder:validation:Optional
	SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`

	// Sets the power state of the vcpu server. Possible values: `RUNNING` or `SHUTOFF`.
	// +kubebuilder:validation:Optional
	VMState *string `json:"vmState,omitempty" tf:"vm_state,omitempty"`

	// See the Volume section.
	// +kubebuilder:validation:Optional
	Volume *VCPUServerVolumeParameters `json:"volume,omitempty" tf:"volume,omitempty"`
}

func (*VCPUServerParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerParameters.

func (*VCPUServerParameters) DeepCopyInto

func (in *VCPUServerParameters) DeepCopyInto(out *VCPUServerParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerSpec

type VCPUServerSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VCPUServerParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider VCPUServerInitParameters `json:"initProvider,omitempty"`
}

VCPUServerSpec defines the desired state of VCPUServer

func (*VCPUServerSpec) DeepCopy

func (in *VCPUServerSpec) DeepCopy() *VCPUServerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerSpec.

func (*VCPUServerSpec) DeepCopyInto

func (in *VCPUServerSpec) DeepCopyInto(out *VCPUServerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerStatus

type VCPUServerStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VCPUServerObservation `json:"atProvider,omitempty"`
}

VCPUServerStatus defines the observed state of VCPUServer.

func (*VCPUServerStatus) DeepCopy

func (in *VCPUServerStatus) DeepCopy() *VCPUServerStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerStatus.

func (*VCPUServerStatus) DeepCopyInto

func (in *VCPUServerStatus) DeepCopyInto(out *VCPUServerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerVolumeInitParameters

type VCPUServerVolumeInitParameters struct {

	// [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. This property is immutable.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
	BackupUnitID *string `json:"backupUnitId,omitempty" tf:"backup_unit_id,omitempty"`

	Bus *string `json:"bus,omitempty" tf:"bus,omitempty"`

	DiskType *string `json:"diskType,omitempty" tf:"disk_type,omitempty"`

	// [string] Sets the OS type of the server.
	LicenceType *string `json:"licenceType,omitempty" tf:"licence_type,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The size of the volume in GB.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}

func (*VCPUServerVolumeInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerVolumeInitParameters.

func (*VCPUServerVolumeInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerVolumeObservation

type VCPUServerVolumeObservation struct {

	// [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. This property is immutable.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
	BackupUnitID *string `json:"backupUnitId,omitempty" tf:"backup_unit_id,omitempty"`

	// The UUID of the attached server.
	BootServer *string `json:"bootServer,omitempty" tf:"boot_server,omitempty"`

	Bus *string `json:"bus,omitempty" tf:"bus,omitempty"`

	CPUHotPlug *bool `json:"cpuHotPlug,omitempty" tf:"cpu_hot_plug,omitempty"`

	DeviceNumber *float64 `json:"deviceNumber,omitempty" tf:"device_number,omitempty"`

	DiscVirtioHotPlug *bool `json:"discVirtioHotPlug,omitempty" tf:"disc_virtio_hot_plug,omitempty"`

	DiscVirtioHotUnplug *bool `json:"discVirtioHotUnplug,omitempty" tf:"disc_virtio_hot_unplug,omitempty"`

	DiskType *string `json:"diskType,omitempty" tf:"disk_type,omitempty"`

	// [string] Sets the OS type of the server.
	LicenceType *string `json:"licenceType,omitempty" tf:"licence_type,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	NicHotPlug *bool `json:"nicHotPlug,omitempty" tf:"nic_hot_plug,omitempty"`

	NicHotUnplug *bool `json:"nicHotUnplug,omitempty" tf:"nic_hot_unplug,omitempty"`

	PciSlot *float64 `json:"pciSlot,omitempty" tf:"pci_slot,omitempty"`

	RAMHotPlug *bool `json:"ramHotPlug,omitempty" tf:"ram_hot_plug,omitempty"`

	// The size of the volume in GB.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}

func (*VCPUServerVolumeObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerVolumeObservation.

func (*VCPUServerVolumeObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCPUServerVolumeParameters

type VCPUServerVolumeParameters struct {

	// [string] The availability zone in which the server should exist. E.g: AUTO, ZONE_1, ZONE_2. This property is immutable.
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
	// +kubebuilder:validation:Optional
	BackupUnitID *string `json:"backupUnitId,omitempty" tf:"backup_unit_id,omitempty"`

	// +kubebuilder:validation:Optional
	Bus *string `json:"bus,omitempty" tf:"bus,omitempty"`

	// +kubebuilder:validation:Optional
	DiskType *string `json:"diskType" tf:"disk_type,omitempty"`

	// [string] Sets the OS type of the server.
	// +kubebuilder:validation:Optional
	LicenceType *string `json:"licenceType,omitempty" tf:"licence_type,omitempty"`

	// [string] The name of the server.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The size of the volume in GB.
	// +kubebuilder:validation:Optional
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}

func (*VCPUServerVolumeParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCPUServerVolumeParameters.

func (*VCPUServerVolumeParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Volume

type Volume struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.diskType) || (has(self.initProvider) && has(self.initProvider.diskType))",message="spec.forProvider.diskType is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.size) || (has(self.initProvider) && has(self.initProvider.size))",message="spec.forProvider.size is a required parameter"
	Spec   VolumeSpec   `json:"spec"`
	Status VolumeStatus `json:"status,omitempty"`
}

Volume is the Schema for the Volumes API. Creates and manages IonosCloud Volume objects. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*Volume) DeepCopy

func (in *Volume) DeepCopy() *Volume

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.

func (*Volume) DeepCopyInto

func (in *Volume) DeepCopyInto(out *Volume)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Volume) DeepCopyObject

func (in *Volume) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Volume) GetCondition

func (mg *Volume) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Volume.

func (*Volume) GetConnectionDetailsMapping

func (tr *Volume) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Volume

func (*Volume) GetDeletionPolicy

func (mg *Volume) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Volume.

func (*Volume) GetID

func (tr *Volume) GetID() string

GetID returns ID of underlying Terraform resource of this Volume

func (*Volume) GetInitParameters

func (tr *Volume) GetInitParameters() (map[string]any, error)

GetInitParameters of this Volume

func (*Volume) GetManagementPolicies

func (mg *Volume) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Volume.

func (*Volume) GetMergedParameters

func (tr *Volume) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Volume

func (*Volume) GetObservation

func (tr *Volume) GetObservation() (map[string]any, error)

GetObservation of this Volume

func (*Volume) GetParameters

func (tr *Volume) GetParameters() (map[string]any, error)

GetParameters of this Volume

func (*Volume) GetProviderConfigReference

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

GetProviderConfigReference of this Volume.

func (*Volume) GetPublishConnectionDetailsTo

func (mg *Volume) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Volume.

func (*Volume) GetTerraformResourceType

func (mg *Volume) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Volume

func (*Volume) GetTerraformSchemaVersion

func (tr *Volume) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Volume) GetWriteConnectionSecretToReference

func (mg *Volume) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Volume.

func (*Volume) Hub

func (tr *Volume) Hub()

Hub marks this type as a conversion hub.

func (*Volume) LateInitialize

func (tr *Volume) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Volume using its observed tfState. returns True if there are any spec changes for the resource.

func (*Volume) ResolveReferences

func (mg *Volume) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Volume.

func (*Volume) SetConditions

func (mg *Volume) SetConditions(c ...xpv1.Condition)

SetConditions of this Volume.

func (*Volume) SetDeletionPolicy

func (mg *Volume) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Volume.

func (*Volume) SetManagementPolicies

func (mg *Volume) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Volume.

func (*Volume) SetObservation

func (tr *Volume) SetObservation(obs map[string]any) error

SetObservation for this Volume

func (*Volume) SetParameters

func (tr *Volume) SetParameters(params map[string]any) error

SetParameters for this Volume

func (*Volume) SetProviderConfigReference

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

SetProviderConfigReference of this Volume.

func (*Volume) SetPublishConnectionDetailsTo

func (mg *Volume) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Volume.

func (*Volume) SetWriteConnectionSecretToReference

func (mg *Volume) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Volume.

type VolumeInitParameters

type VolumeInitParameters struct {

	// [string] The availability zone in which the server should exist. This property is immutable.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
	BackupUnitID *string `json:"backupUnitId,omitempty" tf:"backup_unit_id,omitempty"`

	Bus *string `json:"bus,omitempty" tf:"bus,omitempty"`

	DiskType *string `json:"diskType,omitempty" tf:"disk_type,omitempty"`

	// [string] Required if ssh_key_path is not provided.
	ImagePassword *string `json:"imagePassword,omitempty" tf:"image_password,omitempty"`

	// [string] Sets the OS type of the server.
	LicenceType *string `json:"licenceType,omitempty" tf:"licence_type,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
	SSHKeyPath []*string `json:"sshKeyPath,omitempty" tf:"ssh_key_path,omitempty"`

	// The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}

func (*VolumeInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeInitParameters.

func (*VolumeInitParameters) DeepCopyInto

func (in *VolumeInitParameters) DeepCopyInto(out *VolumeInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VolumeInitParameters_2

type VolumeInitParameters_2 struct {

	// [string] The storage availability zone assigned to the volume: AUTO, ZONE_1, ZONE_2, or ZONE_3. This property is immutable
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// [string] The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
	BackupUnitID *string `json:"backupUnitId,omitempty" tf:"backup_unit_id,omitempty"`

	// [Boolean] The bus type of the volume: VIRTIO or IDE.
	Bus *string `json:"bus,omitempty" tf:"bus,omitempty"`

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// [string] The volume type: HDD or SSD. This property is immutable.
	DiskType *string `json:"diskType,omitempty" tf:"disk_type,omitempty"`

	// [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
	ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"`

	// [string] Required if sshkey_path is not provided.
	ImagePassword *string `json:"imagePassword,omitempty" tf:"image_password,omitempty"`

	// [string] Required if image_name is not provided.
	LicenceType *string `json:"licenceType,omitempty" tf:"licence_type,omitempty"`

	// [string] The name of the volume.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if image_password is not provided. This property is immutable.
	SSHKeyPath []*string `json:"sshKeyPath,omitempty" tf:"ssh_key_path,omitempty"`

	// [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if image_password is not provided. This property is immutable.
	SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`

	// [string] The ID of a server.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Server
	ServerID *string `json:"serverId,omitempty" tf:"server_id,omitempty"`

	// Reference to a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDRef *v1.Reference `json:"serverIdRef,omitempty" tf:"-"`

	// Selector for a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDSelector *v1.Selector `json:"serverIdSelector,omitempty" tf:"-"`

	// [integer] The size of the volume in GB.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// [string] The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. This option will work only with cloud-init compatible images.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}

func (*VolumeInitParameters_2) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeInitParameters_2.

func (*VolumeInitParameters_2) DeepCopyInto

func (in *VolumeInitParameters_2) DeepCopyInto(out *VolumeInitParameters_2)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VolumeList

type VolumeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Volume `json:"items"`
}

VolumeList contains a list of Volumes

func (*VolumeList) DeepCopy

func (in *VolumeList) DeepCopy() *VolumeList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeList.

func (*VolumeList) DeepCopyInto

func (in *VolumeList) DeepCopyInto(out *VolumeList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VolumeList) DeepCopyObject

func (in *VolumeList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VolumeList) GetItems

func (l *VolumeList) GetItems() []resource.Managed

GetItems of this VolumeList.

type VolumeObservation

type VolumeObservation struct {

	// [string] The availability zone in which the server should exist. This property is immutable.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
	BackupUnitID *string `json:"backupUnitId,omitempty" tf:"backup_unit_id,omitempty"`

	// The UUID of the attached server.
	BootServer *string `json:"bootServer,omitempty" tf:"boot_server,omitempty"`

	Bus *string `json:"bus,omitempty" tf:"bus,omitempty"`

	CPUHotPlug *bool `json:"cpuHotPlug,omitempty" tf:"cpu_hot_plug,omitempty"`

	DeviceNumber *float64 `json:"deviceNumber,omitempty" tf:"device_number,omitempty"`

	DiscVirtioHotPlug *bool `json:"discVirtioHotPlug,omitempty" tf:"disc_virtio_hot_plug,omitempty"`

	DiscVirtioHotUnplug *bool `json:"discVirtioHotUnplug,omitempty" tf:"disc_virtio_hot_unplug,omitempty"`

	DiskType *string `json:"diskType,omitempty" tf:"disk_type,omitempty"`

	// [string] Required if ssh_key_path is not provided.
	ImagePassword *string `json:"imagePassword,omitempty" tf:"image_password,omitempty"`

	// [string] Sets the OS type of the server.
	LicenceType *string `json:"licenceType,omitempty" tf:"licence_type,omitempty"`

	// [string] The name of the server.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	NicHotPlug *bool `json:"nicHotPlug,omitempty" tf:"nic_hot_plug,omitempty"`

	NicHotUnplug *bool `json:"nicHotUnplug,omitempty" tf:"nic_hot_unplug,omitempty"`

	PciSlot *float64 `json:"pciSlot,omitempty" tf:"pci_slot,omitempty"`

	RAMHotPlug *bool `json:"ramHotPlug,omitempty" tf:"ram_hot_plug,omitempty"`

	// [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
	SSHKeyPath []*string `json:"sshKeyPath,omitempty" tf:"ssh_key_path,omitempty"`

	// The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}

func (*VolumeObservation) DeepCopy

func (in *VolumeObservation) DeepCopy() *VolumeObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeObservation.

func (*VolumeObservation) DeepCopyInto

func (in *VolumeObservation) DeepCopyInto(out *VolumeObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VolumeObservation_2

type VolumeObservation_2 struct {

	// [string] The storage availability zone assigned to the volume: AUTO, ZONE_1, ZONE_2, or ZONE_3. This property is immutable
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// [string] The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
	BackupUnitID *string `json:"backupUnitId,omitempty" tf:"backup_unit_id,omitempty"`

	// (Computed)[string] The UUID of the attached server.
	// The UUID of the attached server.
	BootServer *string `json:"bootServer,omitempty" tf:"boot_server,omitempty"`

	// [Boolean] The bus type of the volume: VIRTIO or IDE.
	Bus *string `json:"bus,omitempty" tf:"bus,omitempty"`

	// (Computed)[string] Is capable of CPU hot plug (no reboot required)
	CPUHotPlug *bool `json:"cpuHotPlug,omitempty" tf:"cpu_hot_plug,omitempty"`

	// [string] The ID of a Virtual Data Center.
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// (Computed) The Logical Unit Number of the storage volume. Null for volumes not mounted to any VM.
	DeviceNumber *float64 `json:"deviceNumber,omitempty" tf:"device_number,omitempty"`

	// (Computed)[string] Is capable of Virt-IO drive hot plug (no reboot required)
	DiscVirtioHotPlug *bool `json:"discVirtioHotPlug,omitempty" tf:"disc_virtio_hot_plug,omitempty"`

	// (Computed)[string] Is capable of Virt-IO drive hot unplug (no reboot required). This works only for non-Windows virtual Machines.
	DiscVirtioHotUnplug *bool `json:"discVirtioHotUnplug,omitempty" tf:"disc_virtio_hot_unplug,omitempty"`

	// [string] The volume type: HDD or SSD. This property is immutable.
	DiskType *string `json:"diskType,omitempty" tf:"disk_type,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// (Computed) The image or snapshot UUID.
	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`

	// [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
	ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"`

	// [string] Required if sshkey_path is not provided.
	ImagePassword *string `json:"imagePassword,omitempty" tf:"image_password,omitempty"`

	// [string] Required if image_name is not provided.
	LicenceType *string `json:"licenceType,omitempty" tf:"licence_type,omitempty"`

	// [string] The name of the volume.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// (Computed)[string] Is capable of nic hot plug (no reboot required)
	NicHotPlug *bool `json:"nicHotPlug,omitempty" tf:"nic_hot_plug,omitempty"`

	// (Computed)[string] Is capable of nic hot unplug (no reboot required)
	NicHotUnplug *bool `json:"nicHotUnplug,omitempty" tf:"nic_hot_unplug,omitempty"`

	// (Computed) The PCI slot number of the storage volume. Null for volumes not mounted to any VM.
	PciSlot *float64 `json:"pciSlot,omitempty" tf:"pci_slot,omitempty"`

	// (Computed)[string] Is capable of memory hot plug (no reboot required)
	RAMHotPlug *bool `json:"ramHotPlug,omitempty" tf:"ram_hot_plug,omitempty"`

	// [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if image_password is not provided. This property is immutable.
	SSHKeyPath []*string `json:"sshKeyPath,omitempty" tf:"ssh_key_path,omitempty"`

	// [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if image_password is not provided. This property is immutable.
	SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`

	// [string] The ID of a server.
	ServerID *string `json:"serverId,omitempty" tf:"server_id,omitempty"`

	// [integer] The size of the volume in GB.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// (Computed) The associated public SSH key.
	Sshkey *string `json:"sshkey,omitempty" tf:"sshkey,omitempty"`

	// [string] The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. This option will work only with cloud-init compatible images.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}

func (*VolumeObservation_2) DeepCopy

func (in *VolumeObservation_2) DeepCopy() *VolumeObservation_2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeObservation_2.

func (*VolumeObservation_2) DeepCopyInto

func (in *VolumeObservation_2) DeepCopyInto(out *VolumeObservation_2)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VolumeParameters

type VolumeParameters struct {

	// [string] The availability zone in which the server should exist. This property is immutable.
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
	// +kubebuilder:validation:Optional
	BackupUnitID *string `json:"backupUnitId,omitempty" tf:"backup_unit_id,omitempty"`

	// +kubebuilder:validation:Optional
	Bus *string `json:"bus,omitempty" tf:"bus,omitempty"`

	// +kubebuilder:validation:Optional
	DiskType *string `json:"diskType" tf:"disk_type,omitempty"`

	// [string] Required if ssh_key_path is not provided.
	// +kubebuilder:validation:Optional
	ImagePassword *string `json:"imagePassword,omitempty" tf:"image_password,omitempty"`

	// [string] Sets the OS type of the server.
	// +kubebuilder:validation:Optional
	LicenceType *string `json:"licenceType,omitempty" tf:"licence_type,omitempty"`

	// [string] The name of the server.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password is not provided.
	// +kubebuilder:validation:Optional
	SSHKeyPath []*string `json:"sshKeyPath,omitempty" tf:"ssh_key_path,omitempty"`

	// The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}

func (*VolumeParameters) DeepCopy

func (in *VolumeParameters) DeepCopy() *VolumeParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeParameters.

func (*VolumeParameters) DeepCopyInto

func (in *VolumeParameters) DeepCopyInto(out *VolumeParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VolumeParameters_2

type VolumeParameters_2 struct {

	// [string] The storage availability zone assigned to the volume: AUTO, ZONE_1, ZONE_2, or ZONE_3. This property is immutable
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// [string] The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
	// +kubebuilder:validation:Optional
	BackupUnitID *string `json:"backupUnitId,omitempty" tf:"backup_unit_id,omitempty"`

	// [Boolean] The bus type of the volume: VIRTIO or IDE.
	// +kubebuilder:validation:Optional
	Bus *string `json:"bus,omitempty" tf:"bus,omitempty"`

	// [string] The ID of a Virtual Data Center.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Datacenter
	// +kubebuilder:validation:Optional
	DatacenterID *string `json:"datacenterId,omitempty" tf:"datacenter_id,omitempty"`

	// Reference to a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDRef *v1.Reference `json:"datacenterIdRef,omitempty" tf:"-"`

	// Selector for a Datacenter in compute to populate datacenterId.
	// +kubebuilder:validation:Optional
	DatacenterIDSelector *v1.Selector `json:"datacenterIdSelector,omitempty" tf:"-"`

	// [string] The volume type: HDD or SSD. This property is immutable.
	// +kubebuilder:validation:Optional
	DiskType *string `json:"diskType,omitempty" tf:"disk_type,omitempty"`

	// [string] The name, ID or alias of the image. May also be a snapshot ID. It is required if licence_type is not provided. Attribute is immutable.
	// +kubebuilder:validation:Optional
	ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"`

	// [string] Required if sshkey_path is not provided.
	// +kubebuilder:validation:Optional
	ImagePassword *string `json:"imagePassword,omitempty" tf:"image_password,omitempty"`

	// [string] Required if image_name is not provided.
	// +kubebuilder:validation:Optional
	LicenceType *string `json:"licenceType,omitempty" tf:"licence_type,omitempty"`

	// [string] The name of the volume.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if image_password is not provided. This property is immutable.
	// +kubebuilder:validation:Optional
	SSHKeyPath []*string `json:"sshKeyPath,omitempty" tf:"ssh_key_path,omitempty"`

	// [list] List of absolute paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Also accepts ssh keys directly. Required for IonosCloud Linux images. Required if image_password is not provided. This property is immutable.
	// +kubebuilder:validation:Optional
	SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`

	// [string] The ID of a server.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/compute/v1alpha1.Server
	// +kubebuilder:validation:Optional
	ServerID *string `json:"serverId,omitempty" tf:"server_id,omitempty"`

	// Reference to a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDRef *v1.Reference `json:"serverIdRef,omitempty" tf:"-"`

	// Selector for a Server in compute to populate serverId.
	// +kubebuilder:validation:Optional
	ServerIDSelector *v1.Selector `json:"serverIdSelector,omitempty" tf:"-"`

	// [integer] The size of the volume in GB.
	// +kubebuilder:validation:Optional
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// [string] The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. This option will work only with cloud-init compatible images.
	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`
}

func (*VolumeParameters_2) DeepCopy

func (in *VolumeParameters_2) DeepCopy() *VolumeParameters_2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeParameters_2.

func (*VolumeParameters_2) DeepCopyInto

func (in *VolumeParameters_2) DeepCopyInto(out *VolumeParameters_2)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VolumeSpec

type VolumeSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VolumeParameters_2 `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider VolumeInitParameters_2 `json:"initProvider,omitempty"`
}

VolumeSpec defines the desired state of Volume

func (*VolumeSpec) DeepCopy

func (in *VolumeSpec) DeepCopy() *VolumeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSpec.

func (*VolumeSpec) DeepCopyInto

func (in *VolumeSpec) DeepCopyInto(out *VolumeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VolumeStatus

type VolumeStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VolumeObservation_2 `json:"atProvider,omitempty"`
}

VolumeStatus defines the observed state of Volume.

func (*VolumeStatus) DeepCopy

func (in *VolumeStatus) DeepCopy() *VolumeStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeStatus.

func (*VolumeStatus) DeepCopyInto

func (in *VolumeStatus) DeepCopyInto(out *VolumeStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL