Help us shape the future of Go! Take the 2026 Go Developer Survey

v1alpha1

package
v0.16.2 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package v1alpha1 contains the core resources of the SQL provider. +kubebuilder:object:generate=true +groupName=postgresql.sql.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	Group   = "postgresql.sql.crossplane.io"
	Version = "v1alpha1"
)

Package type metadata.

View Source
const (
	// CredentialsSourcePostgreSQLConnectionSecret indicates that a provider
	// should acquire credentials from a connection secret written by a managed
	// resource that represents a PostgreSQL server.
	CredentialsSourcePostgreSQLConnectionSecret xpv2.CredentialsSource = "PostgreSQLConnectionSecret"
)
View Source
const Wildcard = "*"

Wildcard, as the sole element of an object list, maps to PostgreSQL's ON ALL <objects> IN SCHEMA form.

Variables

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 = runtime.NewSchemeBuilder()
)
View Source
var (
	ProviderConfigKind             = reflect.TypeOf(ProviderConfig{}).Name()
	ProviderConfigGroupKind        = schema.GroupKind{Group: Group, Kind: ProviderConfigKind}.String()
	ProviderConfigKindAPIVersion   = ProviderConfigKind + "." + SchemeGroupVersion.String()
	ProviderConfigGroupVersionKind = SchemeGroupVersion.WithKind(ProviderConfigKind)
)

ProviderConfig type metadata.

View Source
var (
	ProviderConfigUsageKind             = reflect.TypeOf(ProviderConfigUsage{}).Name()
	ProviderConfigUsageGroupKind        = schema.GroupKind{Group: Group, Kind: ProviderConfigUsageKind}.String()
	ProviderConfigUsageKindAPIVersion   = ProviderConfigUsageKind + "." + SchemeGroupVersion.String()
	ProviderConfigUsageGroupVersionKind = SchemeGroupVersion.WithKind(ProviderConfigUsageKind)

	ProviderConfigUsageListKind             = reflect.TypeOf(ProviderConfigUsageList{}).Name()
	ProviderConfigUsageListGroupKind        = schema.GroupKind{Group: Group, Kind: ProviderConfigUsageListKind}.String()
	ProviderConfigUsageListKindAPIVersion   = ProviderConfigUsageListKind + "." + SchemeGroupVersion.String()
	ProviderConfigUsageListGroupVersionKind = SchemeGroupVersion.WithKind(ProviderConfigUsageListKind)
)

ProviderConfigUsage type metadata.

View Source
var (
	ExtensionKind             = reflect.TypeOf(Extension{}).Name()
	ExtensionGroupKind        = schema.GroupKind{Group: Group, Kind: ExtensionKind}.String()
	ExtensionKindAPIVersion   = ExtensionKind + "." + SchemeGroupVersion.String()
	ExtensionGroupVersionKind = SchemeGroupVersion.WithKind(ExtensionKind)
)

Extension type metadata.

View Source
var (
	DatabaseKind             = reflect.TypeOf(Database{}).Name()
	DatabaseGroupKind        = schema.GroupKind{Group: Group, Kind: DatabaseKind}.String()
	DatabaseKindAPIVersion   = DatabaseKind + "." + SchemeGroupVersion.String()
	DatabaseGroupVersionKind = SchemeGroupVersion.WithKind(DatabaseKind)
)

Database type metadata.

View Source
var (
	RoleKind             = reflect.TypeOf(Role{}).Name()
	RoleGroupKind        = schema.GroupKind{Group: Group, Kind: RoleKind}.String()
	RoleKindAPIVersion   = RoleKind + "." + SchemeGroupVersion.String()
	RoleGroupVersionKind = SchemeGroupVersion.WithKind(RoleKind)
)

Role type metadata.

View Source
var (
	GrantKind             = reflect.TypeOf(Grant{}).Name()
	GrantGroupKind        = schema.GroupKind{Group: Group, Kind: GrantKind}.String()
	GrantKindAPIVersion   = GrantKind + "." + SchemeGroupVersion.String()
	GrantGroupVersionKind = SchemeGroupVersion.WithKind(GrantKind)
)

Grant type metadata.

View Source
var (
	DefaultPrivilegesKind             = reflect.TypeOf(DefaultPrivileges{}).Name()
	DefaultPrivilegesGroupKind        = schema.GroupKind{Group: Group, Kind: DefaultPrivilegesKind}.String()
	DefaultPrivilegesKindAPIVersion   = DefaultPrivilegesKind + "." + SchemeGroupVersion.String()
	DefaultPrivilegesGroupVersionKind = SchemeGroupVersion.WithKind(DefaultPrivilegesKind)
)

DefaultPrivileges type metadata.

View Source
var (
	SchemaKind             = reflect.TypeOf(Schema{}).Name()
	SchemaGroupKind        = schema.GroupKind{Group: Group, Kind: SchemaKind}.String()
	SchemaKindAPIVersion   = SchemaKind + "." + SchemeGroupVersion.String()
	SchemaGroupVersionKind = SchemeGroupVersion.WithKind(SchemaKind)
)

Schema type metadata.

Functions

func IsWildcard added in v0.16.2

func IsWildcard(objs []string) bool

IsWildcard reports whether objs is exactly the wildcard sentinel.

func IsWildcardRoutines added in v0.16.2

func IsWildcardRoutines(rs []Routine) bool

IsWildcardRoutines reports whether rs is exactly the wildcard sentinel. Args are not inspected here; validateWildcards rejects them separately.

Types

type Database

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

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

A Database represents the declarative state of a PostgreSQL database. +kubebuilder:subresource:status +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="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,sql}

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) GetCondition

func (mg *Database) GetCondition(ct xpv2.ConditionType) xpv2.Condition

GetCondition of this Database.

func (*Database) GetDeletionPolicy

func (mg *Database) GetDeletionPolicy() xpv2.DeletionPolicy

GetDeletionPolicy of this Database.

func (*Database) GetManagementPolicies

func (mg *Database) GetManagementPolicies() xpv2.ManagementPolicies

GetManagementPolicies of this Database.

func (*Database) GetProviderConfigReference

func (mg *Database) GetProviderConfigReference() *xpv2.Reference

GetProviderConfigReference of this Database.

func (*Database) GetWriteConnectionSecretToReference

func (mg *Database) GetWriteConnectionSecretToReference() *xpv2.SecretReference

GetWriteConnectionSecretToReference of this Database.

func (*Database) ResolveReferences added in v0.16.0

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

ResolveReferences of this Database.

func (*Database) SetConditions

func (mg *Database) SetConditions(c ...xpv2.Condition)

SetConditions of this Database.

func (*Database) SetDeletionPolicy

func (mg *Database) SetDeletionPolicy(r xpv2.DeletionPolicy)

SetDeletionPolicy of this Database.

func (*Database) SetManagementPolicies

func (mg *Database) SetManagementPolicies(r xpv2.ManagementPolicies)

SetManagementPolicies of this Database.

func (*Database) SetProviderConfigReference

func (mg *Database) SetProviderConfigReference(r *xpv2.Reference)

SetProviderConfigReference of this Database.

func (*Database) SetWriteConnectionSecretToReference

func (mg *Database) SetWriteConnectionSecretToReference(r *xpv2.SecretReference)

SetWriteConnectionSecretToReference of this Database.

type DatabaseList

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

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.

func (*DatabaseList) GetItems

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

GetItems of this DatabaseList.

type DatabaseParameters

type DatabaseParameters struct {
	// The role name of the user who will own the new database, or DEFAULT to
	// use the default (namely, the user executing the command). To create a
	// database owned by another role, you must be a direct or indirect member
	// of that role, or be a superuser.
	// +optional
	// +crossplane:generate:reference:type=Role
	Owner *string `json:"owner,omitempty"`

	// OwnerRef references the role object that will own this database.
	// +optional
	OwnerRef *xpv2.Reference `json:"ownerRef,omitempty"`

	// OwnerSelector selects a reference to a Role that will own this database.
	// +optional
	OwnerSelector *xpv2.Selector `json:"ownerSelector,omitempty"`

	// The name of the template from which to create the new database, or
	// DEFAULT to use the default template (template1).
	Template *string `json:"template,omitempty"`

	// Strategy sets the method used to create the database from the template.
	// This field is create-only and requires PostgreSQL 15+.
	// When omitted, PostgreSQL uses the server default.
	// +kubebuilder:validation:Enum=WAL_LOG;FILE_COPY
	// +optional
	Strategy *DatabaseStrategy `json:"strategy,omitempty"`

	// Character set encoding to use in the new database. Specify a string
	// constant (e.g., 'SQL_ASCII'), or an integer encoding number, or DEFAULT
	// to use the default encoding (namely, the encoding of the template
	// database). The character sets supported by the PostgreSQL server are
	// described in Section 23.3.1. See below for additional restrictions.
	Encoding *string `json:"encoding,omitempty"`

	// Collation order (LC_COLLATE) to use in the new database. This affects the
	// sort order applied to strings, e.g. in queries with ORDER BY, as well as
	// the order used in indexes on text columns. The default is to use the
	// collation order of the template database. See below for additional
	// restrictions.
	LCCollate *string `json:"lcCollate,omitempty"`

	// Character classification (LC_CTYPE) to use in the new database. This
	// affects the categorization of characters, e.g. lower, upper and digit.
	// The default is to use the character classification of the template
	// database. See below for additional restrictions.
	LCCType *string `json:"lcCType,omitempty"`

	// The name of the tablespace that will be associated with the new database,
	// or DEFAULT to use the template database's tablespace. This tablespace
	// will be the default tablespace used for objects created in this database.
	// See CREATE TABLESPACE for more information.
	Tablespace *string `json:"tablespace,omitempty"`

	// If false then no one can connect to this database. The default is true,
	// allowing connections (except as restricted by other mechanisms, such as
	// GRANT/REVOKE CONNECT).
	AllowConnections *bool `json:"allowConnections,omitempty"`

	// How many concurrent connections can be made to this database. -1 (the
	// default) means no limit.
	ConnectionLimit *int `json:"connectionLimit,omitempty"`

	// If true, then this database can be cloned by any user with CREATEDB
	// privileges; if false (the default), then only superusers or the owner of
	// the database can clone it.
	IsTemplate *bool `json:"isTemplate,omitempty"`
}

DatabaseParameters are the configurable fields of a Database. +kubebuilder:validation:XValidation:rule="!oldSelf.hasValue() || ((!has(self.strategy) && !has(oldSelf.value().strategy)) || (has(self.strategy) && has(oldSelf.value().strategy) && self.strategy == oldSelf.value().strategy))",message="strategy field is immutable after creation",optionalOldSelf=true

func (*DatabaseParameters) DeepCopy

func (in *DatabaseParameters) DeepCopy() *DatabaseParameters

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

func (*DatabaseParameters) DeepCopyInto

func (in *DatabaseParameters) DeepCopyInto(out *DatabaseParameters)

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

type DatabaseSpec

type DatabaseSpec struct {
	xpv2.ClusterManagedResourceSpec `json:",inline"`
	ForProvider                     DatabaseParameters `json:"forProvider"`
}

A DatabaseSpec defines the desired state of a 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 {
	xpv2.ManagedResourceStatus `json:",inline"`
}

A DatabaseStatus represents the observed state of a 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 DatabaseStrategy added in v0.16.0

type DatabaseStrategy string

DatabaseStrategy sets the method that is used to create a database.

const (
	// DatabaseStrategyWALLog copies blocks through the write-ahead log.
	DatabaseStrategyWALLog DatabaseStrategy = "WAL_LOG"
	// DatabaseStrategyFileCopy copies the template database files directly.
	DatabaseStrategyFileCopy DatabaseStrategy = "FILE_COPY"
)

type DefaultPrivileges added in v0.14.0

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

	Spec   DefaultPrivilegesSpec   `json:"spec"`
	Status DefaultPrivilegesStatus `json:"status,omitempty"`
}

A DefaultPrivileges represents the declarative state of a PostgreSQL DefaultPrivileges. +kubebuilder:subresource:status +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="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="ROLE",type="string",JSONPath=".spec.forProvider.role" +kubebuilder:printcolumn:name="TARGET_ROLE",type="string",JSONPath=".spec.forProvider.targetRole" +kubebuilder:printcolumn:name="SCHEMA",type="string",JSONPath=".spec.forProvider.schema" +kubebuilder:printcolumn:name="DATABASE",type="string",JSONPath=".spec.forProvider.database" +kubebuilder:printcolumn:name="PRIVILEGES",type="string",JSONPath=".spec.forProvider.privileges" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,sql}

func (*DefaultPrivileges) DeepCopy added in v0.14.0

func (in *DefaultPrivileges) DeepCopy() *DefaultPrivileges

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

func (*DefaultPrivileges) DeepCopyInto added in v0.14.0

func (in *DefaultPrivileges) DeepCopyInto(out *DefaultPrivileges)

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

func (*DefaultPrivileges) DeepCopyObject added in v0.14.0

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

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

func (*DefaultPrivileges) GetCondition added in v0.14.0

func (mg *DefaultPrivileges) GetCondition(ct xpv2.ConditionType) xpv2.Condition

GetCondition of this DefaultPrivileges.

func (*DefaultPrivileges) GetDeletionPolicy added in v0.14.0

func (mg *DefaultPrivileges) GetDeletionPolicy() xpv2.DeletionPolicy

GetDeletionPolicy of this DefaultPrivileges.

func (*DefaultPrivileges) GetManagementPolicies added in v0.14.0

func (mg *DefaultPrivileges) GetManagementPolicies() xpv2.ManagementPolicies

GetManagementPolicies of this DefaultPrivileges.

func (*DefaultPrivileges) GetProviderConfigReference added in v0.14.0

func (mg *DefaultPrivileges) GetProviderConfigReference() *xpv2.Reference

GetProviderConfigReference of this DefaultPrivileges.

func (*DefaultPrivileges) GetWriteConnectionSecretToReference added in v0.14.0

func (mg *DefaultPrivileges) GetWriteConnectionSecretToReference() *xpv2.SecretReference

GetWriteConnectionSecretToReference of this DefaultPrivileges.

func (*DefaultPrivileges) ResolveReferences added in v0.14.0

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

ResolveReferences of this DefaultPrivileges.

func (*DefaultPrivileges) SetConditions added in v0.14.0

func (mg *DefaultPrivileges) SetConditions(c ...xpv2.Condition)

SetConditions of this DefaultPrivileges.

func (*DefaultPrivileges) SetDeletionPolicy added in v0.14.0

func (mg *DefaultPrivileges) SetDeletionPolicy(r xpv2.DeletionPolicy)

SetDeletionPolicy of this DefaultPrivileges.

func (*DefaultPrivileges) SetManagementPolicies added in v0.14.0

func (mg *DefaultPrivileges) SetManagementPolicies(r xpv2.ManagementPolicies)

SetManagementPolicies of this DefaultPrivileges.

func (*DefaultPrivileges) SetProviderConfigReference added in v0.14.0

func (mg *DefaultPrivileges) SetProviderConfigReference(r *xpv2.Reference)

SetProviderConfigReference of this DefaultPrivileges.

func (*DefaultPrivileges) SetWriteConnectionSecretToReference added in v0.14.0

func (mg *DefaultPrivileges) SetWriteConnectionSecretToReference(r *xpv2.SecretReference)

SetWriteConnectionSecretToReference of this DefaultPrivileges.

type DefaultPrivilegesList added in v0.14.0

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

DefaultPrivilegesList contains a list of DefaultPrivileges.

func (*DefaultPrivilegesList) DeepCopy added in v0.14.0

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

func (*DefaultPrivilegesList) DeepCopyInto added in v0.14.0

func (in *DefaultPrivilegesList) DeepCopyInto(out *DefaultPrivilegesList)

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

func (*DefaultPrivilegesList) DeepCopyObject added in v0.14.0

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

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

func (*DefaultPrivilegesList) GetItems added in v0.14.0

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

GetItems of this DefaultPrivilegesList.

type DefaultPrivilegesParameters added in v0.14.0

type DefaultPrivilegesParameters struct {
	// Privileges to be granted.
	// See https://www.postgresql.org/docs/current/sql-grant.html for available privileges.
	// +optional
	Privileges GrantPrivileges `json:"privileges,omitempty"`

	// TargetRole is the role whose future objects will have default privileges applied.
	// When this role creates new objects, the specified privileges are automatically
	// granted. Maps to FOR ROLE in ALTER DEFAULT PRIVILEGES.
	// See https://www.postgresql.org/docs/current/sql-alterdefaultprivileges.html
	// +required
	TargetRole *string `json:"targetRole"`

	// ObjectType to which the privileges are granted.
	// +kubebuilder:validation:Enum=table;sequence;function;schema;type
	// +required
	ObjectType *string `json:"objectType,omitempty"`

	// WithOption allows an option to be set on the grant.
	// See https://www.postgresql.org/docs/current/sql-grant.html for available
	// options for each grant type, and the effects of applying the option.
	// +kubebuilder:validation:Enum=ADMIN;GRANT
	// +optional
	WithOption *GrantOption `json:"withOption,omitempty"`

	// Role is the role that will receive the default privileges (the grantee).
	// Maps to TO in ALTER DEFAULT PRIVILEGES ... GRANT ... TO role.
	// +optional
	// +crossplane:generate:reference:type=Role
	Role *string `json:"role,omitempty"`

	// RoleRef to which default privileges are granted.
	// +immutable
	// +optional
	RoleRef *xpv2.Reference `json:"roleRef,omitempty"`

	// RoleSelector selects a reference to a Role this default grant is for.
	// +immutable
	// +optional
	RoleSelector *xpv2.Selector `json:"roleSelector,omitempty"`

	// Database in which the default privileges are applied
	// +optional
	// +crossplane:generate:reference:type=Database
	Database *string `json:"database,omitempty"`

	// DatabaseRef references the database object this default grant it for.
	// +immutable
	// +optional
	DatabaseRef *xpv2.Reference `json:"databaseRef,omitempty"`

	// DatabaseSelector selects a reference to a Database this grant is for.
	// +immutable
	// +optional
	DatabaseSelector *xpv2.Selector `json:"databaseSelector,omitempty"`

	// Schema in which the default privileges are applied.
	// Not applicable when objectType is schema.
	// +optional
	Schema *string `json:"schema,omitempty"`
}

DefaultPrivilegesParameters defines the desired state of a Default Grant. +kubebuilder:validation:XValidation:rule="!has(self.objectType) || self.objectType == 'schema' || has(self.schema)",message="schema is required when objectType is not schema" +kubebuilder:validation:XValidation:rule="!has(self.objectType) || self.objectType != 'schema' || !has(self.schema)",message="schema must not be set when objectType is schema"

func (*DefaultPrivilegesParameters) DeepCopy added in v0.14.0

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

func (*DefaultPrivilegesParameters) DeepCopyInto added in v0.14.0

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

type DefaultPrivilegesSpec added in v0.14.0

type DefaultPrivilegesSpec struct {
	xpv2.ClusterManagedResourceSpec `json:",inline"`
	ForProvider                     DefaultPrivilegesParameters `json:"forProvider"`
}

A DefaultPrivilegesSpec defines the desired state of a Default Grant.

func (*DefaultPrivilegesSpec) DeepCopy added in v0.14.0

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

func (*DefaultPrivilegesSpec) DeepCopyInto added in v0.14.0

func (in *DefaultPrivilegesSpec) DeepCopyInto(out *DefaultPrivilegesSpec)

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

type DefaultPrivilegesStatus added in v0.14.0

type DefaultPrivilegesStatus struct {
	xpv2.ManagedResourceStatus `json:",inline"`
}

A DefaultPrivilegesStatus represents the observed state of a Grant.

func (*DefaultPrivilegesStatus) DeepCopy added in v0.14.0

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

func (*DefaultPrivilegesStatus) DeepCopyInto added in v0.14.0

func (in *DefaultPrivilegesStatus) DeepCopyInto(out *DefaultPrivilegesStatus)

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

type DropBehavior added in v0.15.0

type DropBehavior string

DropBehavior sets the method that is used to drop a schema.

const (
	// DropBehaviorCascade automatically drops objects contained in the schema.
	DropBehaviorCascade DropBehavior = "CASCADE"
	// DropBehaviorRestrict refuses to drop the schema if it contains any objects.
	DropBehaviorRestrict DropBehavior = "RESTRICT"
)

type Extension

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

	Spec   ExtensionSpec   `json:"spec"`
	Status ExtensionStatus `json:"status,omitempty"`
}

An Extension represents the declarative state of a PostgreSQL Extension. +kubebuilder:subresource:status +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",type="string",JSONPath=".spec.forProvider.database" +kubebuilder:printcolumn:name="EXTENSION",type="string",JSONPath=".spec.forProvider.extension" +kubebuilder:printcolumn:name="VERSION",type="string",JSONPath=".spec.forProvider.version" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,sql}

func (*Extension) DeepCopy

func (in *Extension) DeepCopy() *Extension

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

func (*Extension) DeepCopyInto

func (in *Extension) DeepCopyInto(out *Extension)

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

func (*Extension) DeepCopyObject

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

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

func (*Extension) GetCondition

func (mg *Extension) GetCondition(ct xpv2.ConditionType) xpv2.Condition

GetCondition of this Extension.

func (*Extension) GetDeletionPolicy

func (mg *Extension) GetDeletionPolicy() xpv2.DeletionPolicy

GetDeletionPolicy of this Extension.

func (*Extension) GetManagementPolicies

func (mg *Extension) GetManagementPolicies() xpv2.ManagementPolicies

GetManagementPolicies of this Extension.

func (*Extension) GetProviderConfigReference

func (mg *Extension) GetProviderConfigReference() *xpv2.Reference

GetProviderConfigReference of this Extension.

func (*Extension) GetWriteConnectionSecretToReference

func (mg *Extension) GetWriteConnectionSecretToReference() *xpv2.SecretReference

GetWriteConnectionSecretToReference of this Extension.

func (*Extension) ResolveReferences

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

ResolveReferences of this Extension.

func (*Extension) SetConditions

func (mg *Extension) SetConditions(c ...xpv2.Condition)

SetConditions of this Extension.

func (*Extension) SetDeletionPolicy

func (mg *Extension) SetDeletionPolicy(r xpv2.DeletionPolicy)

SetDeletionPolicy of this Extension.

func (*Extension) SetManagementPolicies

func (mg *Extension) SetManagementPolicies(r xpv2.ManagementPolicies)

SetManagementPolicies of this Extension.

func (*Extension) SetProviderConfigReference

func (mg *Extension) SetProviderConfigReference(r *xpv2.Reference)

SetProviderConfigReference of this Extension.

func (*Extension) SetWriteConnectionSecretToReference

func (mg *Extension) SetWriteConnectionSecretToReference(r *xpv2.SecretReference)

SetWriteConnectionSecretToReference of this Extension.

type ExtensionList

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

ExtensionList contains a list of Extension

func (*ExtensionList) DeepCopy

func (in *ExtensionList) DeepCopy() *ExtensionList

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

func (*ExtensionList) DeepCopyInto

func (in *ExtensionList) DeepCopyInto(out *ExtensionList)

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

func (*ExtensionList) DeepCopyObject

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

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

func (*ExtensionList) GetItems

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

GetItems of this ExtensionList.

type ExtensionParameters

type ExtensionParameters struct {
	// Extension name to be installed.
	Extension string `json:"extension"`

	// Version of the extension to be installed.
	// +immutable
	// +optional
	Version *string `json:"version,omitempty"`

	// Schema for extension install.
	// +optional
	Schema *string `json:"schema,omitempty"`

	// Database for extension install.
	// +optional
	// +crossplane:generate:reference:type=Database
	Database *string `json:"database,omitempty"`

	// DatabaseRef references the database object this extension is for.
	// +immutable
	// +optional
	DatabaseRef *xpv2.Reference `json:"databaseRef,omitempty"`

	// DatabaseSelector selects a reference to a Database this extension is for.
	// +immutable
	// +optional
	DatabaseSelector *xpv2.Selector `json:"databaseSelector,omitempty"`
}

ExtensionParameters are the configurable fields of a Extension.

func (*ExtensionParameters) DeepCopy

func (in *ExtensionParameters) DeepCopy() *ExtensionParameters

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

func (*ExtensionParameters) DeepCopyInto

func (in *ExtensionParameters) DeepCopyInto(out *ExtensionParameters)

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

type ExtensionSpec

type ExtensionSpec struct {
	xpv2.ClusterManagedResourceSpec `json:",inline"`
	ForProvider                     ExtensionParameters `json:"forProvider"`
}

ExtensionSpec defines the desired state of an Extension.

func (*ExtensionSpec) DeepCopy

func (in *ExtensionSpec) DeepCopy() *ExtensionSpec

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

func (*ExtensionSpec) DeepCopyInto

func (in *ExtensionSpec) DeepCopyInto(out *ExtensionSpec)

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

type ExtensionStatus

type ExtensionStatus struct {
	xpv2.ManagedResourceStatus `json:",inline"`
}

A ExtensionStatus represents the observed state of a Extension.

func (*ExtensionStatus) DeepCopy

func (in *ExtensionStatus) DeepCopy() *ExtensionStatus

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

func (*ExtensionStatus) DeepCopyInto

func (in *ExtensionStatus) DeepCopyInto(out *ExtensionStatus)

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

type Grant

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

	Spec   GrantSpec   `json:"spec"`
	Status GrantStatus `json:"status,omitempty"`
}

A Grant represents the declarative state of a PostgreSQL grant. +kubebuilder:subresource:status +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="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="ROLE",type="string",JSONPath=".spec.forProvider.role" +kubebuilder:printcolumn:name="MEMBER OF",type="string",JSONPath=".spec.forProvider.memberOf" +kubebuilder:printcolumn:name="DATABASE",type="string",JSONPath=".spec.forProvider.database" +kubebuilder:printcolumn:name="PRIVILEGES",type="string",JSONPath=".spec.forProvider.privileges" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,sql}

func (*Grant) DeepCopy

func (in *Grant) DeepCopy() *Grant

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

func (*Grant) DeepCopyInto

func (in *Grant) DeepCopyInto(out *Grant)

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

func (*Grant) DeepCopyObject

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

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

func (*Grant) GetCondition

func (mg *Grant) GetCondition(ct xpv2.ConditionType) xpv2.Condition

GetCondition of this Grant.

func (*Grant) GetDeletionPolicy

func (mg *Grant) GetDeletionPolicy() xpv2.DeletionPolicy

GetDeletionPolicy of this Grant.

func (*Grant) GetManagementPolicies

func (mg *Grant) GetManagementPolicies() xpv2.ManagementPolicies

GetManagementPolicies of this Grant.

func (*Grant) GetProviderConfigReference

func (mg *Grant) GetProviderConfigReference() *xpv2.Reference

GetProviderConfigReference of this Grant.

func (*Grant) GetWriteConnectionSecretToReference

func (mg *Grant) GetWriteConnectionSecretToReference() *xpv2.SecretReference

GetWriteConnectionSecretToReference of this Grant.

func (*Grant) ResolveReferences

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

ResolveReferences of this Grant

func (*Grant) SetConditions

func (mg *Grant) SetConditions(c ...xpv2.Condition)

SetConditions of this Grant.

func (*Grant) SetDeletionPolicy

func (mg *Grant) SetDeletionPolicy(r xpv2.DeletionPolicy)

SetDeletionPolicy of this Grant.

func (*Grant) SetManagementPolicies

func (mg *Grant) SetManagementPolicies(r xpv2.ManagementPolicies)

SetManagementPolicies of this Grant.

func (*Grant) SetProviderConfigReference

func (mg *Grant) SetProviderConfigReference(r *xpv2.Reference)

SetProviderConfigReference of this Grant.

func (*Grant) SetWriteConnectionSecretToReference

func (mg *Grant) SetWriteConnectionSecretToReference(r *xpv2.SecretReference)

SetWriteConnectionSecretToReference of this Grant.

type GrantList

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

GrantList contains a list of Grant

func (*GrantList) DeepCopy

func (in *GrantList) DeepCopy() *GrantList

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

func (*GrantList) DeepCopyInto

func (in *GrantList) DeepCopyInto(out *GrantList)

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

func (*GrantList) DeepCopyObject

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

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

func (*GrantList) GetItems

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

GetItems of this GrantList.

type GrantOption

type GrantOption string

GrantOption represents an OPTION that will be applied to a grant. This modifies the behaviour of the grant depending on the type of grant and option applied.

const (
	GrantOptionAdmin GrantOption = "ADMIN"
	GrantOptionGrant GrantOption = "GRANT"
)

The possible values for grant option type.

type GrantParameters

type GrantParameters struct {
	// Privileges to be granted.
	// See https://www.postgresql.org/docs/current/sql-grant.html for available privileges.
	// +optional
	Privileges GrantPrivileges `json:"privileges,omitempty"`

	// WithOption allows an option to be set on the grant.
	// See https://www.postgresql.org/docs/current/sql-grant.html for available
	// options for each grant type, and the effects of applying the option.
	// +kubebuilder:validation:Enum=ADMIN;GRANT
	// +optional
	WithOption *GrantOption `json:"withOption,omitempty"`

	// Role this grant is for.
	// +optional
	// +crossplane:generate:reference:type=Role
	Role *string `json:"role,omitempty"`

	// RoleRef references the role object this grant is for.
	// +immutable
	// +optional
	RoleRef *xpv2.Reference `json:"roleRef,omitempty"`

	// RoleSelector selects a reference to a Role this grant is for.
	// +immutable
	// +optional
	RoleSelector *xpv2.Selector `json:"roleSelector,omitempty"`

	// Database this grant is for.
	// +optional
	// +crossplane:generate:reference:type=Database
	Database *string `json:"database,omitempty"`

	// DatabaseRef references the database object this grant it for.
	// +immutable
	// +optional
	DatabaseRef *xpv2.Reference `json:"databaseRef,omitempty"`

	// DatabaseSelector selects a reference to a Database this grant is for.
	// +immutable
	// +optional
	DatabaseSelector *xpv2.Selector `json:"databaseSelector,omitempty"`

	// Schema this grant is for.
	// +optional
	Schema *string `json:"schema,omitempty"`

	// SchemaRef references the schema object this grant it for.
	// +immutable
	// +optional
	SchemaRef *xpv2.Reference `json:"schemaRef,omitempty"`

	// SchemaSelector selects a reference to a Schema this grant is for.
	// +immutable
	// +optional
	SchemaSelector *xpv2.Selector `json:"schemaSelector,omitempty"`

	// MemberOf is the Role that this grant makes Role a member of.
	// +optional
	// +crossplane:generate:reference:type=Role
	MemberOf *string `json:"memberOf,omitempty"`

	// MemberOfRef references the Role that this grant makes Role a member of.
	// +immutable
	// +optional
	MemberOfRef *xpv2.Reference `json:"memberOfRef,omitempty"`

	// MemberOfSelector selects a reference to a Role that this grant makes Role a member of.
	// +immutable
	// +optional
	MemberOfSelector *xpv2.Selector `json:"memberOfSelector,omitempty"`

	// RevokePublicOnDb apply the statement "REVOKE ALL ON DATABASE %s FROM PUBLIC" to make database unreachable from public
	// +optional
	RevokePublicOnDb *bool `json:"revokePublicOnDb,omitempty" default:"false"`

	// The columns upon which to grant the privileges.
	// +optional
	// +kubebuilder:validation:items:Pattern:=^[a-zA-Z_][a-zA-Z0-9_$]*$
	Columns []string `json:"columns,omitempty"`

	// The tables upon which to grant the privileges. The single element "*"
	// targets every table in the schema and cannot be combined with names. A
	// wildcard grant is authoritative: it revokes ALL PRIVILEGES on the schema
	// from the role before granting.
	// +optional
	// +kubebuilder:validation:items:Pattern:=^(\*|[a-zA-Z_][a-zA-Z0-9_$]*)$
	Tables []string `json:"tables,omitempty"`

	// The sequences upon which to grant the privileges. The single element "*"
	// targets every sequence in the schema and cannot be combined with names,
	// and is authoritative like the tables wildcard.
	// +optional
	// +kubebuilder:validation:items:Pattern:=^(\*|[a-zA-Z_][a-zA-Z0-9_$]*)$
	Sequences []string `json:"sequences,omitempty"`

	// The routines upon which to grant the privileges.
	// +optional
	Routines []Routine `json:"routines,omitempty"`

	// The foreign data wrappers upon which to grant the privileges.
	// +optional
	// +kubebuilder:validation:items:Pattern:=^[a-zA-Z_][a-zA-Z0-9_$]*$
	ForeignDataWrappers []string `json:"foreignDataWrappers,omitempty"`

	// The foreign servers upon which to grant the privileges.
	// +optional
	// +kubebuilder:validation:items:Pattern:=^[a-zA-Z_][a-zA-Z0-9_$]*$
	ForeignServers []string `json:"foreignServers,omitempty"`

	// WithInherit controls whether the grantee automatically inherits the privileges
	// of the granted role. When set to false, emits WITH INHERIT FALSE (PostgreSQL 16+),
	// granting membership without automatic privilege inheritance. Only valid when
	// memberOf is set. When omitted, PostgreSQL's default behavior (inherit true) applies.
	// Note: this field is only evaluated when non-nil. Removing it from the manifest
	// does NOT revert the database-side setting; set withInherit: true explicitly to revert.
	// +optional
	WithInherit *bool `json:"withInherit,omitempty"`
}

GrantParameters define the desired state of a PostgreSQL grant instance. +kubebuilder:validation:XValidation:rule="!has(self.withInherit) || has(self.memberOf) || has(self.memberOfRef) || has(self.memberOfSelector)",message="withInherit may only be set on memberOf grants"

func (*GrantParameters) DeepCopy

func (in *GrantParameters) DeepCopy() *GrantParameters

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

func (*GrantParameters) DeepCopyInto

func (in *GrantParameters) DeepCopyInto(out *GrantParameters)

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

func (*GrantParameters) ExpandPrivileges added in v0.16.0

func (gp *GrantParameters) ExpandPrivileges() GrantPrivileges

ExpandPrivileges expands any shorthand privileges to their full equivalents.

func (*GrantParameters) ExpandPrivilegesWithVersion added in v0.16.0

func (gp *GrantParameters) ExpandPrivilegesWithVersion(serverVersion int) GrantPrivileges

ExpandPrivilegesWithVersion expands shorthand privileges to their full equivalents, taking into account the PostgreSQL version. For example, MAINTAIN was introduced in PostgreSQL 17 and should not be included for earlier versions. serverVersion should be in the format returned by current_setting('server_version_num'), e.g. 160200 for PostgreSQL 16.2, 170100 for PostgreSQL 17.1... If serverVersion is 0, it defaults to the latest version (includes all privileges).

func (*GrantParameters) IdentifyGrantType added in v0.16.0

func (gp *GrantParameters) IdentifyGrantType() (GrantType, error)

IdentifyGrantType return the deduced GrantType from the filled in fields.

type GrantPrivilege

type GrantPrivilege string

GrantPrivilege represents a privilege to be granted +kubebuilder:validation:Pattern:=^[A-Z]+( [A-Z]+)*$

type GrantPrivileges

type GrantPrivileges []GrantPrivilege

GrantPrivileges is a list of the privileges to be granted +kubebuilder:validation:MinItems:=1

func (GrantPrivileges) DeepCopy

func (in GrantPrivileges) DeepCopy() GrantPrivileges

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

func (GrantPrivileges) DeepCopyInto

func (in GrantPrivileges) DeepCopyInto(out *GrantPrivileges)

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

func (*GrantPrivileges) ToStringSlice

func (gp *GrantPrivileges) ToStringSlice() []string

ToStringSlice converts the slice of privileges to strings

type GrantSpec

type GrantSpec struct {
	xpv2.ClusterManagedResourceSpec `json:",inline"`
	ForProvider                     GrantParameters `json:"forProvider"`
}

A GrantSpec defines the desired state of a Grant.

func (*GrantSpec) DeepCopy

func (in *GrantSpec) DeepCopy() *GrantSpec

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

func (*GrantSpec) DeepCopyInto

func (in *GrantSpec) DeepCopyInto(out *GrantSpec)

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

type GrantStatus

type GrantStatus struct {
	xpv2.ManagedResourceStatus `json:",inline"`
}

A GrantStatus represents the observed state of a Grant.

func (*GrantStatus) DeepCopy

func (in *GrantStatus) DeepCopy() *GrantStatus

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

func (*GrantStatus) DeepCopyInto

func (in *GrantStatus) DeepCopyInto(out *GrantStatus)

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

type GrantType added in v0.16.0

type GrantType string
const (
	RoleMember             GrantType = "ROLE_MEMBER"
	RoleDatabase           GrantType = "ROLE_DATABASE"
	RoleSchema             GrantType = "ROLE_SCHEMA"
	RoleTable              GrantType = "ROLE_TABLE"
	RoleSequence           GrantType = "ROLE_SEQUENCE"
	RoleRoutine            GrantType = "ROLE_ROUTINE"
	RoleColumn             GrantType = "ROLE_COLUMN"
	RoleForeignDataWrapper GrantType = "ROLE_FOREIGN_DATA_WRAPPER"
	RoleForeignServer      GrantType = "ROLE_FOREIGN_SERVER"
)

GrantType is the list of the possible grant types represented by a GrantParameters

type ProviderConfig

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

	Spec   ProviderConfigSpec   `json:"spec"`
	Status ProviderConfigStatus `json:"status,omitempty"`
}

A ProviderConfig configures a Template provider. +kubebuilder:subresource:status +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="SECRET-NAME",type="string",JSONPath=".spec.credentialsSecretRef.name",priority=1 +kubebuilder:resource:scope=Cluster,categories={crossplane,provider,sql}

func (*ProviderConfig) DeepCopy

func (in *ProviderConfig) DeepCopy() *ProviderConfig

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

func (*ProviderConfig) DeepCopyInto

func (in *ProviderConfig) DeepCopyInto(out *ProviderConfig)

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

func (*ProviderConfig) DeepCopyObject

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

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

func (*ProviderConfig) GetCondition

func (p *ProviderConfig) GetCondition(ct xpv2.ConditionType) xpv2.Condition

GetCondition of this ProviderConfig.

func (*ProviderConfig) GetUsers

func (p *ProviderConfig) GetUsers() int64

GetUsers of this ProviderConfig.

func (*ProviderConfig) SetConditions

func (p *ProviderConfig) SetConditions(c ...xpv2.Condition)

SetConditions of this ProviderConfig.

func (*ProviderConfig) SetUsers

func (p *ProviderConfig) SetUsers(i int64)

SetUsers of this ProviderConfig.

type ProviderConfigList

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

ProviderConfigList contains a list of ProviderConfig.

func (*ProviderConfigList) DeepCopy

func (in *ProviderConfigList) DeepCopy() *ProviderConfigList

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

func (*ProviderConfigList) DeepCopyInto

func (in *ProviderConfigList) DeepCopyInto(out *ProviderConfigList)

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

func (*ProviderConfigList) DeepCopyObject

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

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

type ProviderConfigSpec

type ProviderConfigSpec struct {
	// Credentials required to authenticate to this provider.
	Credentials ProviderCredentials `json:"credentials"`
	// Defines the database name used to set up a connection to the provided
	// PostgreSQL instance. Same as PGDATABASE environment variable.
	// +kubebuilder:default="postgres"
	DefaultDatabase string `json:"defaultDatabase,omitempty"`
	// Defines the SSL mode used to set up a connection to the provided
	// PostgreSQL instance
	// +kubebuilder:validation:Enum=disable;require;verify-ca;verify-full
	// +kubebuilder:default=verify-full
	// +kubebuilder:validation:Optional
	SSLMode *string `json:"sslMode,omitempty"`
}

A ProviderConfigSpec defines the desired state of a ProviderConfig.

func (*ProviderConfigSpec) DeepCopy

func (in *ProviderConfigSpec) DeepCopy() *ProviderConfigSpec

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

func (*ProviderConfigSpec) DeepCopyInto

func (in *ProviderConfigSpec) DeepCopyInto(out *ProviderConfigSpec)

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

type ProviderConfigStatus

type ProviderConfigStatus struct {
	xpv2.ProviderConfigStatus `json:",inline"`
}

A ProviderConfigStatus reflects the observed state of a ProviderConfig.

func (*ProviderConfigStatus) DeepCopy

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

func (*ProviderConfigStatus) DeepCopyInto

func (in *ProviderConfigStatus) DeepCopyInto(out *ProviderConfigStatus)

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

type ProviderConfigUsage

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

	xpv2.ProviderConfigUsage `json:",inline"`
}

A ProviderConfigUsage indicates that a resource is using a ProviderConfig. +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="CONFIG-NAME",type="string",JSONPath=".providerConfigRef.name" +kubebuilder:printcolumn:name="RESOURCE-KIND",type="string",JSONPath=".resourceRef.kind" +kubebuilder:printcolumn:name="RESOURCE-NAME",type="string",JSONPath=".resourceRef.name" +kubebuilder:resource:scope=Cluster,categories={crossplane,provider,sql}

func (*ProviderConfigUsage) DeepCopy

func (in *ProviderConfigUsage) DeepCopy() *ProviderConfigUsage

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

func (*ProviderConfigUsage) DeepCopyInto

func (in *ProviderConfigUsage) DeepCopyInto(out *ProviderConfigUsage)

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

func (*ProviderConfigUsage) DeepCopyObject

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

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

func (*ProviderConfigUsage) GetProviderConfigReference

func (p *ProviderConfigUsage) GetProviderConfigReference() xpv2.Reference

GetProviderConfigReference of this ProviderConfigUsage.

func (*ProviderConfigUsage) GetResourceReference

func (p *ProviderConfigUsage) GetResourceReference() xpv2.TypedReference

GetResourceReference of this ProviderConfigUsage.

func (*ProviderConfigUsage) SetProviderConfigReference

func (p *ProviderConfigUsage) SetProviderConfigReference(r xpv2.Reference)

SetProviderConfigReference of this ProviderConfigUsage.

func (*ProviderConfigUsage) SetResourceReference

func (p *ProviderConfigUsage) SetResourceReference(r xpv2.TypedReference)

SetResourceReference of this ProviderConfigUsage.

type ProviderConfigUsageList

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

ProviderConfigUsageList contains a list of ProviderConfigUsage

func (*ProviderConfigUsageList) DeepCopy

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

func (*ProviderConfigUsageList) DeepCopyInto

func (in *ProviderConfigUsageList) DeepCopyInto(out *ProviderConfigUsageList)

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

func (*ProviderConfigUsageList) DeepCopyObject

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

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

func (*ProviderConfigUsageList) GetItems

GetItems of this ProviderConfigUsageList.

type ProviderCredentials

type ProviderCredentials struct {
	// Source of the provider credentials.
	// +kubebuilder:validation:Enum=PostgreSQLConnectionSecret
	Source xpv2.CredentialsSource `json:"source"`

	// A CredentialsSecretRef is a reference to a PostgreSQL connection secret
	// that contains the credentials that must be used to connect to the
	// provider. +optional
	ConnectionSecretRef *xpv2.SecretReference `json:"connectionSecretRef,omitempty"`

	// SecretKeyMapping allows overriding the default secret key names used
	// to read credentials from the connection secret. When not specified,
	// standard Crossplane keys are used: "endpoint", "port", "username", "password".
	// +optional
	SecretKeyMapping *SecretKeyMapping `json:"secretKeyMapping,omitempty"`
}

ProviderCredentials required to authenticate.

func (*ProviderCredentials) DeepCopy

func (in *ProviderCredentials) DeepCopy() *ProviderCredentials

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

func (*ProviderCredentials) DeepCopyInto

func (in *ProviderCredentials) DeepCopyInto(out *ProviderCredentials)

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

type Role

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

	Spec   RoleSpec   `json:"spec"`
	Status RoleStatus `json:"status,omitempty"`
}

A Role represents the declarative state of a PostgreSQL role. +kubebuilder:subresource:status +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="CONN LIMIT",type="integer",JSONPath=".spec.forProvider.connectionLimit" +kubebuilder:printcolumn:name="PRIVILEGES",type="string",JSONPath=".status.atProvider.privilegesAsClauses" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,sql}

func (*Role) DeepCopy

func (in *Role) DeepCopy() *Role

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

func (*Role) DeepCopyInto

func (in *Role) DeepCopyInto(out *Role)

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

func (*Role) DeepCopyObject

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

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

func (*Role) GetCondition

func (mg *Role) GetCondition(ct xpv2.ConditionType) xpv2.Condition

GetCondition of this Role.

func (*Role) GetDeletionPolicy

func (mg *Role) GetDeletionPolicy() xpv2.DeletionPolicy

GetDeletionPolicy of this Role.

func (*Role) GetManagementPolicies

func (mg *Role) GetManagementPolicies() xpv2.ManagementPolicies

GetManagementPolicies of this Role.

func (*Role) GetProviderConfigReference

func (mg *Role) GetProviderConfigReference() *xpv2.Reference

GetProviderConfigReference of this Role.

func (*Role) GetWriteConnectionSecretToReference

func (mg *Role) GetWriteConnectionSecretToReference() *xpv2.SecretReference

GetWriteConnectionSecretToReference of this Role.

func (*Role) SetConditions

func (mg *Role) SetConditions(c ...xpv2.Condition)

SetConditions of this Role.

func (*Role) SetDeletionPolicy

func (mg *Role) SetDeletionPolicy(r xpv2.DeletionPolicy)

SetDeletionPolicy of this Role.

func (*Role) SetManagementPolicies

func (mg *Role) SetManagementPolicies(r xpv2.ManagementPolicies)

SetManagementPolicies of this Role.

func (*Role) SetProviderConfigReference

func (mg *Role) SetProviderConfigReference(r *xpv2.Reference)

SetProviderConfigReference of this Role.

func (*Role) SetWriteConnectionSecretToReference

func (mg *Role) SetWriteConnectionSecretToReference(r *xpv2.SecretReference)

SetWriteConnectionSecretToReference of this Role.

type RoleConfigurationParameter

type RoleConfigurationParameter struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

RoleConfigurationParameter is a role configuration parameter.

func (*RoleConfigurationParameter) DeepCopy

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

func (*RoleConfigurationParameter) DeepCopyInto

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

type RoleList

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

RoleList contains a list of Role

func (*RoleList) DeepCopy

func (in *RoleList) DeepCopy() *RoleList

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

func (*RoleList) DeepCopyInto

func (in *RoleList) DeepCopyInto(out *RoleList)

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

func (*RoleList) DeepCopyObject

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

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

func (*RoleList) GetItems

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

GetItems of this RoleList.

type RoleObservation

type RoleObservation struct {
	// PrivilegesAsClauses represents the applied privileges state, taking into account
	// any defaults applied by Postgres, and expressed as a list of ROLE PRIVILEGE clauses.
	PrivilegesAsClauses []string `json:"privilegesAsClauses,omitempty"`
	// ConfigurationParameters represents the applied configuration parameters for the PostgreSQL role.
	ConfigurationParameters *[]RoleConfigurationParameter `json:"configurationParameters,omitempty"`
	// LastPasswordChange records when the provider last set the role's password.
	LastPasswordChange *metav1.Time `json:"lastPasswordChange,omitempty"`
}

A RoleObservation represents the observed state of a PostgreSQL role.

func (*RoleObservation) DeepCopy

func (in *RoleObservation) DeepCopy() *RoleObservation

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

func (*RoleObservation) DeepCopyInto

func (in *RoleObservation) DeepCopyInto(out *RoleObservation)

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

type RoleParameters

type RoleParameters struct {
	// ConnectionLimit to be applied to the role.
	// +kubebuilder:validation:Min=-1
	// +optional
	ConnectionLimit *int32 `json:"connectionLimit,omitempty"`

	// Privileges to be granted.
	// +optional
	Privileges RolePrivilege `json:"privileges,omitempty"`

	// PasswordSecretRef references the secret that contains the password used
	// for this role. If no reference is given, a password will be auto-generated.
	// +optional
	PasswordSecretRef *xpv2.SecretKeySelector `json:"passwordSecretRef,omitempty"`

	// ConfigurationParameters to be applied to the role. If specified, any other configuration parameters set on the
	// role in the database will be reset.
	//
	// See https://www.postgresql.org/docs/current/runtime-config-client.html for some available configuration parameters.
	// +optional
	ConfigurationParameters *[]RoleConfigurationParameter `json:"configurationParameters,omitempty"`

	// PasswordRotationTrigger triggers rotation of the auto-generated password when set to
	// a time after the current LastPasswordChange. Has no effect when passwordSecretRef is set.
	// +optional
	PasswordRotationTrigger *metav1.Time `json:"passwordRotationTrigger,omitempty"`
}

RoleParameters define the desired state of a PostgreSQL role instance.

func (*RoleParameters) DeepCopy

func (in *RoleParameters) DeepCopy() *RoleParameters

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

func (*RoleParameters) DeepCopyInto

func (in *RoleParameters) DeepCopyInto(out *RoleParameters)

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

type RolePrivilege

type RolePrivilege struct {
	// SuperUser grants SUPERUSER privilege when true.
	// +optional
	SuperUser *bool `json:"superUser,omitempty"`

	// CreateDb grants CREATEDB when true, allowing the role to create databases.
	// +optional
	CreateDb *bool `json:"createDb,omitempty"`

	// CreateRole grants CREATEROLE when true, allowing this role to create other roles.
	// +optional
	CreateRole *bool `json:"createRole,omitempty"`

	// Login grants LOGIN when true, allowing the role to login to the server.
	// +optional
	Login *bool `json:"login,omitempty"`

	// Inherit grants INHERIT when true, allowing the role to inherit permissions
	// from other roles it is a member of.
	// +optional
	Inherit *bool `json:"inherit,omitempty"`

	// Replication grants REPLICATION when true, allowing the role to connect in replication mode.
	// +optional
	Replication *bool `json:"replication,omitempty"`

	// BypassRls grants BYPASSRLS when true, allowing the role to bypass row-level security policies.
	// +optional
	BypassRls *bool `json:"bypassRls,omitempty"`
}

RolePrivilege is the PostgreSQL identifier to add or remove a permission on a role. See https://www.postgresql.org/docs/current/sql-createrole.html for available privileges.

func (*RolePrivilege) DeepCopy

func (in *RolePrivilege) DeepCopy() *RolePrivilege

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

func (*RolePrivilege) DeepCopyInto

func (in *RolePrivilege) DeepCopyInto(out *RolePrivilege)

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

type RoleSpec

type RoleSpec struct {
	xpv2.ClusterManagedResourceSpec `json:",inline"`
	ForProvider                     RoleParameters `json:"forProvider"`
}

A RoleSpec defines the desired state of a Role.

func (*RoleSpec) DeepCopy

func (in *RoleSpec) DeepCopy() *RoleSpec

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

func (*RoleSpec) DeepCopyInto

func (in *RoleSpec) DeepCopyInto(out *RoleSpec)

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

type RoleStatus

type RoleStatus struct {
	xpv2.ManagedResourceStatus `json:",inline"`
	AtProvider                 RoleObservation `json:"atProvider,omitempty"`
}

A RoleStatus represents the observed state of a Role.

func (*RoleStatus) DeepCopy

func (in *RoleStatus) DeepCopy() *RoleStatus

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

func (*RoleStatus) DeepCopyInto

func (in *RoleStatus) DeepCopyInto(out *RoleStatus)

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

type Routine added in v0.16.0

type Routine struct {
	// The name of the routine. The single entry {name: "*"} targets every
	// routine in the schema; it takes no args, stands alone, and is
	// authoritative like the tables wildcard.
	// +kubebuilder:validation:Pattern:=^(\*|[a-zA-Z_][a-zA-Z0-9_$]*)$
	Name string `json:"name,omitempty"`

	// The arguments of the routine. Each argument is a type name, optionally
	// schema-qualified (e.g. aws_commons._s3_uri_1) for composite types.
	// +optional
	// +kubebuilder:validation:items:Pattern:=^[a-zA-Z_][a-zA-Z0-9_$]*(\.[a-zA-Z_][a-zA-Z0-9_$]*)?$
	Arguments []string `json:"args,omitempty"`
}

func (*Routine) DeepCopy added in v0.16.0

func (in *Routine) DeepCopy() *Routine

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

func (*Routine) DeepCopyInto added in v0.16.0

func (in *Routine) DeepCopyInto(out *Routine)

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

type Schema

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

	Spec   SchemaSpec   `json:"spec"`
	Status SchemaStatus `json:"status,omitempty"`
}

A Schema represents the declarative state of a PostgreSQL schema. +kubebuilder:subresource:status +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="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="ROLE",type="string",JSONPath=".spec.forProvider.role" +kubebuilder:printcolumn:name="DATABASE",type="string",JSONPath=".spec.forProvider.database" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,sql}

func (*Schema) DeepCopy

func (in *Schema) DeepCopy() *Schema

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

func (*Schema) DeepCopyInto

func (in *Schema) DeepCopyInto(out *Schema)

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

func (*Schema) DeepCopyObject

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

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

func (*Schema) GetCondition

func (mg *Schema) GetCondition(ct xpv2.ConditionType) xpv2.Condition

GetCondition of this Schema.

func (*Schema) GetDeletionPolicy

func (mg *Schema) GetDeletionPolicy() xpv2.DeletionPolicy

GetDeletionPolicy of this Schema.

func (*Schema) GetManagementPolicies

func (mg *Schema) GetManagementPolicies() xpv2.ManagementPolicies

GetManagementPolicies of this Schema.

func (*Schema) GetProviderConfigReference

func (mg *Schema) GetProviderConfigReference() *xpv2.Reference

GetProviderConfigReference of this Schema.

func (*Schema) GetWriteConnectionSecretToReference

func (mg *Schema) GetWriteConnectionSecretToReference() *xpv2.SecretReference

GetWriteConnectionSecretToReference of this Schema.

func (*Schema) ResolveReferences

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

ResolveReferences of this Schema.

func (*Schema) SetConditions

func (mg *Schema) SetConditions(c ...xpv2.Condition)

SetConditions of this Schema.

func (*Schema) SetDeletionPolicy

func (mg *Schema) SetDeletionPolicy(r xpv2.DeletionPolicy)

SetDeletionPolicy of this Schema.

func (*Schema) SetManagementPolicies

func (mg *Schema) SetManagementPolicies(r xpv2.ManagementPolicies)

SetManagementPolicies of this Schema.

func (*Schema) SetProviderConfigReference

func (mg *Schema) SetProviderConfigReference(r *xpv2.Reference)

SetProviderConfigReference of this Schema.

func (*Schema) SetWriteConnectionSecretToReference

func (mg *Schema) SetWriteConnectionSecretToReference(r *xpv2.SecretReference)

SetWriteConnectionSecretToReference of this Schema.

type SchemaList

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

SchemaList contains a list of Schema

func (*SchemaList) DeepCopy

func (in *SchemaList) DeepCopy() *SchemaList

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

func (*SchemaList) DeepCopyInto

func (in *SchemaList) DeepCopyInto(out *SchemaList)

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

func (*SchemaList) DeepCopyObject

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

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

func (*SchemaList) GetItems

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

GetItems of this SchemaList.

type SchemaParameters

type SchemaParameters struct {
	// Role for ownership of this schema.
	// +optional
	// +crossplane:generate:reference:type=Role
	Role *string `json:"role,omitempty"`

	// RoleRef references the role object this schema is for.
	// +immutable
	// +optional
	RoleRef *xpv2.Reference `json:"roleRef,omitempty"`

	// RoleSelector selects a reference to a Role this schema is for.
	// +immutable
	// +optional
	RoleSelector *xpv2.Selector `json:"roleSelector,omitempty"`

	// Database this schema is for.
	// +optional
	// +crossplane:generate:reference:type=Database
	Database *string `json:"database,omitempty"`

	// DatabaseRef references the database object this schema is for.
	// +immutable
	// +optional
	DatabaseRef *xpv2.Reference `json:"databaseRef,omitempty"`

	// DatabaseSelector selects a reference to a Database this schema is for.
	// +immutable
	// +optional
	DatabaseSelector *xpv2.Selector `json:"databaseSelector,omitempty"`

	// RevokePublicOnSchema apply a "REVOKE ALL ON SCHEMA public FROM public" statement
	// +optional
	RevokePublicOnSchema *bool `json:"revokePublicOnSchema,omitempty" default:"false"`

	// DropBehavior configures deletion behavior: CASCADE will automatically drop
	// objects (tables, functions, etc.) that are contained in the schema, and in
	// turn all objects that depend on those objects. The default setting of
	// RESTRICT will refuse to drop the schema if it contains any objects.
	// +kubebuilder:validation:Enum=CASCADE;RESTRICT
	// +kubebuilder:default:=RESTRICT
	// +optional
	DropBehavior *DropBehavior `json:"dropBehavior,omitempty"`
}

SchemaParameters define the desired state of a PostgreSQL schema.

func (*SchemaParameters) DeepCopy

func (in *SchemaParameters) DeepCopy() *SchemaParameters

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

func (*SchemaParameters) DeepCopyInto

func (in *SchemaParameters) DeepCopyInto(out *SchemaParameters)

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

type SchemaSpec

type SchemaSpec struct {
	xpv2.ClusterManagedResourceSpec `json:",inline"`
	ForProvider                     SchemaParameters `json:"forProvider"`
}

A SchemaSpec defines the desired state of a Schema.

func (*SchemaSpec) DeepCopy

func (in *SchemaSpec) DeepCopy() *SchemaSpec

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

func (*SchemaSpec) DeepCopyInto

func (in *SchemaSpec) DeepCopyInto(out *SchemaSpec)

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

type SchemaStatus

type SchemaStatus struct {
	xpv2.ManagedResourceStatus `json:",inline"`
}

A SchemaStatus represents the observed state of a Schema.

func (*SchemaStatus) DeepCopy

func (in *SchemaStatus) DeepCopy() *SchemaStatus

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

func (*SchemaStatus) DeepCopyInto

func (in *SchemaStatus) DeepCopyInto(out *SchemaStatus)

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

type SecretKeyMapping added in v0.16.0

type SecretKeyMapping struct {
	// Endpoint overrides the key used to read the host/endpoint. Default: "endpoint".
	// +optional
	Endpoint string `json:"endpoint,omitempty"`
	// Port overrides the key used to read the port. Default: "port".
	// +optional
	Port string `json:"port,omitempty"`
	// Username overrides the key used to read the username. Default: "username".
	// +optional
	Username string `json:"username,omitempty"`
	// Password overrides the key used to read the password. Default: "password".
	// +optional
	Password string `json:"password,omitempty"`
}

SecretKeyMapping allows overriding the default secret key names used to read credentials from the connection secret.

func (*SecretKeyMapping) DeepCopy added in v0.16.0

func (in *SecretKeyMapping) DeepCopy() *SecretKeyMapping

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

func (*SecretKeyMapping) DeepCopyInto added in v0.16.0

func (in *SecretKeyMapping) DeepCopyInto(out *SecretKeyMapping)

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

func (*SecretKeyMapping) ToMap added in v0.16.0

func (m *SecretKeyMapping) ToMap() map[string]string

ToMap converts the mapping to a map[string]string suitable for xsql.RemapCredentialKeys. Returns nil when the receiver is nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL