Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the postgresql v1alpha1 API group +kubebuilder:object:generate=true +groupName=postgresql.easymile.com
Index ¶
- Variables
- type ConnectionTypesSpecEnum
- type DatabaseModulesList
- type DatabaseStatusPhase
- type EngineStatusPhase
- type GenericUserConnection
- type ModeEnum
- type PostgresqlDatabase
- type PostgresqlDatabaseList
- type PostgresqlDatabaseSpec
- type PostgresqlDatabaseStatus
- type PostgresqlEngineConfiguration
- type PostgresqlEngineConfigurationList
- type PostgresqlEngineConfigurationSpec
- type PostgresqlEngineConfigurationStatus
- type PostgresqlPublication
- type PostgresqlPublicationList
- type PostgresqlPublicationSpec
- type PostgresqlPublicationStatus
- type PostgresqlPublicationTable
- type PostgresqlPublicationWith
- type PostgresqlUserRole
- type PostgresqlUserRoleAttributes
- type PostgresqlUserRoleList
- type PostgresqlUserRolePrivilege
- type PostgresqlUserRoleSpec
- type PostgresqlUserRoleStatus
- type PrivilegesSpecEnum
- type ProviderType
- type PublicationStatusPhase
- type StatusPostgresRoles
- type UserConnections
- type UserRoleStatusPhase
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "postgresql.easymile.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ConnectionTypesSpecEnum ¶
type ConnectionTypesSpecEnum string
const BouncerConnectionType ConnectionTypesSpecEnum = "BOUNCER"
const PrimaryConnectionType ConnectionTypesSpecEnum = "PRIMARY"
type DatabaseModulesList ¶
type DatabaseModulesList struct {
// Modules list
// +optional
// +listType=set
List []string `json:"list,omitempty"`
// Should drop on delete ?
// +optional
DropOnOnDelete bool `json:"dropOnDelete,omitempty"`
// Should drop with cascade ?
// +optional
DeleteWithCascade bool `json:"deleteWithCascade,omitempty"`
}
func (*DatabaseModulesList) DeepCopy ¶
func (in *DatabaseModulesList) DeepCopy() *DatabaseModulesList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseModulesList.
func (*DatabaseModulesList) DeepCopyInto ¶
func (in *DatabaseModulesList) DeepCopyInto(out *DatabaseModulesList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseStatusPhase ¶
type DatabaseStatusPhase string
const DatabaseCreatedPhase DatabaseStatusPhase = "Created"
const DatabaseFailedPhase DatabaseStatusPhase = "Failed"
const DatabaseNoPhase DatabaseStatusPhase = ""
type EngineStatusPhase ¶
type EngineStatusPhase string
const EngineFailedPhase EngineStatusPhase = "Failed"
const EngineNoPhase EngineStatusPhase = ""
const EngineValidatedPhase EngineStatusPhase = "Validated"
type GenericUserConnection ¶
type GenericUserConnection struct {
// Hostname
// +required
// +kubebuilder:validation:Required
Host string `json:"host"`
// URI args like sslmode, ...
URIArgs string `json:"uriArgs"`
// Port
Port int `json:"port,omitempty"`
}
func (*GenericUserConnection) DeepCopy ¶
func (in *GenericUserConnection) DeepCopy() *GenericUserConnection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericUserConnection.
func (*GenericUserConnection) DeepCopyInto ¶
func (in *GenericUserConnection) DeepCopyInto(out *GenericUserConnection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModeEnum ¶
type ModeEnum string
const ManagedMode ModeEnum = "MANAGED"
const ProvidedMode ModeEnum = "PROVIDED"
type PostgresqlDatabase ¶
type PostgresqlDatabase struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec PostgresqlDatabaseSpec `json:"spec,omitempty"`
Status PostgresqlDatabaseStatus `json:"status,omitempty"`
}
PostgresqlDatabase is the Schema for the postgresqldatabases API.
func (*PostgresqlDatabase) DeepCopy ¶
func (in *PostgresqlDatabase) DeepCopy() *PostgresqlDatabase
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlDatabase.
func (*PostgresqlDatabase) DeepCopyInto ¶
func (in *PostgresqlDatabase) DeepCopyInto(out *PostgresqlDatabase)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresqlDatabase) DeepCopyObject ¶
func (in *PostgresqlDatabase) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresqlDatabaseList ¶
type PostgresqlDatabaseList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PostgresqlDatabase `json:"items"`
}
PostgresqlDatabaseList contains a list of PostgresqlDatabase.
func (*PostgresqlDatabaseList) DeepCopy ¶
func (in *PostgresqlDatabaseList) DeepCopy() *PostgresqlDatabaseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlDatabaseList.
func (*PostgresqlDatabaseList) DeepCopyInto ¶
func (in *PostgresqlDatabaseList) DeepCopyInto(out *PostgresqlDatabaseList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresqlDatabaseList) DeepCopyObject ¶
func (in *PostgresqlDatabaseList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresqlDatabaseSpec ¶
type PostgresqlDatabaseSpec struct {
// Database name
// +required
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Database string `json:"database"`
// Master role name will be used to create top group role.
// Database owner and users will be in this group role.
// +optional
MasterRole string `json:"masterRole,omitempty"`
// Should drop database on Custom Resource deletion ?
// +optional
DropOnDelete bool `json:"dropOnDelete,omitempty"`
// Wait for linked resource to be deleted
// +optional
WaitLinkedResourcesDeletion bool `json:"waitLinkedResourcesDeletion,omitempty"`
// Schema to create in database
// +optional
Schemas DatabaseModulesList `json:"schemas,omitempty"`
// Extensions to enable
// +optional
Extensions DatabaseModulesList `json:"extensions,omitempty"`
// Postgresql Engine Configuration link
// +required
// +kubebuilder:validation:Required
EngineConfiguration *common.CRLink `json:"engineConfiguration"`
}
PostgresqlDatabaseSpec defines the desired state of PostgresqlDatabase.
func (*PostgresqlDatabaseSpec) DeepCopy ¶
func (in *PostgresqlDatabaseSpec) DeepCopy() *PostgresqlDatabaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlDatabaseSpec.
func (*PostgresqlDatabaseSpec) DeepCopyInto ¶
func (in *PostgresqlDatabaseSpec) DeepCopyInto(out *PostgresqlDatabaseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlDatabaseStatus ¶
type PostgresqlDatabaseStatus struct {
// Current phase of the operator
Phase DatabaseStatusPhase `json:"phase"`
// Human-readable message indicating details about current operator phase or error.
// +optional
Message string `json:"message"`
// True if all resources are in a ready state and all work is done.
// +optional
Ready bool `json:"ready"`
// Created database
// +optional
Database string `json:"database"`
// Already created roles for database
// +optional
Roles StatusPostgresRoles `json:"roles"`
// Already created schemas
// +optional
// +listType=set
Schemas []string `json:"schemas,omitempty"`
// Already extensions added
// +optional
// +listType=set
Extensions []string `json:"extensions,omitempty"`
}
PostgresqlDatabaseStatus defines the observed state of PostgresqlDatabase.
func (*PostgresqlDatabaseStatus) DeepCopy ¶
func (in *PostgresqlDatabaseStatus) DeepCopy() *PostgresqlDatabaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlDatabaseStatus.
func (*PostgresqlDatabaseStatus) DeepCopyInto ¶
func (in *PostgresqlDatabaseStatus) DeepCopyInto(out *PostgresqlDatabaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlEngineConfiguration ¶
type PostgresqlEngineConfiguration struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec PostgresqlEngineConfigurationSpec `json:"spec,omitempty"`
Status PostgresqlEngineConfigurationStatus `json:"status,omitempty"`
}
PostgresqlEngineConfiguration is the Schema for the postgresqlengineconfigurations API.
func (*PostgresqlEngineConfiguration) DeepCopy ¶
func (in *PostgresqlEngineConfiguration) DeepCopy() *PostgresqlEngineConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlEngineConfiguration.
func (*PostgresqlEngineConfiguration) DeepCopyInto ¶
func (in *PostgresqlEngineConfiguration) DeepCopyInto(out *PostgresqlEngineConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresqlEngineConfiguration) DeepCopyObject ¶
func (in *PostgresqlEngineConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresqlEngineConfigurationList ¶
type PostgresqlEngineConfigurationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PostgresqlEngineConfiguration `json:"items"`
}
PostgresqlEngineConfigurationList contains a list of PostgresqlEngineConfiguration.
func (*PostgresqlEngineConfigurationList) DeepCopy ¶
func (in *PostgresqlEngineConfigurationList) DeepCopy() *PostgresqlEngineConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlEngineConfigurationList.
func (*PostgresqlEngineConfigurationList) DeepCopyInto ¶
func (in *PostgresqlEngineConfigurationList) DeepCopyInto(out *PostgresqlEngineConfigurationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresqlEngineConfigurationList) DeepCopyObject ¶
func (in *PostgresqlEngineConfigurationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresqlEngineConfigurationSpec ¶
type PostgresqlEngineConfigurationSpec struct {
// Provider
// +kubebuilder:validation:Enum="";AWS;AZURE
Provider ProviderType `json:"provider,omitempty"`
// Hostname
// +required
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Host string `json:"host"`
// Port
Port int `json:"port,omitempty"`
// URI args like sslmode, ...
URIArgs string `json:"uriArgs,omitempty"`
// Default database
DefaultDatabase string `json:"defaultDatabase,omitempty"`
// Duration between two checks for valid engine
CheckInterval string `json:"checkInterval,omitempty"`
// Allow grant admin on every created roles (group or user) for provided PGEC user in order to
// have power to administrate those roles even with a less powered "admin" user.
// Operator will create role and after grant PGEC provided user on those roles with admin option if enabled.
AllowGrantAdminOption bool `json:"allowGrantAdminOption,omitempty"`
// Wait for linked resource to be deleted
WaitLinkedResourcesDeletion bool `json:"waitLinkedResourcesDeletion,omitempty"`
// User and password secret
// +required
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
SecretName string `json:"secretName"`
// User connections used for secret generation
// That will be used to generate secret with primary server as url or
// to use the pg bouncer one.
// Note: Operator won't check those values.
// +optional
UserConnections *UserConnections `json:"userConnections"`
}
PostgresqlEngineConfigurationSpec defines the desired state of PostgresqlEngineConfiguration.
func (*PostgresqlEngineConfigurationSpec) DeepCopy ¶
func (in *PostgresqlEngineConfigurationSpec) DeepCopy() *PostgresqlEngineConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlEngineConfigurationSpec.
func (*PostgresqlEngineConfigurationSpec) DeepCopyInto ¶
func (in *PostgresqlEngineConfigurationSpec) DeepCopyInto(out *PostgresqlEngineConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlEngineConfigurationStatus ¶
type PostgresqlEngineConfigurationStatus struct {
// Current phase of the operator
Phase EngineStatusPhase `json:"phase"`
// Human-readable message indicating details about current operator phase or error.
// +optional
Message string `json:"message"`
// True if all resources are in a ready state and all work is done.
// +optional
Ready bool `json:"ready"`
// Last validated time
// +optional
LastValidatedTime string `json:"lastValidatedTime"`
// Resource Spec hash
// +optional
Hash string `json:"hash"`
}
PostgresqlEngineConfigurationStatus defines the observed state of PostgresqlEngineConfiguration.
func (*PostgresqlEngineConfigurationStatus) DeepCopy ¶
func (in *PostgresqlEngineConfigurationStatus) DeepCopy() *PostgresqlEngineConfigurationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlEngineConfigurationStatus.
func (*PostgresqlEngineConfigurationStatus) DeepCopyInto ¶
func (in *PostgresqlEngineConfigurationStatus) DeepCopyInto(out *PostgresqlEngineConfigurationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlPublication ¶
type PostgresqlPublication struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec PostgresqlPublicationSpec `json:"spec,omitempty"`
Status PostgresqlPublicationStatus `json:"status,omitempty"`
}
PostgresqlPublication is the Schema for the postgresqlpublications API.
func (*PostgresqlPublication) DeepCopy ¶
func (in *PostgresqlPublication) DeepCopy() *PostgresqlPublication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlPublication.
func (*PostgresqlPublication) DeepCopyInto ¶
func (in *PostgresqlPublication) DeepCopyInto(out *PostgresqlPublication)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresqlPublication) DeepCopyObject ¶
func (in *PostgresqlPublication) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresqlPublicationList ¶
type PostgresqlPublicationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PostgresqlPublication `json:"items"`
}
PostgresqlPublicationList contains a list of PostgresqlPublication.
func (*PostgresqlPublicationList) DeepCopy ¶
func (in *PostgresqlPublicationList) DeepCopy() *PostgresqlPublicationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlPublicationList.
func (*PostgresqlPublicationList) DeepCopyInto ¶
func (in *PostgresqlPublicationList) DeepCopyInto(out *PostgresqlPublicationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresqlPublicationList) DeepCopyObject ¶
func (in *PostgresqlPublicationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresqlPublicationSpec ¶
type PostgresqlPublicationSpec struct {
// Postgresql Database
// +required
// +kubebuilder:validation:Required
Database *common.CRLink `json:"database"`
// Postgresql Publication name
// +required
// +kubebuilder:validation:Required
Name string `json:"name"`
// Postgresql replication slot name
// Default value will the publication name
// +optional
ReplicationSlotName string `json:"replicationSlotName,omitempty"`
// Postgresql replication slot plugin
// Default value will be "pgoutput"
// +optional
ReplicationSlotPlugin string `json:"replicationSlotPlugin,omitempty"`
// Should drop database on Custom Resource deletion ?
// +optional
DropOnDelete bool `json:"dropOnDelete,omitempty"`
// Publication for all tables
// Note: This is mutually exclusive with "tablesInSchema" & "tables"
// +optional
AllTables bool `json:"allTables,omitempty"`
// Publication for tables in schema
// Note: This is a list of schema
// +optional
TablesInSchema []string `json:"tablesInSchema,omitempty"`
// Publication for selected tables
// +optional
Tables []*PostgresqlPublicationTable `json:"tables,omitempty"`
// Publication with parameters
// +optional
WithParameters *PostgresqlPublicationWith `json:"withParameters,omitempty"`
}
PostgresqlPublicationSpec defines the desired state of PostgresqlPublication.
func (*PostgresqlPublicationSpec) DeepCopy ¶
func (in *PostgresqlPublicationSpec) DeepCopy() *PostgresqlPublicationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlPublicationSpec.
func (*PostgresqlPublicationSpec) DeepCopyInto ¶
func (in *PostgresqlPublicationSpec) DeepCopyInto(out *PostgresqlPublicationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlPublicationStatus ¶
type PostgresqlPublicationStatus struct {
// Current phase of the operator
Phase PublicationStatusPhase `json:"phase"`
// Human-readable message indicating details about current operator phase or error.
// +optional
Message string `json:"message"`
// True if all resources are in a ready state and all work is done.
// +optional
Ready bool `json:"ready"`
// Created publication name
// +optional
Name string `json:"name,omitempty"`
// Created replication slot name
// +optional
ReplicationSlotName string `json:"replicationSlotName,omitempty"`
// Created replication slot plugin
// +optional
ReplicationSlotPlugin string `json:"replicationSlotPlugin,omitempty"`
// Marker for save
// +optional
AllTables *bool `json:"allTables,omitempty"`
// Resource Spec hash
// +optional
Hash string `json:"hash,omitempty"`
}
PostgresqlPublicationStatus defines the observed state of PostgresqlPublication.
func (*PostgresqlPublicationStatus) DeepCopy ¶
func (in *PostgresqlPublicationStatus) DeepCopy() *PostgresqlPublicationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlPublicationStatus.
func (*PostgresqlPublicationStatus) DeepCopyInto ¶
func (in *PostgresqlPublicationStatus) DeepCopyInto(out *PostgresqlPublicationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlPublicationTable ¶
type PostgresqlPublicationTable struct {
// Table name to use for publication
TableName string `json:"tableName"`
// Columns to export
Columns *[]string `json:"columns,omitempty"`
// Additional WHERE for table
AdditionalWhere *string `json:"additionalWhere,omitempty"`
}
func (*PostgresqlPublicationTable) DeepCopy ¶
func (in *PostgresqlPublicationTable) DeepCopy() *PostgresqlPublicationTable
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlPublicationTable.
func (*PostgresqlPublicationTable) DeepCopyInto ¶
func (in *PostgresqlPublicationTable) DeepCopyInto(out *PostgresqlPublicationTable)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlPublicationWith ¶
type PostgresqlPublicationWith struct {
// Publish param
// See here: https://www.postgresql.org/docs/current/sql-createpublication.html#SQL-CREATEPUBLICATION-PARAMS-WITH-PUBLISH
Publish string `json:"publish"`
// Publish via partition root param
// See here: https://www.postgresql.org/docs/current/sql-createpublication.html#SQL-CREATEPUBLICATION-PARAMS-WITH-PUBLISH
PublishViaPartitionRoot *bool `json:"publishViaPartitionRoot,omitempty"`
}
func (*PostgresqlPublicationWith) DeepCopy ¶
func (in *PostgresqlPublicationWith) DeepCopy() *PostgresqlPublicationWith
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlPublicationWith.
func (*PostgresqlPublicationWith) DeepCopyInto ¶
func (in *PostgresqlPublicationWith) DeepCopyInto(out *PostgresqlPublicationWith)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlUserRole ¶
type PostgresqlUserRole struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec PostgresqlUserRoleSpec `json:"spec,omitempty"`
Status PostgresqlUserRoleStatus `json:"status,omitempty"`
}
PostgresqlUserRole is the Schema for the postgresqluserroles API.
func (*PostgresqlUserRole) DeepCopy ¶
func (in *PostgresqlUserRole) DeepCopy() *PostgresqlUserRole
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlUserRole.
func (*PostgresqlUserRole) DeepCopyInto ¶
func (in *PostgresqlUserRole) DeepCopyInto(out *PostgresqlUserRole)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresqlUserRole) DeepCopyObject ¶
func (in *PostgresqlUserRole) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresqlUserRoleAttributes ¶
type PostgresqlUserRoleAttributes struct {
// REPLICATION attribute
// Note: This can be either true, false or null (to ignore this parameter)
Replication *bool `json:"replication,omitempty"`
// BYPASSRLS attribute
// Note: This can be either true, false or null (to ignore this parameter)
BypassRLS *bool `json:"bypassRLS,omitempty"` //nolint:tagliatelle
// CONNECTION LIMIT connlimit attribute
// Note: This can be either -1, a number or null (to ignore this parameter)
// Note: Increase your number by one because operator is using the created user to perform some operations.
ConnectionLimit *int `json:"connectionLimit,omitempty"`
}
func (*PostgresqlUserRoleAttributes) DeepCopy ¶
func (in *PostgresqlUserRoleAttributes) DeepCopy() *PostgresqlUserRoleAttributes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlUserRoleAttributes.
func (*PostgresqlUserRoleAttributes) DeepCopyInto ¶
func (in *PostgresqlUserRoleAttributes) DeepCopyInto(out *PostgresqlUserRoleAttributes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlUserRoleList ¶
type PostgresqlUserRoleList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PostgresqlUserRole `json:"items"`
}
PostgresqlUserRoleList contains a list of PostgresqlUserRole.
func (*PostgresqlUserRoleList) DeepCopy ¶
func (in *PostgresqlUserRoleList) DeepCopy() *PostgresqlUserRoleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlUserRoleList.
func (*PostgresqlUserRoleList) DeepCopyInto ¶
func (in *PostgresqlUserRoleList) DeepCopyInto(out *PostgresqlUserRoleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PostgresqlUserRoleList) DeepCopyObject ¶
func (in *PostgresqlUserRoleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PostgresqlUserRolePrivilege ¶
type PostgresqlUserRolePrivilege struct {
// User Connection type.
// This is referring to the user connection type needed for this user.
// +optional
// +kubebuilder:default=PRIMARY
// +kubebuilder:validation:Enum=PRIMARY;BOUNCER
ConnectionType ConnectionTypesSpecEnum `json:"connectionType,omitempty"`
// User privileges
// +required
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=OWNER;WRITER;READER
Privilege PrivilegesSpecEnum `json:"privilege"`
// Postgresql Database
// +required
// +kubebuilder:validation:Required
Database *common.CRLink `json:"database"`
// Generated secret name prefix
// +required
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
GeneratedSecretName string `json:"generatedSecretName"`
// Extra connection URL Parameters
ExtraConnectionURLParameters map[string]string `json:"extraConnectionUrlParameters,omitempty"`
}
func (*PostgresqlUserRolePrivilege) DeepCopy ¶
func (in *PostgresqlUserRolePrivilege) DeepCopy() *PostgresqlUserRolePrivilege
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlUserRolePrivilege.
func (*PostgresqlUserRolePrivilege) DeepCopyInto ¶
func (in *PostgresqlUserRolePrivilege) DeepCopyInto(out *PostgresqlUserRolePrivilege)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlUserRoleSpec ¶
type PostgresqlUserRoleSpec struct {
// User mode
// +required
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=PROVIDED;MANAGED
Mode ModeEnum `json:"mode,omitempty"`
// Privileges
// +required
// +kubebuilder:validation:Required
// +kubebuilder:validation:Min=1
Privileges []*PostgresqlUserRolePrivilege `json:"privileges"`
// User role prefix
// +optional
RolePrefix string `json:"rolePrefix,omitempty"`
// User password rotation duration
// +optional
UserPasswordRotationDuration string `json:"userPasswordRotationDuration,omitempty"`
// Simple user password tuple generated secret name
// +optional
WorkGeneratedSecretName string `json:"workGeneratedSecretName"`
// Import secret name
// +optional
ImportSecretName string `json:"importSecretName,omitempty"`
// Role attributes
// Note: Only attributes that aren't conflicting with operator are supported.
// +optional
RoleAttributes *PostgresqlUserRoleAttributes `json:"roleAttributes,omitempty"`
}
PostgresqlUserRoleSpec defines the desired state of PostgresqlUserRole.
func (*PostgresqlUserRoleSpec) DeepCopy ¶
func (in *PostgresqlUserRoleSpec) DeepCopy() *PostgresqlUserRoleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlUserRoleSpec.
func (*PostgresqlUserRoleSpec) DeepCopyInto ¶
func (in *PostgresqlUserRoleSpec) DeepCopyInto(out *PostgresqlUserRoleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PostgresqlUserRoleStatus ¶
type PostgresqlUserRoleStatus struct {
// Current phase of the operator
Phase UserRoleStatusPhase `json:"phase"`
// Human-readable message indicating details about current operator phase or error.
// +optional
Message string `json:"message"`
// True if all resources are in a ready state and all work is done.
// +optional
Ready bool `json:"ready"`
// User role
// +optional
RolePrefix string `json:"roleName"`
// Postgres role for user
// +optional
PostgresRole string `json:"postgresRole"`
// Postgres old roles to cleanup
// +optional
OldPostgresRoles []string `json:"oldPostgresRoles"`
// Last password changed time
// +optional
LastPasswordChangedTime string `json:"lastPasswordChangedTime"`
}
PostgresqlUserRoleStatus defines the observed state of PostgresqlUserRole.
func (*PostgresqlUserRoleStatus) DeepCopy ¶
func (in *PostgresqlUserRoleStatus) DeepCopy() *PostgresqlUserRoleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresqlUserRoleStatus.
func (*PostgresqlUserRoleStatus) DeepCopyInto ¶
func (in *PostgresqlUserRoleStatus) DeepCopyInto(out *PostgresqlUserRoleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrivilegesSpecEnum ¶
type PrivilegesSpecEnum string
const OwnerPrivilege PrivilegesSpecEnum = "OWNER"
const ReaderPrivilege PrivilegesSpecEnum = "READER"
const WriterPrivilege PrivilegesSpecEnum = "WRITER"
type ProviderType ¶
type ProviderType string
const AWSProvider ProviderType = "AWS"
const AzureProvider ProviderType = "AZURE"
const NoProvider ProviderType = ""
type PublicationStatusPhase ¶
type PublicationStatusPhase string
const PublicationCreatedPhase PublicationStatusPhase = "Created"
const PublicationFailedPhase PublicationStatusPhase = "Failed"
const PublicationNoPhase PublicationStatusPhase = ""
type StatusPostgresRoles ¶
type StatusPostgresRoles struct {
Owner string `json:"owner"`
Reader string `json:"reader"`
Writer string `json:"writer"`
}
StatusPostgresRoles stores the different group roles already created for database +k8s:openapi-gen=true
func (*StatusPostgresRoles) DeepCopy ¶
func (in *StatusPostgresRoles) DeepCopy() *StatusPostgresRoles
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusPostgresRoles.
func (*StatusPostgresRoles) DeepCopyInto ¶
func (in *StatusPostgresRoles) DeepCopyInto(out *StatusPostgresRoles)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserConnections ¶
type UserConnections struct {
// Primary connection is referring to the primary node connection.
// +optional
PrimaryConnection *GenericUserConnection `json:"primaryConnection,omitempty"`
// Bouncer connection is referring to a pg bouncer node.
// +optional
BouncerConnection *GenericUserConnection `json:"bouncerConnection,omitempty"`
// Replica connections are referring to the replica nodes.
// +optional
ReplicaConnections []*GenericUserConnection `json:"replicaConnections,omitempty"`
// Replica Bouncer connections are referring to pg bouncer nodes.
// +optional
ReplicaBouncerConnections []*GenericUserConnection `json:"replicaBouncerConnections,omitempty"`
}
func (*UserConnections) DeepCopy ¶
func (in *UserConnections) DeepCopy() *UserConnections
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserConnections.
func (*UserConnections) DeepCopyInto ¶
func (in *UserConnections) DeepCopyInto(out *UserConnections)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserRoleStatusPhase ¶
type UserRoleStatusPhase string
const UserRoleCreatedPhase UserRoleStatusPhase = "Created"
const UserRoleFailedPhase UserRoleStatusPhase = "Failed"
const UserRoleNoPhase UserRoleStatusPhase = ""