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
- Variables
- func IsWildcard(objs []string) bool
- func IsWildcardRoutines(rs []Routine) bool
- type Database
- func (in *Database) DeepCopy() *Database
- func (in *Database) DeepCopyInto(out *Database)
- func (in *Database) DeepCopyObject() runtime.Object
- func (mg *Database) GetCondition(ct xpv2.ConditionType) xpv2.Condition
- func (mg *Database) GetDeletionPolicy() xpv2.DeletionPolicy
- func (mg *Database) GetManagementPolicies() xpv2.ManagementPolicies
- func (mg *Database) GetProviderConfigReference() *xpv2.Reference
- func (mg *Database) GetWriteConnectionSecretToReference() *xpv2.SecretReference
- func (mg *Database) ResolveReferences(ctx context.Context, c client.Reader) error
- func (mg *Database) SetConditions(c ...xpv2.Condition)
- func (mg *Database) SetDeletionPolicy(r xpv2.DeletionPolicy)
- func (mg *Database) SetManagementPolicies(r xpv2.ManagementPolicies)
- func (mg *Database) SetProviderConfigReference(r *xpv2.Reference)
- func (mg *Database) SetWriteConnectionSecretToReference(r *xpv2.SecretReference)
- type DatabaseList
- type DatabaseParameters
- type DatabaseSpec
- type DatabaseStatus
- type DatabaseStrategy
- type DefaultPrivileges
- func (in *DefaultPrivileges) DeepCopy() *DefaultPrivileges
- func (in *DefaultPrivileges) DeepCopyInto(out *DefaultPrivileges)
- func (in *DefaultPrivileges) DeepCopyObject() runtime.Object
- func (mg *DefaultPrivileges) GetCondition(ct xpv2.ConditionType) xpv2.Condition
- func (mg *DefaultPrivileges) GetDeletionPolicy() xpv2.DeletionPolicy
- func (mg *DefaultPrivileges) GetManagementPolicies() xpv2.ManagementPolicies
- func (mg *DefaultPrivileges) GetProviderConfigReference() *xpv2.Reference
- func (mg *DefaultPrivileges) GetWriteConnectionSecretToReference() *xpv2.SecretReference
- func (mg *DefaultPrivileges) ResolveReferences(ctx context.Context, c client.Reader) error
- func (mg *DefaultPrivileges) SetConditions(c ...xpv2.Condition)
- func (mg *DefaultPrivileges) SetDeletionPolicy(r xpv2.DeletionPolicy)
- func (mg *DefaultPrivileges) SetManagementPolicies(r xpv2.ManagementPolicies)
- func (mg *DefaultPrivileges) SetProviderConfigReference(r *xpv2.Reference)
- func (mg *DefaultPrivileges) SetWriteConnectionSecretToReference(r *xpv2.SecretReference)
- type DefaultPrivilegesList
- type DefaultPrivilegesParameters
- type DefaultPrivilegesSpec
- type DefaultPrivilegesStatus
- type DropBehavior
- type Extension
- func (in *Extension) DeepCopy() *Extension
- func (in *Extension) DeepCopyInto(out *Extension)
- func (in *Extension) DeepCopyObject() runtime.Object
- func (mg *Extension) GetCondition(ct xpv2.ConditionType) xpv2.Condition
- func (mg *Extension) GetDeletionPolicy() xpv2.DeletionPolicy
- func (mg *Extension) GetManagementPolicies() xpv2.ManagementPolicies
- func (mg *Extension) GetProviderConfigReference() *xpv2.Reference
- func (mg *Extension) GetWriteConnectionSecretToReference() *xpv2.SecretReference
- func (mg *Extension) ResolveReferences(ctx context.Context, c client.Reader) error
- func (mg *Extension) SetConditions(c ...xpv2.Condition)
- func (mg *Extension) SetDeletionPolicy(r xpv2.DeletionPolicy)
- func (mg *Extension) SetManagementPolicies(r xpv2.ManagementPolicies)
- func (mg *Extension) SetProviderConfigReference(r *xpv2.Reference)
- func (mg *Extension) SetWriteConnectionSecretToReference(r *xpv2.SecretReference)
- type ExtensionList
- type ExtensionParameters
- type ExtensionSpec
- type ExtensionStatus
- type Grant
- func (in *Grant) DeepCopy() *Grant
- func (in *Grant) DeepCopyInto(out *Grant)
- func (in *Grant) DeepCopyObject() runtime.Object
- func (mg *Grant) GetCondition(ct xpv2.ConditionType) xpv2.Condition
- func (mg *Grant) GetDeletionPolicy() xpv2.DeletionPolicy
- func (mg *Grant) GetManagementPolicies() xpv2.ManagementPolicies
- func (mg *Grant) GetProviderConfigReference() *xpv2.Reference
- func (mg *Grant) GetWriteConnectionSecretToReference() *xpv2.SecretReference
- func (mg *Grant) ResolveReferences(ctx context.Context, c client.Reader) error
- func (mg *Grant) SetConditions(c ...xpv2.Condition)
- func (mg *Grant) SetDeletionPolicy(r xpv2.DeletionPolicy)
- func (mg *Grant) SetManagementPolicies(r xpv2.ManagementPolicies)
- func (mg *Grant) SetProviderConfigReference(r *xpv2.Reference)
- func (mg *Grant) SetWriteConnectionSecretToReference(r *xpv2.SecretReference)
- type GrantList
- type GrantOption
- type GrantParameters
- func (in *GrantParameters) DeepCopy() *GrantParameters
- func (in *GrantParameters) DeepCopyInto(out *GrantParameters)
- func (gp *GrantParameters) ExpandPrivileges() GrantPrivileges
- func (gp *GrantParameters) ExpandPrivilegesWithVersion(serverVersion int) GrantPrivileges
- func (gp *GrantParameters) IdentifyGrantType() (GrantType, error)
- type GrantPrivilege
- type GrantPrivileges
- type GrantSpec
- type GrantStatus
- type GrantType
- type ProviderConfig
- func (in *ProviderConfig) DeepCopy() *ProviderConfig
- func (in *ProviderConfig) DeepCopyInto(out *ProviderConfig)
- func (in *ProviderConfig) DeepCopyObject() runtime.Object
- func (p *ProviderConfig) GetCondition(ct xpv2.ConditionType) xpv2.Condition
- func (p *ProviderConfig) GetUsers() int64
- func (p *ProviderConfig) SetConditions(c ...xpv2.Condition)
- func (p *ProviderConfig) SetUsers(i int64)
- type ProviderConfigList
- type ProviderConfigSpec
- type ProviderConfigStatus
- type ProviderConfigUsage
- func (in *ProviderConfigUsage) DeepCopy() *ProviderConfigUsage
- func (in *ProviderConfigUsage) DeepCopyInto(out *ProviderConfigUsage)
- func (in *ProviderConfigUsage) DeepCopyObject() runtime.Object
- func (p *ProviderConfigUsage) GetProviderConfigReference() xpv2.Reference
- func (p *ProviderConfigUsage) GetResourceReference() xpv2.TypedReference
- func (p *ProviderConfigUsage) SetProviderConfigReference(r xpv2.Reference)
- func (p *ProviderConfigUsage) SetResourceReference(r xpv2.TypedReference)
- type ProviderConfigUsageList
- type ProviderCredentials
- type Role
- func (in *Role) DeepCopy() *Role
- func (in *Role) DeepCopyInto(out *Role)
- func (in *Role) DeepCopyObject() runtime.Object
- func (mg *Role) GetCondition(ct xpv2.ConditionType) xpv2.Condition
- func (mg *Role) GetDeletionPolicy() xpv2.DeletionPolicy
- func (mg *Role) GetManagementPolicies() xpv2.ManagementPolicies
- func (mg *Role) GetProviderConfigReference() *xpv2.Reference
- func (mg *Role) GetWriteConnectionSecretToReference() *xpv2.SecretReference
- func (mg *Role) SetConditions(c ...xpv2.Condition)
- func (mg *Role) SetDeletionPolicy(r xpv2.DeletionPolicy)
- func (mg *Role) SetManagementPolicies(r xpv2.ManagementPolicies)
- func (mg *Role) SetProviderConfigReference(r *xpv2.Reference)
- func (mg *Role) SetWriteConnectionSecretToReference(r *xpv2.SecretReference)
- type RoleConfigurationParameter
- type RoleList
- type RoleObservation
- type RoleParameters
- type RolePrivilege
- type RoleSpec
- type RoleStatus
- type Routine
- type Schema
- func (in *Schema) DeepCopy() *Schema
- func (in *Schema) DeepCopyInto(out *Schema)
- func (in *Schema) DeepCopyObject() runtime.Object
- func (mg *Schema) GetCondition(ct xpv2.ConditionType) xpv2.Condition
- func (mg *Schema) GetDeletionPolicy() xpv2.DeletionPolicy
- func (mg *Schema) GetManagementPolicies() xpv2.ManagementPolicies
- func (mg *Schema) GetProviderConfigReference() *xpv2.Reference
- func (mg *Schema) GetWriteConnectionSecretToReference() *xpv2.SecretReference
- func (mg *Schema) ResolveReferences(ctx context.Context, c client.Reader) error
- func (mg *Schema) SetConditions(c ...xpv2.Condition)
- func (mg *Schema) SetDeletionPolicy(r xpv2.DeletionPolicy)
- func (mg *Schema) SetManagementPolicies(r xpv2.ManagementPolicies)
- func (mg *Schema) SetProviderConfigReference(r *xpv2.Reference)
- func (mg *Schema) SetWriteConnectionSecretToReference(r *xpv2.SecretReference)
- type SchemaList
- type SchemaParameters
- type SchemaSpec
- type SchemaStatus
- type SecretKeyMapping
Constants ¶
const ( Group = "postgresql.sql.crossplane.io" Version = "v1alpha1" )
Package type metadata.
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" )
const Wildcard = "*"
Wildcard, as the sole element of an object list, maps to PostgreSQL's ON ALL <objects> IN SCHEMA form.
Variables ¶
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() )
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.
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.
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.
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.
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.
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.
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.
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
IsWildcard reports whether objs is exactly the wildcard sentinel.
func IsWildcardRoutines ¶ added in v0.16.2
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Database.
func (*Database) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Database) DeepCopyObject ¶
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 ¶
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
ResolveReferences of this Database.
func (*Database) SetConditions ¶
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 ¶
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
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
func (in *DefaultPrivilegesList) DeepCopy() *DefaultPrivilegesList
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
func (in *DefaultPrivilegesParameters) DeepCopy() *DefaultPrivilegesParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultPrivilegesParameters.
func (*DefaultPrivilegesParameters) DeepCopyInto ¶ added in v0.14.0
func (in *DefaultPrivilegesParameters) DeepCopyInto(out *DefaultPrivilegesParameters)
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
func (in *DefaultPrivilegesSpec) DeepCopy() *DefaultPrivilegesSpec
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
func (in *DefaultPrivilegesStatus) DeepCopy() *DefaultPrivilegesStatus
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Extension.
func (*Extension) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Extension) DeepCopyObject ¶
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 ¶
GetProviderConfigReference of this Extension.
func (*Extension) GetWriteConnectionSecretToReference ¶
func (mg *Extension) GetWriteConnectionSecretToReference() *xpv2.SecretReference
GetWriteConnectionSecretToReference of this Extension.
func (*Extension) ResolveReferences ¶
ResolveReferences of this Extension.
func (*Extension) SetConditions ¶
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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Grant.
func (*Grant) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Grant) DeepCopyObject ¶
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 ¶
GetProviderConfigReference of this Grant.
func (*Grant) GetWriteConnectionSecretToReference ¶
func (mg *Grant) GetWriteConnectionSecretToReference() *xpv2.SecretReference
GetWriteConnectionSecretToReference of this Grant.
func (*Grant) ResolveReferences ¶
ResolveReferences of this Grant
func (*Grant) SetConditions ¶
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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrantList.
func (*GrantList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrantList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrantSpec.
func (*GrantSpec) DeepCopyInto ¶
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 ¶
func (in *ProviderConfigStatus) DeepCopy() *ProviderConfigStatus
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 ¶
func (in *ProviderConfigUsageList) DeepCopy() *ProviderConfigUsageList
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 ¶
func (p *ProviderConfigUsageList) GetItems() []resource.ProviderConfigUsage
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Role.
func (*Role) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Role) DeepCopyObject ¶
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 ¶
GetProviderConfigReference of this Role.
func (*Role) GetWriteConnectionSecretToReference ¶
func (mg *Role) GetWriteConnectionSecretToReference() *xpv2.SecretReference
GetWriteConnectionSecretToReference of this Role.
func (*Role) SetConditions ¶
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 ¶
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 ¶
func (in *RoleConfigurationParameter) DeepCopy() *RoleConfigurationParameter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleConfigurationParameter.
func (*RoleConfigurationParameter) DeepCopyInto ¶
func (in *RoleConfigurationParameter) DeepCopyInto(out *RoleConfigurationParameter)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleList.
func (*RoleList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RoleList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleSpec.
func (*RoleSpec) DeepCopyInto ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Routine.
func (*Routine) DeepCopyInto ¶ added in v0.16.0
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Schema.
func (*Schema) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Schema) DeepCopyObject ¶
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 ¶
GetProviderConfigReference of this Schema.
func (*Schema) GetWriteConnectionSecretToReference ¶
func (mg *Schema) GetWriteConnectionSecretToReference() *xpv2.SecretReference
GetWriteConnectionSecretToReference of this Schema.
func (*Schema) ResolveReferences ¶
ResolveReferences of this Schema.
func (*Schema) SetConditions ¶
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 ¶
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.