v1alpha1

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2023 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the ndb v1alpha1 API group +kubebuilder:object:generate=true +groupName=ndb.nutanix.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "ndb.nutanix.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 Clone added in v0.0.8

type Clone struct {
	// Name of the clone instance
	Name string `json:"name"`
	// Description of the clone instance
	// +optional
	Description string `json:"description"`
	// Type of parent clone
	Type string `json:"type"`
	// Id of the cluster to clone the database on
	ClusterId string `json:"clusterId"`
	// +optional
	Profiles *Profiles `json:"profiles"`
	// Name of the secret holding the credentials for the database instance (password and ssh key)
	CredentialSecret string `json:"credentialSecret"`
	// +optional
	// default UTC
	TimeZone string `json:"timezone"`
	// Id of the source database on NDB to clone from
	SourceDatabaseId string `json:"sourceDatabaseId"`
	// Id of the snapshot to create a clone from
	SnapshotId string `json:"snapshotId"`
	// +optional
	// Additional database engine specific arguments
	AdditionalArguments map[string]string `json:"additionalArguments"`
}

func (*Clone) DeepCopy added in v0.0.8

func (in *Clone) DeepCopy() *Clone

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

func (*Clone) DeepCopyInto added in v0.0.8

func (in *Clone) DeepCopyInto(out *Clone)

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

type CloningWebhookHandler added in v0.0.8

type CloningWebhookHandler struct{}

+kubebuilder:object:generate:=false Implements webhook.Validator, webhook.Defaulter

type DBTimeMachineInfo added in v0.0.6

type DBTimeMachineInfo struct {
	// +optional
	Name string `json:"name"`
	// +optional
	Description string `json:"description"`
	// +optional
	// Name of the SLA to be used, default NONE
	SLAName string `json:"sla"`
	// +optional
	// Daily snapshot time in HH:MM:SS (24 hour format)
	DailySnapshotTime string `json:"dailySnapshotTime"`
	// +optional
	// Number of snapshots per day
	SnapshotsPerDay int `json:"snapshotsPerDay"`
	// +optional
	// Log catch up frequency in minutes
	LogCatchUpFrequency int `json:"logCatchUpFrequency"`
	// +optional
	// Day of the week for weekly snapshot
	WeeklySnapshotDay string `json:"weeklySnapshotDay"`
	// +optional
	// Day of the month for monthly snapshot
	MonthlySnapshotDay int `json:"monthlySnapshotDay"`
	// +optional
	// Start month for the quarterly snapshot
	// Jan => Jan, Apr, Jul, Oct.
	// Feb => Feb, May, Aug, Nov.
	// Mar => Mar, Jun, Sep, Dec.
	QuarterlySnapshotMonth string `json:"quarterlySnapshotMonth"`
}

Time Machine details

func (*DBTimeMachineInfo) DeepCopy added in v0.0.6

func (in *DBTimeMachineInfo) DeepCopy() *DBTimeMachineInfo

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

func (*DBTimeMachineInfo) DeepCopyInto added in v0.0.6

func (in *DBTimeMachineInfo) DeepCopyInto(out *DBTimeMachineInfo)

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

type Database

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

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

Database is the Schema for the databases API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName={"db","dbs"} +kubebuilder:printcolumn:name="IP Address",type=string,JSONPath=`.status.ipAddress` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.status` +kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.status.type`

func (*Database) DeepCopy

func (in *Database) DeepCopy() *Database

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

func (*Database) DeepCopyInto

func (in *Database) DeepCopyInto(out *Database)

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

func (*Database) DeepCopyObject

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

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

func (*Database) Default added in v0.0.6

func (r *Database) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Database) SetupWebhookWithManager added in v0.0.6

func (r *Database) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Database) ValidateCreate added in v0.0.6

func (r *Database) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Database) ValidateDelete added in v0.0.6

func (r *Database) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Database) ValidateUpdate added in v0.0.6

func (r *Database) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type DatabaseList

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

+kubebuilder:object:root=true DatabaseList contains a list of Database

func (*DatabaseList) DeepCopy

func (in *DatabaseList) DeepCopy() *DatabaseList

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

func (*DatabaseList) DeepCopyInto

func (in *DatabaseList) DeepCopyInto(out *DatabaseList)

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

func (*DatabaseList) DeepCopyObject

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

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

type DatabaseSpec

type DatabaseSpec struct {
	// +kubebuilder:validation:Required
	NDBRef string `json:"ndbRef"`
	// +optional
	IsClone bool `json:"isClone"`
	// +optional
	Instance *Instance `json:"databaseInstance"`
	// +optional
	Clone *Clone `json:"clone"`
}

DatabaseSpec defines the desired state of Database

func (*DatabaseSpec) DeepCopy

func (in *DatabaseSpec) DeepCopy() *DatabaseSpec

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

func (*DatabaseSpec) DeepCopyInto

func (in *DatabaseSpec) DeepCopyInto(out *DatabaseSpec)

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

type DatabaseStatus

type DatabaseStatus struct {
	IPAddress                 string `json:"ipAddress"`
	Id                        string `json:"id"`
	Status                    string `json:"status"`
	DatabaseServerId          string `json:"dbServerId"`
	Type                      string `json:"type"`
	CreationOperationId       string `json:"creationOperationId"`
	DeregistrationOperationId string `json:"deregistrationOperationId"`
}

DatabaseStatus defines the observed state of Database

func (*DatabaseStatus) DeepCopy

func (in *DatabaseStatus) DeepCopy() *DatabaseStatus

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

func (*DatabaseStatus) DeepCopyInto

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

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

type DatabaseWebhookHandler added in v0.0.8

type DatabaseWebhookHandler interface {
	// contains filtered or unexported methods
}

+kubebuilder:object:generate:=false

type Instance

type Instance struct {
	// Name of the database instance
	Name string `json:"name"`
	// +optional
	// Description of the database instance
	Description string `json:"description"`
	// Id of the cluster to provision the database on
	ClusterId string `json:"clusterId"`
	// +optional
	Profiles *Profiles `json:"profiles"`
	// Name of the secret holding the credentials for the database instance (password and ssh key)
	CredentialSecret string `json:"credentialSecret"`
	// +optional
	// default UTC
	TimeZone string `json:"timezone"`
	// +optional
	// Name(s) of the database(s) to be provisiond inside the database instance
	// default [ "database_one", "database_two", "database_three" ]
	DatabaseNames []string `json:"databaseNames"`
	// Size of the database instance, minimum 10 (GBs)
	Size int    `json:"size"`
	Type string `json:"type"`
	// +optional
	// Information related to time machine that is to be associated with this database
	TMInfo *DBTimeMachineInfo `json:"timeMachine"`
	// +optional
	// Additional database engine specific arguments
	AdditionalArguments map[string]string `json:"additionalArguments"`
}

Database instance specific details

func (*Instance) DeepCopy

func (in *Instance) DeepCopy() *Instance

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

func (*Instance) DeepCopyInto

func (in *Instance) DeepCopyInto(out *Instance)

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

type NDBServer added in v0.0.7

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

	Spec   NDBServerSpec   `json:"spec,omitempty"`
	Status NDBServerStatus `json:"status,omitempty"`
}

NDBServer is the Schema for the ndbservers API

func (*NDBServer) DeepCopy added in v0.0.7

func (in *NDBServer) DeepCopy() *NDBServer

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

func (*NDBServer) DeepCopyInto added in v0.0.7

func (in *NDBServer) DeepCopyInto(out *NDBServer)

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

func (*NDBServer) DeepCopyObject added in v0.0.7

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

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

type NDBServerDatabaseInfo added in v0.0.7

type NDBServerDatabaseInfo struct {
	Name          string `json:"name"`
	Id            string `json:"id"`
	Status        string `json:"status"`
	DBServerId    string `json:"dbServerId"`
	TimeMachineId string `json:"timeMachineId"`
	IPAddress     string `json:"ipAddress"`
	Type          string `json:"type"`
}

Database related info to be stored in the status field of the NDB CR

func (*NDBServerDatabaseInfo) DeepCopy added in v0.0.7

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

func (*NDBServerDatabaseInfo) DeepCopyInto added in v0.0.7

func (in *NDBServerDatabaseInfo) DeepCopyInto(out *NDBServerDatabaseInfo)

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

type NDBServerList added in v0.0.7

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

NDBServerList contains a list of NDBServer

func (*NDBServerList) DeepCopy added in v0.0.7

func (in *NDBServerList) DeepCopy() *NDBServerList

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

func (*NDBServerList) DeepCopyInto added in v0.0.7

func (in *NDBServerList) DeepCopyInto(out *NDBServerList)

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

func (*NDBServerList) DeepCopyObject added in v0.0.7

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

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

type NDBServerSpec added in v0.0.7

type NDBServerSpec struct {
	// +kubebuilder:validation:Required
	Server string `json:"server"`
	// +kubebuilder:validation:Required
	CredentialSecret string `json:"credentialSecret"`
	// +kubebuilder:default:=false
	// +optional
	// Skip server's certificate and hostname verification
	SkipCertificateVerification bool `json:"skipCertificateVerification"`
}

NDBServerSpec defines the desired state of NDBServer

func (*NDBServerSpec) DeepCopy added in v0.0.7

func (in *NDBServerSpec) DeepCopy() *NDBServerSpec

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

func (*NDBServerSpec) DeepCopyInto added in v0.0.7

func (in *NDBServerSpec) DeepCopyInto(out *NDBServerSpec)

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

type NDBServerStatus added in v0.0.7

type NDBServerStatus struct {
	Status           string                           `json:"status"`
	LastUpdated      string                           `json:"lastUpdated"`
	Databases        map[string]NDBServerDatabaseInfo `json:"databases"`
	ReconcileCounter ReconcileCounter                 `json:"reconcileCounter"`
}

NDBServerStatus defines the observed state of NDBServer

func (*NDBServerStatus) DeepCopy added in v0.0.7

func (in *NDBServerStatus) DeepCopy() *NDBServerStatus

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

func (*NDBServerStatus) DeepCopyInto added in v0.0.7

func (in *NDBServerStatus) DeepCopyInto(out *NDBServerStatus)

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

type Profile

type Profile struct {
	// +optional
	Id string `json:"id"`
	// +optional
	Name string `json:"name"`
}

func (*Profile) DeepCopy

func (in *Profile) DeepCopy() *Profile

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

func (*Profile) DeepCopyInto

func (in *Profile) DeepCopyInto(out *Profile)

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

type Profiles

type Profiles struct {
	// +optional
	Software Profile `json:"software"`
	// +optional
	Compute Profile `json:"compute"`
	// +optional
	Network Profile `json:"network"`
	// +optional
	DbParam Profile `json:"dbParam"`
	// +optional
	DbParamInstance Profile `json:"dbParamInstance"`
}

func (*Profiles) DeepCopy

func (in *Profiles) DeepCopy() *Profiles

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

func (*Profiles) DeepCopyInto

func (in *Profiles) DeepCopyInto(out *Profiles)

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

type ProvisioningWebhookHandler added in v0.0.8

type ProvisioningWebhookHandler struct{}

+kubebuilder:object:generate:=false Implements webhook.Validator, webhook.Defaulter

type ReconcileCounter added in v0.0.7

type ReconcileCounter struct {
	Database int `json:"database"`
}

func (*ReconcileCounter) DeepCopy added in v0.0.7

func (in *ReconcileCounter) DeepCopy() *ReconcileCounter

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

func (*ReconcileCounter) DeepCopyInto added in v0.0.7

func (in *ReconcileCounter) DeepCopyInto(out *ReconcileCounter)

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