v1alpha1

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package v1alpha1 contains the v1alpha1 group Sample resources of the ionoscloud provider. +kubebuilder:object:generate=true +groupName=compute.ionoscloud.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	APIGroup = "compute.ionoscloud.crossplane.io"
	Version  = "v1alpha1"
)

Package type metadata.

View Source
const (
	// LANAuto is used on a LAN's Ipv6Cidr to indicate that an IPV6 address block will be assigned
	// automatically by Cloud API. See LanParameters.Ipv6Cidr
	LANAuto = "AUTO"
)

Variables

View Source
var (
	DatacenterKind             = reflect.TypeOf(Datacenter{}).Name()
	DatacenterGroupKind        = schema.GroupKind{Group: APIGroup, Kind: DatacenterKind}.String()
	DatacenterKindAPIVersion   = DatacenterKind + "." + SchemeGroupVersion.String()
	DatacenterGroupVersionKind = SchemeGroupVersion.WithKind(DatacenterKind)
)

Datacenter type metadata.

View Source
var (
	FirewallRuleKind             = reflect.TypeOf(FirewallRule{}).Name()
	FirewallRuleGroupKind        = schema.GroupKind{Group: APIGroup, Kind: FirewallRuleKind}.String()
	FirewallRuleKindAPIVersion   = FirewallRuleKind + "." + SchemeGroupVersion.String()
	FirewallRuleGroupVersionKind = SchemeGroupVersion.WithKind(FirewallRuleKind)
)

FirewallRule type metadata.

View Source
var (
	GroupKind             = reflect.TypeOf(Group{}).Name()
	GroupGroupKind        = schema.GroupKind{Group: APIGroup, Kind: GroupKind}.String()
	GroupAPIVersion       = GroupKind + "." + SchemeGroupVersion.String()
	GroupGroupVersionKind = SchemeGroupVersion.WithKind(GroupKind)
)

Group type metadata

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: APIGroup, Version: Version}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	IPBlockKind             = reflect.TypeOf(IPBlock{}).Name()
	IPBlockGroupKind        = schema.GroupKind{Group: APIGroup, Kind: IPBlockKind}.String()
	IPBlockKindAPIVersion   = IPBlockKind + "." + SchemeGroupVersion.String()
	IPBlockGroupVersionKind = SchemeGroupVersion.WithKind(IPBlockKind)
)

IPBlock type metadata.

View Source
var (
	IPFailoverKind             = reflect.TypeOf(IPFailover{}).Name()
	IPFailoverGroupKind        = schema.GroupKind{Group: APIGroup, Kind: IPFailoverKind}.String()
	IPFailoverKindAPIVersion   = IPFailoverKind + "." + SchemeGroupVersion.String()
	IPFailoverGroupVersionKind = SchemeGroupVersion.WithKind(IPFailoverKind)
)

IPFailover type metadata.

View Source
var (
	LanKind             = reflect.TypeOf(Lan{}).Name()
	LanGroupKind        = schema.GroupKind{Group: APIGroup, Kind: LanKind}.String()
	LanKindAPIVersion   = LanKind + "." + SchemeGroupVersion.String()
	LanGroupVersionKind = SchemeGroupVersion.WithKind(LanKind)
)

Lan type metadata.

View Source
var (
	NicKind             = reflect.TypeOf(Nic{}).Name()
	NicGroupKind        = schema.GroupKind{Group: APIGroup, Kind: NicKind}.String()
	NicKindAPIVersion   = NicKind + "." + SchemeGroupVersion.String()
	NicGroupVersionKind = SchemeGroupVersion.WithKind(NicKind)
)

Nic type metadata.

View Source
var (
	PrivateCrossConnectKind             = reflect.TypeOf(Pcc{}).Name()
	PrivateCrossConnectGroupKind        = schema.GroupKind{Group: APIGroup, Kind: PrivateCrossConnectKind}.String()
	PrivateCrossConnectKindAPIVersion   = PrivateCrossConnectKind + "." + SchemeGroupVersion.String()
	PrivateCrossConnectGroupVersionKind = SchemeGroupVersion.WithKind(PrivateCrossConnectKind)
)

Pcc type metadata.

View Source
var (
	S3KeyKind             = reflect.TypeOf(S3Key{}).Name()
	S3KeyGroupKind        = schema.GroupKind{Group: APIGroup, Kind: S3KeyKind}.String()
	S3KeyKindAPIVersion   = S3KeyKind + "." + SchemeGroupVersion.String()
	S3KeyGroupVersionKind = SchemeGroupVersion.WithKind(S3KeyKind)
)

S3Key type metadata.

View Source
var (
	CubeServerKind             = reflect.TypeOf(CubeServer{}).Name()
	CubeServerGroupKind        = schema.GroupKind{Group: APIGroup, Kind: CubeServerKind}.String()
	CubeServerKindAPIVersion   = CubeServerKind + "." + SchemeGroupVersion.String()
	CubeServerGroupVersionKind = SchemeGroupVersion.WithKind(CubeServerKind)
)

CubeServer type metadata.

View Source
var (
	ServerKind             = reflect.TypeOf(Server{}).Name()
	ServerGroupKind        = schema.GroupKind{Group: APIGroup, Kind: ServerKind}.String()
	ServerKindAPIVersion   = ServerKind + "." + SchemeGroupVersion.String()
	ServerGroupVersionKind = SchemeGroupVersion.WithKind(ServerKind)
)

Server type metadata.

View Source
var (
	ServerSetKind             = reflect.TypeOf(ServerSet{}).Name()
	ServerSetGroupKind        = schema.GroupKind{Group: APIGroup, Kind: ServerSetKind}.String()
	ServerSetKindAPIVersion   = ServerSetKind + "." + SchemeGroupVersion.String()
	ServerSetGroupVersionKind = SchemeGroupVersion.WithKind(ServerSetKind)
)

ServerSet type metadata.

View Source
var (
	StatefulServerSetKind             = reflect.TypeOf(StatefulServerSet{}).Name()
	StatefulServerSetGroupKind        = schema.GroupKind{Group: APIGroup, Kind: StatefulServerSetKind}.String()
	StatefulServerSetKindAPIVersion   = StatefulServerSetKind + "." + SchemeGroupVersion.String()
	StatefulServerSetGroupVersionKind = SchemeGroupVersion.WithKind(StatefulServerSetKind)
)

StatefulServerSet type metadata.

View Source
var (
	UserKind             = reflect.TypeOf(User{}).Name()
	UserGroupKind        = schema.GroupKind{Group: APIGroup, Kind: UserKind}.String()
	UserKindAPIVersion   = UserKind + "." + SchemeGroupVersion.String()
	UserGroupVersionKind = SchemeGroupVersion.WithKind(UserKind)
)

User type metadata.

View Source
var (
	VolumeKind             = reflect.TypeOf(Volume{}).Name()
	VolumeGroupKind        = schema.GroupKind{Group: APIGroup, Kind: VolumeKind}.String()
	VolumeKindAPIVersion   = VolumeKind + "." + SchemeGroupVersion.String()
	VolumeGroupVersionKind = SchemeGroupVersion.WithKind(VolumeKind)
)

Volume type metadata.

View Source
var (
	VolumeselectorKind             = reflect.TypeOf(Volumeselector{}).Name()
	VolumeselectorGroupKind        = schema.GroupKind{Group: APIGroup, Kind: VolumeselectorKind}.String()
	VolumeSelectorKindAPIVersion   = VolumeselectorKind + "." + SchemeGroupVersion.String()
	VolumeselectorGroupVersionKind = SchemeGroupVersion.WithKind(VolumeselectorKind)
)

Volumeselector type metadata.

Functions

func ExtractDatacenterID

func ExtractDatacenterID() reference.ExtractValueFn

ExtractDatacenterID returns the externalName of a referenced Datacenter.

func ExtractIPBlockID

func ExtractIPBlockID() reference.ExtractValueFn

ExtractIPBlockID returns the externalName of a referenced IPBlock.

func ExtractLanID

func ExtractLanID() reference.ExtractValueFn

ExtractLanID returns the externalName of a referenced Lan.

func ExtractNicID

func ExtractNicID() reference.ExtractValueFn

ExtractNicID returns the externalName of a referenced Nic.

func ExtractPccID added in v1.0.7

func ExtractPccID() reference.ExtractValueFn

ExtractPccID returns the externalName of a referenced Pcc.

func ExtractServerID

func ExtractServerID() reference.ExtractValueFn

ExtractServerID returns the externalName of a referenced Server.

func ExtractUserID added in v1.0.10

func ExtractUserID() reference.ExtractValueFn

ExtractUserID returns the externalName of a referenced User.

func ExtractVolumeID

func ExtractVolumeID() reference.ExtractValueFn

ExtractVolumeID returns the externalName of a referenced Volume.

Types

type BackupUnitConfig

type BackupUnitConfig struct {
	// BackupUnitID is the ID of the BackupUnit on which the resource will be created.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/backup/v1alpha1.BackupUnit
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/backup/v1alpha1.ExtractBackupUnitID()
	BackupUnitID string `json:"backupUnitId,omitempty"`
	// BackupUnitIDRef references to a BackupUnit to retrieve its ID.
	//
	// +optional
	// +immutable
	BackupUnitIDRef *xpv1.Reference `json:"backupUnitIdRef,omitempty"`
	// BackupUnitIDSelector selects reference to a BackupUnit to retrieve its BackupUnitID.
	//
	// +optional
	BackupUnitIDSelector *xpv1.Selector `json:"backupUnitIdSelector,omitempty"`
}

BackupUnitConfig is used by resources that need to link backupUnits via id or via reference.

func (*BackupUnitConfig) DeepCopy

func (in *BackupUnitConfig) DeepCopy() *BackupUnitConfig

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

func (*BackupUnitConfig) DeepCopyInto

func (in *BackupUnitConfig) DeepCopyInto(out *BackupUnitConfig)

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

type BootVolumeTemplate added in v1.1.0

type BootVolumeTemplate struct {
	// +kubebuilder:validation:Optional
	Metadata ServerSetBootVolumeMetadata `json:"metadata"`
	// +kubebuilder:validation:Required
	Spec ServerSetBootVolumeSpec `json:"spec"`
}

BootVolumeTemplate are the configurable fields of a BootVolumeTemplate.

func (*BootVolumeTemplate) DeepCopy added in v1.1.0

func (in *BootVolumeTemplate) DeepCopy() *BootVolumeTemplate

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

func (*BootVolumeTemplate) DeepCopyInto added in v1.1.0

func (in *BootVolumeTemplate) DeepCopyInto(out *BootVolumeTemplate)

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"`

	Spec   CubeServerSpec `json:"spec"`
	Status ServerStatus   `json:"status,omitempty"`
}

A CubeServer is an example API type. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="DATACENTER ID",type="string",JSONPath=".spec.forProvider.datacenterConfig.datacenterId" +kubebuilder:printcolumn:name="SERVER ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="VOLUME ID",priority=1,type="string",JSONPath=".status.atProvider.volumeId" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.atProvider.state" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud}

func (*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) GetDeletionPolicy

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

GetDeletionPolicy of this CubeServer.

func (*CubeServer) GetManagementPolicies added in v1.0.6

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

GetManagementPolicies of this CubeServer.

func (*CubeServer) GetProviderConfigReference

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

GetProviderConfigReference of this CubeServer.

func (*CubeServer) GetPublishConnectionDetailsTo added in v1.0.2

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

GetPublishConnectionDetailsTo of this CubeServer.

func (*CubeServer) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this CubeServer.

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 added in v1.0.6

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

SetManagementPolicies of this CubeServer.

func (*CubeServer) SetProviderConfigReference

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

SetProviderConfigReference of this CubeServer.

func (*CubeServer) SetPublishConnectionDetailsTo added in v1.0.2

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 CubeServerList

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

CubeServerList contains a list of Server

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 CubeServerProperties

type CubeServerProperties struct {
	// DatacenterConfig contains information about the datacenter resource
	// on which the server will be created.
	//
	// +immutable
	// +kubebuilder:validation:Required
	DatacenterCfg DatacenterConfig `json:"datacenterConfig"`
	// The ID or the name of the template for creating a CUBE server.
	//
	// +kubebuilder:validation:Required
	Template Template `json:"template"`
	// The name of the  resource.
	Name string `json:"name,omitempty"`
	// The availability zone in which the server should be provisioned.
	//
	// +kubebuilder:validation:Enum=AUTO;ZONE_1;ZONE_2
	// +kubebuilder:default=AUTO
	AvailabilityZone string `json:"availabilityZone,omitempty"`
	// DasVolumeProperties contains properties for the DAS volume attached to the Cube Server.
	//
	// +kubebuilder:validation:Required
	DasVolumeProperties DasVolumeProperties `json:"volume"`
}

CubeServerProperties are the observable fields of a Cube Server. Required values when creating a CubeServer: Datacenter ID or Reference, Template ID or Name, Volume Properties (Name, Bus, Licence Type or Image/Image Alias).

func (*CubeServerProperties) DeepCopy

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

func (*CubeServerProperties) DeepCopyInto

func (in *CubeServerProperties) DeepCopyInto(out *CubeServerProperties)

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

type CubeServerSpec

type CubeServerSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       CubeServerProperties `json:"forProvider"`
}

A CubeServerSpec defines the desired state of a Cube Server.

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 DasVolumeProperties

type DasVolumeProperties struct {
	// The name of the DAS Volume.
	//
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// The bus type of the volume.
	//
	// +kubebuilder:validation:Enum=VIRTIO;IDE;UNKNOWN
	// +kubebuilder:validation:Required
	Bus string `json:"bus"`
	// Image or snapshot ID to be used as template for this volume.
	// Make sure the image selected is compatible with the datacenter's location.
	// Note: when creating a volume - set image, image alias, or licence type.
	//
	// +immutable
	Image string `json:"image,omitempty"`
	// Initial password to be set for installed OS. Works with public images only. Not modifiable, forbidden in update requests.
	// Password rules allows all characters from a-z, A-Z, 0-9.
	//
	// +immutable
	ImagePassword string `json:"imagePassword,omitempty"`
	// Image Alias to be used for this volume.
	// Note: when creating a volume - set image, image alias, or licence type.
	//
	// +immutable
	ImageAlias string `json:"imageAlias,omitempty"`
	// 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.
	//
	// +immutable
	SSHKeys []string `json:"sshKeys,omitempty"`
	// OS type for this volume.
	// Note: when creating a volume - set image, image alias, or licence type.
	//
	// +immutable
	// +kubebuilder:validation:Enum=UNKNOWN;WINDOWS;WINDOWS2016;WINDOWS2022;LINUX;OTHER
	LicenceType string `json:"licenceType,omitempty"`
	// Hot-plug capable CPU (no reboot required).
	CPUHotPlug bool `json:"cpuHotPlug,omitempty"`
	// Hot-plug capable RAM (no reboot required).
	RAMHotPlug bool `json:"ramHotPlug,omitempty"`
	// Hot-plug capable NIC (no reboot required).
	NicHotPlug bool `json:"nicHotPlug,omitempty"`
	// Hot-unplug capable NIC (no reboot required).
	NicHotUnplug bool `json:"nicHotUnplug,omitempty"`
	// Hot-plug capable Virt-IO drive (no reboot required).
	DiscVirtioHotPlug bool `json:"discVirtioHotPlug,omitempty"`
	// Hot-unplug capable Virt-IO drive (no reboot required). Not supported with Windows VMs.
	DiscVirtioHotUnplug bool `json:"discVirtioHotUnplug,omitempty"`
	// BackupUnitCfg contains information about the backup unit resource
	// that the user has access to.
	// The property is immutable and is only allowed to be set on creation of a new a volume.
	// It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
	//
	// +immutable
	BackupUnitCfg BackupUnitConfig `json:"backupUnitConfig,omitempty"`
	// The cloud-init configuration for the volume as base64 encoded string.
	// The property is immutable and is only allowed to be set on creation of a new a volume.
	// It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
	//
	// +immutable
	UserData string `json:"userData,omitempty"`
}

DasVolumeProperties are the observable fields of a Cube Server's DAS Volume. Required values when creating a DAS Volume: Name, Bus, Licence Type or Image/Image Alias. If using Image or Image Alias, you may want to provide also an Image Password or SSH Keys.

func (*DasVolumeProperties) DeepCopy

func (in *DasVolumeProperties) DeepCopy() *DasVolumeProperties

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

func (*DasVolumeProperties) DeepCopyInto

func (in *DasVolumeProperties) DeepCopyInto(out *DasVolumeProperties)

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"`

	Spec   DatacenterSpec   `json:"spec"`
	Status DatacenterStatus `json:"status,omitempty"`
}

A Datacenter is an example API type. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="DATACENTER ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="DATACENTER NAME",type="string",JSONPath=".spec.forProvider.name" +kubebuilder:printcolumn:name="LOCATION",type="string",JSONPath=".spec.forProvider.location" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.atProvider.state" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud},shortName=dc

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) GetDeletionPolicy

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

GetDeletionPolicy of this Datacenter.

func (*Datacenter) GetManagementPolicies added in v1.0.6

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

GetManagementPolicies of this Datacenter.

func (*Datacenter) GetProviderConfigReference

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

GetProviderConfigReference of this Datacenter.

func (*Datacenter) GetPublishConnectionDetailsTo added in v1.0.2

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

GetPublishConnectionDetailsTo of this Datacenter.

func (*Datacenter) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Datacenter.

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 added in v1.0.6

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

SetManagementPolicies of this Datacenter.

func (*Datacenter) SetProviderConfigReference

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

SetProviderConfigReference of this Datacenter.

func (*Datacenter) SetPublishConnectionDetailsTo added in v1.0.2

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 DatacenterConfig

type DatacenterConfig struct {
	// DatacenterID is the ID of the Datacenter on which the resource will be created.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=Datacenter
	// +crossplane:generate:reference:extractor=ExtractDatacenterID()
	DatacenterID string `json:"datacenterId,omitempty"`
	// DatacenterIDRef references to a Datacenter to retrieve its ID.
	//
	// +optional
	// +immutable
	DatacenterIDRef *xpv1.Reference `json:"datacenterIdRef,omitempty"`
	// DatacenterIDSelector selects reference to a Datacenter to retrieve its DatacenterID.
	//
	// +optional
	DatacenterIDSelector *xpv1.Selector `json:"datacenterIdSelector,omitempty"`
}

DatacenterConfig is used by resources that need to link datacenters via id or via reference.

func (*DatacenterConfig) DeepCopy

func (in *DatacenterConfig) DeepCopy() *DatacenterConfig

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

func (*DatacenterConfig) DeepCopyInto

func (in *DatacenterConfig) DeepCopyInto(out *DatacenterConfig)

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

type DatacenterList

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

DatacenterList contains a list of Datacenter

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 {
	DatacenterID         string   `json:"datacenterId,omitempty"`
	State                string   `json:"state,omitempty"`
	AvailableCPUFamilies []string `json:"availableCpuFamilies,omitempty"`
}

DatacenterObservation are the observable fields of a Datacenter.

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 {
	// The name of the  resource.
	Name string `json:"name,omitempty"`
	// A description for the datacenter, such as staging, production.
	Description string `json:"description,omitempty"`
	// The physical location where the datacenter will be created. This will be where all of your servers live.
	// Property cannot be modified after datacenter creation (disallowed in update requests).
	// Location can have the following values: de/fra, us/las, us/ewr, de/txl, gb/lhr, es/vit.
	//
	// +immutable
	// +kubebuilder:validation:Required
	Location string `json:"location"`
	// Boolean value representing if the data center requires extra protection, such as two-step verification.
	SecAuthProtection bool `json:"secAuthProtection,omitempty"`
}

DatacenterParameters are the observable fields of a Datacenter. Required values when creating a Datacenter: Location.

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 {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       DatacenterParameters `json:"forProvider"`
}

A DatacenterSpec defines the desired state of a 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 {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          DatacenterObservation `json:"atProvider,omitempty"`
}

A DatacenterStatus represents the observed state of a 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 DeploymentStrategy added in v1.1.0

type DeploymentStrategy struct {
	// +kubebuilder:validation:Enum=ZONES
	Type string `json:"type"`
}

DeploymentStrategy describes what strategy should be used to deploy the servers.

func (*DeploymentStrategy) DeepCopy added in v1.1.0

func (in *DeploymentStrategy) DeepCopy() *DeploymentStrategy

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

func (*DeploymentStrategy) DeepCopyInto added in v1.1.0

func (in *DeploymentStrategy) DeepCopyInto(out *DeploymentStrategy)

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

type FirewallRule

type FirewallRule struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   FirewallRuleSpec   `json:"spec"`
	Status FirewallRuleStatus `json:"status,omitempty"`
}

A FirewallRule is an example API type. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="DATACENTER ID",priority=1,type="string",JSONPath=".spec.forProvider.datacenterConfig.datacenterId" +kubebuilder:printcolumn:name="SERVER ID",priority=1,type="string",JSONPath=".spec.forProvider.serverConfig.serverId" +kubebuilder:printcolumn:name="NIC ID",type="string",JSONPath=".spec.forProvider.nicConfig.nicId" +kubebuilder:printcolumn:name="FIREWALLRULE ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.atProvider.state" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud},shortName=fwr;firewall

func (*FirewallRule) DeepCopy

func (in *FirewallRule) DeepCopy() *FirewallRule

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

func (*FirewallRule) DeepCopyInto

func (in *FirewallRule) DeepCopyInto(out *FirewallRule)

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

func (*FirewallRule) DeepCopyObject

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

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

func (*FirewallRule) GetCondition

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

GetCondition of this FirewallRule.

func (*FirewallRule) GetDeletionPolicy

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

GetDeletionPolicy of this FirewallRule.

func (*FirewallRule) GetManagementPolicies added in v1.0.6

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

GetManagementPolicies of this FirewallRule.

func (*FirewallRule) GetProviderConfigReference

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

GetProviderConfigReference of this FirewallRule.

func (*FirewallRule) GetPublishConnectionDetailsTo added in v1.0.2

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

GetPublishConnectionDetailsTo of this FirewallRule.

func (*FirewallRule) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this FirewallRule.

func (*FirewallRule) ResolveReferences

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

ResolveReferences of this FirewallRule.

func (*FirewallRule) SetConditions

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

SetConditions of this FirewallRule.

func (*FirewallRule) SetDeletionPolicy

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

SetDeletionPolicy of this FirewallRule.

func (*FirewallRule) SetManagementPolicies added in v1.0.6

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

SetManagementPolicies of this FirewallRule.

func (*FirewallRule) SetProviderConfigReference

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

SetProviderConfigReference of this FirewallRule.

func (*FirewallRule) SetPublishConnectionDetailsTo added in v1.0.2

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

SetPublishConnectionDetailsTo of this FirewallRule.

func (*FirewallRule) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this FirewallRule.

type FirewallRuleConfig

type FirewallRuleConfig struct {
	// FirewallRuleID is the ID of the FirewallRule on which the resource will be created.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=FirewallRule
	// +crossplane:generate:reference:extractor=ExtractFirewallRuleID()
	FirewallRuleID string `json:"firewallRuleId,omitempty"`
	// FirewallRuleIDRef references to a FirewallRule to retrieve its ID.
	//
	// +optional
	// +immutable
	FirewallRuleIDRef *xpv1.Reference `json:"firewallRuleIdRef,omitempty"`
	// FirewallRuleIDSelector selects reference to a FirewallRule to retrieve its FirewallRuleID.
	//
	// +optional
	FirewallRuleIDSelector *xpv1.Selector `json:"firewallRuleIdSelector,omitempty"`
}

FirewallRuleConfig is used by resources that need to link firewallRules via id or via reference.

func (*FirewallRuleConfig) DeepCopy

func (in *FirewallRuleConfig) DeepCopy() *FirewallRuleConfig

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

func (*FirewallRuleConfig) DeepCopyInto

func (in *FirewallRuleConfig) DeepCopyInto(out *FirewallRuleConfig)

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

type FirewallRuleList

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

FirewallRuleList contains a list of FirewallRule

func (*FirewallRuleList) DeepCopy

func (in *FirewallRuleList) DeepCopy() *FirewallRuleList

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

func (*FirewallRuleList) DeepCopyInto

func (in *FirewallRuleList) DeepCopyInto(out *FirewallRuleList)

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

func (*FirewallRuleList) DeepCopyObject

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

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

func (*FirewallRuleList) GetItems

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

GetItems of this FirewallRuleList.

type FirewallRuleObservation

type FirewallRuleObservation struct {
	FirewallRuleID string `json:"firewallRuleId,omitempty"`
	SourceIP       string `json:"sourceIp,omitempty"`
	TargetIP       string `json:"targetIp,omitempty"`
	State          string `json:"state,omitempty"`
}

FirewallRuleObservation are the observable fields of a FirewallRule.

func (*FirewallRuleObservation) DeepCopy

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

func (*FirewallRuleObservation) DeepCopyInto

func (in *FirewallRuleObservation) DeepCopyInto(out *FirewallRuleObservation)

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

type FirewallRuleParameters

type FirewallRuleParameters struct {
	// DatacenterConfig contains information about the datacenter resource
	// on which the resource will be created.
	//
	// +kubebuilder:validation:Required
	DatacenterCfg DatacenterConfig `json:"datacenterConfig"`
	// ServerConfig contains information about the server resource
	// on which the resource will be created.
	//
	// +kubebuilder:validation:Required
	ServerCfg ServerConfig `json:"serverConfig"`
	// NicConfig contains information about the nic resource
	// on which the resource will be created.
	//
	// +kubebuilder:validation:Required
	NicCfg NicConfig `json:"nicConfig"`
	// The name of the  resource.
	Name string `json:"name,omitempty"`
	// The protocol for the rule. Property cannot be modified after it is created (disallowed in update requests).
	//
	// +immutable
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=TCP;UDP;ICMP;ANY
	Protocol string `json:"protocol"`
	// Only traffic originating from the respective MAC address is allowed.
	// Valid format: aa:bb:cc:dd:ee:ff. Value null allows traffic from any MAC address.
	//
	// +kubebuilder:validation:Pattern="^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"
	SourceMac string `json:"sourceMac,omitempty"`
	// Only traffic originating from the respective IPv4 address is allowed.
	// Value null allows traffic from any IP address.
	// SourceIP can be set directly or via reference to an IP Block and index.
	//
	// +kubebuilder:validation:Optional
	SourceIPCfg FwIPConfig `json:"sourceIpConfig,omitempty"`
	// If the target NIC has multiple IP addresses, only the traffic directed to the respective IP address of the NIC is allowed.
	// Value null allows traffic to any target IP address.
	// TargetIP can be set directly or via reference to an IP Block and index.
	//
	// +kubebuilder:validation:Optional
	TargetIPCfg FwIPConfig `json:"targetIpConfig,omitempty"`
	// Defines the allowed code (from 0 to 254) if protocol ICMP is chosen. Value null allows all codes.
	//
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=254
	IcmpCode int32 `json:"icmpCode,omitempty"`
	// Defines the allowed type (from 0 to 254) if the protocol ICMP is chosen. Value null allows all types.
	//
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=254
	IcmpType int32 `json:"icmpType,omitempty"`
	// Defines the start range of the allowed port (from 1 to 65534) if protocol TCP or UDP is chosen.
	// Leave portRangeStart and portRangeEnd value null to allow all ports.
	//
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65534
	PortRangeStart int32 `json:"portRangeStart,omitempty"`
	// 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:Minimum=1
	// +kubebuilder:validation:Maximum=65534
	PortRangeEnd int32 `json:"portRangeEnd,omitempty"`
	// The type of the firewall rule. If not specified, the default INGRESS value is used.
	//
	// +kubebuilder:validation:Enum=INGRESS;EGRESS
	// +kubebuilder:validation:default=INGRESS
	Type string `json:"type,omitempty"`
}

FirewallRuleParameters are the observable fields of a FirewallRule. Required values when creating a FirewallRule: DatacenterConfig, ServerConfig, NicConfig, Protocol.

func (*FirewallRuleParameters) DeepCopy

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

func (*FirewallRuleParameters) DeepCopyInto

func (in *FirewallRuleParameters) DeepCopyInto(out *FirewallRuleParameters)

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

type FirewallRuleSpec

type FirewallRuleSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       FirewallRuleParameters `json:"forProvider"`
}

A FirewallRuleSpec defines the desired state of a FirewallRule.

func (*FirewallRuleSpec) DeepCopy

func (in *FirewallRuleSpec) DeepCopy() *FirewallRuleSpec

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

func (*FirewallRuleSpec) DeepCopyInto

func (in *FirewallRuleSpec) DeepCopyInto(out *FirewallRuleSpec)

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

type FirewallRuleStatus

type FirewallRuleStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          FirewallRuleObservation `json:"atProvider,omitempty"`
}

A FirewallRuleStatus represents the observed state of a FirewallRule.

func (*FirewallRuleStatus) DeepCopy

func (in *FirewallRuleStatus) DeepCopy() *FirewallRuleStatus

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

func (*FirewallRuleStatus) DeepCopyInto

func (in *FirewallRuleStatus) DeepCopyInto(out *FirewallRuleStatus)

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

type FwIPConfig added in v1.0.2

type FwIPConfig struct {
	// Use IP or CIDR to set specific IP or CIDR to the resource. If both IP and IPBlockConfig are set,
	// only `ip` field will be considered.
	//
	// +kubebuilder:validation:Pattern="^([0-9]{1,3}\\.){3}[0-9]{1,3}(/([0-9]|[1-2][0-9]|3[0-2]))?$"
	IP string `json:"ip,omitempty"`
	// Use IpBlockConfig to reference existing IPBlock, and to mention the index for the IP.
	// Index starts from 0 and it must be provided.
	IPBlockCfg IPBlockConfig `json:"ipBlockConfig,omitempty"`
}

FwIPConfig is used by firewallRule that needs to link ip directly or from IPBlock via id or via reference.

func (*FwIPConfig) DeepCopy added in v1.0.2

func (in *FwIPConfig) DeepCopy() *FwIPConfig

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

func (*FwIPConfig) DeepCopyInto added in v1.0.2

func (in *FwIPConfig) DeepCopyInto(out *FwIPConfig)

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"`

	Spec   GroupSpec   `json:"spec"`
	Status GroupStatus `json:"status,omitempty"`
}

Group is the Schema for the Group resource API +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="NAME",type="string",JSONPath=".spec.forProvider.name" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud}

func (*Group) DeepCopy added in v1.0.10

func (in *Group) DeepCopy() *Group

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

func (*Group) DeepCopyInto added in v1.0.10

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 added in v1.0.10

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

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

func (*Group) GetCondition added in v1.0.10

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

GetCondition of this Group.

func (*Group) GetDeletionPolicy added in v1.0.10

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

GetDeletionPolicy of this Group.

func (*Group) GetManagementPolicies added in v1.0.10

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

GetManagementPolicies of this Group.

func (*Group) GetProviderConfigReference added in v1.0.10

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

GetProviderConfigReference of this Group.

func (*Group) GetPublishConnectionDetailsTo added in v1.0.10

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

GetPublishConnectionDetailsTo of this Group.

func (*Group) GetWriteConnectionSecretToReference added in v1.0.10

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

GetWriteConnectionSecretToReference of this Group.

func (*Group) ResolveReferences added in v1.0.10

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

ResolveReferences of this Group.

func (*Group) SetConditions added in v1.0.10

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

SetConditions of this Group.

func (*Group) SetDeletionPolicy added in v1.0.10

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

SetDeletionPolicy of this Group.

func (*Group) SetManagementPolicies added in v1.0.10

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

SetManagementPolicies of this Group.

func (*Group) SetProviderConfigReference added in v1.0.10

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

SetProviderConfigReference of this Group.

func (*Group) SetPublishConnectionDetailsTo added in v1.0.10

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

SetPublishConnectionDetailsTo of this Group.

func (*Group) SetWriteConnectionSecretToReference added in v1.0.10

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

SetWriteConnectionSecretToReference of this Group.

type GroupConfig added in v1.0.10

type GroupConfig struct {
	// GroupID is the ID of the Group on which the resource should have access.
	// It needs to be provided directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/compute/v1alpha1.Group
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/compute/v1alpha1.ExtractGroupID()
	GroupID string `json:"groupId,omitempty"`
	// GroupIDRef references to a Group to retrieve its ID.
	//
	// +optional
	// +immutable
	GroupIDRef *xpv1.Reference `json:"groupIdRef,omitempty"`
	// GroupIDSelector selects reference to a Group to retrieve its GroupID.
	//
	// +optional
	GroupIDSelector *xpv1.Selector `json:"groupIdSelector,omitempty"`
}

GroupConfig is used by resources that need to link Groups via id or via reference.

func (*GroupConfig) DeepCopy added in v1.0.10

func (in *GroupConfig) DeepCopy() *GroupConfig

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

func (*GroupConfig) DeepCopyInto added in v1.0.10

func (in *GroupConfig) DeepCopyInto(out *GroupConfig)

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

type GroupList added in v1.0.10

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

GroupList contains a list of Group

func (*GroupList) DeepCopy added in v1.0.10

func (in *GroupList) DeepCopy() *GroupList

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

func (*GroupList) DeepCopyInto added in v1.0.10

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 added in v1.0.10

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

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

func (*GroupList) GetItems added in v1.0.10

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

GetItems of this GroupList.

type GroupObservation added in v1.0.10

type GroupObservation struct {
	// GroupID is the group id
	GroupID string `json:"groupId,omitempty"`
	// UserIDs of the members of this Group
	UserIDs []string `json:"userIDs,omitempty"`
	// ResourceShares of this Group
	ResourceShares []ResourceShare `json:"resourceShare,omitempty"`
}

GroupObservation are the observable fields of a Group.

func (*GroupObservation) DeepCopy added in v1.0.10

func (in *GroupObservation) DeepCopy() *GroupObservation

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

func (*GroupObservation) DeepCopyInto added in v1.0.10

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 added in v1.0.10

type GroupParameters struct {
	// Name of the resource.
	//
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// AccessActivityLog privilege for a group to access activity logs.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	AccessActivityLog bool `json:"accessActivityLog"`
	// AccessAndManageCertificates privilege for a group to access and manage certificates.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	AccessAndManageCertificates bool `json:"accessAndManageCertificates"`
	// AccessAndManageDNS privilege for a group to access and manage dns records.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	AccessAndManageDNS bool `json:"accessAndManageDns"`
	// AccessAndManageMonitoring privilege for a group to access and manage monitoring related functionality
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	AccessAndManageMonitoring bool `json:"accessAndManageMonitoring"`
	// CreateBackupUnit privilege to create backup unit resource
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	CreateBackupUnit bool `json:"createBackupUnit"`
	// CreateDataCenter privilege to create datacenter resource
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	CreateDataCenter bool `json:"createDataCenter"`
	// CreateFlowLog privilege to create flow log resource
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	CreateFlowLog bool `json:"createFlowLog"`
	// CreateInternetAccess privilege to create internet access
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	CreateInternetAccess bool `json:"createInternetAccess"`
	// CreateK8sCluster privilege to create kubernetes cluster
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	CreateK8sCluster bool `json:"createK8sCluster"`
	// CreatePcc privilege to create private cross connect
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	CreatePcc bool `json:"createPcc"`
	// CreateSnapshot privilege to create snapshot
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	CreateSnapshot bool `json:"createSnapshot"`
	// ManageDBaaS privilege to manage DBaaS related functionality
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	ManageDBaaS bool `json:"manageDBaaS"`
	// ManageDataPlatform privilege to access and manage the Data Platform
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	ManageDataPlatform bool `json:"manageDataplatform"`
	// ManageRegistry privilege to access container registry related functionality
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	ManageRegistry bool `json:"manageRegistry"`
	// ReserveIp privilege to reserve ip block
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	ReserveIP bool `json:"reserveIp"`
	// S3Privilege privilege to access S3 functionality
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	S3Privilege bool `json:"s3Privilege"`
	// In order to add a User as member to the Group, it is recommended to use UserCfg
	// to add an existing User as a member (via id or via reference).
	// To remove a User from the Group, update the CR spec by removing it.
	//
	// UserCfg contains information about an existing User resource
	// which will be added to the Group
	UserCfg []UserConfig `json:"userConfig,omitempty"`

	// SharedResources allows sharing privilege to resources between the members of the group
	// In order to share a resource within a group, it must be referenced either by providing its ID directly
	// or by specifying a set of values by which its K8s object can be identified
	ResourceShareCfg []ResourceShareConfig `json:"sharedResourcesConfig,omitempty"`
}

GroupParameters are the observable fields of a Group. Required values when creating a Group: Name

func (*GroupParameters) DeepCopy added in v1.0.10

func (in *GroupParameters) DeepCopy() *GroupParameters

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

func (*GroupParameters) DeepCopyInto added in v1.0.10

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 added in v1.0.10

type GroupSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       GroupParameters `json:"forProvider"`
}

A GroupSpec defines the desired state of a Group.

func (*GroupSpec) DeepCopy added in v1.0.10

func (in *GroupSpec) DeepCopy() *GroupSpec

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

func (*GroupSpec) DeepCopyInto added in v1.0.10

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 added in v1.0.10

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

A GroupStatus represents the observed state of a Group.

func (*GroupStatus) DeepCopy added in v1.0.10

func (in *GroupStatus) DeepCopy() *GroupStatus

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

func (*GroupStatus) DeepCopyInto added in v1.0.10

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

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"`

	Spec   IPBlockSpec   `json:"spec"`
	Status IPBlockStatus `json:"status,omitempty"`
}

A IPBlock is an example API type. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="IPBLOCK ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="IPS",type="string",JSONPath=".status.atProvider.ips" +kubebuilder:printcolumn:name="NAME",priority=1,type="string",JSONPath=".spec.forProvider.name" +kubebuilder:printcolumn:name="LOCATION",type="string",JSONPath=".spec.forProvider.location" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.atProvider.state" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud}

func (*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) GetDeletionPolicy

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

GetDeletionPolicy of this IPBlock.

func (*IPBlock) GetManagementPolicies added in v1.0.6

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

GetManagementPolicies of this IPBlock.

func (*IPBlock) GetProviderConfigReference

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

GetProviderConfigReference of this IPBlock.

func (*IPBlock) GetPublishConnectionDetailsTo added in v1.0.2

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

GetPublishConnectionDetailsTo of this IPBlock.

func (*IPBlock) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this IPBlock.

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 added in v1.0.6

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

SetManagementPolicies of this IPBlock.

func (*IPBlock) SetProviderConfigReference

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

SetProviderConfigReference of this IPBlock.

func (*IPBlock) SetPublishConnectionDetailsTo added in v1.0.2

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 IPBlockConfig

type IPBlockConfig struct {
	// IPBlockID is the ID of the IPBlock on which the resource will be created.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=IPBlock
	// +crossplane:generate:reference:extractor=ExtractIPBlockID()
	IPBlockID string `json:"ipBlockId,omitempty"`
	// IPBlockIDRef references to a IPBlock to retrieve its ID.
	//
	// +optional
	// +immutable
	IPBlockIDRef *xpv1.Reference `json:"ipBlockIdRef,omitempty"`
	// IPBlockIDSelector selects reference to a IPBlock to retrieve its IPBlockID.
	//
	// +optional
	IPBlockIDSelector *xpv1.Selector `json:"ipBlockIdSelector,omitempty"`
	// Index is referring to the IP index retrieved from the IPBlock.
	// Index is starting from 0.
	//
	// +kubebuilder:validation:Required
	Index int `json:"index"`
}

IPBlockConfig - used by resources that need to link IPBlock via id or via reference to get one single IP.

func (*IPBlockConfig) DeepCopy

func (in *IPBlockConfig) DeepCopy() *IPBlockConfig

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

func (*IPBlockConfig) DeepCopyInto

func (in *IPBlockConfig) DeepCopyInto(out *IPBlockConfig)

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

type IPBlockList

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

IPBlockList contains a list of IPBlock

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 {
	IPBlockID string   `json:"ipBlockId,omitempty"`
	State     string   `json:"state,omitempty"`
	Ips       []string `json:"ips,omitempty"`
}

IPBlockObservation are the observable fields of a IPBlock.

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 {
	// The name of the  resource.
	Name string `json:"name,omitempty"`
	// Location of that IP block. Property cannot be modified after it is created (disallowed in update requests).
	// Location can have the following values: de/fra, us/las, us/ewr, de/txl, gb/lhr, es/vit.
	//
	// +immutable
	// +kubebuilder:validation:Required
	Location string `json:"location"`
	// The size of the IP block.
	//
	// +immutable
	// +kubebuilder:validation:Required
	Size int32 `json:"size"`
}

IPBlockParameters are the observable fields of a IPBlock. Required values when creating an IPBlock: Location, Size.

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 {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       IPBlockParameters `json:"forProvider"`
}

A IPBlockSpec defines the desired state of a 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 {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          IPBlockObservation `json:"atProvider,omitempty"`
}

A IPBlockStatus represents the observed state of a 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 IPConfig

type IPConfig struct {
	// Use IP to set specific IP to the resource. If both IP and IPBlockConfig are set,
	// only `ip` field will be considered.
	//
	// +kubebuilder:validation:Pattern="^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
	IP string `json:"ip,omitempty"`
	// Use IpBlockConfig to reference existing IPBlock, and to mention the index for the IP.
	// Index starts from 0 and it must be provided.
	IPBlockCfg IPBlockConfig `json:"ipBlockConfig,omitempty"`
}

IPConfig is used by resources that need to link ip directly or from IPBlock via id or via reference.

func (*IPConfig) DeepCopy

func (in *IPConfig) DeepCopy() *IPConfig

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

func (*IPConfig) DeepCopyInto

func (in *IPConfig) DeepCopyInto(out *IPConfig)

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"`
}

A IPFailover is an example API type. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="DATACENTER ID",type="string",JSONPath=".spec.forProvider.datacenterConfig.datacenterId" +kubebuilder:printcolumn:name="LAN ID",type="string",JSONPath=".spec.forProvider.lanConfig.lanId" +kubebuilder:printcolumn:name="NIC ID",type="string",JSONPath=".spec.forProvider.nicConfig.nicId" +kubebuilder:printcolumn:name="IP",type="string",JSONPath=".status.atProvider.ip" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.atProvider.state" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud}

func (*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) GetDeletionPolicy

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

GetDeletionPolicy of this IPFailover.

func (*IPFailover) GetManagementPolicies added in v1.0.6

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

GetManagementPolicies of this IPFailover.

func (*IPFailover) GetProviderConfigReference

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

GetProviderConfigReference of this IPFailover.

func (*IPFailover) GetPublishConnectionDetailsTo added in v1.0.2

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

GetPublishConnectionDetailsTo of this IPFailover.

func (*IPFailover) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this IPFailover.

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 added in v1.0.6

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

SetManagementPolicies of this IPFailover.

func (*IPFailover) SetProviderConfigReference

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

SetProviderConfigReference of this IPFailover.

func (*IPFailover) SetPublishConnectionDetailsTo added in v1.0.2

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 IPFailoverList

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

IPFailoverList contains a list of IPFailover

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 {
	IP    string `json:"ip,omitempty"`
	State string `json:"state,omitempty"`
}

IPFailoverObservation are the observable fields of a IPFailover.

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 {
	// DatacenterConfig contains information about the datacenter resource
	// on which the resource will be created.
	//
	// +kubebuilder:validation:Required
	DatacenterCfg DatacenterConfig `json:"datacenterConfig"`
	// LanConfig contains information about the lan resource
	// on which the resource will be created.
	//
	// +kubebuilder:validation:Required
	LanCfg LanConfig `json:"lanConfig"`
	// NicConfig contains information about the nic resource
	// on which the resource will be created.
	//
	// +kubebuilder:validation:Required
	NicCfg NicConfig `json:"nicConfig"`
	// IPConfig must have a public IP for which the group is responsible for.
	// IP can be set directly, using ipConfig.ip or via reference and index.
	// If both ip and ipBlockConfig is set, only ip field will be considered.
	// It is recommended to use ip field instead of ipBlockConfig field if
	// the ipBlock contains multiple ips.
	//
	// +kubebuilder:validation:Required
	IPCfg IPConfig `json:"ipConfig"`
}

IPFailoverParameters are the observable fields of a IPFailover. Required values when creating a IPFailover: DatacenterConfig, LanConfig (LAN resource must be a public LAN), NicConfig, IPConfig.

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 {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       IPFailoverParameters `json:"forProvider"`
}

A IPFailoverSpec defines the desired state of a 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 {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          IPFailoverObservation `json:"atProvider,omitempty"`
}

A IPFailoverStatus represents the observed state of a 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 IPsBlockConfig

type IPsBlockConfig struct {
	// IPBlockID is the ID of the IPBlock on which the resource will be created.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=IPBlock
	// +crossplane:generate:reference:extractor=ExtractIPBlockID()
	IPBlockID string `json:"ipBlockId,omitempty"`
	// IPBlockIDRef references to a IPBlock to retrieve its ID.
	//
	// +optional
	// +immutable
	IPBlockIDRef *xpv1.Reference `json:"ipBlockIdRef,omitempty"`
	// IPBlockIDSelector selects reference to a IPBlock to retrieve its IPBlockID.
	//
	// +optional
	IPBlockIDSelector *xpv1.Selector `json:"ipBlockIdSelector,omitempty"`
	// Indexes are referring to the IPs indexes retrieved from the IPBlock.
	// Indexes are starting from 0. If no index is set, all IPs from the
	// corresponding IPBlock will be assigned.
	//
	// +optional
	Indexes []int `json:"indexes,omitempty"`
}

IPsBlockConfig - used by resources that need to link IPBlock via id or via reference to get multiple IPs.

func (*IPsBlockConfig) DeepCopy

func (in *IPsBlockConfig) DeepCopy() *IPsBlockConfig

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

func (*IPsBlockConfig) DeepCopyInto

func (in *IPsBlockConfig) DeepCopyInto(out *IPsBlockConfig)

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

type IPsConfigs

type IPsConfigs struct {
	// Use IPs to set specific IPs to the resource. If both IPs and IPsBlockConfigs are set,
	// only `ips` field will be considered.
	IPs []string `json:"ips,omitempty"`
	// Use IpsBlockConfigs to reference existing IPBlocks, and to mention the indexes for the IPs.
	// Indexes start from 0, and multiple indexes can be set. If no index is set, all IPs from the
	// corresponding IPBlock will be assigned to the resource.
	IPBlockCfgs []IPsBlockConfig `json:"ipsBlockConfigs,omitempty"`
}

IPsConfigs - used by resources that need to link multiple IPs directly or from IPBlock via id or via reference.

func (*IPsConfigs) DeepCopy

func (in *IPsConfigs) DeepCopy() *IPsConfigs

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

func (*IPsConfigs) DeepCopyInto

func (in *IPsConfigs) DeepCopyInto(out *IPsConfigs)

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

type IdentityConfigMap added in v1.1.0

type IdentityConfigMap struct {
	// Name of the configMap from which the identity of the ACTIVE server in the ServerSet is read.
	Name string `json:"name,omitempty"`
	// Namespace of the configMap from which the identity of the ACTIVE server in the ServerSet is read.
	Namespace string `json:"namespace,omitempty"`
	// KeyName the key name in the configMap from which the identity of the ACTIVE server in the ServerSet is read.
	KeyName string `json:"keyName,omitempty"`
}

IdentityConfigMap are the configurable fields of a configMap from which the identity of the ACTiVE server in the ServerSet is read. If not configured, the first server created will be the ACTIVE server.

func (*IdentityConfigMap) DeepCopy added in v1.1.0

func (in *IdentityConfigMap) DeepCopy() *IdentityConfigMap

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

func (*IdentityConfigMap) DeepCopyInto added in v1.1.0

func (in *IdentityConfigMap) DeepCopyInto(out *IdentityConfigMap)

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"`
}

A Lan is an example API type. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="DATACENTER ID",type="string",JSONPath=".spec.forProvider.datacenterConfig.datacenterId" +kubebuilder:printcolumn:name="LAN ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="LAN NAME",type="string",JSONPath=".spec.forProvider.name" +kubebuilder:printcolumn:name="PUBLIC",priority=1,type="string",JSONPath=".spec.forProvider.public" +kubebuilder:printcolumn:name="IPFAILOVERS",priority=1,type="string",JSONPath=".status.atProvider.ipFailovers" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.atProvider.state" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud}

func (*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) GetDeletionPolicy

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

GetDeletionPolicy of this Lan.

func (*Lan) GetManagementPolicies added in v1.0.6

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

GetManagementPolicies of this Lan.

func (*Lan) GetProviderConfigReference

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

GetProviderConfigReference of this Lan.

func (*Lan) GetPublishConnectionDetailsTo added in v1.0.2

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

GetPublishConnectionDetailsTo of this Lan.

func (*Lan) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Lan.

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 added in v1.0.6

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

SetManagementPolicies of this Lan.

func (*Lan) SetProviderConfigReference

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

SetProviderConfigReference of this Lan.

func (*Lan) SetPublishConnectionDetailsTo added in v1.0.2

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 LanConfig

type LanConfig struct {
	// LanID is the ID of the Lan on which the resource will be created.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +crossplane:generate:reference:type=Lan
	// +crossplane:generate:reference:extractor=ExtractLanID()
	LanID string `json:"lanId,omitempty"`
	// LanIDRef references to a Lan to retrieve its ID.
	//
	// +optional
	// +immutable
	LanIDRef *xpv1.Reference `json:"lanIdRef,omitempty"`
	// LanIDSelector selects reference to a Lan to retrieve its LanID.
	//
	// +optional
	LanIDSelector *xpv1.Selector `json:"lanIdSelector,omitempty"`
}

LanConfig is used by resources that need to link lans via id or via reference.

func (*LanConfig) DeepCopy

func (in *LanConfig) DeepCopy() *LanConfig

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

func (*LanConfig) DeepCopyInto

func (in *LanConfig) DeepCopyInto(out *LanConfig)

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 Lan

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 {
	// IPFailovers will be set using IPFailover CR
	IPFailovers []string `json:"ipFailovers,omitempty"`
	LanID       string   `json:"lanId,omitempty"`
	State       string   `json:"state,omitempty"`
	Name        string   `json:"name,omitempty"`
}

LanObservation are the observable fields of a Lan.

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 {
	// DatacenterConfig contains information about the datacenter resource
	// on which the lan will be created.
	//
	// +kubebuilder:validation:Required
	DatacenterCfg DatacenterConfig `json:"datacenterConfig"`
	// The name of the  resource.
	//
	// +kubebuilder:validation:Optional
	Name string `json:"name,omitempty"`
	// The unique identifier of the private Cross-Connect the LAN is connected to, if any.
	//
	// +kubebuilder:validation:Optional
	Pcc PccConfig `json:"pcc,omitempty"`
	// This LAN faces the public Internet.
	//
	// +kubebuilder:validation:Required
	Public bool `json:"public"`
	// For a GET request, this value is either 'null' or contains the LAN's /64 IPv6 CIDR block if this LAN is IPv6-enabled. For POST/PUT/PATCH requests, 'AUTO' will result in enabling this
	// LAN for IPv6 and automatically assign a /64 IPv6 CIDR block to this LAN. If you choose the IPv6 CIDR block on your own, then you must provide a /64 block,
	// which is inside the IPv6 CIDR block of the virtual datacenter and unique inside all LANs from this virtual datacenter. If you enable IPv6 on a LAN with NICs,
	// those NICs will get a /80 IPv6 CIDR block and one IPv6 address assigned to each automatically, unless you specify them explicitly on the NICs.
	// A virtual data center is limited to a maximum of 256 IPv6-enabled LANs.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=""
	Ipv6Cidr string `json:"ipv6Cidr,omitempty"`
}

LanParameters are the observable fields of a Lan. Required values when creating a Lan: DatacenterConfig, Public.

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 {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       LanParameters `json:"forProvider"`
}

A LanSpec defines the desired state of a 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 {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          LanObservation `json:"atProvider,omitempty"`
}

A LanStatus represents the observed state of a 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 Nic

type Nic struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NicSpec   `json:"spec"`
	Status NicStatus `json:"status,omitempty"`
}

A Nic is an example API type. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="DATACENTER ID",type="string",JSONPath=".spec.forProvider.datacenterConfig.datacenterId" +kubebuilder:printcolumn:name="SERVER ID",type="string",JSONPath=".spec.forProvider.serverConfig.serverId" +kubebuilder:printcolumn:name="LAN ID",type="string",JSONPath=".spec.forProvider.lanConfig.lanId" +kubebuilder:printcolumn:name="NIC ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="IPS",priority=1,type="string",JSONPath=".status.atProvider.ips" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.atProvider.state" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="PCISlot",type="string",JSONPath=".status.atProvider.pciSlot" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud}

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) GetDeletionPolicy

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

GetDeletionPolicy of this Nic.

func (*Nic) GetManagementPolicies added in v1.0.6

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

GetManagementPolicies of this Nic.

func (*Nic) GetProviderConfigReference

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

GetProviderConfigReference of this Nic.

func (*Nic) GetPublishConnectionDetailsTo added in v1.0.2

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

GetPublishConnectionDetailsTo of this Nic.

func (*Nic) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Nic.

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 added in v1.0.6

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

SetManagementPolicies of this Nic.

func (*Nic) SetProviderConfigReference

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

SetProviderConfigReference of this Nic.

func (*Nic) SetPublishConnectionDetailsTo added in v1.0.2

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 NicConfig

type NicConfig struct {
	// NicID is the ID of the Nic on which the resource will be created.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=Nic
	// +crossplane:generate:reference:extractor=ExtractNicID()
	NicID string `json:"nicId,omitempty"`
	// NicIDRef references to a Nic to retrieve its ID.
	//
	// +optional
	// +immutable
	NicIDRef *xpv1.Reference `json:"nicIdRef,omitempty"`
	// NicIDSelector selects reference to a Nic to retrieve its NicID.
	//
	// +optional
	NicIDSelector *xpv1.Selector `json:"nicIdSelector,omitempty"`
}

NicConfig is used by resources that need to link nic via id or via reference.

func (*NicConfig) DeepCopy

func (in *NicConfig) DeepCopy() *NicConfig

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

func (*NicConfig) DeepCopyInto

func (in *NicConfig) DeepCopyInto(out *NicConfig)

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 Nic

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 {
	NicID   string   `json:"nicId,omitempty"`
	IPs     []string `json:"ips,omitempty"`
	State   string   `json:"state,omitempty"`
	Mac     string   `json:"mac,omitempty"`
	PCISlot int32    `json:"pciSlot,omitempty"`
}

NicObservation are the observable fields of a Nic.

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 NicParameters

type NicParameters struct {
	// DatacenterConfig contains information about the datacenter resource
	// on which the nic will be created.
	//
	// +kubebuilder:validation:Required
	DatacenterCfg DatacenterConfig `json:"datacenterConfig"`
	// ServerConfig contains information about the server resource
	// on which the nic will be created.
	//
	// +kubebuilder:validation:Required
	ServerCfg ServerConfig `json:"serverConfig"`
	// LanConfig contains information about the lan resource
	// on which the nic will be on.
	//
	// +kubebuilder:validation:Required
	LanCfg LanConfig `json:"lanConfig"`
	// The name of the  resource.
	//
	// +kubebuilder:validation:Optional
	Name string `json:"name,omitempty"`
	// Collection of IP addresses, assigned to the NIC.
	// Explicitly assigned public IPs need to come from reserved IP blocks.
	// Passing value null or empty array will assign an IP address automatically.
	// The IPs can be set directly or using reference to the existing IPBlocks and indexes.
	// If no indexes are set, all IPs from the corresponding IPBlock will be assigned.
	// All IPs set on the Nic will be displayed on the status's ips field.
	//
	// +kubebuilder:validation:Optional
	IpsCfg IPsConfigs `json:"ipsConfigs,omitempty"`
	// Indicates if the NIC will reserve an IP using DHCP.
	//
	// +kubebuilder:validation:Required
	Dhcp bool `json:"dhcp"`
	// Indicates if the NIC will reserve an IPv6 using DHCP.
	//
	// +kubebuilder:validation:Optional
	DhcpV6 *bool `json:"dhcpv6,omitempty"`
	// Activate or deactivate the firewall. By default, an active firewall without any defined rules
	// will block all incoming network traffic except for the firewall rules that explicitly allows certain protocols, IP addresses and ports.
	//
	// +kubebuilder:validation:Optional
	FirewallActive bool `json:"firewallActive,omitempty"`
	// The type of firewall rules that will be allowed on the NIC. If not specified, the default INGRESS value is used.
	//
	// +kubebuilder:validation:Enum=BIDIRECTIONAL;EGRESS;INGRESS
	// +kubebuilder:validation:Optional
	FirewallType string `json:"firewallType,omitempty"`

	// The vnet ID that belongs to this NIC. Requires system privileges
	//
	// +kubebuilder:validation:Optional
	Vnet string `json:"vnet,omitempty"`
}

NicParameters are the observable fields of a Nic. Required values when creating a Nic: Datacenter ID or Reference, Server ID or Reference, Lan ID or Reference, DHCP.

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 NicSpec

type NicSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       NicParameters `json:"forProvider"`
}

A NicSpec defines the desired state of a 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 {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          NicObservation `json:"atProvider,omitempty"`
}

A NicStatus represents the observed state of a 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 Pcc added in v1.0.7

type Pcc struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PccSpec   `json:"spec"`
	Status PccStatus `json:"status,omitempty"`
}

A Pcc is an example API type. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="Pcc ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="Pcc NAME",type="string",JSONPath=".spec.forProvider.name" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.atProvider.state" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud}

func (*Pcc) DeepCopy added in v1.0.7

func (in *Pcc) DeepCopy() *Pcc

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

func (*Pcc) DeepCopyInto added in v1.0.7

func (in *Pcc) DeepCopyInto(out *Pcc)

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

func (*Pcc) DeepCopyObject added in v1.0.7

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

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

func (*Pcc) GetCondition added in v1.0.7

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

GetCondition of this Pcc.

func (*Pcc) GetDeletionPolicy added in v1.0.7

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

GetDeletionPolicy of this Pcc.

func (*Pcc) GetManagementPolicies added in v1.0.7

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

GetManagementPolicies of this Pcc.

func (*Pcc) GetProviderConfigReference added in v1.0.7

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

GetProviderConfigReference of this Pcc.

func (*Pcc) GetPublishConnectionDetailsTo added in v1.0.7

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

GetPublishConnectionDetailsTo of this Pcc.

func (*Pcc) GetWriteConnectionSecretToReference added in v1.0.7

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

GetWriteConnectionSecretToReference of this Pcc.

func (*Pcc) SetConditions added in v1.0.7

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

SetConditions of this Pcc.

func (*Pcc) SetDeletionPolicy added in v1.0.7

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

SetDeletionPolicy of this Pcc.

func (*Pcc) SetManagementPolicies added in v1.0.7

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

SetManagementPolicies of this Pcc.

func (*Pcc) SetProviderConfigReference added in v1.0.7

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

SetProviderConfigReference of this Pcc.

func (*Pcc) SetPublishConnectionDetailsTo added in v1.0.7

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

SetPublishConnectionDetailsTo of this Pcc.

func (*Pcc) SetWriteConnectionSecretToReference added in v1.0.7

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

SetWriteConnectionSecretToReference of this Pcc.

type PccConfig added in v1.0.7

type PccConfig struct {
	// PrivateCrossConnectID is the ID of the Pcc on which the resource will be created.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=Pcc
	// +crossplane:generate:reference:extractor=ExtractPccID()
	PrivateCrossConnectID string `json:"PrivateCrossConnectId,omitempty"`
	// PrivateCrossConnectIDRef references to a Pcc to retrieve its ID.
	//
	// +optional
	// +immutable
	PrivateCrossConnectIDRef *xpv1.Reference `json:"PrivateCrossConnectIdRef,omitempty"`
	// PrivateCrossConnectIDSelector selects reference to a Pcc to retrieve its PrivateCrossConnectID.
	//
	// +optional
	PrivateCrossConnectIDSelector *xpv1.Selector `json:"PrivateCrossConnectIdSelector,omitempty"`
}

PccConfig is used by resources that need to link a Cross Connect via id or via reference.

func (*PccConfig) DeepCopy added in v1.0.7

func (in *PccConfig) DeepCopy() *PccConfig

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

func (*PccConfig) DeepCopyInto added in v1.0.7

func (in *PccConfig) DeepCopyInto(out *PccConfig)

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

type PccList added in v1.0.7

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

PccList contains a list of Pcc

func (*PccList) DeepCopy added in v1.0.7

func (in *PccList) DeepCopy() *PccList

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

func (*PccList) DeepCopyInto added in v1.0.7

func (in *PccList) DeepCopyInto(out *PccList)

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

func (*PccList) DeepCopyObject added in v1.0.7

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

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

func (*PccList) GetItems added in v1.0.7

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

GetItems of this PccList.

type PccObservation added in v1.0.7

type PccObservation struct {
	PrivateCrossConnectID string `json:"PrivateCrossConnectId,omitempty"`
	State                 string `json:"state,omitempty"`
}

PccObservation are the observable fields of a Pcc.

func (*PccObservation) DeepCopy added in v1.0.7

func (in *PccObservation) DeepCopy() *PccObservation

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

func (*PccObservation) DeepCopyInto added in v1.0.7

func (in *PccObservation) DeepCopyInto(out *PccObservation)

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

type PccParameters added in v1.0.7

type PccParameters struct {
	// The name of the cross-connection.
	Name string `json:"name,omitempty"`
	// A short description for the cross-connection.
	Description string `json:"description,omitempty"`
}

PccParameters To connect two Crossconnects we need 2 lans defined, one in each Pcc. After, we reference the Pcc through which we want the connection to be established.

func (*PccParameters) DeepCopy added in v1.0.7

func (in *PccParameters) DeepCopy() *PccParameters

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

func (*PccParameters) DeepCopyInto added in v1.0.7

func (in *PccParameters) DeepCopyInto(out *PccParameters)

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

type PccSpec added in v1.0.7

type PccSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       PccParameters `json:"forProvider"`
}

A PccSpec defines the desired state of a Pcc.

func (*PccSpec) DeepCopy added in v1.0.7

func (in *PccSpec) DeepCopy() *PccSpec

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

func (*PccSpec) DeepCopyInto added in v1.0.7

func (in *PccSpec) DeepCopyInto(out *PccSpec)

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

type PccStatus added in v1.0.7

type PccStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          PccObservation `json:"atProvider,omitempty"`
}

A PccStatus represents the observed state of a Pcc.

func (*PccStatus) DeepCopy added in v1.0.7

func (in *PccStatus) DeepCopy() *PccStatus

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

func (*PccStatus) DeepCopyInto added in v1.0.7

func (in *PccStatus) DeepCopyInto(out *PccStatus)

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

type ResourceShare added in v1.0.10

type ResourceShare struct {
	// EditPrivilege for the Resource
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	EditPrivilege bool `json:"editPrivilege,omitempty"`
	// SharePrivilege for the Resource
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	SharePrivilege bool `json:"sharePrivilege,omitempty"`
	// ResourceID is the ID of the Resource to which Group members gain privileges
	// It can only be provided directly
	// +immutable
	// +kubebuilder:validation:Format=uuid
	ResourceID string `json:"resourceId,omitempty"`
}

ResourceShare can be added to a Group to grant privileges to its members on the resource referenced by ResourceID

func (*ResourceShare) DeepCopy added in v1.0.10

func (in *ResourceShare) DeepCopy() *ResourceShare

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

func (*ResourceShare) DeepCopyInto added in v1.0.10

func (in *ResourceShare) DeepCopyInto(out *ResourceShare)

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

type ResourceShareConfig added in v1.0.10

type ResourceShareConfig struct {
	// ResourceShare
	ResourceShare `json:"resourceShare,omitempty"`
	// If ResourceID is not provided directly, the resource can be referenced through other attributes
	// These attributes mut all be provided for the Resource to be resolved successfully
	// Name of the kubernetes object instance of the Custom Resource
	//
	// +kubebuilder:validation:Optional
	Name string `json:"name,omitempty"`
	// Kind of the Custom Resource
	//
	// +kubebuilder:validation:Optional
	Kind string `json:"kind,omitempty"`
	// Version of the Custom Resource
	//
	// +kubebuilder:validation:Optional
	Version string `json:"version,omitempty"`
}

ResourceShareConfig is used for referencing a resource to be added as a ResourceShare within a Group

func (*ResourceShareConfig) DeepCopy added in v1.0.10

func (in *ResourceShareConfig) DeepCopy() *ResourceShareConfig

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

func (*ResourceShareConfig) DeepCopyInto added in v1.0.10

func (in *ResourceShareConfig) DeepCopyInto(out *ResourceShareConfig)

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

type Role added in v1.1.0

type Role string

Role is the role of a ServerSet Replica. It can be ACTIVE or PASSIVE. The default value is PASSIVE. When a ServerSet Replica has role ACTIVE, it is the primary server and is used to serve the traffic.

const (
	// Active means that the ServerSet Replica is the primary server and is used to serve the traffic.
	Active Role = "ACTIVE"
	// Passive means that the ServerSet Replica is the secondary server and is not used to serve the traffic.
	Passive Role = "PASSIVE"
)

type S3Key added in v1.0.7

type S3Key struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   S3KeySpec   `json:"spec"`
	Status S3KeyStatus `json:"status,omitempty"`
}

A S3Key is an example API type. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="S3Key ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="UserID",priority=1,type="string",JSONPath=".spec.forProvider.userID" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud}

func (*S3Key) DeepCopy added in v1.0.7

func (in *S3Key) DeepCopy() *S3Key

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

func (*S3Key) DeepCopyInto added in v1.0.7

func (in *S3Key) DeepCopyInto(out *S3Key)

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

func (*S3Key) DeepCopyObject added in v1.0.7

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

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

func (*S3Key) GetCondition added in v1.0.7

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

GetCondition of this S3Key.

func (*S3Key) GetDeletionPolicy added in v1.0.7

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

GetDeletionPolicy of this S3Key.

func (*S3Key) GetManagementPolicies added in v1.0.7

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

GetManagementPolicies of this S3Key.

func (*S3Key) GetProviderConfigReference added in v1.0.7

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

GetProviderConfigReference of this S3Key.

func (*S3Key) GetPublishConnectionDetailsTo added in v1.0.7

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

GetPublishConnectionDetailsTo of this S3Key.

func (*S3Key) GetWriteConnectionSecretToReference added in v1.0.7

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

GetWriteConnectionSecretToReference of this S3Key.

func (*S3Key) SetConditions added in v1.0.7

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

SetConditions of this S3Key.

func (*S3Key) SetDeletionPolicy added in v1.0.7

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

SetDeletionPolicy of this S3Key.

func (*S3Key) SetManagementPolicies added in v1.0.7

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

SetManagementPolicies of this S3Key.

func (*S3Key) SetProviderConfigReference added in v1.0.7

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

SetProviderConfigReference of this S3Key.

func (*S3Key) SetPublishConnectionDetailsTo added in v1.0.7

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

SetPublishConnectionDetailsTo of this S3Key.

func (*S3Key) SetWriteConnectionSecretToReference added in v1.0.7

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

SetWriteConnectionSecretToReference of this S3Key.

type S3KeyList added in v1.0.7

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

S3KeyList contains a list of S3Key

func (*S3KeyList) DeepCopy added in v1.0.7

func (in *S3KeyList) DeepCopy() *S3KeyList

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

func (*S3KeyList) DeepCopyInto added in v1.0.7

func (in *S3KeyList) DeepCopyInto(out *S3KeyList)

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

func (*S3KeyList) DeepCopyObject added in v1.0.7

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

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

func (*S3KeyList) GetItems added in v1.0.7

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

GetItems of this S3KeyList.

type S3KeyObservation added in v1.0.7

type S3KeyObservation struct {
	S3KeyID string `json:"s3KeyID,omitempty"`
}

S3KeyObservation are the observable fields of a S3Key.

func (*S3KeyObservation) DeepCopy added in v1.0.7

func (in *S3KeyObservation) DeepCopy() *S3KeyObservation

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

func (*S3KeyObservation) DeepCopyInto added in v1.0.7

func (in *S3KeyObservation) DeepCopyInto(out *S3KeyObservation)

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

type S3KeyParameters added in v1.0.7

type S3KeyParameters struct {
	// The UUID of the user owning the S3 Key.
	//
	// +kubebuilder:validation:Required
	UserID string `json:"userID"`
	// Whether the S3 is active / enabled or not. Can only be updated to false, by default the key will be created as active. Default value is true.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=true
	Active bool `json:"active,omitempty"`
}

S3KeyParameters are the observable fields of an S3Key. Required values when creating an S3Key: UserID

func (*S3KeyParameters) DeepCopy added in v1.0.7

func (in *S3KeyParameters) DeepCopy() *S3KeyParameters

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

func (*S3KeyParameters) DeepCopyInto added in v1.0.7

func (in *S3KeyParameters) DeepCopyInto(out *S3KeyParameters)

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

type S3KeySpec added in v1.0.7

type S3KeySpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       S3KeyParameters `json:"forProvider"`
}

A S3KeySpec defines the desired state of a S3Key.

func (*S3KeySpec) DeepCopy added in v1.0.7

func (in *S3KeySpec) DeepCopy() *S3KeySpec

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

func (*S3KeySpec) DeepCopyInto added in v1.0.7

func (in *S3KeySpec) DeepCopyInto(out *S3KeySpec)

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

type S3KeyStatus added in v1.0.7

type S3KeyStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          S3KeyObservation `json:"atProvider,omitempty"`
}

A S3KeyStatus represents the observed state of a S3Key.

func (*S3KeyStatus) DeepCopy added in v1.0.7

func (in *S3KeyStatus) DeepCopy() *S3KeyStatus

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

func (*S3KeyStatus) DeepCopyInto added in v1.0.7

func (in *S3KeyStatus) DeepCopyInto(out *S3KeyStatus)

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"`

	Spec   ServerSpec   `json:"spec"`
	Status ServerStatus `json:"status,omitempty"`
}

A Server is an example API type. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="DATACENTER ID",type="string",JSONPath=".spec.forProvider.datacenterConfig.datacenterId" +kubebuilder:printcolumn:name="SERVER ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="SERVER NAME",priority=1,type="string",JSONPath=".spec.forProvider.name" +kubebuilder:printcolumn:name="BOOT VOLUME ID",priority=1,type="string",JSONPath=".status.atProvider.volumeId" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.atProvider.state" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud}

func (*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) GetDeletionPolicy

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

GetDeletionPolicy of this Server.

func (*Server) GetManagementPolicies added in v1.0.6

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

GetManagementPolicies of this Server.

func (*Server) GetProviderConfigReference

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

GetProviderConfigReference of this Server.

func (*Server) GetPublishConnectionDetailsTo added in v1.0.2

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

GetPublishConnectionDetailsTo of this Server.

func (*Server) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Server.

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 added in v1.0.6

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

SetManagementPolicies of this Server.

func (*Server) SetProviderConfigReference

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

SetProviderConfigReference of this Server.

func (*Server) SetPublishConnectionDetailsTo added in v1.0.2

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 ServerConfig

type ServerConfig struct {
	// ServerID is the ID of the Server on which the resource will be created.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=Server
	// +crossplane:generate:reference:extractor=ExtractServerID()
	ServerID string `json:"serverId,omitempty"`
	// ServerIDRef references to a Server to retrieve its ID.
	//
	// +optional
	// +immutable
	ServerIDRef *xpv1.Reference `json:"serverIdRef,omitempty"`
	// ServerIDSelector selects reference to a Server to retrieve its ServerID.
	//
	// +optional
	ServerIDSelector *xpv1.Selector `json:"serverIdSelector,omitempty"`
}

ServerConfig is used by resources that need to link servers via id or via reference.

func (*ServerConfig) DeepCopy

func (in *ServerConfig) DeepCopy() *ServerConfig

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

func (*ServerConfig) DeepCopyInto

func (in *ServerConfig) DeepCopyInto(out *ServerConfig)

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 Server

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 ServerObservation

type ServerObservation struct {
	ServerID  string `json:"serverId,omitempty"`
	VolumeID  string `json:"volumeId,omitempty"`
	State     string `json:"state,omitempty"`
	CPUFamily string `json:"cpuFamily,omitempty"`
	Name      string `json:"name,omitempty"`
}

ServerObservation are the observable fields of a Server.

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 {
	// DatacenterConfig contains information about the datacenter resource
	// on which the server will be created.
	//
	// +kubebuilder:validation:Required
	DatacenterCfg DatacenterConfig `json:"datacenterConfig"`
	// The name of the  resource.
	Name string `json:"name,omitempty"`
	// The total number of cores for the server.
	//
	// +kubebuilder:validation:Required
	Cores int32 `json:"cores"`
	// The memory size for the server in MB, such as 2048. Size must be specified in multiples of 256 MB with a minimum of 256 MB.
	// however, if you set ramHotPlug to TRUE then you must use a minimum of 1024 MB. If you set the RAM size more than 240GB,
	// then ramHotPlug will be set to FALSE and can not be set to TRUE unless RAM size not set to less than 240GB.
	//
	// +kubebuilder:validation:MultipleOf=256
	// +kubebuilder:validation:Required
	RAM int32 `json:"ram"`
	// The availability zone in which the server should be provisioned.
	//
	// +kubebuilder:validation:Enum=AUTO;ZONE_1;ZONE_2
	// +kubebuilder:default=AUTO
	AvailabilityZone string `json:"availabilityZone,omitempty"`
	// 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.
	//
	// +immutable
	// +kubebuilder:validation:Enum=AMD_OPTERON;INTEL_SKYLAKE;INTEL_XEON
	CPUFamily string `json:"cpuFamily,omitempty"`
	// +kubebuilder:validation:Optional
	BootCdromID string `json:"bootCdromId,omitempty"`
	// In order to attach a volume to the server, it is recommended to use VolumeConfig
	// to set the existing volume (via id or via reference).
	// To detach a volume from the server, update the CR spec by removing it.
	//
	// VolumeConfig contains information about the existing volume resource
	// which will be attached to the server and set as bootVolume
	VolumeCfg VolumeConfig `json:"volumeConfig,omitempty"`

	// The placement group ID that belongs to this server. Requires system privileges
	//
	// +kubebuilder:validation:Optional
	PlacementGroupID string `json:"placementGroupId,omitempty"`
}

ServerParameters are the observable fields of a Server. Required values when creating a Server: Datacenter ID or Reference, Cores, RAM.

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 ServerSet added in v1.1.0

type ServerSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ServerSetSpec   `json:"spec"`
	Status ServerSetStatus `json:"status,omitempty"`
}

ServerSet represents a stateful set of servers in the Ionos Cloud. The number of replicas controls how many resources it creates in the Ionos Cloud. For 2 replicas defined, it will create for each: 1 server, 1 bootvolume, the nics configured(for each server). Each sub-resource created(server, bootvolume, nic) will have it's own CR that can be observed using kubectl. The SSet reads the active(master) identity from a configMap that needs to be named `config-lease`. If the configMap is not found, the active replica will be the first server created.

+kubebuilder:resource:scope=Cluster,categories=crossplane,shortName=sset;ss +kubebuilder:printcolumn:name="Datacenter ID",type="string",JSONPath=".spec.forProvider.datacenterConfig.datacenterId" +kubebuilder:printcolumn:name="REPLICAS",type="integer",JSONPath=".status.atProvider.replicas" +kubebuilder:printcolumn:name="servers",priority=1,type="string",JSONPath=".status.atProvider.replicaStatus" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud},shortName=ss;sset +kubebuilder:subresource:scale:specpath=.spec.forProvider.replicas,statuspath=.status.atProvider.replicas,selectorpath=.status.selector

func (*ServerSet) DeepCopy added in v1.1.0

func (in *ServerSet) DeepCopy() *ServerSet

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

func (*ServerSet) DeepCopyInto added in v1.1.0

func (in *ServerSet) DeepCopyInto(out *ServerSet)

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

func (*ServerSet) DeepCopyObject added in v1.1.0

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

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

func (*ServerSet) GetCondition added in v1.1.0

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

GetCondition of this ServerSet.

func (*ServerSet) GetDeletionPolicy added in v1.1.0

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

GetDeletionPolicy of this ServerSet.

func (*ServerSet) GetManagementPolicies added in v1.1.0

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

GetManagementPolicies of this ServerSet.

func (*ServerSet) GetProviderConfigReference added in v1.1.0

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

GetProviderConfigReference of this ServerSet.

func (*ServerSet) GetPublishConnectionDetailsTo added in v1.1.0

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

GetPublishConnectionDetailsTo of this ServerSet.

func (*ServerSet) GetWriteConnectionSecretToReference added in v1.1.0

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

GetWriteConnectionSecretToReference of this ServerSet.

func (*ServerSet) ResolveReferences added in v1.1.0

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

ResolveReferences of this ServerSet.

func (*ServerSet) SetConditions added in v1.1.0

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

SetConditions of this ServerSet.

func (*ServerSet) SetDeletionPolicy added in v1.1.0

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

SetDeletionPolicy of this ServerSet.

func (*ServerSet) SetManagementPolicies added in v1.1.0

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

SetManagementPolicies of this ServerSet.

func (*ServerSet) SetProviderConfigReference added in v1.1.0

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

SetProviderConfigReference of this ServerSet.

func (*ServerSet) SetPublishConnectionDetailsTo added in v1.1.0

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

SetPublishConnectionDetailsTo of this ServerSet.

func (*ServerSet) SetWriteConnectionSecretToReference added in v1.1.0

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

SetWriteConnectionSecretToReference of this ServerSet.

type ServerSetBootVolumeMetadata added in v1.1.0

type ServerSetBootVolumeMetadata struct {
	// Name of the BootVolume. Replica index, volume index, and version are appended to the name.
	// Resulting name will be in format: {name}-{replicaIndex}-{version}.
	// Version increases if the bootvolume is re-created due to an immutable field changing. E.g. if the image or the disk type are changed, the bootvolume is re-created and the version is increased.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?"
	// +kubebuilder:validation:MaxLength=55
	Name string `json:"name"`
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
}

ServerSetBootVolumeMetadata are the configurable fields of a ServerSetBootVolumeMetadata.

func (*ServerSetBootVolumeMetadata) DeepCopy added in v1.1.0

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

func (*ServerSetBootVolumeMetadata) DeepCopyInto added in v1.1.0

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

type ServerSetBootVolumeSpec added in v1.1.0

type ServerSetBootVolumeSpec struct {
	// Image or snapshot ID to be used as template for this volume.
	// Make sure the image selected is compatible with the datacenter's location.
	// Note: when creating a volume and setting image, set imagePassword or SSKeys as well.
	//
	// +immutable
	// +kubebuilder:validation:Required
	Image string `json:"image,omitempty"`
	// The size of the volume in GB.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self >= oldSelf", message="Size cannot be decreased once set, only increased"
	Size float32 `json:"size"`
	// Changing type re-creates either the bootvolume, or the bootvolume, server and nic depending on the UpdateStrategy chosen`
	//
	// +immutable
	// +kubebuilder:validation:Enum=HDD;SSD;SSD Standard;SSD Premium;DAS;ISO
	// +kubebuilder:validation:Required
	Type string `json:"type"`
	// The cloud-init configuration for the volume as base64 encoded string.
	// The property is immutable and is only allowed to be set on creation of a new a volume.
	// It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
	// Hostname is injected automatically in the userdata, in the format: {bootvolumeNameFromMetadata}-{replicaIndex}-{version}
	// PCI slots of the nics attached to the server are injected automatically in the userdata, with the key : {nic_pcislot}_{nicNameFromMetadata with - replaced by _} and the value : {pciSlot}
	//
	// +immutable
	UserData string `json:"userData,omitempty"`
	// Initial password to be set for installed OS. Works with public images only. Not modifiable, forbidden in update requests.
	// Password rules allows all characters from a-z, A-Z, 0-9.
	//
	// +immutable
	// +kubebuilder:validation:MinLength=8
	// +kubebuilder:validation:MaxLength=50
	// +kubebuilder:validation:Pattern="^[A-Za-z0-9]+$"
	ImagePassword string `json:"imagePassword,omitempty"`
	// 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.
	//
	// +immutable
	SSHKeys  []string             `json:"sshKeys,omitempty"`
	Selector metav1.LabelSelector `json:"selector,omitempty"`

	// +kubebuilder:validation:Required
	UpdateStrategy UpdateStrategy `json:"updateStrategy,omitempty"`
	// Substitutions are used to replace placeholders in the cloud-init configuration.
	// The property is immutable and is only allowed to be set on creation of a new a volume.
	//
	// +immutable
	Substitutions []Substitution `json:"substitutions,omitempty"`
}

ServerSetBootVolumeSpec are the configurable fields of a ServerSetBootVolumeSpec.

func (*ServerSetBootVolumeSpec) DeepCopy added in v1.1.0

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

func (*ServerSetBootVolumeSpec) DeepCopyInto added in v1.1.0

func (in *ServerSetBootVolumeSpec) DeepCopyInto(out *ServerSetBootVolumeSpec)

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

type ServerSetList added in v1.1.0

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

ServerSetList contains a list of ServerSet

func (*ServerSetList) DeepCopy added in v1.1.0

func (in *ServerSetList) DeepCopy() *ServerSetList

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

func (*ServerSetList) DeepCopyInto added in v1.1.0

func (in *ServerSetList) DeepCopyInto(out *ServerSetList)

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

func (*ServerSetList) DeepCopyObject added in v1.1.0

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

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

func (*ServerSetList) GetItems added in v1.1.0

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

GetItems of this ServerSetList.

type ServerSetMetadata added in v1.1.0

type ServerSetMetadata struct {
	// Name of the Server. Replica index and version are appended to the name. Resulting name will be in format: {name}-{replicaIndex}-{version}
	// Version increases if the Server is re-created due to an immutable field changing. E.g. if the bootvolume type or image are changed and the strategy is createAllBeforeDestroy, the Server is re-created and the version is increased.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?"
	// +kubebuilder:validation:MaxLength=55
	Name string `json:"name"`
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
}

ServerSetMetadata are the configurable fields of a ServerSetMetadata.

func (*ServerSetMetadata) DeepCopy added in v1.1.0

func (in *ServerSetMetadata) DeepCopy() *ServerSetMetadata

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

func (*ServerSetMetadata) DeepCopyInto added in v1.1.0

func (in *ServerSetMetadata) DeepCopyInto(out *ServerSetMetadata)

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

type ServerSetObservation added in v1.1.0

type ServerSetObservation struct {
	// Replicas is the count of ready replicas.
	Replicas        int                      `json:"replicas,omitempty"`
	ReplicaStatuses []ServerSetReplicaStatus `json:"replicaStatus,omitempty"`
}

ServerSetObservation are the observable fields of a ServerSet.

func (*ServerSetObservation) DeepCopy added in v1.1.0

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

func (*ServerSetObservation) DeepCopyInto added in v1.1.0

func (in *ServerSetObservation) DeepCopyInto(out *ServerSetObservation)

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

type ServerSetParameters added in v1.1.0

type ServerSetParameters struct {
	// The number of servers that will be created. Cannot be decreased once set, only increased.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	Replicas int `json:"replicas"`
	// DatacenterConfig contains information about the datacenter resource
	// on which the server will be created.
	//
	// +kubebuilder:validation:Required
	DatacenterCfg DatacenterConfig `json:"datacenterConfig"`

	Template           ServerSetTemplate  `json:"template"`
	BootVolumeTemplate BootVolumeTemplate `json:"bootVolumeTemplate"`
	// IdentityConfigMap is the configMap from which the identity of the ACTIVE server in the ServerSet is read. The configMap
	// should be created separately. The serverset only reads the status from it. If it does not find it, it sets
	//	// the first server as the ACTIVE.
	IdentityConfigMap IdentityConfigMap `json:"identityConfigMap,omitempty"`
}

ServerSetParameters are the configurable fields of a ServerSet.

func (*ServerSetParameters) DeepCopy added in v1.1.0

func (in *ServerSetParameters) DeepCopy() *ServerSetParameters

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

func (*ServerSetParameters) DeepCopyInto added in v1.1.0

func (in *ServerSetParameters) DeepCopyInto(out *ServerSetParameters)

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

type ServerSetReplicaStatus added in v1.1.0

type ServerSetReplicaStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	// +kubebuilder:validation:Enum=ACTIVE;PASSIVE
	Role         Role        `json:"role"`
	Name         string      `json:"name"`
	ReplicaIndex int         `json:"replicaIndex"`
	NICStatuses  []NicStatus `json:"nicStatus,omitempty"`
	// +kubebuilder:validation:Enum=UNKNOWN;READY;ERROR;BUSY
	Status string `json:"status"`
	// ErrorMessage relayed from the backend.
	ErrorMessage string      `json:"errorMessage,omitempty"`
	LastModified metav1.Time `json:"lastModified,omitempty"`
}

ServerSetReplicaStatus contains the status of a Server Replica.

func (*ServerSetReplicaStatus) DeepCopy added in v1.1.0

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

func (*ServerSetReplicaStatus) DeepCopyInto added in v1.1.0

func (in *ServerSetReplicaStatus) DeepCopyInto(out *ServerSetReplicaStatus)

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

type ServerSetSpec added in v1.1.0

type ServerSetSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       ServerSetParameters `json:"forProvider"`
}

A ServerSetSpec defines the desired state of a ServerSet.

func (*ServerSetSpec) DeepCopy added in v1.1.0

func (in *ServerSetSpec) DeepCopy() *ServerSetSpec

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

func (*ServerSetSpec) DeepCopyInto added in v1.1.0

func (in *ServerSetSpec) DeepCopyInto(out *ServerSetSpec)

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

type ServerSetStatus added in v1.1.0

type ServerSetStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          ServerSetObservation `json:"atProvider,omitempty"`
}

A ServerSetStatus represents the observed state of a ServerSet.

func (*ServerSetStatus) DeepCopy added in v1.1.0

func (in *ServerSetStatus) DeepCopy() *ServerSetStatus

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

func (*ServerSetStatus) DeepCopyInto added in v1.1.0

func (in *ServerSetStatus) DeepCopyInto(out *ServerSetStatus)

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

type ServerSetTemplate added in v1.1.0

type ServerSetTemplate struct {
	// +kubebuilder:validation:Required
	Metadata ServerSetMetadata `json:"metadata"`
	// +kubebuilder:validation:Required
	Spec ServerSetTemplateSpec `json:"spec"`
}

ServerSetTemplate are the configurable fields of a ServerSetTemplate.

func (*ServerSetTemplate) DeepCopy added in v1.1.0

func (in *ServerSetTemplate) DeepCopy() *ServerSetTemplate

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

func (*ServerSetTemplate) DeepCopyInto added in v1.1.0

func (in *ServerSetTemplate) DeepCopyInto(out *ServerSetTemplate)

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

type ServerSetTemplateNIC added in v1.1.0

type ServerSetTemplateNIC struct {
	// Name of the NIC. Replica index, NIC index, and version are appended to the name. Resulting name will be in format: {name}-{replicaIndex}-{nicIndex}-{version}.
	// Version increases if the NIC is re-created due to an immutable field changing. E.g. if the bootvolume type or image are changed and the strategy is createAllBeforeDestroy, the NIC is re-created and the version is increased.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?"
	// +kubebuilder:validation:MaxLength=50
	Name string `json:"name"`
	// +kubebuilder:validation:Required
	DHCP bool `json:"dhcp"`
	// +kubebuilder:validation:Optional
	DHCPv6 *bool `json:"dhcpv6"`
	// +kubebuilder:validation:Optional
	VNetID string `json:"vnetId,omitempty"`
	// The Referenced LAN must be created before the ServerSet is applied
	//
	// +kubebuilder:validation:Required
	LanReference string `json:"lanReference"`
}

ServerSetTemplateNIC are the configurable fields of a ServerSetTemplateNIC. +kubebuilder:validation:XValidation:rule="!has(self.dhcpv6) || (self.dhcp == false && self.dhcpv6 == false) || (self.dhcp != self.dhcpv6)", message="Only one of 'dhcp' or 'dhcpv6' can be set to true"

func (*ServerSetTemplateNIC) DeepCopy added in v1.1.0

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

func (*ServerSetTemplateNIC) DeepCopyInto added in v1.1.0

func (in *ServerSetTemplateNIC) DeepCopyInto(out *ServerSetTemplateNIC)

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

type ServerSetTemplateSpec added in v1.1.0

type ServerSetTemplateSpec struct {
	// 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.
	//
	// +immutable
	// +kubebuilder:validation:Enum=AMD_OPTERON;INTEL_SKYLAKE;INTEL_XEON
	CPUFamily string `json:"cpuFamily,omitempty"`
	// The total number of cores for the server.
	//
	// +kubebuilder:validation:Required
	Cores int32 `json:"cores"`
	// The memory size for the server in MB, such as 2048. Size must be specified in multiples of 256 MB with a minimum of 256 MB.
	// however, if you set ramHotPlug to TRUE then you must use a minimum of 1024 MB. If you set the RAM size more than 240GB,
	// then ramHotPlug will be set to FALSE and can not be set to TRUE unless RAM size not set to less than 240GB.
	//
	// +kubebuilder:validation:MultipleOf=1024
	// +kubebuilder:validation:Required
	RAM int32 `json:"ram"`
	// NICs are the network interfaces of the server.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	NICs []ServerSetTemplateNIC `json:"nics"`
}

ServerSetTemplateSpec are the configurable fields of a ServerSetTemplateSpec.

func (*ServerSetTemplateSpec) DeepCopy added in v1.1.0

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

func (*ServerSetTemplateSpec) DeepCopyInto added in v1.1.0

func (in *ServerSetTemplateSpec) DeepCopyInto(out *ServerSetTemplateSpec)

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

type ServerSpec

type ServerSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       ServerParameters `json:"forProvider"`
}

A ServerSpec defines the desired state of a 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 {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          ServerObservation `json:"atProvider,omitempty"`
}

A ServerStatus represents the observed state of a 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 StatefulServerSet added in v1.1.0

type StatefulServerSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   StatefulServerSetSpec   `json:"spec"`
	Status StatefulServerSetStatus `json:"status,omitempty"`
}

A StatefulServerSet is a an API type that represents a set of servers with data Volumes attached in the Ionos Cloud. The number of resources created is defined by the replicas field. This includes the servers, boot volume, data volumes NICs and LANs configured in the template. It will also create a volumeselector which attaches data Volumes to the servers. Unlike a K8s StatefulSet, a StatefulServerSet does not keep the data Volumes in sync. The information on the active replica is `NOT` propagated to the passives. Each sub-resource created(server, bootvolume, datavolume, nic) will have it's own CR that can be observed using kubectl. The SSSet reads the active(master) identity from a configMap that needs to be named `config-lease`. If the configMap is not found, the master will be the first server created. +kubebuilder:printcolumn:name="Datacenter ID",type="string",JSONPath=".spec.forProvider.datacenterConfig.datacenterId" +kubebuilder:printcolumn:name="REPLICAS",type="integer",JSONPath=".status.atProvider.replicas" +kubebuilder:printcolumn:name="servers",priority=1,type="string",JSONPath=".status.atProvider.replicaStatuses" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud},shortName=sss;ssset +kubebuilder:subresource:scale:specpath=.spec.forProvider.replicas,statuspath=.status.atProvider.replicas,selectorpath=.status.selector

func (*StatefulServerSet) DeepCopy added in v1.1.0

func (in *StatefulServerSet) DeepCopy() *StatefulServerSet

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

func (*StatefulServerSet) DeepCopyInto added in v1.1.0

func (in *StatefulServerSet) DeepCopyInto(out *StatefulServerSet)

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

func (*StatefulServerSet) DeepCopyObject added in v1.1.0

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

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

func (*StatefulServerSet) GetCondition added in v1.1.0

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

GetCondition of this StatefulServerSet.

func (*StatefulServerSet) GetDeletionPolicy added in v1.1.0

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

GetDeletionPolicy of this StatefulServerSet.

func (*StatefulServerSet) GetManagementPolicies added in v1.1.0

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

GetManagementPolicies of this StatefulServerSet.

func (*StatefulServerSet) GetProviderConfigReference added in v1.1.0

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

GetProviderConfigReference of this StatefulServerSet.

func (*StatefulServerSet) GetPublishConnectionDetailsTo added in v1.1.0

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

GetPublishConnectionDetailsTo of this StatefulServerSet.

func (*StatefulServerSet) GetWriteConnectionSecretToReference added in v1.1.0

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

GetWriteConnectionSecretToReference of this StatefulServerSet.

func (*StatefulServerSet) ResolveReferences added in v1.1.0

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

ResolveReferences of this StatefulServerSet.

func (*StatefulServerSet) SetConditions added in v1.1.0

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

SetConditions of this StatefulServerSet.

func (*StatefulServerSet) SetDeletionPolicy added in v1.1.0

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

SetDeletionPolicy of this StatefulServerSet.

func (*StatefulServerSet) SetManagementPolicies added in v1.1.0

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

SetManagementPolicies of this StatefulServerSet.

func (*StatefulServerSet) SetProviderConfigReference added in v1.1.0

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

SetProviderConfigReference of this StatefulServerSet.

func (*StatefulServerSet) SetPublishConnectionDetailsTo added in v1.1.0

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

SetPublishConnectionDetailsTo of this StatefulServerSet.

func (*StatefulServerSet) SetWriteConnectionSecretToReference added in v1.1.0

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

SetWriteConnectionSecretToReference of this StatefulServerSet.

type StatefulServerSetLan added in v1.1.0

type StatefulServerSetLan struct {
	Metadata StatefulServerSetLanMetadata `json:"metadata"`
	Spec     StatefulServerSetLanSpec     `json:"spec"`
}

StatefulServerSetLan are the configurable fields of a StatefulServerSetLan.

func (*StatefulServerSetLan) DeepCopy added in v1.1.0

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

func (*StatefulServerSetLan) DeepCopyInto added in v1.1.0

func (in *StatefulServerSetLan) DeepCopyInto(out *StatefulServerSetLan)

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

type StatefulServerSetLanMetadata added in v1.1.0

type StatefulServerSetLanMetadata struct {
	// Name from which the LAN name will be generated. Index will be appended. Resulting name will be in format: {name}-{replicaIndex}
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?"
	// +kubebuilder:validation:MaxLength=55
	// +immutable
	Name string `json:"name"`
	// +kubebuilder:validation:Optional
	Labels map[string]string `json:"labels,omitempty"`
}

StatefulServerSetLanMetadata are the configurable fields of a StatefulServerSetLanMetadata.

func (*StatefulServerSetLanMetadata) DeepCopy added in v1.1.0

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

func (*StatefulServerSetLanMetadata) DeepCopyInto added in v1.1.0

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

type StatefulServerSetLanSpec added in v1.1.0

type StatefulServerSetLanSpec struct {
	// +kubebuilder:validation:Optional
	IPv6cidr string `json:"ipv6cidr"`
	// +kubebuilder:validation:Optional
	Public bool `json:"public"`
}

StatefulServerSetLanSpec are the configurable fields of a StatefulServerSetLanSpec.

func (*StatefulServerSetLanSpec) DeepCopy added in v1.1.0

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

func (*StatefulServerSetLanSpec) DeepCopyInto added in v1.1.0

func (in *StatefulServerSetLanSpec) DeepCopyInto(out *StatefulServerSetLanSpec)

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

type StatefulServerSetLanStatus added in v1.1.0

type StatefulServerSetLanStatus struct {
	LanStatus     `json:",inline"`
	IPv6CIDRBlock string `json:"ipv6CidrBlock,omitempty"`
}

StatefulServerSetLanStatus contains the status of a LAN.

func (*StatefulServerSetLanStatus) DeepCopy added in v1.1.0

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

func (*StatefulServerSetLanStatus) DeepCopyInto added in v1.1.0

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

type StatefulServerSetList added in v1.1.0

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

StatefulServerSetList contains a list of StatefulServerSet

func (*StatefulServerSetList) DeepCopy added in v1.1.0

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

func (*StatefulServerSetList) DeepCopyInto added in v1.1.0

func (in *StatefulServerSetList) DeepCopyInto(out *StatefulServerSetList)

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

func (*StatefulServerSetList) DeepCopyObject added in v1.1.0

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

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

func (*StatefulServerSetList) GetItems added in v1.1.0

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

GetItems of this StatefulServerSetList.

type StatefulServerSetObservation added in v1.1.0

type StatefulServerSetObservation struct {
	xpv1.ResourceStatus `json:",inline"`
	// Replicas is the count of ready replicas.
	Replicas           int                             `json:"replicas,omitempty"`
	ReplicaStatuses    []ServerSetReplicaStatus        `json:"replicaStatuses,omitempty"`
	DataVolumeStatuses []StatefulServerSetVolumeStatus `json:"dataVolumeStatuses,omitempty"`
	LanStatuses        []StatefulServerSetLanStatus    `json:"lanStatuses,omitempty"`
}

StatefulServerSetObservation are the observable fields of a StatefulServerSet.

func (*StatefulServerSetObservation) DeepCopy added in v1.1.0

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

func (*StatefulServerSetObservation) DeepCopyInto added in v1.1.0

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

type StatefulServerSetParameters added in v1.1.0

type StatefulServerSetParameters struct {
	// The number of servers that will be created. Cannot be decreased once set, only increased. Has a minimum of 1.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:XValidation:rule="self >= oldSelf", message="Replicas can only be increased"
	Replicas           int                `json:"replicas"`
	DeploymentStrategy DeploymentStrategy `json:"deploymentStrategy"`
	// DatacenterConfig contains information about the datacenter resource
	// on which the server will be created.
	//
	// +kubebuilder:validation:Required
	DatacenterCfg      DatacenterConfig          `json:"datacenterConfig"`
	Template           ServerSetTemplate         `json:"template"`
	BootVolumeTemplate BootVolumeTemplate        `json:"bootVolumeTemplate"`
	Lans               []StatefulServerSetLan    `json:"lans"`
	Volumes            []StatefulServerSetVolume `json:"volumes"`
	// IdentityConfigMap is the configMap from which the identity of the ACTIVE server in the ServerSet is read. The configMap
	// should be created separately. The stateful serverset only reads the status from it. If it does not find it, it sets
	// the first server as the ACTIVE.
	IdentityConfigMap IdentityConfigMap `json:"identityConfigMap,omitempty"`
}

StatefulServerSetParameters are the configurable fields of a StatefulServerSet.

func (*StatefulServerSetParameters) DeepCopy added in v1.1.0

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

func (*StatefulServerSetParameters) DeepCopyInto added in v1.1.0

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

type StatefulServerSetSpec added in v1.1.0

type StatefulServerSetSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       StatefulServerSetParameters `json:"forProvider"`
}

A StatefulServerSetSpec defines the desired state of a StatefulServerSet.

func (*StatefulServerSetSpec) DeepCopy added in v1.1.0

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

func (*StatefulServerSetSpec) DeepCopyInto added in v1.1.0

func (in *StatefulServerSetSpec) DeepCopyInto(out *StatefulServerSetSpec)

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

type StatefulServerSetStatus added in v1.1.0

type StatefulServerSetStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          StatefulServerSetObservation `json:"atProvider,omitempty"`
}

A StatefulServerSetStatus represents the observed state of a StatefulServerSet.

func (*StatefulServerSetStatus) DeepCopy added in v1.1.0

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

func (*StatefulServerSetStatus) DeepCopyInto added in v1.1.0

func (in *StatefulServerSetStatus) DeepCopyInto(out *StatefulServerSetStatus)

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

type StatefulServerSetVolume added in v1.1.0

type StatefulServerSetVolume struct {
	Metadata StatefulServerSetVolumeMetadata `json:"metadata"`
	Spec     StatefulServerSetVolumeSpec     `json:"spec"`
}

StatefulServerSetVolume are the configurable fields of a StatefulServerSetVolume.

func (*StatefulServerSetVolume) DeepCopy added in v1.1.0

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

func (*StatefulServerSetVolume) DeepCopyInto added in v1.1.0

func (in *StatefulServerSetVolume) DeepCopyInto(out *StatefulServerSetVolume)

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

type StatefulServerSetVolumeMetadata added in v1.1.0

type StatefulServerSetVolumeMetadata struct {
	// Name from which the Volume name will be generated. Replica index will be appended. Resulting name will be in format: {name}-{replicaIndex}-{version}
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?"
	// +kubebuilder:validation:MaxLength=55
	Name string `json:"name"`
	// +kubebuilder:validation:Optional
	Labels map[string]string `json:"labels,omitempty"`
}

StatefulServerSetVolumeMetadata are the configurable fields of a StatefulServerSetVolumeMetadata.

func (*StatefulServerSetVolumeMetadata) DeepCopy added in v1.1.0

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

func (*StatefulServerSetVolumeMetadata) DeepCopyInto added in v1.1.0

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

type StatefulServerSetVolumeSpec added in v1.1.0

type StatefulServerSetVolumeSpec struct {
	// The public image UUID or a public image alias.
	//
	// +kubebuilder:validation:Optional
	Image string `json:"image,omitempty"`
	// The size of the volume in GB. Disk size can only be increased.
	//
	// +kubebuilder:validation:Required
	Size float32 `json:"size"`
	// Hardware type of the volume. E.g: HDD;SSD;SSD Standard;SSD Premium
	//
	// +immutable
	// +kubebuilder:validation:Enum=HDD;SSD;SSD Standard;SSD Premium
	// +kubebuilder:validation:Required
	// +kubebuilder:example=SSD
	Type string `json:"type"`
	// The cloud init configuration in base64 encoding.
	UserData string `json:"userData,omitempty"`
}

StatefulServerSetVolumeSpec are the configurable fields of a StatefulServerSetVolumeSpec.

func (*StatefulServerSetVolumeSpec) DeepCopy added in v1.1.0

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

func (*StatefulServerSetVolumeSpec) DeepCopyInto added in v1.1.0

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

type StatefulServerSetVolumeStatus added in v1.1.0

type StatefulServerSetVolumeStatus struct {
	VolumeStatus `json:",inline"`
	ReplicaIndex int `json:"replicaIndex"`
}

StatefulServerSetVolumeStatus contains the status of a Volume.

func (*StatefulServerSetVolumeStatus) DeepCopy added in v1.1.0

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

func (*StatefulServerSetVolumeStatus) DeepCopyInto added in v1.1.0

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

type Substitution added in v1.1.0

type Substitution struct {
	// The type of the handler that will be used for this substitution. The handler will
	// be responsible for computing the value we put in place of te key
	// +kubebuilder:validation:Required
	// +immutable
	// +kubebuilder:validation:Enum=ipv4Address;ipv6Address
	Type string `json:"type" yaml:"type"`
	// The key that will be replaced by the value computed by the handler
	// +kubebuilder:validation:Required
	// +immutable
	Key string `json:"key" yaml:"key"`
	// The value is unique across multiple ServerSets
	// +immutable
	Unique bool `json:"unique" yaml:"unique"`
	// The options for the handler. For example, for ipv4Address and ipv6Address handlers, we need to specify cidr as an option
	Options map[string]string `json:"options" yaml:"options"`
}

Substitution defines the substitution configuration. Can be used to replace a key in the cloud-init userdata field with a value computed by a handler given in the options field. Example: substitutions:

  • type: ipv4Address key: $keyToReplace unique: true options: cidr: "10.0.0.0/24"

func (*Substitution) DeepCopy added in v1.1.0

func (in *Substitution) DeepCopy() *Substitution

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

func (*Substitution) DeepCopyInto added in v1.1.0

func (in *Substitution) DeepCopyInto(out *Substitution)

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

type Template

type Template struct {
	// The name of the Template from IONOS Cloud.
	//
	// +kubebuilder:validation:XValidation:rule="self == oldSelf", message="Template name is immutable"
	Name string `json:"name,omitempty"`
	// The ID of the Template from IONOS Cloud.
	//
	// +kubebuilder:validation:Format=uuid
	TemplateID string `json:"templateId,omitempty"`
}

Template refers to the Template used for Cube Servers.

func (*Template) DeepCopy

func (in *Template) DeepCopy() *Template

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

func (*Template) DeepCopyInto

func (in *Template) DeepCopyInto(out *Template)

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

type UpdateStrategy added in v1.1.0

type UpdateStrategy struct {
	// +kubebuilder:validation:Enum=createAllBeforeDestroy;createBeforeDestroyBootVolume
	// +kubebuilder:default=createBeforeDestroyBootVolume
	Stype UpdateStrategyType `json:"type"`
}

UpdateStrategy is the update strategy for the boot volume.

func (*UpdateStrategy) DeepCopy added in v1.1.0

func (in *UpdateStrategy) DeepCopy() *UpdateStrategy

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

func (*UpdateStrategy) DeepCopyInto added in v1.1.0

func (in *UpdateStrategy) DeepCopyInto(out *UpdateStrategy)

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

type UpdateStrategyType added in v1.1.0

type UpdateStrategyType string

UpdateStrategyType is the type of the update strategy for the boot volume.

const (
	// CreateAllBeforeDestroy creates server, boot volume, and NIC before destroying the old ones.
	CreateAllBeforeDestroy UpdateStrategyType = "createAllBeforeDestroy"
	// CreateBeforeDestroyBootVolume creates boot volume before destroying the old one.
	CreateBeforeDestroyBootVolume = "createBeforeDestroyBootVolume"
)

type User added in v1.0.9

type User struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   UserSpec   `json:"spec"`
	Status UserStatus `json:"status,omitempty"`
}

User is our managed resource. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="USER_ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="ACTIVE",type="string",JSONPath=".status.atProvider.active" +kubebuilder:printcolumn:name="EMAIL",type="string",JSONPath=".spec.forProvider.email" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud}

func (*User) DeepCopy added in v1.0.9

func (in *User) DeepCopy() *User

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

func (*User) DeepCopyInto added in v1.0.9

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 added in v1.0.9

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

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

func (*User) GetCondition added in v1.0.9

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

GetCondition of this User.

func (*User) GetDeletionPolicy added in v1.0.9

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

GetDeletionPolicy of this User.

func (*User) GetManagementPolicies added in v1.0.9

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

GetManagementPolicies of this User.

func (*User) GetProviderConfigReference added in v1.0.9

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

GetProviderConfigReference of this User.

func (*User) GetPublishConnectionDetailsTo added in v1.0.9

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

GetPublishConnectionDetailsTo of this User.

func (*User) GetWriteConnectionSecretToReference added in v1.0.9

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

GetWriteConnectionSecretToReference of this User.

func (*User) SetConditions added in v1.0.9

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

SetConditions of this User.

func (*User) SetDeletionPolicy added in v1.0.9

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

SetDeletionPolicy of this User.

func (*User) SetManagementPolicies added in v1.0.9

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

SetManagementPolicies of this User.

func (*User) SetProviderConfigReference added in v1.0.9

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

SetProviderConfigReference of this User.

func (*User) SetPublishConnectionDetailsTo added in v1.0.9

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

SetPublishConnectionDetailsTo of this User.

func (*User) SetWriteConnectionSecretToReference added in v1.0.9

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

SetWriteConnectionSecretToReference of this User.

type UserConfig added in v1.0.10

type UserConfig struct {
	// UserID is the ID of the User on which the resource should have access.
	// It needs to be provided directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/compute/v1alpha1.User
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/compute/v1alpha1.ExtractUserID()
	UserID string `json:"userId,omitempty"`
	// UserIDRef references to a User to retrieve its ID.
	//
	// +optional
	// +immutable
	UserIDRef *xpv1.Reference `json:"userIdRef,omitempty"`
	// UserIDSelector selects reference to a User to retrieve its UserID.
	//
	// +optional
	UserIDSelector *xpv1.Selector `json:"userIdSelector,omitempty"`
}

UserConfig is used by resources that need to link Users via id or via reference.

func (*UserConfig) DeepCopy added in v1.0.10

func (in *UserConfig) DeepCopy() *UserConfig

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

func (*UserConfig) DeepCopyInto added in v1.0.10

func (in *UserConfig) DeepCopyInto(out *UserConfig)

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

type UserList added in v1.0.9

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

UserList contains a list of User

func (*UserList) DeepCopy added in v1.0.9

func (in *UserList) DeepCopy() *UserList

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

func (*UserList) DeepCopyInto added in v1.0.9

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 added in v1.0.9

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

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

func (*UserList) GetItems added in v1.0.9

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

GetItems of this UserList.

type UserObservation added in v1.0.9

type UserObservation struct {
	// UserID is the user id.
	// +kubebuilder:validation:Format=uuid
	UserID string `json:"userID,omitempty"`
	// S3CanonicalUserID Canonical (S3) id of the user for a given identity.
	S3CanonicalUserID string `json:"s3CanonicalUserID,omitempty"`
	// Active Indicates if the user is active.
	Active bool `json:"active"`
	// SecAuthActive Indicates if secure authentication is active for the user or not.
	SecAuthActive bool `json:"secAuthActive"`
	// GroupIDs that this user will be a member of
	GroupIDs []string `json:"groupIDs,omitempty"`
}

UserObservation are the observable fields of a User.

func (*UserObservation) DeepCopy added in v1.0.9

func (in *UserObservation) DeepCopy() *UserObservation

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

func (*UserObservation) DeepCopyInto added in v1.0.9

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 added in v1.0.9

type UserParameters struct {
	// Administrator The group has permission to edit privileges on this resource.
	//
	// +kubebuilder:validation:Required
	Administrator bool `json:"administrator"`
	// Email An e-mail address for the user.
	//
	// +kubebuilder:validation:Required
	Email string `json:"email"`
	// FirstName A first name for the user.
	//
	// +kubebuilder:validation:Required
	FirstName string `json:"firstName"`
	// ForceSecAuth Indicates if secure (two-factor) authentication should be enabled for the user (true) or not (false).
	//
	// +kubebuilder:validation:Required
	ForceSecAuth bool `json:"forceSecAuth"`
	// LastName A last name for the user.
	//
	// +kubebuilder:validation:Required
	LastName string `json:"lastName"`
	// Password A password for the user.
	//
	// +kubebuilder:validation:Required
	Password string `json:"password"`
	// SecAuthActive Indicates if secure authentication is active for the user or not.
	// It can not be used in create requests - can be used in update. Default: false.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=false
	SecAuthActive bool `json:"secAuthActive"`
	// Active Indicates if the user is active. Default: true.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:default=true
	Active bool `json:"active"`
	// GroupIDs that this user will be a member of.
	// NOTE: It is recommended to manage group membership through the group CRD as it offers more flexibility.
	//
	// +kubebuilder:validation:Optional
	GroupIDs []string `json:"groupIDs"`
}

UserParameters defines the desired state of a User. Required values when creating a User: Administrator Email FirstName ForceSecAuth LastName Password

func (*UserParameters) DeepCopy added in v1.0.9

func (in *UserParameters) DeepCopy() *UserParameters

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

func (*UserParameters) DeepCopyInto added in v1.0.9

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 added in v1.0.9

type UserSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       UserParameters `json:"forProvider"`
}

A UserSpec defines the desired state of a User.

func (*UserSpec) DeepCopy added in v1.0.9

func (in *UserSpec) DeepCopy() *UserSpec

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

func (*UserSpec) DeepCopyInto added in v1.0.9

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 added in v1.0.9

type UserStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          UserObservation `json:"atProvider,omitempty"`
}

A UserStatus represents the observed state of a User.

func (*UserStatus) DeepCopy added in v1.0.9

func (in *UserStatus) DeepCopy() *UserStatus

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

func (*UserStatus) DeepCopyInto added in v1.0.9

func (in *UserStatus) DeepCopyInto(out *UserStatus)

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"`

	Spec   VolumeSpec   `json:"spec"`
	Status VolumeStatus `json:"status,omitempty"`
}

A Volume is an example API type. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="DATACENTER ID",type="string",JSONPath=".spec.forProvider.datacenterConfig.datacenterId" +kubebuilder:printcolumn:name="VOLUME ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="VOLUME NAME",priority=1,type="string",JSONPath=".spec.forProvider.name" +kubebuilder:printcolumn:name="TYPE",priority=1,type="string",JSONPath=".spec.forProvider.type" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.atProvider.state" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="PCISlot",type="string",JSONPath=".status.atProvider.pciSlot" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud},shortName=vol

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) GetDeletionPolicy

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

GetDeletionPolicy of this Volume.

func (*Volume) GetManagementPolicies added in v1.0.6

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

GetManagementPolicies of this Volume.

func (*Volume) GetProviderConfigReference

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

GetProviderConfigReference of this Volume.

func (*Volume) GetPublishConnectionDetailsTo added in v1.0.2

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

GetPublishConnectionDetailsTo of this Volume.

func (*Volume) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Volume.

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 added in v1.0.6

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

SetManagementPolicies of this Volume.

func (*Volume) SetProviderConfigReference

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

SetProviderConfigReference of this Volume.

func (*Volume) SetPublishConnectionDetailsTo added in v1.0.2

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 VolumeConfig

type VolumeConfig struct {
	// VolumeID is the ID of the Volume.
	// It needs to be provided via directly or via reference.
	//
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=Volume
	// +crossplane:generate:reference:extractor=ExtractVolumeID()
	VolumeID string `json:"volumeId,omitempty"`
	// VolumeIDRef references to a Volume to retrieve its ID.
	//
	// +optional
	VolumeIDRef *xpv1.Reference `json:"volumeIdRef,omitempty"`
	// VolumeIDSelector selects reference to a Volume to retrieve its VolumeID.
	//
	// +optional
	VolumeIDSelector *xpv1.Selector `json:"volumeIdSelector,omitempty"`
}

VolumeConfig is used by resources that need to link volumes via id or via reference.

func (*VolumeConfig) DeepCopy

func (in *VolumeConfig) DeepCopy() *VolumeConfig

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

func (*VolumeConfig) DeepCopyInto

func (in *VolumeConfig) DeepCopyInto(out *VolumeConfig)

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 Volume

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 {
	VolumeID string `json:"volumeId,omitempty"`
	State    string `json:"state,omitempty"`
	PCISlot  int32  `json:"pciSlot,omitempty"`
	Name     string `json:"name,omitempty"`
}

VolumeObservation are the observable fields of a Volume.

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 VolumeParameters

type VolumeParameters struct {
	// DatacenterConfig contains information about the datacenter resource
	// on which the server will be created.
	//
	// +kubebuilder:validation:Required
	DatacenterCfg DatacenterConfig `json:"datacenterConfig"`
	// The name of the  resource.
	Name string `json:"name,omitempty"`
	// Hardware type of the volume.
	// DAS (Direct Attached Storage) could be used only in a composite call with a Cube server.
	//
	// +immutable
	// +kubebuilder:validation:Enum=HDD;SSD;SSD Standard;SSD Premium;DAS;ISO
	// +kubebuilder:validation:Required
	Type string `json:"type"`
	// The size of the volume in GB.
	//
	// +kubebuilder:validation:Required
	Size float32 `json:"size"`
	// The availability zone in which the volume should be provisioned.
	// The storage volume will be provisioned on as few physical storage devices as possible, but this cannot be guaranteed upfront.
	// This is unavailable for DAS (Direct Attached Storage), and subject to availability for SSD.
	//
	// +kubebuilder:validation:Enum=AUTO;ZONE_1;ZONE_2;ZONE_3
	AvailabilityZone string `json:"availabilityZone,omitempty"`
	// Image or snapshot ID to be used as template for this volume.
	// Make sure the image selected is compatible with the datacenter's location.
	// Note: when creating a volume, set image, image alias, or licence type
	//
	// +immutable
	Image string `json:"image,omitempty"`
	// Initial password to be set for installed OS. Works with public images only. Not modifiable, forbidden in update requests.
	// Password rules allows all characters from a-z, A-Z, 0-9.
	//
	// +immutable
	ImagePassword string `json:"imagePassword,omitempty"`
	// Image Alias to be used for this volume.
	// Note: when creating a volume - set image, image alias, or licence type.
	//
	// +immutable
	ImageAlias string `json:"imageAlias,omitempty"`
	// 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.
	//
	// +immutable
	SSHKeys []string `json:"sshKeys,omitempty"`
	// The bus type of the volume.
	//
	// +kubebuilder:validation:Enum=VIRTIO;IDE;UNKNOWN
	// +kubebuilder:default=VIRTIO
	Bus string `json:"bus,omitempty"`
	// OS type for this volume.
	// Note: when creating a volume - set image, image alias, or licence type.
	//
	// +immutable
	// +kubebuilder:validation:Enum=UNKNOWN;WINDOWS;WINDOWS2016;WINDOWS2022;LINUX;OTHER
	LicenceType string `json:"licenceType,omitempty"`
	// Hot-plug capable CPU (no reboot required).
	CPUHotPlug bool `json:"cpuHotPlug,omitempty"`
	// Hot-plug capable RAM (no reboot required).
	RAMHotPlug bool `json:"ramHotPlug,omitempty"`
	// Hot-plug capable NIC (no reboot required).
	NicHotPlug bool `json:"nicHotPlug,omitempty"`
	// Hot-unplug capable NIC (no reboot required).
	NicHotUnplug bool `json:"nicHotUnplug,omitempty"`
	// Hot-plug capable Virt-IO drive (no reboot required).
	DiscVirtioHotPlug bool `json:"discVirtioHotPlug,omitempty"`
	// Hot-unplug capable Virt-IO drive (no reboot required). Not supported with Windows VMs.
	DiscVirtioHotUnplug bool `json:"discVirtioHotUnplug,omitempty"`
	// BackupUnitCfg contains information about the backup unit resource
	// that the user has access to.
	// The property is immutable and is only allowed to be set on creation of a new a volume.
	// It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
	//
	// +immutable
	BackupUnitCfg BackupUnitConfig `json:"backupUnitConfig,omitempty"`
	// The cloud-init configuration for the volume as base64 encoded string.
	// The property is immutable and is only allowed to be set on creation of a new a volume.
	// It is mandatory to provide either 'public image' or 'imageAlias' that has cloud-init compatibility in conjunction with this property.
	//
	// +immutable
	UserData string `json:"userData,omitempty"`
}

VolumeParameters are the observable fields of a Volume. Required values when creating a Volume: Datacenter ID or Reference, Size, Type, Licence Type, Image ID or Image Alias. Note: when using images, it is recommended to use SSH Keys or Image Password.

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 VolumeSelectorParameters added in v1.1.0

type VolumeSelectorParameters struct {
	// The number of servers that will be created.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	Replicas int `json:"replicas"`
	// Name of the serverset on which the volume and server will be
	//
	// +kubebuilder:validation:Required
	ServersetName string `json:"serversetName"`
}

VolumeSelectorParameters are the configurable fields of a Volume.

func (*VolumeSelectorParameters) DeepCopy added in v1.1.0

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

func (*VolumeSelectorParameters) DeepCopyInto added in v1.1.0

func (in *VolumeSelectorParameters) DeepCopyInto(out *VolumeSelectorParameters)

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

type VolumeSpec

type VolumeSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       VolumeParameters `json:"forProvider"`
}

A VolumeSpec defines the desired state of a 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 {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          VolumeObservation `json:"atProvider,omitempty"`
}

A VolumeStatus represents the observed state of a 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.

type Volumeselector added in v1.1.0

type Volumeselector struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   VolumeselectorSpec   `json:"spec"`
	Status VolumeselectorStatus `json:"status,omitempty"`
}

Volumeselector is a managed resource that represents a Volumeselector +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud},shortName=vs;volsel

func (*Volumeselector) DeepCopy added in v1.1.0

func (in *Volumeselector) DeepCopy() *Volumeselector

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

func (*Volumeselector) DeepCopyInto added in v1.1.0

func (in *Volumeselector) DeepCopyInto(out *Volumeselector)

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

func (*Volumeselector) DeepCopyObject added in v1.1.0

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

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

func (*Volumeselector) GetCondition added in v1.1.0

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

GetCondition of this Volumeselector.

func (*Volumeselector) GetDeletionPolicy added in v1.1.0

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

GetDeletionPolicy of this Volumeselector.

func (*Volumeselector) GetManagementPolicies added in v1.1.0

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

GetManagementPolicies of this Volumeselector.

func (*Volumeselector) GetProviderConfigReference added in v1.1.0

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

GetProviderConfigReference of this Volumeselector.

func (*Volumeselector) GetPublishConnectionDetailsTo added in v1.1.0

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

GetPublishConnectionDetailsTo of this Volumeselector.

func (*Volumeselector) GetWriteConnectionSecretToReference added in v1.1.0

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

GetWriteConnectionSecretToReference of this Volumeselector.

func (*Volumeselector) SetConditions added in v1.1.0

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

SetConditions of this Volumeselector.

func (*Volumeselector) SetDeletionPolicy added in v1.1.0

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

SetDeletionPolicy of this Volumeselector.

func (*Volumeselector) SetManagementPolicies added in v1.1.0

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

SetManagementPolicies of this Volumeselector.

func (*Volumeselector) SetProviderConfigReference added in v1.1.0

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

SetProviderConfigReference of this Volumeselector.

func (*Volumeselector) SetPublishConnectionDetailsTo added in v1.1.0

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

SetPublishConnectionDetailsTo of this Volumeselector.

func (*Volumeselector) SetWriteConnectionSecretToReference added in v1.1.0

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

SetWriteConnectionSecretToReference of this Volumeselector.

type VolumeselectorList added in v1.1.0

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

VolumeselectorList contains a list of Volumeselector

func (*VolumeselectorList) DeepCopy added in v1.1.0

func (in *VolumeselectorList) DeepCopy() *VolumeselectorList

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

func (*VolumeselectorList) DeepCopyInto added in v1.1.0

func (in *VolumeselectorList) DeepCopyInto(out *VolumeselectorList)

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

func (*VolumeselectorList) DeepCopyObject added in v1.1.0

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

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

func (*VolumeselectorList) GetItems added in v1.1.0

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

GetItems of this VolumeselectorList.

type VolumeselectorObservation added in v1.1.0

type VolumeselectorObservation struct {
	State string `json:"state,omitempty"`
}

VolumeselectorObservation are the observable fields of a Server.

func (*VolumeselectorObservation) DeepCopy added in v1.1.0

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

func (*VolumeselectorObservation) DeepCopyInto added in v1.1.0

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

type VolumeselectorSpec added in v1.1.0

type VolumeselectorSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       VolumeSelectorParameters `json:"forProvider"`
}

A VolumeselectorSpec defines the desired state of a Volumeselector.

func (*VolumeselectorSpec) DeepCopy added in v1.1.0

func (in *VolumeselectorSpec) DeepCopy() *VolumeselectorSpec

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

func (*VolumeselectorSpec) DeepCopyInto added in v1.1.0

func (in *VolumeselectorSpec) DeepCopyInto(out *VolumeselectorSpec)

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

type VolumeselectorStatus added in v1.1.0

type VolumeselectorStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          VolumeselectorObservation `json:"atProvider,omitempty"`
}

A VolumeselectorStatus represents the observed state of a Server.

func (*VolumeselectorStatus) DeepCopy added in v1.1.0

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

func (*VolumeselectorStatus) DeepCopyInto added in v1.1.0

func (in *VolumeselectorStatus) DeepCopyInto(out *VolumeselectorStatus)

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