v1alpha1

package
v0.4.0-test Latest Latest
Warning

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

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

Documentation

Overview

Package v1alpha1 contains the v1alpha1 group DBaaS Postgres resources of the IONOS Cloud provider. +kubebuilder:object:generate=true +groupName=dbaas.ionoscloud.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	Group   = "dbaas.ionoscloud.crossplane.io"
	Version = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	PostgresClusterKind             = reflect.TypeOf(PostgresCluster{}).Name()
	PostgresClusterGroupKind        = schema.GroupKind{Group: Group, Kind: PostgresClusterKind}.String()
	PostgresClusterKindAPIVersion   = PostgresClusterKind + "." + SchemeGroupVersion.String()
	PostgresClusterGroupVersionKind = SchemeGroupVersion.WithKind(PostgresClusterKind)
)

Cluster type metadata.

View Source
var (
	PostgresDatabaseKind             = reflect.TypeOf(PostgresDatabase{}).Name()
	PostgresDatabaseGroupKind        = schema.GroupKind{Group: Group, Kind: PostgresDatabaseKind}.String()
	PostgresDatabaseKindAPIVersion   = PostgresDatabaseKind + "." + SchemeGroupVersion.String()
	PostgresDatabaseGroupVersionKind = SchemeGroupVersion.WithKind(PostgresDatabaseKind)
)

Cluster type metadata.

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

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	PostgresUserKind             = reflect.TypeOf(PostgresUser{}).Name()
	PostgresUserGroupKind        = schema.GroupKind{Group: Group, Kind: PostgresUserKind}.String()
	PostgresUserKindAPIVersion   = PostgresUserKind + "." + SchemeGroupVersion.String()
	PostgresUserGroupVersionKind = SchemeGroupVersion.WithKind(PostgresUserKind)
)

Cluster type metadata.

Functions

func ExtractPostgresClusterID added in v1.0.8

func ExtractPostgresClusterID() reference.ExtractValueFn

ExtractPostgresClusterID returns the externalName of a referenced Cluster.

func ExtractPostgresUserID added in v1.1.0

func ExtractPostgresUserID() reference.ExtractValueFn

ExtractPostgresUserID returns the externalName of a referenced User.

Types

type ClusterConfig added in v1.0.8

type ClusterConfig struct {
	// ClusterID is the ID of the Cluster on which the resource will be created.
	// It needs to be provided via directly or via reference.
	//
	// +immutable
	// +kubebuilder:validation:Format=uuid
	// +crossplane:generate:reference:type=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/dbaas/postgres/v1alpha1.PostgresCluster
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/dbaas/postgres/v1alpha1.ExtractPostgresClusterID()
	ClusterID string `json:"ClusterId,omitempty"`
	// ClusterIDRef references to a Cluster to retrieve its ID.
	//
	// +optional
	// +immutable
	ClusterIDRef *xpv1.Reference `json:"ClusterIdRef,omitempty"`
	// ClusterIDSelector selects reference to a Cluster to retrieve its ClusterID.
	//
	// +optional
	ClusterIDSelector *xpv1.Selector `json:"ClusterIdSelector,omitempty"`
}

ClusterConfig is used by resources that need to link psql clusters via id or via reference.

func (*ClusterConfig) DeepCopy added in v1.0.8

func (in *ClusterConfig) DeepCopy() *ClusterConfig

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

func (*ClusterConfig) DeepCopyInto added in v1.0.8

func (in *ClusterConfig) DeepCopyInto(out *ClusterConfig)

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

type ClusterObservation

type ClusterObservation struct {
	ClusterID string `json:"clusterId,omitempty"`
	State     string `json:"state,omitempty"`
}

ClusterObservation are the observable fields of a Cluster.

func (*ClusterObservation) DeepCopy

func (in *ClusterObservation) DeepCopy() *ClusterObservation

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

func (*ClusterObservation) DeepCopyInto

func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation)

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

type ClusterParameters

type ClusterParameters struct {
	// The PostgreSQL version of your cluster.
	//
	// +kubebuilder:validation:Required
	PostgresVersion string `json:"postgresVersion"`
	// The total number of instances in the cluster (one master and n-1 standbys).
	//
	// +kubebuilder:validation:Required
	Instances int32 `json:"instances"`
	// The number of CPU cores per instance.
	//
	// +kubebuilder:validation:Required
	Cores int32 `json:"cores"`
	// The amount of memory per instance in megabytes. Has to be a multiple of 1024.
	//
	// +kubebuilder:validation:MultipleOf=1024
	// +kubebuilder:validation:Required
	RAM int32 `json:"ram"`
	// The amount of storage per instance in megabytes.
	//
	// +kubebuilder:validation:Required
	StorageSize int32 `json:"storageSize"`
	// The storage type used in your cluster.
	// Value "SSD" is deprecated. Use the equivalent "SSD Premium" instead.
	//
	// +kubebuilder:validation:Enum=HDD;SSD;SSD Standard;SSD Premium
	// +kubebuilder:validation:Required
	StorageType string `json:"storageType"`
	// Connection - details about the network connection (datacenter, lan, CIDR) for your cluster.
	//
	// +kubebuilder:validation:MaxItems=1
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:Required
	Connections []Connection `json:"connections"`
	// Location The physical location where the cluster will be created.
	// This will be where all of your instances live.
	// Property cannot be modified after datacenter creation.
	// 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 IONOS Object Storage location where the backups will be stored.
	//
	// +immutable
	// +kubebuilder:validation:Enum=de;eu-south-2;eu-central-2
	BackupLocation string `json:"backupLocation,omitempty"`
	// The friendly name of your cluster.
	//
	// +kubebuilder:validation:Required
	DisplayName string `json:"displayName"`
	// +kubebuilder:validation:Optional
	MaintenanceWindow MaintenanceWindow `json:"maintenanceWindow,omitempty"`
	// Database credentials - either set directly, or as secret/path/env
	//
	// +kubebuilder:validation:Required
	Credentials DBUser `json:"credentials"`
	// SynchronizationMode Represents different modes of replication.
	//
	// +kubebuilder:validation:Enum=ASYNCHRONOUS;STRICTLY_SYNCHRONOUS;SYNCHRONOUS
	// +kubebuilder:validation:Required
	SynchronizationMode string `json:"synchronizationMode"`
	// +kubebuilder:validation:Optional
	FromBackup CreateRestoreRequest `json:"fromBackup,omitempty"`

	// +kubebuilder:validation:Optional
	ConnectionPooler ConnectionPooler `json:"connectionPooler,omitempty"`
}

ClusterParameters are the observable fields of a Cluster. Required fields in order to create a DBaaS Postgres Cluster: PostgresVersion, Instances, Cores, RAM, Storage Size, Storage Type, Connection (Datacenter ID or Reference, Lan ID and CIDR), Location (in sync with Datacenter), DisplayName, Credentials, Synchronization Mode.

func (*ClusterParameters) DeepCopy

func (in *ClusterParameters) DeepCopy() *ClusterParameters

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

func (*ClusterParameters) DeepCopyInto

func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters)

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

type ClusterSpec

type ClusterSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       ClusterParameters `json:"forProvider"`
}

A ClusterSpec defines the desired state of a Cluster.

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type ClusterStatus

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

A ClusterStatus represents the observed state of a Cluster.

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type Connection

type Connection struct {
	// DatacenterConfig contains information about the datacenter resource.
	//
	// +kubebuilder:validation:Required
	DatacenterCfg DatacenterConfig `json:"datacenterConfig"`
	// LanConfig contains information about the lan resource.
	//
	// +kubebuilder:validation:Required
	LanCfg LanConfig `json:"lanConfig"`
	// The IP and subnet for your cluster. Note: the following IP ranges are unavailable: 10.233.64.0/18 10.233.0.0/18 10.233.114.0/24.
	//
	// +kubebuilder:validation:Required
	Cidr string `json:"cidr"`
}

Connection Details about the network connection for your cluster.

func (*Connection) DeepCopy

func (in *Connection) DeepCopy() *Connection

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

func (*Connection) DeepCopyInto

func (in *Connection) DeepCopyInto(out *Connection)

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

type ConnectionPooler added in v1.1.2

type ConnectionPooler struct {
	Enabled bool `json:"enabled,omitempty"`
	// PoolMode Represents different modes of connection pooling for the connection pooler.
	PoolMode ionoscloud.PoolMode `json:"poolMode,omitempty"`
}

ConnectionPooler Configuration options for the connection pooler

func (*ConnectionPooler) DeepCopy added in v1.1.2

func (in *ConnectionPooler) DeepCopy() *ConnectionPooler

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

func (*ConnectionPooler) DeepCopyInto added in v1.1.2

func (in *ConnectionPooler) DeepCopyInto(out *ConnectionPooler)

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

type CreateRestoreRequest

type CreateRestoreRequest struct {
	// The unique ID of the backup you want to restore.
	//
	// +kubebuilder:validation:Required
	BackupID string `json:"backupId"`
	// If this value is supplied as ISO 8601 timestamp, the backup will be replayed up until the given timestamp.
	// If empty, the backup will be applied completely.
	RecoveryTargetTime string `json:"recoveryTargetTime,omitempty"`
}

CreateRestoreRequest The restore request.

func (*CreateRestoreRequest) DeepCopy

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

func (*CreateRestoreRequest) DeepCopyInto

func (in *CreateRestoreRequest) DeepCopyInto(out *CreateRestoreRequest)

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

type DBUser

type DBUser struct {
	// The username for the postgres user.
	// Some system usernames are restricted (e.g. \"postgres\", \"admin\", \"standby\").
	// Password must have a minimum length o 10
	//
	// +kubebuilder:validation:Optional
	Username string `json:"username"`
	// +kubebuilder:validation:Optional
	Password string `json:"password"`
	// Source of the provider credentials.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=None;Secret;InjectedIdentity;Environment;Filesystem
	Source                         xpv1.CredentialsSource `json:"source"`
	xpv1.CommonCredentialSelectors `json:",inline"`
}

DBUser Credentials for the database user to be created.

func (*DBUser) DeepCopy

func (in *DBUser) DeepCopy() *DBUser

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

func (*DBUser) DeepCopyInto

func (in *DBUser) DeepCopyInto(out *DBUser)

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

type DatabaseObservation added in v1.1.0

type DatabaseObservation struct {
	DatabaseID string `json:"DatabaseId,omitempty"`
}

DatabaseObservation are the observable fields of a Database.

func (*DatabaseObservation) DeepCopy added in v1.1.0

func (in *DatabaseObservation) DeepCopy() *DatabaseObservation

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

func (*DatabaseObservation) DeepCopyInto added in v1.1.0

func (in *DatabaseObservation) DeepCopyInto(out *DatabaseObservation)

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

type DatabaseStatus added in v1.1.0

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

A DatabaseStatus represents the observed state of a Database.

func (*DatabaseStatus) DeepCopy added in v1.1.0

func (in *DatabaseStatus) DeepCopy() *DatabaseStatus

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

func (*DatabaseStatus) DeepCopyInto added in v1.1.0

func (in *DatabaseStatus) DeepCopyInto(out *DatabaseStatus)

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

type DatacenterConfig

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

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

func (*DatacenterConfig) DeepCopy

func (in *DatacenterConfig) DeepCopy() *DatacenterConfig

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

func (*DatacenterConfig) DeepCopyInto

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

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

type LanConfig

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

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

func (*LanConfig) DeepCopy

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 MaintenanceWindow

type MaintenanceWindow struct {
	Time string `json:"time,omitempty"`
	// DayOfTheWeek The name of the week day.
	DayOfTheWeek string `json:"dayOfTheWeek,omitempty"`
}

MaintenanceWindow A weekly 4 hour-long window, during which maintenance might occur.

func (*MaintenanceWindow) DeepCopy

func (in *MaintenanceWindow) DeepCopy() *MaintenanceWindow

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

func (*MaintenanceWindow) DeepCopyInto

func (in *MaintenanceWindow) DeepCopyInto(out *MaintenanceWindow)

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

type PostgresCluster

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

	Spec   ClusterSpec   `json:"spec"`
	Status ClusterStatus `json:"status,omitempty"`
}

A PostgresCluster is an example API type. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="CLUSTER ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="CLUSTER NAME",priority=1,type="string",JSONPath=".spec.forProvider.displayName" +kubebuilder:printcolumn:name="DATACENTER ID",priority=1,type="string",JSONPath=".spec.forProvider.connections[0].datacenterConfig.datacenterId" +kubebuilder:printcolumn:name="LAN ID",priority=1,type="string",JSONPath=".spec.forProvider.connections[0].lanConfig.lanId" +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=psqlc;pgc

func (*PostgresCluster) DeepCopy

func (in *PostgresCluster) DeepCopy() *PostgresCluster

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

func (*PostgresCluster) DeepCopyInto

func (in *PostgresCluster) DeepCopyInto(out *PostgresCluster)

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

func (*PostgresCluster) DeepCopyObject

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

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

func (*PostgresCluster) GetCondition

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

GetCondition of this PostgresCluster.

func (*PostgresCluster) GetDeletionPolicy

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

GetDeletionPolicy of this PostgresCluster.

func (*PostgresCluster) GetManagementPolicies added in v1.0.6

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

GetManagementPolicies of this PostgresCluster.

func (*PostgresCluster) GetProviderConfigReference

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

GetProviderConfigReference of this PostgresCluster.

func (*PostgresCluster) GetPublishConnectionDetailsTo added in v1.0.2

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

GetPublishConnectionDetailsTo of this PostgresCluster.

func (*PostgresCluster) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this PostgresCluster.

func (*PostgresCluster) ResolveReferences

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

ResolveReferences of this PostgresCluster.

func (*PostgresCluster) SetConditions

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

SetConditions of this PostgresCluster.

func (*PostgresCluster) SetDeletionPolicy

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

SetDeletionPolicy of this PostgresCluster.

func (*PostgresCluster) SetManagementPolicies added in v1.0.6

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

SetManagementPolicies of this PostgresCluster.

func (*PostgresCluster) SetProviderConfigReference

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

SetProviderConfigReference of this PostgresCluster.

func (*PostgresCluster) SetPublishConnectionDetailsTo added in v1.0.2

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

SetPublishConnectionDetailsTo of this PostgresCluster.

func (*PostgresCluster) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this PostgresCluster.

type PostgresClusterList

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

PostgresClusterList contains a list of Cluster

func (*PostgresClusterList) DeepCopy

func (in *PostgresClusterList) DeepCopy() *PostgresClusterList

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

func (*PostgresClusterList) DeepCopyInto

func (in *PostgresClusterList) DeepCopyInto(out *PostgresClusterList)

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

func (*PostgresClusterList) DeepCopyObject

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

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

func (*PostgresClusterList) GetItems

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

GetItems of this PostgresClusterList.

type PostgresDatabase added in v1.1.0

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

	Spec   PostgresDatabaseSpec `json:"spec"`
	Status DatabaseStatus       `json:"status,omitempty"`
}

A PostgresDatabase 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="Database ID",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=pgdb;psqldb;pgdb

func (*PostgresDatabase) DeepCopy added in v1.1.0

func (in *PostgresDatabase) DeepCopy() *PostgresDatabase

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

func (*PostgresDatabase) DeepCopyInto added in v1.1.0

func (in *PostgresDatabase) DeepCopyInto(out *PostgresDatabase)

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

func (*PostgresDatabase) DeepCopyObject added in v1.1.0

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

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

func (*PostgresDatabase) GetCondition added in v1.1.0

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

GetCondition of this PostgresDatabase.

func (*PostgresDatabase) GetDeletionPolicy added in v1.1.0

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

GetDeletionPolicy of this PostgresDatabase.

func (*PostgresDatabase) GetManagementPolicies added in v1.1.0

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

GetManagementPolicies of this PostgresDatabase.

func (*PostgresDatabase) GetProviderConfigReference added in v1.1.0

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

GetProviderConfigReference of this PostgresDatabase.

func (*PostgresDatabase) GetPublishConnectionDetailsTo added in v1.1.0

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

GetPublishConnectionDetailsTo of this PostgresDatabase.

func (*PostgresDatabase) GetWriteConnectionSecretToReference added in v1.1.0

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

GetWriteConnectionSecretToReference of this PostgresDatabase.

func (*PostgresDatabase) ResolveReferences added in v1.1.0

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

ResolveReferences of this PostgresDatabase.

func (*PostgresDatabase) SetConditions added in v1.1.0

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

SetConditions of this PostgresDatabase.

func (*PostgresDatabase) SetDeletionPolicy added in v1.1.0

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

SetDeletionPolicy of this PostgresDatabase.

func (*PostgresDatabase) SetManagementPolicies added in v1.1.0

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

SetManagementPolicies of this PostgresDatabase.

func (*PostgresDatabase) SetProviderConfigReference added in v1.1.0

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

SetProviderConfigReference of this PostgresDatabase.

func (*PostgresDatabase) SetPublishConnectionDetailsTo added in v1.1.0

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

SetPublishConnectionDetailsTo of this PostgresDatabase.

func (*PostgresDatabase) SetWriteConnectionSecretToReference added in v1.1.0

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

SetWriteConnectionSecretToReference of this PostgresDatabase.

type PostgresDatabaseList added in v1.1.0

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

PostgresDatabaseList contains a list of Database

func (*PostgresDatabaseList) DeepCopy added in v1.1.0

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

func (*PostgresDatabaseList) DeepCopyInto added in v1.1.0

func (in *PostgresDatabaseList) DeepCopyInto(out *PostgresDatabaseList)

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

func (*PostgresDatabaseList) DeepCopyObject added in v1.1.0

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

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

func (*PostgresDatabaseList) GetItems added in v1.1.0

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

GetItems of this PostgresDatabaseList.

type PostgresDatabaseParameters added in v1.1.0

type PostgresDatabaseParameters struct {
	// +kubebuilder:validation:Required
	//
	ClusterCfg ClusterConfig `json:"clusterConfig"`
	// The database name.
	//
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// The name of the role owning a given database.
	//
	// +kubebuilder:validation:Required
	Owner UserConfig `json:"owner"`
}

PostgresDatabaseParameters are the observable fields of a Database. Required fields in order to create a DBaaS Database: ClusterConfig, Name, Owner,

func (*PostgresDatabaseParameters) DeepCopy added in v1.1.0

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

func (*PostgresDatabaseParameters) DeepCopyInto added in v1.1.0

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

type PostgresDatabaseSpec added in v1.1.0

type PostgresDatabaseSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       PostgresDatabaseParameters `json:"forProvider"`
}

A PostgresDatabaseSpec defines the desired state of a Database.

func (*PostgresDatabaseSpec) DeepCopy added in v1.1.0

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

func (*PostgresDatabaseSpec) DeepCopyInto added in v1.1.0

func (in *PostgresDatabaseSpec) DeepCopyInto(out *PostgresDatabaseSpec)

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

type PostgresUser added in v1.0.8

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

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

A PostgresUser 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="USER ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="USERNAME",priority=1,type="string",JSONPath=".spec.forProvider.credentials.username" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionoscloud},shortName=pgu;pguser;psqlu

func (*PostgresUser) DeepCopy added in v1.0.8

func (in *PostgresUser) DeepCopy() *PostgresUser

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

func (*PostgresUser) DeepCopyInto added in v1.0.8

func (in *PostgresUser) DeepCopyInto(out *PostgresUser)

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

func (*PostgresUser) DeepCopyObject added in v1.0.8

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

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

func (*PostgresUser) GetCondition added in v1.0.8

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

GetCondition of this PostgresUser.

func (*PostgresUser) GetDeletionPolicy added in v1.0.8

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

GetDeletionPolicy of this PostgresUser.

func (*PostgresUser) GetManagementPolicies added in v1.0.8

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

GetManagementPolicies of this PostgresUser.

func (*PostgresUser) GetProviderConfigReference added in v1.0.8

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

GetProviderConfigReference of this PostgresUser.

func (*PostgresUser) GetPublishConnectionDetailsTo added in v1.0.8

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

GetPublishConnectionDetailsTo of this PostgresUser.

func (*PostgresUser) GetWriteConnectionSecretToReference added in v1.0.8

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

GetWriteConnectionSecretToReference of this PostgresUser.

func (*PostgresUser) ResolveReferences added in v1.0.8

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

ResolveReferences of this PostgresUser.

func (*PostgresUser) SetConditions added in v1.0.8

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

SetConditions of this PostgresUser.

func (*PostgresUser) SetDeletionPolicy added in v1.0.8

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

SetDeletionPolicy of this PostgresUser.

func (*PostgresUser) SetManagementPolicies added in v1.0.8

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

SetManagementPolicies of this PostgresUser.

func (*PostgresUser) SetProviderConfigReference added in v1.0.8

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

SetProviderConfigReference of this PostgresUser.

func (*PostgresUser) SetPublishConnectionDetailsTo added in v1.0.8

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

SetPublishConnectionDetailsTo of this PostgresUser.

func (*PostgresUser) SetWriteConnectionSecretToReference added in v1.0.8

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

SetWriteConnectionSecretToReference of this PostgresUser.

type PostgresUserList added in v1.0.8

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

PostgresUserList contains a list of User

func (*PostgresUserList) DeepCopy added in v1.0.8

func (in *PostgresUserList) DeepCopy() *PostgresUserList

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

func (*PostgresUserList) DeepCopyInto added in v1.0.8

func (in *PostgresUserList) DeepCopyInto(out *PostgresUserList)

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

func (*PostgresUserList) DeepCopyObject added in v1.0.8

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

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

func (*PostgresUserList) GetItems added in v1.0.8

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

GetItems of this PostgresUserList.

type PostgresUserParameters added in v1.0.8

type PostgresUserParameters struct {
	// +kubebuilder:validation:Required
	//
	ClusterCfg ClusterConfig `json:"clusterConfig"`
	// The total number of instances in the cluster (one master and n-1 standbys).
	//
	// Database credentials - either set directly, or as secret/path/env
	//
	// +kubebuilder:validation:Required
	Credentials DBUser `json:"credentials"`
}

PostgresUserParameters are the observable fields of a User. Required fields in order to create a DBaaS User: ClusterConfig, Credentials,

func (*PostgresUserParameters) DeepCopy added in v1.0.8

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

func (*PostgresUserParameters) DeepCopyInto added in v1.0.8

func (in *PostgresUserParameters) DeepCopyInto(out *PostgresUserParameters)

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

type PostgresUserSpec added in v1.0.8

type PostgresUserSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       PostgresUserParameters `json:"forProvider"`
}

A PostgresUserSpec defines the desired state of a Cluster.

func (*PostgresUserSpec) DeepCopy added in v1.0.8

func (in *PostgresUserSpec) DeepCopy() *PostgresUserSpec

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

func (*PostgresUserSpec) DeepCopyInto added in v1.0.8

func (in *PostgresUserSpec) DeepCopyInto(out *PostgresUserSpec)

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

type UserConfig added in v1.1.0

type UserConfig struct {
	// UserName is the Name of the User on which the resource will be created.
	// It needs to be provided directly or via reference.
	//
	// +immutable
	// +crossplane:generate:reference:type=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/dbaas/postgres/v1alpha1.PostgresUser
	// +crossplane:generate:reference:extractor=github.com/ionos-cloud/crossplane-provider-ionoscloud/apis/dbaas/postgres/v1alpha1.ExtractPostgresUserID()
	UserName string `json:"userName,omitempty"`
	// UserIDRef references to a User to retrieve its Name.
	//
	// +optional
	// +immutable
	UserNameRef *xpv1.Reference `json:"UserNameRef,omitempty"`
	// UserNameSelector selects reference to a User to retrieve its UserName.
	//
	// +optional
	UserNameSelector *xpv1.Selector `json:"UserNameSelector,omitempty"`
}

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

func (*UserConfig) DeepCopy added in v1.1.0

func (in *UserConfig) DeepCopy() *UserConfig

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

func (*UserConfig) DeepCopyInto added in v1.1.0

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

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

type UserObservation added in v1.0.8

type UserObservation struct {
	UserID string `json:"userId,omitempty"`
}

UserObservation are the observable fields of a Cluster.

func (*UserObservation) DeepCopy added in v1.0.8

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.8

func (in *UserObservation) DeepCopyInto(out *UserObservation)

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

type UserStatus added in v1.0.8

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.8

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.8

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

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