Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the rdb v1alpha1 API group +kubebuilder:object:generate=true +groupName=rdb.scaleway.com
Index ¶
- Variables
- type RDBACL
- type RDBACLRule
- type RDBDatabase
- type RDBDatabaseList
- type RDBDatabaseSpec
- type RDBDatabaseStatus
- type RDBInstance
- type RDBInstanceAutoBackup
- type RDBInstanceEndpoint
- type RDBInstanceList
- type RDBInstancePassword
- type RDBInstancePasswordValueFrom
- type RDBInstanceRef
- type RDBInstanceSpec
- type RDBInstanceStatus
- type RDBPermission
- type RDBPrivilege
- type RDBUser
- type RDBUserList
- type RDBUserSpec
- type RDBUserStatus
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "rdb.scaleway.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type RDBACL ¶
type RDBACL struct {
// Rules represents the RDB ACL rules
// +optional
Rules []RDBACLRule `json:"rules,omitempty"`
// AllowCluster represents wether the nodes in the cluster
// should be allowed
// +optional
AllowCluster bool `json:"allowCluster,omitempty"`
}
RDBACL defines the acl of a RDBInstance
func (*RDBACL) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBACL.
func (*RDBACL) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RDBACLRule ¶
type RDBACLRule struct {
// IPRange represents a CIDR IP range
IPRange string `json:"ipRange"`
// Description is the description associated with this ACL rule
// +optional
Description string `json:"description,omitempty"`
}
RDBACLRule defines a rule for a RDB ACL
func (*RDBACLRule) DeepCopy ¶
func (in *RDBACLRule) DeepCopy() *RDBACLRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBACLRule.
func (*RDBACLRule) DeepCopyInto ¶
func (in *RDBACLRule) DeepCopyInto(out *RDBACLRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RDBDatabase ¶
type RDBDatabase struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RDBDatabaseSpec `json:"spec,omitempty"`
Status RDBDatabaseStatus `json:"status,omitempty"`
}
RDBDatabase is the Schema for the rdbdatabases API
func (*RDBDatabase) DeepCopy ¶
func (in *RDBDatabase) DeepCopy() *RDBDatabase
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBDatabase.
func (*RDBDatabase) DeepCopyInto ¶
func (in *RDBDatabase) DeepCopyInto(out *RDBDatabase)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RDBDatabase) DeepCopyObject ¶
func (in *RDBDatabase) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*RDBDatabase) GetStatus ¶
func (r *RDBDatabase) GetStatus() scalewaymetav1alpha1.Status
GetStatus returns the scaleway meta status
func (*RDBDatabase) SetStatus ¶
func (r *RDBDatabase) SetStatus(status scalewaymetav1alpha1.Status)
SetStatus sets the scaleway meta status
type RDBDatabaseList ¶
type RDBDatabaseList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RDBDatabase `json:"items"`
}
RDBDatabaseList contains a list of RDBDatabase
func (*RDBDatabaseList) DeepCopy ¶
func (in *RDBDatabaseList) DeepCopy() *RDBDatabaseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBDatabaseList.
func (*RDBDatabaseList) DeepCopyInto ¶
func (in *RDBDatabaseList) DeepCopyInto(out *RDBDatabaseList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RDBDatabaseList) DeepCopyObject ¶
func (in *RDBDatabaseList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RDBDatabaseSpec ¶
type RDBDatabaseSpec struct {
// InstanceRef represents the reference to the instance of the database
InstanceRef RDBInstanceRef `json:"instanceRef"`
// OverrideName represents the name given to the database
// This field is immutable after creation
// +optional
OverrideName string `json:"overrideName,omitempty"`
}
RDBDatabaseSpec defines the desired state of RDBDatabase
func (*RDBDatabaseSpec) DeepCopy ¶
func (in *RDBDatabaseSpec) DeepCopy() *RDBDatabaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBDatabaseSpec.
func (*RDBDatabaseSpec) DeepCopyInto ¶
func (in *RDBDatabaseSpec) DeepCopyInto(out *RDBDatabaseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RDBDatabaseStatus ¶
type RDBDatabaseStatus struct {
// Size represents the size of the database
Size *resource.Quantity `json:"size,omitempty"`
// Managed defines whether this database is mananged
Managed bool `json:"managed,omitempty"`
// Owner represents the owner of this database
Owner string `json:"owner,omitempty"`
// Conditions is the current conditions of the RDBDatabase
scalewaymetav1alpha1.Status `json:",inline"`
}
RDBDatabaseStatus defines the observed state of RDBDatabase
func (*RDBDatabaseStatus) DeepCopy ¶
func (in *RDBDatabaseStatus) DeepCopy() *RDBDatabaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBDatabaseStatus.
func (*RDBDatabaseStatus) DeepCopyInto ¶
func (in *RDBDatabaseStatus) DeepCopyInto(out *RDBDatabaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RDBInstance ¶
type RDBInstance struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RDBInstanceSpec `json:"spec,omitempty"`
Status RDBInstanceStatus `json:"status,omitempty"`
}
RDBInstance is the Schema for the databaseinstances API
func (*RDBInstance) DeepCopy ¶
func (in *RDBInstance) DeepCopy() *RDBInstance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBInstance.
func (*RDBInstance) DeepCopyInto ¶
func (in *RDBInstance) DeepCopyInto(out *RDBInstance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RDBInstance) DeepCopyObject ¶
func (in *RDBInstance) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*RDBInstance) GetStatus ¶
func (r *RDBInstance) GetStatus() scalewaymetav1alpha1.Status
GetStatus returns the scaleway meta status
func (*RDBInstance) SetStatus ¶
func (r *RDBInstance) SetStatus(status scalewaymetav1alpha1.Status)
SetStatus sets the scaleway meta status
type RDBInstanceAutoBackup ¶
type RDBInstanceAutoBackup struct {
// Disabled represents whether the auto backup should be disabled
Disabled bool `json:"disabled,omitempty"`
// Frequency represents the frequency, in hour, at which auto backups are made
// Default to 24
// +kubebuilder:default:24
// +kubebuilder:validation:Minimum=0
// +optional
Frequency *int32 `json:"frequency,omitempty"`
// Retention represents the number of days the autobackup are kept
// Default to 7
// +kubebuilder:default:7
// +kubebuilder:validation:Minimum=0
// +optional
Retention *int32 `json:"retention,omitempty"`
}
RDBInstanceAutoBackup defines the auto backup state of a RDBInstance
func (*RDBInstanceAutoBackup) DeepCopy ¶
func (in *RDBInstanceAutoBackup) DeepCopy() *RDBInstanceAutoBackup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBInstanceAutoBackup.
func (*RDBInstanceAutoBackup) DeepCopyInto ¶
func (in *RDBInstanceAutoBackup) DeepCopyInto(out *RDBInstanceAutoBackup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RDBInstanceEndpoint ¶
type RDBInstanceEndpoint struct {
// IP is the IP of the RDBInstance
IP string `json:"ip,omitempty"`
// Port if the port of the RDBInstance
Port int32 `json:"port,omitempty"`
}
RDBInstanceEndpoint defines the endpoint of a RDBInstance
func (*RDBInstanceEndpoint) DeepCopy ¶
func (in *RDBInstanceEndpoint) DeepCopy() *RDBInstanceEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBInstanceEndpoint.
func (*RDBInstanceEndpoint) DeepCopyInto ¶
func (in *RDBInstanceEndpoint) DeepCopyInto(out *RDBInstanceEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RDBInstanceList ¶
type RDBInstanceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RDBInstance `json:"items"`
}
RDBInstanceList contains a list of RDBInstance
func (*RDBInstanceList) DeepCopy ¶
func (in *RDBInstanceList) DeepCopy() *RDBInstanceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBInstanceList.
func (*RDBInstanceList) DeepCopyInto ¶
func (in *RDBInstanceList) DeepCopyInto(out *RDBInstanceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RDBInstanceList) DeepCopyObject ¶
func (in *RDBInstanceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RDBInstancePassword ¶
type RDBInstancePassword struct {
// Value represents a raw value
// +optional
Value *string `json:"value,omitempty"`
// ValueFrom represents a value from a secret
// +optional
ValueFrom *RDBInstancePasswordValueFrom `json:"valueFrom,omitempty"`
}
RDBInstancePassword defines the password of a RDBInstance One of Value or ValueFrom must be specified
func (*RDBInstancePassword) DeepCopy ¶
func (in *RDBInstancePassword) DeepCopy() *RDBInstancePassword
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBInstancePassword.
func (*RDBInstancePassword) DeepCopyInto ¶
func (in *RDBInstancePassword) DeepCopyInto(out *RDBInstancePassword)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RDBInstancePasswordValueFrom ¶
type RDBInstancePasswordValueFrom struct {
SecretKeyRef corev1.SecretReference `json:"secretKeyRef"`
}
RDBInstancePasswordValueFrom defines a source to get a password from
func (*RDBInstancePasswordValueFrom) DeepCopy ¶
func (in *RDBInstancePasswordValueFrom) DeepCopy() *RDBInstancePasswordValueFrom
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBInstancePasswordValueFrom.
func (*RDBInstancePasswordValueFrom) DeepCopyInto ¶
func (in *RDBInstancePasswordValueFrom) DeepCopyInto(out *RDBInstancePasswordValueFrom)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RDBInstanceRef ¶
type RDBInstanceRef struct {
// ExternalID is the ID of the instance
// This field is immutable after creation
// +optional
ExternalID string `json:"externalID,omitempty"`
// Region is the region of the instance
// This field is immutable after creation
// +optional
Region string `json:"region,omitempty"`
// Name is the name of the instance of this database
// This field is immutable after creation
// +optional
Name string `json:"name,omitempty"`
// Namespace is the namespace of the instance of this database
// If empty, it will use the namespace of the database
// This field is immutable after creation
// +optional
Namespace string `json:"namespace,omitempty"`
}
RDBInstanceRef defines a reference to rdb instance Only one of ExternalID/Region or Name/Namespace must be specified
func (*RDBInstanceRef) DeepCopy ¶
func (in *RDBInstanceRef) DeepCopy() *RDBInstanceRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBInstanceRef.
func (*RDBInstanceRef) DeepCopyInto ¶
func (in *RDBInstanceRef) DeepCopyInto(out *RDBInstanceRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RDBInstanceSpec ¶
type RDBInstanceSpec struct {
// InstanceID is the ID of the instance
// If empty it will create a new instance
// If set it will use this ID as the instance ID
// This field is immutable after creation
// At most one of InstanceID/Region and InstanceFrom have to be specified
// on creation.
// +optional
InstanceID string `json:"instanceID,omitempty"`
// Region is the region in which the RDBInstance will run
// This field is immutable after creation
// Defaults to the controller default region
// At most one of InstanceID/Region and InstanceFrom have to be specified
// on creation.
// +optional
Region string `json:"region,omitempty"`
// InstanceFrom allows to create an instance from an existing one
// At most one of InstanceID/Region and InstanceFrom have to be specified
// on creation.
// This field is immutable after creation
// +optional
InstanceFrom *RDBInstanceRef `json:"instanceFrom,omitempty"`
// Engine is the database engine of the RDBInstance
Engine string `json:"engine"`
// NodeType is the type of node to use for the RDBInstance
NodeType string `json:"nodeType"`
// IsHaCluster represents whether the RDBInstance should be in HA mode
// Defaults to false
// +kubebuilder:default:false
// +optional
IsHaCluster bool `json:"isHaCluster,omitempty"`
// AutoBackup represents the RDBInstance auto backup policy
// +optional
AutoBackup *RDBInstanceAutoBackup `json:"autoBackup,omitempty"`
// ACL represents the ACL rules of the RDBInstance
ACL *RDBACL `json:"acl,omitempty"`
}
RDBInstanceSpec defines the desired state of RDBInstance
func (*RDBInstanceSpec) DeepCopy ¶
func (in *RDBInstanceSpec) DeepCopy() *RDBInstanceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBInstanceSpec.
func (*RDBInstanceSpec) DeepCopyInto ¶
func (in *RDBInstanceSpec) DeepCopyInto(out *RDBInstanceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RDBInstanceStatus ¶
type RDBInstanceStatus struct {
// Endpoint is the endpoint of the RDBInstance
Endpoint RDBInstanceEndpoint `json:"endpoint,omitempty"`
// Conditions is the current conditions of the RDBInstance
scalewaymetav1alpha1.Status `json:",inline"`
}
RDBInstanceStatus defines the observed state of RDBInstance
func (*RDBInstanceStatus) DeepCopy ¶
func (in *RDBInstanceStatus) DeepCopy() *RDBInstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBInstanceStatus.
func (*RDBInstanceStatus) DeepCopyInto ¶
func (in *RDBInstanceStatus) DeepCopyInto(out *RDBInstanceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RDBPermission ¶
type RDBPermission string
RDBPermission defines a permission for a privilege +kubebuilder:validation:Enum=ReadOnly;ReadWrite;All;None
const ( // PermissionReadOnly is the readonly permission PermissionReadOnly RDBPermission = "ReadOnly" // PermissionReadWrite is the readwrite permission PermissionReadWrite RDBPermission = "ReadWrite" // PermissionAll is the all permission PermissionAll RDBPermission = "All" // PermissionNone is the none permission PermissionNone RDBPermission = "None" )
type RDBPrivilege ¶
type RDBPrivilege struct {
// DatabaseName is the name to a RDB Database for this privilege
DatabaseName string `json:"databaseRef"`
// Permission is the given permission for this privilege
Permission RDBPermission `json:"permission"`
}
RDBPrivilege defines a privilege linked to a RDBUser
func (*RDBPrivilege) DeepCopy ¶
func (in *RDBPrivilege) DeepCopy() *RDBPrivilege
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBPrivilege.
func (*RDBPrivilege) DeepCopyInto ¶
func (in *RDBPrivilege) DeepCopyInto(out *RDBPrivilege)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RDBUser ¶
type RDBUser struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RDBUserSpec `json:"spec,omitempty"`
Status RDBUserStatus `json:"status,omitempty"`
}
RDBUser is the Schema for the rdbusers API
func (*RDBUser) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBUser.
func (*RDBUser) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RDBUser) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RDBUserList ¶
type RDBUserList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RDBUser `json:"items"`
}
RDBUserList contains a list of RDBUser
func (*RDBUserList) DeepCopy ¶
func (in *RDBUserList) DeepCopy() *RDBUserList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBUserList.
func (*RDBUserList) DeepCopyInto ¶
func (in *RDBUserList) DeepCopyInto(out *RDBUserList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RDBUserList) DeepCopyObject ¶
func (in *RDBUserList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RDBUserSpec ¶
type RDBUserSpec struct {
// UserName is the user name to be created on the RDBInstance
UserName string `json:"userName"`
// Password is the password associated to the user
Password RDBInstancePassword `json:"password"`
// Admin represents whether the user is an admin user
// +kubebuilder:default:true
// +optional
Admin bool `json:"admin,omitempty"`
// Privileges represents the privileges given to this user
Privileges []RDBPrivilege `json:"privileges,omitempty"`
// InstanceRef represents the reference to the instance of the user
InstanceRef RDBInstanceRef `json:"instanceRef"`
}
RDBUserSpec defines the desired state of RDBUser
func (*RDBUserSpec) DeepCopy ¶
func (in *RDBUserSpec) DeepCopy() *RDBUserSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBUserSpec.
func (*RDBUserSpec) DeepCopyInto ¶
func (in *RDBUserSpec) DeepCopyInto(out *RDBUserSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RDBUserStatus ¶
type RDBUserStatus struct {
// Conditions is the current conditions of the RDBInstance
scalewaymetav1alpha1.Status `json:",inline"`
}
RDBUserStatus defines the observed state of RDBUser
func (*RDBUserStatus) DeepCopy ¶
func (in *RDBUserStatus) DeepCopy() *RDBUserStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDBUserStatus.
func (*RDBUserStatus) DeepCopyInto ¶
func (in *RDBUserStatus) DeepCopyInto(out *RDBUserStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.