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
- Variables
- type ClusterObservation
- type ClusterParameters
- type ClusterSpec
- type ClusterStatus
- type Connection
- type CreateRestoreRequest
- type DBUser
- type DatacenterConfig
- type LanConfig
- type MaintenanceWindow
- type PostgresCluster
- func (in *PostgresCluster) DeepCopy() *PostgresCluster
- func (in *PostgresCluster) DeepCopyInto(out *PostgresCluster)
- func (in *PostgresCluster) DeepCopyObject() runtime.Object
- func (mg *PostgresCluster) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (mg *PostgresCluster) GetDeletionPolicy() xpv1.DeletionPolicy
- func (mg *PostgresCluster) GetManagementPolicies() xpv1.ManagementPolicies
- func (mg *PostgresCluster) GetProviderConfigReference() *xpv1.Reference
- func (mg *PostgresCluster) GetProviderReference() *xpv1.Reference
- func (mg *PostgresCluster) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
- func (mg *PostgresCluster) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (mg *PostgresCluster) ResolveReferences(ctx context.Context, c client.Reader) error
- func (mg *PostgresCluster) SetConditions(c ...xpv1.Condition)
- func (mg *PostgresCluster) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *PostgresCluster) SetManagementPolicies(p xpv1.ManagementPolicies)
- func (mg *PostgresCluster) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *PostgresCluster) SetProviderReference(r *xpv1.Reference)
- func (mg *PostgresCluster) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
- func (mg *PostgresCluster) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type PostgresClusterList
Constants ¶
const ( Group = "dbaas.ionoscloud.crossplane.io" Version = "v1alpha1" )
Package type metadata.
Variables ¶
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.
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} )
Functions ¶
This section is empty.
Types ¶
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 S3 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"` }
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 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 ¶
func (in *CreateRestoreRequest) DeepCopy() *CreateRestoreRequest
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 initial 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DBUser.
func (*DBUser) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LanConfig.
func (*LanConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MaintenanceWindow ¶
type MaintenanceWindow struct { Time string `json:"time,omitempty"` // DayOfTheWeek The name of the week day. DayOfTheWeek string `json:"dayOfTheWeek,omitempty"` }
MaintenanceWindow A weekly 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"` ManagementPolicies xpv1.ManagementPolicies `json:"managementPolicies"` }
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}
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 implement managed interface
func (*PostgresCluster) GetProviderConfigReference ¶
func (mg *PostgresCluster) GetProviderConfigReference() *xpv1.Reference
GetProviderConfigReference of this PostgresCluster.
func (*PostgresCluster) GetProviderReference ¶
func (mg *PostgresCluster) GetProviderReference() *xpv1.Reference
GetProviderReference of this PostgresCluster. Deprecated: Use GetProviderConfigReference.
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 ¶
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(p xpv1.ManagementPolicies)
SetManagementPolicies implement managed interface
func (*PostgresCluster) SetProviderConfigReference ¶
func (mg *PostgresCluster) SetProviderConfigReference(r *xpv1.Reference)
SetProviderConfigReference of this PostgresCluster.
func (*PostgresCluster) SetProviderReference ¶
func (mg *PostgresCluster) SetProviderReference(r *xpv1.Reference)
SetProviderReference of this PostgresCluster. Deprecated: Use SetProviderConfigReference.
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.