v1alpha1

package
v0.0.0-...-48c85bd Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the cloud v1alpha1 API group +kubebuilder:object:generate=true +groupName=sql.terrak8s.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "sql.terrak8s.io", 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

func ContainsVersion

func ContainsVersion(slice []string, s string) bool

ContainsVersion is helper func

func SetDatabaseDefaultSpec

func SetDatabaseDefaultSpec(obj *PostgresInstanceDatabases, name string, project string)

func SetDatabaseInstanceSettingsSpec

func SetDatabaseInstanceSettingsSpec(obj *PostgresInstanceSettingsSpec)

func SetDatabaseUserDefaultSpec

func SetDatabaseUserDefaultSpec(obj *PostgresInstanceDatabaseUsers, name string, project string)

func SetDefaultBucketSpec

func SetDefaultBucketSpec(obj *PostgresqlInstanceStorageBucket, name string, project string)

func SetDefaultSqlInstanceSpec

func SetDefaultSqlInstanceSpec(obj *PostgresqlInstanceSpec, name string, project string)

func SetIpConfigurationDefaultSpec

func SetIpConfigurationDefaultSpec(obj *PostgresInstanceSettingsIpConfiguration)

func SetLocationPreferenceDefaultSpec

func SetLocationPreferenceDefaultSpec(obj *PostgresInstanceSettingsLocationPreference)

Types

type ObjectPhase

type ObjectPhase string
const (
	// PhaseRunning means that the sql resource is active and ready to receive traffic
	PhaseRunning ObjectPhase = "Running"
	// PhaseApplying means that the sql resource is currently applying
	PhaseApplying ObjectPhase = "Applying"
	// PhaseInitializing means that the sql resource is initializing
	PhaseInitializing ObjectPhase = "Initializing"
	// PhaseFailed means that the sql resource creation process is failed due to some reason
	PhaseFailed ObjectPhase = "Failed"
	// PhaseDestroying means that the sql resource are being destroying
	PhaseDestroying ObjectPhase = "Destroying"
)

type PostgreSql

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

	Spec   PostgreSqlSpec   `json:"spec,omitempty"`
	Status PostgreSqlStatus `json:"status,omitempty"`
}

PostgreSql is the Schema for the postgresqls API

func (*PostgreSql) DeepCopy

func (in *PostgreSql) DeepCopy() *PostgreSql

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

func (*PostgreSql) DeepCopyInto

func (in *PostgreSql) DeepCopyInto(out *PostgreSql)

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

func (*PostgreSql) DeepCopyObject

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

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

func (*PostgreSql) Default

func (r *PostgreSql) Default()

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

func (*PostgreSql) SetupWebhookWithManager

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

func (*PostgreSql) ValidateCreate

func (r *PostgreSql) ValidateCreate() error

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

func (*PostgreSql) ValidateDelete

func (r *PostgreSql) ValidateDelete() error

ValidateDelete implements webhook.Validator, we do nothing in ValidateDelete, since we don’t need to validate anything on deletion.

func (*PostgreSql) ValidateUpdate

func (r *PostgreSql) ValidateUpdate(old runtime.Object) error

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

type PostgreSqlList

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

PostgreSqlList contains a list of PostgreSql

func (*PostgreSqlList) DeepCopy

func (in *PostgreSqlList) DeepCopy() *PostgreSqlList

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

func (*PostgreSqlList) DeepCopyInto

func (in *PostgreSqlList) DeepCopyInto(out *PostgreSqlList)

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

func (*PostgreSqlList) DeepCopyObject

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

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

type PostgreSqlSpec

type PostgreSqlSpec struct {
	Project     PostgresqlInstanceProvider `json:"project"`
	RemoteState PostgresqlInstanceBackend  `json:"remoteState"`
	// +optional
	BucketConfig PostgresqlInstanceStorageBucket `json:"bucketConfig"`
	SqlInstance  PostgresqlInstanceSpec          `json:"sqlInstance"`
	Databases    []PostgresInstanceDatabases     `json:"databases"`
	Users        []PostgresInstanceDatabaseUsers `json:"users,omitempty"`
}

PostgreSqlSpec defines the desired state of PostgreSql

func (*PostgreSqlSpec) DeepCopy

func (in *PostgreSqlSpec) DeepCopy() *PostgreSqlSpec

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

func (*PostgreSqlSpec) DeepCopyInto

func (in *PostgreSqlSpec) DeepCopyInto(out *PostgreSqlSpec)

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

type PostgreSqlStatus

type PostgreSqlStatus struct {
	// +optional
	Phase ObjectPhase `json:"phase,omitempty"`
	// +optional
	Output PostgresInstanceOutput `json:"output,omitempty"`
}

PostgreSqlStatus defines the observed state of PostgreSql

func (*PostgreSqlStatus) DeepCopy

func (in *PostgreSqlStatus) DeepCopy() *PostgreSqlStatus

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

func (*PostgreSqlStatus) DeepCopyInto

func (in *PostgreSqlStatus) DeepCopyInto(out *PostgreSqlStatus)

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

type PostgresInstanceDatabasePassword

type PostgresInstanceDatabasePassword struct {
	//SecretKeyRef Selects a key of a secret in the pod's namespace.
	SecretKeyRef PostgresInstanceDatabasePasswordSpec `json:"secretKeyRef"`
}

PostgresInstanceDatabasePassword contains database password key

func (*PostgresInstanceDatabasePassword) DeepCopy

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

func (*PostgresInstanceDatabasePassword) DeepCopyInto

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

type PostgresInstanceDatabasePasswordSpec

type PostgresInstanceDatabasePasswordSpec struct {
	//The Name of the secret
	Name string `json:"name"`
	// The Key of the secret to select from.  Must be a valid secret key.
	Key string `json:"key"`
}

PostgresInstanceDatabasePasswordSpec holds password spec

func (*PostgresInstanceDatabasePasswordSpec) DeepCopy

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

func (*PostgresInstanceDatabasePasswordSpec) DeepCopyInto

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

type PostgresInstanceDatabaseUsers

type PostgresInstanceDatabaseUsers struct {
	//The name of the user.
	Name string `json:"name" tf:"name"`
	// Project the ID of the project in which the resource belongs
	// +optional
	Project string `json:"project" tf:"project"`
	//The name of the Cloud SQL instance
	// +optional
	Instance string `json:"instance" tf:"instance"`
	//The Password of the Cloud SQL instance user
	Password PostgresInstanceDatabasePassword `json:"password" tf:"password"`
}

PostgresInstanceDatabaseUsers contains database users spec

func (*PostgresInstanceDatabaseUsers) DeepCopy

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

func (*PostgresInstanceDatabaseUsers) DeepCopyInto

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

type PostgresInstanceDatabases

type PostgresInstanceDatabases struct {
	// Project the ID of the project in which the resource belongs
	// +optional
	Project string `json:"project" tf:"project"`
	//The name of the database in the Cloud SQL instance
	Name string `json:"name" tf:"name"`
	// The charset value
	// +optional
	Charset string `json:"charset" tf:"charset"`
	// +optional
	Collation string `json:"collation" tf:"collation"`
	//The name of the Cloud SQL instance
	// +optional
	Instance string `json:"instance" tf:"instance"`
}

PostgresInstanceDatabases define databases config in sql instance

func (*PostgresInstanceDatabases) DeepCopy

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

func (*PostgresInstanceDatabases) DeepCopyInto

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

type PostgresInstanceOutput

type PostgresInstanceOutput struct {
	//The connection name of the instance to be used in connection strings
	// +optional
	ConnectionName string `json:"connectionName,omitempty"`
	//The private IPv4 address assigned to the instance
	// +kubebuilder:default:=<pending>
	// +optional
	ConnectionIPAddress string `json:"connectionIPAddress,omitempty"`
}

PostgresInstanceOutput define instance connection parameters

func (*PostgresInstanceOutput) DeepCopy

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

func (*PostgresInstanceOutput) DeepCopyInto

func (in *PostgresInstanceOutput) DeepCopyInto(out *PostgresInstanceOutput)

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

type PostgresInstanceSettingsBackupConfiguration

type PostgresInstanceSettingsBackupConfiguration struct {
	//Enabled backup configuration
	Enabled bool `json:"enabled" tf:"enabled"`
	//StartTime HH:MM format time indicating when backup configuration starts.
	StartTime string `json:"startTime" tf:"start_time"`
}

PostgresInstanceSettingsBackupConfiguration enable backup configuration

func (*PostgresInstanceSettingsBackupConfiguration) DeepCopy

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

func (*PostgresInstanceSettingsBackupConfiguration) DeepCopyInto

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

type PostgresInstanceSettingsDatabaseFlags

type PostgresInstanceSettingsDatabaseFlags struct {
	// +optional
	Name string `json:"name,omitempty" tf:"name,omitempty"`
	// +optional
	Value string `json:"value,omitempty" tf:"value,omitempty"`
}

PostgresInstanceSettingsDatabaseFlags define sql instance flags

func (*PostgresInstanceSettingsDatabaseFlags) DeepCopy

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

func (*PostgresInstanceSettingsDatabaseFlags) DeepCopyInto

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

type PostgresInstanceSettingsIpConfiguration

type PostgresInstanceSettingsIpConfiguration struct {
	//Whether this Cloud SQL instance should be assigned a public IPV4 address.
	// +optional
	Ipv4Enabled bool `json:"ipv4Enabled" tf:"ipv4_enabled"`
	//The VPC network from which the Cloud SQL instance is accessible
	PrivateNetwork string `json:"privateNetwork" tf:"private_network"`
	//Whether SSL connections over IP are enforced or not.
	// +optional
	RequireSSL bool `json:"requireSSL,omitempty" tf:"require_ssl,omitempty"`
}

PostgresInstanceSettingsIpConfiguration define instance network configuration

func (*PostgresInstanceSettingsIpConfiguration) DeepCopy

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

func (*PostgresInstanceSettingsIpConfiguration) DeepCopyInto

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

type PostgresInstanceSettingsLocationPreference

type PostgresInstanceSettingsLocationPreference struct {
	//A GAE application whose zone to remain in. Must be in the same region as this instance.
	// +optional
	FollowGaeApplication string `json:"followGaeApplication,omitempty" tf:"follow_gae_application,omitempty"`
	// Zone define the preferred compute engine zone.
	// +optional
	Zone string `json:"zone" tf:"zone"`
}

func (*PostgresInstanceSettingsLocationPreference) DeepCopy

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

func (*PostgresInstanceSettingsLocationPreference) DeepCopyInto

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

type PostgresInstanceSettingsMaintenanceWindow

type PostgresInstanceSettingsMaintenanceWindow struct {
	//Day of week (1-7)
	Day int64 `json:"day" tf:"day"`
	//Hour of day (0-23)
	Hour int64 `json:"hour" tf:"hour"`
}

PostgresInstanceSettingsMaintenanceWindow define instance maintenance config

func (*PostgresInstanceSettingsMaintenanceWindow) DeepCopy

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

func (*PostgresInstanceSettingsMaintenanceWindow) DeepCopyInto

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

type PostgresInstanceSettingsSpec

type PostgresInstanceSettingsSpec struct {
	//The machine type to use
	// +optional
	MachineType string `json:"machineType" tf:"tier"`
	//The availability type of the Cloud SQL instance, high availability (REGIONAL) or single zone (ZONAL)
	// +optional
	AvailabilityType string `json:"availabilityType" tf:"availability_type"`
	//Configuration to increase storage size automatically.
	// +optional
	DiskAutoresize bool `json:"diskAutoresize" tf:"disk_autoresize"`
	//The type of data disk: PD_SSD or PD_HDD
	// +optional
	DiskType string `json:"diskType" tf:"disk_type"`
	//Specify when the instance should be active. Can be either ALWAYS, NEVER or ON_DEMAND
	// +optional
	ActivationPolicy string `json:"activationPolicy" tf:"activation_policy"`
	//A set of key/value user label pairs to assign to the instance.
	// +optional
	Labels map[string]string `json:"labels,omitempty" tf:"user_labels,omitempty"`
	// +optional
	DatabaseFlags []PostgresInstanceSettingsDatabaseFlags `json:"databaseFlags,omitempty" tf:"database_flags,omitempty"`
	//Network configuration
	IpConfiguration PostgresInstanceSettingsIpConfiguration `json:"ipConfiguration" tf:"ip_configuration"`
	//Backup configuration
	BackupConfiguration PostgresInstanceSettingsBackupConfiguration `json:"backupConfiguration" tf:"backup_configuration"`
	// +optional
	LocationPreference PostgresInstanceSettingsLocationPreference `json:"locationPreference" tf:"location_preference"`
	//Maintenance configuration for automatically apply maintenance to instance
	MaintenanceWindow PostgresInstanceSettingsMaintenanceWindow `json:"maintenanceWindow" tf:"maintenance_window"`
}

PostgresInstanceSettingsSpec define sql instance settings

func (*PostgresInstanceSettingsSpec) DeepCopy

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

func (*PostgresInstanceSettingsSpec) DeepCopyInto

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

type PostgresqlInstanceBackend

type PostgresqlInstanceBackend struct {
	//BucketName define the name of the GCS bucket
	BucketName string `json:"bucketName" tf:"bucket"`
	//BucketPrefix GCS prefix inside the bucket
	BucketPrefix string `json:"bucketPrefix" tf:"prefix"`
}

PostgresqlInstanceBackend define gcp bucket config

func (*PostgresqlInstanceBackend) DeepCopy

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

func (*PostgresqlInstanceBackend) DeepCopyInto

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

type PostgresqlInstanceProvider

type PostgresqlInstanceProvider struct {
	//Name define the project name
	Name string `json:"name" tf:"project"`
	// Region the instance will sit in
	// +optional
	Region string `json:"region" tf:"region"`
	// Zone define the preferred compute engine zone.
	// +optional
	Zone string `json:"zone" tf:"zone"`
}

PostgresqlInstanceProvider define information about gcp tenant

func (*PostgresqlInstanceProvider) DeepCopy

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

func (*PostgresqlInstanceProvider) DeepCopyInto

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

type PostgresqlInstanceSpec

type PostgresqlInstanceSpec struct {
	//DataBaseVersion define the PostgreSQL version to use
	DataBaseVersion string `json:"databaseVersion" tf:"database_version"`
	// +optional
	DeletionProtection bool `json:"deletionProtection" tf:"deletion_protection"`
	//The name of the Cloud SQL instance
	// +optional
	Name string `json:"name" tf:"name"`
	// Project the ID of the project in which the resource belongs
	// +optional
	Project string `json:"project" tf:"project"`
	// Region the instance will sit in
	// +optional
	Region string `json:"region" tf:"region"`
	// Settings to use to configure the database
	Settings []PostgresInstanceSettingsSpec `json:"settings" tf:"settings"`
}

PostgresqlInstanceSpec define the sql instance

func (*PostgresqlInstanceSpec) DeepCopy

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

func (*PostgresqlInstanceSpec) DeepCopyInto

func (in *PostgresqlInstanceSpec) DeepCopyInto(out *PostgresqlInstanceSpec)

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

type PostgresqlInstanceStorageBucket

type PostgresqlInstanceStorageBucket struct {
	//Name define the name of the GCS bucket
	// +optional
	Name string `json:"name" tf:"name"`
	// Project the ID of the project in which the resource belongs
	// +optional
	Project string `json:"project" tf:"project"`
	//Location define the GCS bucket location
	// +optional
	Location string `json:"location" tf:"location"`
	//Destroy When deleting a bucket, this boolean option will delete all contained objects
	// +optional
	Destroy bool `json:"destroy" tf:"force_destroy"`
	//StorageClass define the storage class of the bucket
	// +optional
	StorageClass string `json:"storageClass" tf:"storage_class"`
	//LifecycleRules define the bucket Lifecycle Rules configuration
	// +optional
	LifecycleRule PostgresqlInstanceStorageBucketLifecycleRules `json:"lifecycleRule" tf:"lifecycle_rule"`
}

PostgresqlInstanceStorageBucket define gcp bucket config

func (*PostgresqlInstanceStorageBucket) DeepCopy

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

func (*PostgresqlInstanceStorageBucket) DeepCopyInto

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

type PostgresqlInstanceStorageBucketLifecycleRules

type PostgresqlInstanceStorageBucketLifecycleRules struct {
	//Condition define the Lifecycle Rule's condition configuration
	// +optional
	Condition map[string]int `json:"condition" tf:"condition"`
	//Action define the Lifecycle Rule's action configuration
	// +optional
	Action map[string]string `json:"action" tf:"action"`
}

func (*PostgresqlInstanceStorageBucketLifecycleRules) DeepCopy

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

func (*PostgresqlInstanceStorageBucketLifecycleRules) DeepCopyInto

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