v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 21, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=postgresql.postgresql.upbound.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "postgresql.postgresql.upbound.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	Database_Kind             = "Database"
	Database_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Database_Kind}.String()
	Database_KindAPIVersion   = Database_Kind + "." + CRDGroupVersion.String()
	Database_GroupVersionKind = CRDGroupVersion.WithKind(Database_Kind)
)

Repository type metadata.

View Source
var (
	Extension_Kind             = "Extension"
	Extension_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Extension_Kind}.String()
	Extension_KindAPIVersion   = Extension_Kind + "." + CRDGroupVersion.String()
	Extension_GroupVersionKind = CRDGroupVersion.WithKind(Extension_Kind)
)

Repository type metadata.

View Source
var (
	Grant_Kind             = "Grant"
	Grant_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Grant_Kind}.String()
	Grant_KindAPIVersion   = Grant_Kind + "." + CRDGroupVersion.String()
	Grant_GroupVersionKind = CRDGroupVersion.WithKind(Grant_Kind)
)

Repository type metadata.

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	Role_Kind             = "Role"
	Role_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Role_Kind}.String()
	Role_KindAPIVersion   = Role_Kind + "." + CRDGroupVersion.String()
	Role_GroupVersionKind = CRDGroupVersion.WithKind(Role_Kind)
)

Repository type metadata.

View Source
var (
	Schema_Kind             = "Schema"
	Schema_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Schema_Kind}.String()
	Schema_KindAPIVersion   = Schema_Kind + "." + CRDGroupVersion.String()
	Schema_GroupVersionKind = CRDGroupVersion.WithKind(Schema_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type Database

type Database struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              DatabaseSpec   `json:"spec"`
	Status            DatabaseStatus `json:"status,omitempty"`
}

Database is the Schema for the Databases API. Creates and manages a database on a PostgreSQL server. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,postgresql}

func (*Database) DeepCopy

func (in *Database) DeepCopy() *Database

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

func (*Database) DeepCopyInto

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

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

func (*Database) DeepCopyObject

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

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

func (*Database) GetCondition

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

GetCondition of this Database.

func (*Database) GetConnectionDetailsMapping

func (tr *Database) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Database

func (*Database) GetDeletionPolicy

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

GetDeletionPolicy of this Database.

func (*Database) GetID

func (tr *Database) GetID() string

GetID returns ID of underlying Terraform resource of this Database

func (*Database) GetInitParameters

func (tr *Database) GetInitParameters() (map[string]any, error)

GetInitParameters of this Database

func (*Database) GetManagementPolicies

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

GetManagementPolicies of this Database.

func (*Database) GetMergedParameters

func (tr *Database) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Database

func (*Database) GetObservation

func (tr *Database) GetObservation() (map[string]any, error)

GetObservation of this Database

func (*Database) GetParameters

func (tr *Database) GetParameters() (map[string]any, error)

GetParameters of this Database

func (*Database) GetProviderConfigReference

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

GetProviderConfigReference of this Database.

func (*Database) GetPublishConnectionDetailsTo

func (mg *Database) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Database.

func (*Database) GetTerraformResourceType

func (mg *Database) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Database

func (*Database) GetTerraformSchemaVersion

func (tr *Database) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Database) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Database.

func (*Database) Hub

func (tr *Database) Hub()

Hub marks this type as a conversion hub.

func (*Database) LateInitialize

func (tr *Database) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Database using its observed tfState. returns True if there are any spec changes for the resource.

func (*Database) SetConditions

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

SetConditions of this Database.

func (*Database) SetDeletionPolicy

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

SetDeletionPolicy of this Database.

func (*Database) SetManagementPolicies

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

SetManagementPolicies of this Database.

func (*Database) SetObservation

func (tr *Database) SetObservation(obs map[string]any) error

SetObservation for this Database

func (*Database) SetParameters

func (tr *Database) SetParameters(params map[string]any) error

SetParameters for this Database

func (*Database) SetProviderConfigReference

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

SetProviderConfigReference of this Database.

func (*Database) SetPublishConnectionDetailsTo

func (mg *Database) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Database.

func (*Database) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Database.

type DatabaseInitParameters

type DatabaseInitParameters struct {

	// 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 or REVOKE CONNECT).
	// If false then no one can connect to this database
	AllowConnections *bool `json:"allowConnections,omitempty" tf:"allow_connections,omitempty"`

	// If true, the change of the database
	// owner will also include a reassignment of the ownership of preexisting
	// objects like tables or sequences from the previous owner to the new one.
	// If set to false (the default), then the previous database owner will still
	// hold the ownership of the objects in that database. To alter existing objects in
	// the database, you must be a direct or indirect member of the specified role, or
	// the username in the provider must be superuser.
	// If true, the owner of already existing objects will change if the owner changes
	AlterObjectOwnership *bool `json:"alterObjectOwnership,omitempty" tf:"alter_object_ownership,omitempty"`

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

	// Character set encoding to use in the database.
	// Specify a string constant (e.g. UTF8 or SQL_ASCII), or an integer encoding
	// number.  If unset or set to an empty string the default encoding is set to
	// UTF8.  Changing this value will force the creation of a new
	// resource as this value can only be changed when a database is created.
	// Character set encoding to use in the new database
	Encoding *string `json:"encoding,omitempty" tf:"encoding,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.
	// If true, then this database can be cloned by any user with CREATEDB privileges
	IsTemplate *bool `json:"isTemplate,omitempty" tf:"is_template,omitempty"`

	// Collation order (LC_COLLATE) to use in the
	// 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. If
	// unset or set to an empty string the default collation is set to C.  Changing this value will force the creation of a new
	// resource as this value can only be changed when a database is created.
	// Collation order (LC_COLLATE) to use in the new database
	LcCollate *string `json:"lcCollate,omitempty" tf:"lc_collate,omitempty"`

	// Character classification (LC_CTYPE) to use in the
	// database. This affects the categorization of characters, e.g. lower, upper and
	// digit. If unset or set to an empty string the default character classification
	// is set to C.  Changing this value will
	// force the creation of a new resource as this value can only be changed when a
	// database is created.
	// Character classification (LC_CTYPE) to use in the new database
	LcCtype *string `json:"lcCtype,omitempty" tf:"lc_ctype,omitempty"`

	// The role name of the user who will own the database, or
	// DEFAULT to use the default (namely, the user executing the command). To
	// create a database owned by another role or to change the owner of an existing
	// database, you must be a direct or indirect member of the specified role, or
	// the username in the provider is a superuser.
	// The ROLE which owns the database
	Owner *string `json:"owner,omitempty" tf:"owner,omitempty"`

	// The name of the tablespace that will be
	// associated with the database, or DEFAULT to use the template database's
	// tablespace.  This tablespace will be the default tablespace used for objects
	// created in this database.
	// The name of the tablespace that will be associated with the new database
	TablespaceName *string `json:"tablespaceName,omitempty" tf:"tablespace_name,omitempty"`

	// The name of the template database from which to create
	// the database, or DEFAULT to use the default template (template0).  Changing this value
	// will force the creation of a new resource as this value can only be changed
	// when a database is created.
	// The name of the template from which to create the new database
	Template *string `json:"template,omitempty" tf:"template,omitempty"`
}

func (*DatabaseInitParameters) DeepCopy

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

func (*DatabaseInitParameters) DeepCopyInto

func (in *DatabaseInitParameters) DeepCopyInto(out *DatabaseInitParameters)

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

type DatabaseList

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

DatabaseList contains a list of Databases

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 DatabaseObservation

type DatabaseObservation struct {

	// 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 or REVOKE CONNECT).
	// If false then no one can connect to this database
	AllowConnections *bool `json:"allowConnections,omitempty" tf:"allow_connections,omitempty"`

	// If true, the change of the database
	// owner will also include a reassignment of the ownership of preexisting
	// objects like tables or sequences from the previous owner to the new one.
	// If set to false (the default), then the previous database owner will still
	// hold the ownership of the objects in that database. To alter existing objects in
	// the database, you must be a direct or indirect member of the specified role, or
	// the username in the provider must be superuser.
	// If true, the owner of already existing objects will change if the owner changes
	AlterObjectOwnership *bool `json:"alterObjectOwnership,omitempty" tf:"alter_object_ownership,omitempty"`

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

	// Character set encoding to use in the database.
	// Specify a string constant (e.g. UTF8 or SQL_ASCII), or an integer encoding
	// number.  If unset or set to an empty string the default encoding is set to
	// UTF8.  Changing this value will force the creation of a new
	// resource as this value can only be changed when a database is created.
	// Character set encoding to use in the new database
	Encoding *string `json:"encoding,omitempty" tf:"encoding,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,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.
	// If true, then this database can be cloned by any user with CREATEDB privileges
	IsTemplate *bool `json:"isTemplate,omitempty" tf:"is_template,omitempty"`

	// Collation order (LC_COLLATE) to use in the
	// 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. If
	// unset or set to an empty string the default collation is set to C.  Changing this value will force the creation of a new
	// resource as this value can only be changed when a database is created.
	// Collation order (LC_COLLATE) to use in the new database
	LcCollate *string `json:"lcCollate,omitempty" tf:"lc_collate,omitempty"`

	// Character classification (LC_CTYPE) to use in the
	// database. This affects the categorization of characters, e.g. lower, upper and
	// digit. If unset or set to an empty string the default character classification
	// is set to C.  Changing this value will
	// force the creation of a new resource as this value can only be changed when a
	// database is created.
	// Character classification (LC_CTYPE) to use in the new database
	LcCtype *string `json:"lcCtype,omitempty" tf:"lc_ctype,omitempty"`

	// The role name of the user who will own the database, or
	// DEFAULT to use the default (namely, the user executing the command). To
	// create a database owned by another role or to change the owner of an existing
	// database, you must be a direct or indirect member of the specified role, or
	// the username in the provider is a superuser.
	// The ROLE which owns the database
	Owner *string `json:"owner,omitempty" tf:"owner,omitempty"`

	// The name of the tablespace that will be
	// associated with the database, or DEFAULT to use the template database's
	// tablespace.  This tablespace will be the default tablespace used for objects
	// created in this database.
	// The name of the tablespace that will be associated with the new database
	TablespaceName *string `json:"tablespaceName,omitempty" tf:"tablespace_name,omitempty"`

	// The name of the template database from which to create
	// the database, or DEFAULT to use the default template (template0).  Changing this value
	// will force the creation of a new resource as this value can only be changed
	// when a database is created.
	// The name of the template from which to create the new database
	Template *string `json:"template,omitempty" tf:"template,omitempty"`
}

func (*DatabaseObservation) DeepCopy

func (in *DatabaseObservation) DeepCopy() *DatabaseObservation

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

func (*DatabaseObservation) DeepCopyInto

func (in *DatabaseObservation) DeepCopyInto(out *DatabaseObservation)

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

type DatabaseParameters

type DatabaseParameters struct {

	// 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 or REVOKE CONNECT).
	// If false then no one can connect to this database
	// +kubebuilder:validation:Optional
	AllowConnections *bool `json:"allowConnections,omitempty" tf:"allow_connections,omitempty"`

	// If true, the change of the database
	// owner will also include a reassignment of the ownership of preexisting
	// objects like tables or sequences from the previous owner to the new one.
	// If set to false (the default), then the previous database owner will still
	// hold the ownership of the objects in that database. To alter existing objects in
	// the database, you must be a direct or indirect member of the specified role, or
	// the username in the provider must be superuser.
	// If true, the owner of already existing objects will change if the owner changes
	// +kubebuilder:validation:Optional
	AlterObjectOwnership *bool `json:"alterObjectOwnership,omitempty" tf:"alter_object_ownership,omitempty"`

	// How many concurrent connections can be
	// established to this database. -1 (the default) means no limit.
	// How many concurrent connections can be made to this database
	// +kubebuilder:validation:Optional
	ConnectionLimit *float64 `json:"connectionLimit,omitempty" tf:"connection_limit,omitempty"`

	// Character set encoding to use in the database.
	// Specify a string constant (e.g. UTF8 or SQL_ASCII), or an integer encoding
	// number.  If unset or set to an empty string the default encoding is set to
	// UTF8.  Changing this value will force the creation of a new
	// resource as this value can only be changed when a database is created.
	// Character set encoding to use in the new database
	// +kubebuilder:validation:Optional
	Encoding *string `json:"encoding,omitempty" tf:"encoding,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.
	// If true, then this database can be cloned by any user with CREATEDB privileges
	// +kubebuilder:validation:Optional
	IsTemplate *bool `json:"isTemplate,omitempty" tf:"is_template,omitempty"`

	// Collation order (LC_COLLATE) to use in the
	// 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. If
	// unset or set to an empty string the default collation is set to C.  Changing this value will force the creation of a new
	// resource as this value can only be changed when a database is created.
	// Collation order (LC_COLLATE) to use in the new database
	// +kubebuilder:validation:Optional
	LcCollate *string `json:"lcCollate,omitempty" tf:"lc_collate,omitempty"`

	// Character classification (LC_CTYPE) to use in the
	// database. This affects the categorization of characters, e.g. lower, upper and
	// digit. If unset or set to an empty string the default character classification
	// is set to C.  Changing this value will
	// force the creation of a new resource as this value can only be changed when a
	// database is created.
	// Character classification (LC_CTYPE) to use in the new database
	// +kubebuilder:validation:Optional
	LcCtype *string `json:"lcCtype,omitempty" tf:"lc_ctype,omitempty"`

	// The role name of the user who will own the database, or
	// DEFAULT to use the default (namely, the user executing the command). To
	// create a database owned by another role or to change the owner of an existing
	// database, you must be a direct or indirect member of the specified role, or
	// the username in the provider is a superuser.
	// The ROLE which owns the database
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" tf:"owner,omitempty"`

	// The name of the tablespace that will be
	// associated with the database, or DEFAULT to use the template database's
	// tablespace.  This tablespace will be the default tablespace used for objects
	// created in this database.
	// The name of the tablespace that will be associated with the new database
	// +kubebuilder:validation:Optional
	TablespaceName *string `json:"tablespaceName,omitempty" tf:"tablespace_name,omitempty"`

	// The name of the template database from which to create
	// the database, or DEFAULT to use the default template (template0).  Changing this value
	// will force the creation of a new resource as this value can only be changed
	// when a database is created.
	// The name of the template from which to create the new database
	// +kubebuilder:validation:Optional
	Template *string `json:"template,omitempty" tf:"template,omitempty"`
}

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 {
	v1.ResourceSpec `json:",inline"`
	ForProvider     DatabaseParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider DatabaseInitParameters `json:"initProvider,omitempty"`
}

DatabaseSpec defines the desired state of Database

func (*DatabaseSpec) DeepCopy

func (in *DatabaseSpec) DeepCopy() *DatabaseSpec

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

func (*DatabaseSpec) DeepCopyInto

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

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

type DatabaseStatus

type DatabaseStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        DatabaseObservation `json:"atProvider,omitempty"`
}

DatabaseStatus defines the observed state of Database.

func (*DatabaseStatus) DeepCopy

func (in *DatabaseStatus) DeepCopy() *DatabaseStatus

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

func (*DatabaseStatus) DeepCopyInto

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

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

type Extension

type Extension struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ExtensionSpec   `json:"spec"`
	Status            ExtensionStatus `json:"status,omitempty"`
}

Extension is the Schema for the Extensions API. Creates and manages an extension on a PostgreSQL server. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,postgresql}

func (*Extension) DeepCopy

func (in *Extension) DeepCopy() *Extension

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

func (*Extension) DeepCopyInto

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

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

func (*Extension) DeepCopyObject

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

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

func (*Extension) GetCondition

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

GetCondition of this Extension.

func (*Extension) GetConnectionDetailsMapping

func (tr *Extension) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Extension

func (*Extension) GetDeletionPolicy

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

GetDeletionPolicy of this Extension.

func (*Extension) GetID

func (tr *Extension) GetID() string

GetID returns ID of underlying Terraform resource of this Extension

func (*Extension) GetInitParameters

func (tr *Extension) GetInitParameters() (map[string]any, error)

GetInitParameters of this Extension

func (*Extension) GetManagementPolicies

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

GetManagementPolicies of this Extension.

func (*Extension) GetMergedParameters

func (tr *Extension) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Extension

func (*Extension) GetObservation

func (tr *Extension) GetObservation() (map[string]any, error)

GetObservation of this Extension

func (*Extension) GetParameters

func (tr *Extension) GetParameters() (map[string]any, error)

GetParameters of this Extension

func (*Extension) GetProviderConfigReference

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

GetProviderConfigReference of this Extension.

func (*Extension) GetPublishConnectionDetailsTo

func (mg *Extension) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Extension.

func (*Extension) GetTerraformResourceType

func (mg *Extension) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Extension

func (*Extension) GetTerraformSchemaVersion

func (tr *Extension) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Extension) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Extension.

func (*Extension) Hub

func (tr *Extension) Hub()

Hub marks this type as a conversion hub.

func (*Extension) LateInitialize

func (tr *Extension) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Extension using its observed tfState. returns True if there are any spec changes for the resource.

func (*Extension) SetConditions

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

SetConditions of this Extension.

func (*Extension) SetDeletionPolicy

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

SetDeletionPolicy of this Extension.

func (*Extension) SetManagementPolicies

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

SetManagementPolicies of this Extension.

func (*Extension) SetObservation

func (tr *Extension) SetObservation(obs map[string]any) error

SetObservation for this Extension

func (*Extension) SetParameters

func (tr *Extension) SetParameters(params map[string]any) error

SetParameters for this Extension

func (*Extension) SetProviderConfigReference

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

SetProviderConfigReference of this Extension.

func (*Extension) SetPublishConnectionDetailsTo

func (mg *Extension) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Extension.

func (*Extension) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Extension.

type ExtensionInitParameters

type ExtensionInitParameters struct {

	// When true, will also create any extensions that this extension depends on that are not already installed. (Default: false)
	// When true, will also create any extensions that this extension depends on that are not already installed
	CreateCascade *bool `json:"createCascade,omitempty" tf:"create_cascade,omitempty"`

	// Which database to create the extension on. Defaults to provider database.
	// Sets the database to add the extension to
	Database *string `json:"database,omitempty" tf:"database,omitempty"`

	// When true, will also drop all the objects that depend on the extension, and in turn all objects that depend on those objects. (Default: false)
	// When true, will also drop all the objects that depend on the extension, and in turn all objects that depend on those objects
	DropCascade *bool `json:"dropCascade,omitempty" tf:"drop_cascade,omitempty"`

	// Sets the schema of an extension.
	// Sets the schema of an extension
	Schema *string `json:"schema,omitempty" tf:"schema,omitempty"`

	// Sets the version number of the extension.
	// Sets the version number of the extension
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*ExtensionInitParameters) DeepCopy

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

func (*ExtensionInitParameters) DeepCopyInto

func (in *ExtensionInitParameters) DeepCopyInto(out *ExtensionInitParameters)

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

type ExtensionList

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

ExtensionList contains a list of Extensions

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 ExtensionObservation

type ExtensionObservation struct {

	// When true, will also create any extensions that this extension depends on that are not already installed. (Default: false)
	// When true, will also create any extensions that this extension depends on that are not already installed
	CreateCascade *bool `json:"createCascade,omitempty" tf:"create_cascade,omitempty"`

	// Which database to create the extension on. Defaults to provider database.
	// Sets the database to add the extension to
	Database *string `json:"database,omitempty" tf:"database,omitempty"`

	// When true, will also drop all the objects that depend on the extension, and in turn all objects that depend on those objects. (Default: false)
	// When true, will also drop all the objects that depend on the extension, and in turn all objects that depend on those objects
	DropCascade *bool `json:"dropCascade,omitempty" tf:"drop_cascade,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Sets the schema of an extension.
	// Sets the schema of an extension
	Schema *string `json:"schema,omitempty" tf:"schema,omitempty"`

	// Sets the version number of the extension.
	// Sets the version number of the extension
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*ExtensionObservation) DeepCopy

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

func (*ExtensionObservation) DeepCopyInto

func (in *ExtensionObservation) DeepCopyInto(out *ExtensionObservation)

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

type ExtensionParameters

type ExtensionParameters struct {

	// When true, will also create any extensions that this extension depends on that are not already installed. (Default: false)
	// When true, will also create any extensions that this extension depends on that are not already installed
	// +kubebuilder:validation:Optional
	CreateCascade *bool `json:"createCascade,omitempty" tf:"create_cascade,omitempty"`

	// Which database to create the extension on. Defaults to provider database.
	// Sets the database to add the extension to
	// +kubebuilder:validation:Optional
	Database *string `json:"database,omitempty" tf:"database,omitempty"`

	// When true, will also drop all the objects that depend on the extension, and in turn all objects that depend on those objects. (Default: false)
	// When true, will also drop all the objects that depend on the extension, and in turn all objects that depend on those objects
	// +kubebuilder:validation:Optional
	DropCascade *bool `json:"dropCascade,omitempty" tf:"drop_cascade,omitempty"`

	// Sets the schema of an extension.
	// Sets the schema of an extension
	// +kubebuilder:validation:Optional
	Schema *string `json:"schema,omitempty" tf:"schema,omitempty"`

	// Sets the version number of the extension.
	// Sets the version number of the extension
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

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 {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ExtensionParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ExtensionInitParameters `json:"initProvider,omitempty"`
}

ExtensionSpec defines the desired state of 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 {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ExtensionObservation `json:"atProvider,omitempty"`
}

ExtensionStatus defines the observed state of 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"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.objectType) || (has(self.initProvider) && has(self.initProvider.objectType))",message="spec.forProvider.objectType is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.privileges) || (has(self.initProvider) && has(self.initProvider.privileges))",message="spec.forProvider.privileges is a required parameter"
	Spec   GrantSpec   `json:"spec"`
	Status GrantStatus `json:"status,omitempty"`
}

Grant is the Schema for the Grants API. Creates and manages privileges given to a user for a database schema. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,postgresql}

func (*Grant) DeepCopy

func (in *Grant) DeepCopy() *Grant

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

func (*Grant) DeepCopyInto

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

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

func (*Grant) DeepCopyObject

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

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

func (*Grant) GetCondition

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

GetCondition of this Grant.

func (*Grant) GetConnectionDetailsMapping

func (tr *Grant) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Grant

func (*Grant) GetDeletionPolicy

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

GetDeletionPolicy of this Grant.

func (*Grant) GetID

func (tr *Grant) GetID() string

GetID returns ID of underlying Terraform resource of this Grant

func (*Grant) GetInitParameters

func (tr *Grant) GetInitParameters() (map[string]any, error)

GetInitParameters of this Grant

func (*Grant) GetManagementPolicies

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

GetManagementPolicies of this Grant.

func (*Grant) GetMergedParameters

func (tr *Grant) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Grant

func (*Grant) GetObservation

func (tr *Grant) GetObservation() (map[string]any, error)

GetObservation of this Grant

func (*Grant) GetParameters

func (tr *Grant) GetParameters() (map[string]any, error)

GetParameters of this Grant

func (*Grant) GetProviderConfigReference

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

GetProviderConfigReference of this Grant.

func (*Grant) GetPublishConnectionDetailsTo

func (mg *Grant) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Grant.

func (*Grant) GetTerraformResourceType

func (mg *Grant) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Grant

func (*Grant) GetTerraformSchemaVersion

func (tr *Grant) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Grant) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Grant.

func (*Grant) Hub

func (tr *Grant) Hub()

Hub marks this type as a conversion hub.

func (*Grant) LateInitialize

func (tr *Grant) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Grant using its observed tfState. returns True if there are any spec changes for the resource.

func (*Grant) SetConditions

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

SetConditions of this Grant.

func (*Grant) SetDeletionPolicy

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

SetDeletionPolicy of this Grant.

func (*Grant) SetManagementPolicies

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

SetManagementPolicies of this Grant.

func (*Grant) SetObservation

func (tr *Grant) SetObservation(obs map[string]any) error

SetObservation for this Grant

func (*Grant) SetParameters

func (tr *Grant) SetParameters(params map[string]any) error

SetParameters for this Grant

func (*Grant) SetProviderConfigReference

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

SetProviderConfigReference of this Grant.

func (*Grant) SetPublishConnectionDetailsTo

func (mg *Grant) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Grant.

func (*Grant) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Grant.

type GrantInitParameters

type GrantInitParameters struct {

	// The specific columns to grant privileges on for this role
	// +listType=set
	Columns []*string `json:"columns,omitempty" tf:"columns,omitempty"`

	// The PostgreSQL object type to apply this security label to.
	// The PostgreSQL object type to grant the privileges on (one of: database, function, procedure, routine, schema, sequence, table, foreign_data_wrapper, foreign_server, column)
	ObjectType *string `json:"objectType,omitempty" tf:"object_type,omitempty"`

	// The specific objects to grant privileges on for this role (empty means all objects of the requested type)
	// +listType=set
	Objects []*string `json:"objects,omitempty" tf:"objects,omitempty"`

	// The list of privileges to grant
	// +listType=set
	Privileges []*string `json:"privileges,omitempty" tf:"privileges,omitempty"`

	// Permit the grant recipient to grant it to others
	WithGrantOption *bool `json:"withGrantOption,omitempty" tf:"with_grant_option,omitempty"`
}

func (*GrantInitParameters) DeepCopy

func (in *GrantInitParameters) DeepCopy() *GrantInitParameters

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

func (*GrantInitParameters) DeepCopyInto

func (in *GrantInitParameters) DeepCopyInto(out *GrantInitParameters)

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

type GrantList

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

GrantList contains a list of Grants

func (*GrantList) DeepCopy

func (in *GrantList) DeepCopy() *GrantList

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

func (*GrantList) DeepCopyInto

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

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

func (*GrantList) DeepCopyObject

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

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

func (*GrantList) GetItems

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

GetItems of this GrantList.

type GrantObservation

type GrantObservation struct {

	// The specific columns to grant privileges on for this role
	// +listType=set
	Columns []*string `json:"columns,omitempty" tf:"columns,omitempty"`

	// The database to grant privileges on for this role
	Database *string `json:"database,omitempty" tf:"database,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The PostgreSQL object type to apply this security label to.
	// The PostgreSQL object type to grant the privileges on (one of: database, function, procedure, routine, schema, sequence, table, foreign_data_wrapper, foreign_server, column)
	ObjectType *string `json:"objectType,omitempty" tf:"object_type,omitempty"`

	// The specific objects to grant privileges on for this role (empty means all objects of the requested type)
	// +listType=set
	Objects []*string `json:"objects,omitempty" tf:"objects,omitempty"`

	// The list of privileges to grant
	// +listType=set
	Privileges []*string `json:"privileges,omitempty" tf:"privileges,omitempty"`

	// The database schema to grant privileges on for this role
	Schema *string `json:"schema,omitempty" tf:"schema,omitempty"`

	// Permit the grant recipient to grant it to others
	WithGrantOption *bool `json:"withGrantOption,omitempty" tf:"with_grant_option,omitempty"`
}

func (*GrantObservation) DeepCopy

func (in *GrantObservation) DeepCopy() *GrantObservation

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

func (*GrantObservation) DeepCopyInto

func (in *GrantObservation) DeepCopyInto(out *GrantObservation)

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

type GrantParameters

type GrantParameters struct {

	// The specific columns to grant privileges on for this role
	// +kubebuilder:validation:Optional
	// +listType=set
	Columns []*string `json:"columns,omitempty" tf:"columns,omitempty"`

	// The database to grant privileges on for this role
	// +kubebuilder:validation:Required
	Database *string `json:"database" tf:"database,omitempty"`

	// The PostgreSQL object type to apply this security label to.
	// The PostgreSQL object type to grant the privileges on (one of: database, function, procedure, routine, schema, sequence, table, foreign_data_wrapper, foreign_server, column)
	// +kubebuilder:validation:Optional
	ObjectType *string `json:"objectType,omitempty" tf:"object_type,omitempty"`

	// The specific objects to grant privileges on for this role (empty means all objects of the requested type)
	// +kubebuilder:validation:Optional
	// +listType=set
	Objects []*string `json:"objects,omitempty" tf:"objects,omitempty"`

	// The list of privileges to grant
	// +kubebuilder:validation:Optional
	// +listType=set
	Privileges []*string `json:"privileges,omitempty" tf:"privileges,omitempty"`

	// The database schema to grant privileges on for this role
	// +kubebuilder:validation:Optional
	Schema *string `json:"schema,omitempty" tf:"schema,omitempty"`

	// Permit the grant recipient to grant it to others
	// +kubebuilder:validation:Optional
	WithGrantOption *bool `json:"withGrantOption,omitempty" tf:"with_grant_option,omitempty"`
}

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.

type GrantSpec

type GrantSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     GrantParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider GrantInitParameters `json:"initProvider,omitempty"`
}

GrantSpec defines the desired state of Grant

func (*GrantSpec) DeepCopy

func (in *GrantSpec) DeepCopy() *GrantSpec

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

func (*GrantSpec) DeepCopyInto

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

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

type GrantStatus

type GrantStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        GrantObservation `json:"atProvider,omitempty"`
}

GrantStatus defines the observed state of 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 PolicyInitParameters

type PolicyInitParameters struct {

	// Should the specified ROLE have CREATE privileges to the specified SCHEMA.
	// If true, allow the specified ROLEs to CREATE new objects within the schema(s)
	Create *bool `json:"create,omitempty" tf:"create,omitempty"`

	// Should the specified ROLE have CREATE privileges to the specified SCHEMA and the ability to GRANT the CREATE privilege to other ROLEs.
	// If true, allow the specified ROLEs to CREATE new objects within the schema(s) and GRANT the same CREATE privilege to different ROLEs
	CreateWithGrant *bool `json:"createWithGrant,omitempty" tf:"create_with_grant,omitempty"`

	// The ROLE who is receiving the policy.  If this value is empty or not specified it implies the policy is referring to the PUBLIC role.
	// ROLE who will receive this policy (default: PUBLIC)
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// Should the specified ROLE have USAGE privileges to the specified SCHEMA.
	// If true, allow the specified ROLEs to use objects within the schema(s)
	Usage *bool `json:"usage,omitempty" tf:"usage,omitempty"`

	// Should the specified ROLE have USAGE privileges to the specified SCHEMA and the ability to GRANT the USAGE privilege to other ROLEs.
	// If true, allow the specified ROLEs to use objects within the schema(s) and GRANT the same USAGE privilege to different ROLEs
	UsageWithGrant *bool `json:"usageWithGrant,omitempty" tf:"usage_with_grant,omitempty"`
}

func (*PolicyInitParameters) DeepCopy

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

func (*PolicyInitParameters) DeepCopyInto

func (in *PolicyInitParameters) DeepCopyInto(out *PolicyInitParameters)

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

type PolicyObservation

type PolicyObservation struct {

	// Should the specified ROLE have CREATE privileges to the specified SCHEMA.
	// If true, allow the specified ROLEs to CREATE new objects within the schema(s)
	Create *bool `json:"create,omitempty" tf:"create,omitempty"`

	// Should the specified ROLE have CREATE privileges to the specified SCHEMA and the ability to GRANT the CREATE privilege to other ROLEs.
	// If true, allow the specified ROLEs to CREATE new objects within the schema(s) and GRANT the same CREATE privilege to different ROLEs
	CreateWithGrant *bool `json:"createWithGrant,omitempty" tf:"create_with_grant,omitempty"`

	// The ROLE who is receiving the policy.  If this value is empty or not specified it implies the policy is referring to the PUBLIC role.
	// ROLE who will receive this policy (default: PUBLIC)
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// Should the specified ROLE have USAGE privileges to the specified SCHEMA.
	// If true, allow the specified ROLEs to use objects within the schema(s)
	Usage *bool `json:"usage,omitempty" tf:"usage,omitempty"`

	// Should the specified ROLE have USAGE privileges to the specified SCHEMA and the ability to GRANT the USAGE privilege to other ROLEs.
	// If true, allow the specified ROLEs to use objects within the schema(s) and GRANT the same USAGE privilege to different ROLEs
	UsageWithGrant *bool `json:"usageWithGrant,omitempty" tf:"usage_with_grant,omitempty"`
}

func (*PolicyObservation) DeepCopy

func (in *PolicyObservation) DeepCopy() *PolicyObservation

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

func (*PolicyObservation) DeepCopyInto

func (in *PolicyObservation) DeepCopyInto(out *PolicyObservation)

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

type PolicyParameters

type PolicyParameters struct {

	// Should the specified ROLE have CREATE privileges to the specified SCHEMA.
	// If true, allow the specified ROLEs to CREATE new objects within the schema(s)
	// +kubebuilder:validation:Optional
	Create *bool `json:"create,omitempty" tf:"create,omitempty"`

	// Should the specified ROLE have CREATE privileges to the specified SCHEMA and the ability to GRANT the CREATE privilege to other ROLEs.
	// If true, allow the specified ROLEs to CREATE new objects within the schema(s) and GRANT the same CREATE privilege to different ROLEs
	// +kubebuilder:validation:Optional
	CreateWithGrant *bool `json:"createWithGrant,omitempty" tf:"create_with_grant,omitempty"`

	// The ROLE who is receiving the policy.  If this value is empty or not specified it implies the policy is referring to the PUBLIC role.
	// ROLE who will receive this policy (default: PUBLIC)
	// +kubebuilder:validation:Optional
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// Should the specified ROLE have USAGE privileges to the specified SCHEMA.
	// If true, allow the specified ROLEs to use objects within the schema(s)
	// +kubebuilder:validation:Optional
	Usage *bool `json:"usage,omitempty" tf:"usage,omitempty"`

	// Should the specified ROLE have USAGE privileges to the specified SCHEMA and the ability to GRANT the USAGE privilege to other ROLEs.
	// If true, allow the specified ROLEs to use objects within the schema(s) and GRANT the same USAGE privilege to different ROLEs
	// +kubebuilder:validation:Optional
	UsageWithGrant *bool `json:"usageWithGrant,omitempty" tf:"usage_with_grant,omitempty"`
}

func (*PolicyParameters) DeepCopy

func (in *PolicyParameters) DeepCopy() *PolicyParameters

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

func (*PolicyParameters) DeepCopyInto

func (in *PolicyParameters) DeepCopyInto(out *PolicyParameters)

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"`
}

Role is the Schema for the Roles API. Creates and manages a role on a PostgreSQL server. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,postgresql}

func (*Role) DeepCopy

func (in *Role) DeepCopy() *Role

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

func (*Role) DeepCopyInto

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

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

func (*Role) DeepCopyObject

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

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

func (*Role) GetCondition

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

GetCondition of this Role.

func (*Role) GetConnectionDetailsMapping

func (tr *Role) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Role

func (*Role) GetDeletionPolicy

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

GetDeletionPolicy of this Role.

func (*Role) GetID

func (tr *Role) GetID() string

GetID returns ID of underlying Terraform resource of this Role

func (*Role) GetInitParameters

func (tr *Role) GetInitParameters() (map[string]any, error)

GetInitParameters of this Role

func (*Role) GetManagementPolicies

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

GetManagementPolicies of this Role.

func (*Role) GetMergedParameters

func (tr *Role) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Role

func (*Role) GetObservation

func (tr *Role) GetObservation() (map[string]any, error)

GetObservation of this Role

func (*Role) GetParameters

func (tr *Role) GetParameters() (map[string]any, error)

GetParameters of this Role

func (*Role) GetProviderConfigReference

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

GetProviderConfigReference of this Role.

func (*Role) GetPublishConnectionDetailsTo

func (mg *Role) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Role.

func (*Role) GetTerraformResourceType

func (mg *Role) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Role

func (*Role) GetTerraformSchemaVersion

func (tr *Role) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Role) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Role.

func (*Role) Hub

func (tr *Role) Hub()

Hub marks this type as a conversion hub.

func (*Role) LateInitialize

func (tr *Role) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Role using its observed tfState. returns True if there are any spec changes for the resource.

func (*Role) SetConditions

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

SetConditions of this Role.

func (*Role) SetDeletionPolicy

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

SetDeletionPolicy of this Role.

func (*Role) SetManagementPolicies

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

SetManagementPolicies of this Role.

func (*Role) SetObservation

func (tr *Role) SetObservation(obs map[string]any) error

SetObservation for this Role

func (*Role) SetParameters

func (tr *Role) SetParameters(params map[string]any) error

SetParameters for this Role

func (*Role) SetProviderConfigReference

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

SetProviderConfigReference of this Role.

func (*Role) SetPublishConnectionDetailsTo

func (mg *Role) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Role.

func (*Role) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Role.

type RoleInitParameters

type RoleInitParameters struct {

	// Defines the role to switch to at login via SET ROLE.
	// Role to switch to at login
	AssumeRole *string `json:"assumeRole,omitempty" tf:"assume_role,omitempty"`

	// Defines whether a role bypasses every
	// row-level security (RLS) policy.  Default value is false.
	// Determine whether a role bypasses every row-level security (RLS) policy
	BypassRowLevelSecurity *bool `json:"bypassRowLevelSecurity,omitempty" tf:"bypass_row_level_security,omitempty"`

	// If this role can log in, this specifies how
	// many concurrent connections the role can establish. -1 (the default) means no
	// limit.
	// How many concurrent connections can be made with this role
	ConnectionLimit *float64 `json:"connectionLimit,omitempty" tf:"connection_limit,omitempty"`

	// Defines a role's ability to execute CREATE DATABASE.  Default value is false.
	// Define a role's ability to create databases
	CreateDatabase *bool `json:"createDatabase,omitempty" tf:"create_database,omitempty"`

	// Defines a role's ability to execute CREATE ROLE.
	// A role with this privilege can also alter and drop other roles.  Default value
	// is false.
	// Determine whether this role will be permitted to create new roles
	CreateRole *bool `json:"createRole,omitempty" tf:"create_role,omitempty"`

	Encrypted *string `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// Defines whether the password is stored
	// encrypted in the system catalogs.  Default value is true.  NOTE: this value
	// is always set (to the conservative and safe value), but may interfere with the
	// behavior of
	// PostgreSQL's .
	// Control whether the password is stored encrypted in the system catalogs
	EncryptedPassword *bool `json:"encryptedPassword,omitempty" tf:"encrypted_password,omitempty"`

	// Terminate any session with an open transaction that has been idle for longer than the specified duration in milliseconds
	IdleInTransactionSessionTimeout *float64 `json:"idleInTransactionSessionTimeout,omitempty" tf:"idle_in_transaction_session_timeout,omitempty"`

	// Defines whether a role "inherits" the privileges of
	// roles it is a member of.  Default value is true.
	// Determine whether a role "inherits" the privileges of roles it is a member of
	Inherit *bool `json:"inherit,omitempty" tf:"inherit,omitempty"`

	// Defines whether role is allowed to log in.  Roles without
	// this attribute are useful for managing database privileges, but are not users
	// in the usual sense of the word.  Default value is false.
	// Determine whether a role is allowed to log in
	Login *bool `json:"login,omitempty" tf:"login,omitempty"`

	// Sets the role's password. A password is only of use
	// for roles having the login attribute set to true.
	// Sets the role's password
	PasswordSecretRef *v1.SecretKeySelector `json:"passwordSecretRef,omitempty" tf:"-"`

	// Defines whether a role is allowed to initiate
	// streaming replication or put the system in and out of backup mode.  Default
	// value is false
	// Determine whether a role is allowed to initiate streaming replication or put the system in and out of backup mode
	Replication *bool `json:"replication,omitempty" tf:"replication,omitempty"`

	// Defines list of roles which will be granted to this new role.
	// Role(s) to grant to this new role
	// +listType=set
	Roles []*string `json:"roles,omitempty" tf:"roles,omitempty"`

	// Alters the search path of this new role. Note that
	// due to limitations in the implementation, values cannot contain the substring
	// ", ".
	// Sets the role's search path
	SearchPath []*string `json:"searchPath,omitempty" tf:"search_path,omitempty"`

	// When a PostgreSQL ROLE exists in multiple
	// databases and the ROLE is dropped, the
	// cleanup of ownership of objects
	// in each of the respective databases must occur before the ROLE can be dropped
	// from the catalog.  Set this option to true when there are multiple databases
	// in a PostgreSQL cluster using the same PostgreSQL ROLE for object ownership.
	// This is the third and final step taken when removing a ROLE from a database.
	// Skip actually running the DROP ROLE command when removing a ROLE from PostgreSQL
	SkipDropRole *bool `json:"skipDropRole,omitempty" tf:"skip_drop_role,omitempty"`

	// When a PostgreSQL ROLE exists in multiple
	// databases and the ROLE is dropped, a
	// REASSIGN OWNED in
	// must be executed on each of the respective databases before the DROP ROLE
	// can be executed to dropped the ROLE from the catalog.  This is the first and
	// second steps taken when removing a ROLE from a database (the second step being
	// an implicit
	// DROP OWNED).
	// Skip actually running the REASSIGN OWNED command when removing a role from PostgreSQL
	SkipReassignOwned *bool `json:"skipReassignOwned,omitempty" tf:"skip_reassign_owned,omitempty"`

	// Defines statement_timeout setting for this role which allows to abort any statement that takes more than the specified amount of time.
	// Abort any statement that takes more than the specified number of milliseconds
	StatementTimeout *float64 `json:"statementTimeout,omitempty" tf:"statement_timeout,omitempty"`

	// Defines whether the role is a "superuser", and
	// therefore can override all access restrictions within the database.  Default
	// value is false.
	// Determine whether the new role is a "superuser"
	Superuser *bool `json:"superuser,omitempty" tf:"superuser,omitempty"`

	// Defines the date and time after which the role's
	// password is no longer valid.  Established connections past this valid_time
	// will have to be manually terminated.  This value corresponds to a PostgreSQL
	// datetime. If omitted or the magic value NULL is used, valid_until will be
	// set to infinity.  Default is NULL, therefore infinity.
	// Sets a date and time after which the role's password is no longer valid
	ValidUntil *string `json:"validUntil,omitempty" tf:"valid_until,omitempty"`
}

func (*RoleInitParameters) DeepCopy

func (in *RoleInitParameters) DeepCopy() *RoleInitParameters

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

func (*RoleInitParameters) DeepCopyInto

func (in *RoleInitParameters) DeepCopyInto(out *RoleInitParameters)

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 Roles

func (*RoleList) DeepCopy

func (in *RoleList) DeepCopy() *RoleList

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

func (*RoleList) DeepCopyInto

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

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

func (*RoleList) DeepCopyObject

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

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

func (*RoleList) GetItems

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

GetItems of this RoleList.

type RoleObservation

type RoleObservation struct {

	// Defines the role to switch to at login via SET ROLE.
	// Role to switch to at login
	AssumeRole *string `json:"assumeRole,omitempty" tf:"assume_role,omitempty"`

	// Defines whether a role bypasses every
	// row-level security (RLS) policy.  Default value is false.
	// Determine whether a role bypasses every row-level security (RLS) policy
	BypassRowLevelSecurity *bool `json:"bypassRowLevelSecurity,omitempty" tf:"bypass_row_level_security,omitempty"`

	// If this role can log in, this specifies how
	// many concurrent connections the role can establish. -1 (the default) means no
	// limit.
	// How many concurrent connections can be made with this role
	ConnectionLimit *float64 `json:"connectionLimit,omitempty" tf:"connection_limit,omitempty"`

	// Defines a role's ability to execute CREATE DATABASE.  Default value is false.
	// Define a role's ability to create databases
	CreateDatabase *bool `json:"createDatabase,omitempty" tf:"create_database,omitempty"`

	// Defines a role's ability to execute CREATE ROLE.
	// A role with this privilege can also alter and drop other roles.  Default value
	// is false.
	// Determine whether this role will be permitted to create new roles
	CreateRole *bool `json:"createRole,omitempty" tf:"create_role,omitempty"`

	Encrypted *string `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// Defines whether the password is stored
	// encrypted in the system catalogs.  Default value is true.  NOTE: this value
	// is always set (to the conservative and safe value), but may interfere with the
	// behavior of
	// PostgreSQL's .
	// Control whether the password is stored encrypted in the system catalogs
	EncryptedPassword *bool `json:"encryptedPassword,omitempty" tf:"encrypted_password,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Terminate any session with an open transaction that has been idle for longer than the specified duration in milliseconds
	IdleInTransactionSessionTimeout *float64 `json:"idleInTransactionSessionTimeout,omitempty" tf:"idle_in_transaction_session_timeout,omitempty"`

	// Defines whether a role "inherits" the privileges of
	// roles it is a member of.  Default value is true.
	// Determine whether a role "inherits" the privileges of roles it is a member of
	Inherit *bool `json:"inherit,omitempty" tf:"inherit,omitempty"`

	// Defines whether role is allowed to log in.  Roles without
	// this attribute are useful for managing database privileges, but are not users
	// in the usual sense of the word.  Default value is false.
	// Determine whether a role is allowed to log in
	Login *bool `json:"login,omitempty" tf:"login,omitempty"`

	// Defines whether a role is allowed to initiate
	// streaming replication or put the system in and out of backup mode.  Default
	// value is false
	// Determine whether a role is allowed to initiate streaming replication or put the system in and out of backup mode
	Replication *bool `json:"replication,omitempty" tf:"replication,omitempty"`

	// Defines list of roles which will be granted to this new role.
	// Role(s) to grant to this new role
	// +listType=set
	Roles []*string `json:"roles,omitempty" tf:"roles,omitempty"`

	// Alters the search path of this new role. Note that
	// due to limitations in the implementation, values cannot contain the substring
	// ", ".
	// Sets the role's search path
	SearchPath []*string `json:"searchPath,omitempty" tf:"search_path,omitempty"`

	// When a PostgreSQL ROLE exists in multiple
	// databases and the ROLE is dropped, the
	// cleanup of ownership of objects
	// in each of the respective databases must occur before the ROLE can be dropped
	// from the catalog.  Set this option to true when there are multiple databases
	// in a PostgreSQL cluster using the same PostgreSQL ROLE for object ownership.
	// This is the third and final step taken when removing a ROLE from a database.
	// Skip actually running the DROP ROLE command when removing a ROLE from PostgreSQL
	SkipDropRole *bool `json:"skipDropRole,omitempty" tf:"skip_drop_role,omitempty"`

	// When a PostgreSQL ROLE exists in multiple
	// databases and the ROLE is dropped, a
	// REASSIGN OWNED in
	// must be executed on each of the respective databases before the DROP ROLE
	// can be executed to dropped the ROLE from the catalog.  This is the first and
	// second steps taken when removing a ROLE from a database (the second step being
	// an implicit
	// DROP OWNED).
	// Skip actually running the REASSIGN OWNED command when removing a role from PostgreSQL
	SkipReassignOwned *bool `json:"skipReassignOwned,omitempty" tf:"skip_reassign_owned,omitempty"`

	// Defines statement_timeout setting for this role which allows to abort any statement that takes more than the specified amount of time.
	// Abort any statement that takes more than the specified number of milliseconds
	StatementTimeout *float64 `json:"statementTimeout,omitempty" tf:"statement_timeout,omitempty"`

	// Defines whether the role is a "superuser", and
	// therefore can override all access restrictions within the database.  Default
	// value is false.
	// Determine whether the new role is a "superuser"
	Superuser *bool `json:"superuser,omitempty" tf:"superuser,omitempty"`

	// Defines the date and time after which the role's
	// password is no longer valid.  Established connections past this valid_time
	// will have to be manually terminated.  This value corresponds to a PostgreSQL
	// datetime. If omitted or the magic value NULL is used, valid_until will be
	// set to infinity.  Default is NULL, therefore infinity.
	// Sets a date and time after which the role's password is no longer valid
	ValidUntil *string `json:"validUntil,omitempty" tf:"valid_until,omitempty"`
}

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 {

	// Defines the role to switch to at login via SET ROLE.
	// Role to switch to at login
	// +kubebuilder:validation:Optional
	AssumeRole *string `json:"assumeRole,omitempty" tf:"assume_role,omitempty"`

	// Defines whether a role bypasses every
	// row-level security (RLS) policy.  Default value is false.
	// Determine whether a role bypasses every row-level security (RLS) policy
	// +kubebuilder:validation:Optional
	BypassRowLevelSecurity *bool `json:"bypassRowLevelSecurity,omitempty" tf:"bypass_row_level_security,omitempty"`

	// If this role can log in, this specifies how
	// many concurrent connections the role can establish. -1 (the default) means no
	// limit.
	// How many concurrent connections can be made with this role
	// +kubebuilder:validation:Optional
	ConnectionLimit *float64 `json:"connectionLimit,omitempty" tf:"connection_limit,omitempty"`

	// Defines a role's ability to execute CREATE DATABASE.  Default value is false.
	// Define a role's ability to create databases
	// +kubebuilder:validation:Optional
	CreateDatabase *bool `json:"createDatabase,omitempty" tf:"create_database,omitempty"`

	// Defines a role's ability to execute CREATE ROLE.
	// A role with this privilege can also alter and drop other roles.  Default value
	// is false.
	// Determine whether this role will be permitted to create new roles
	// +kubebuilder:validation:Optional
	CreateRole *bool `json:"createRole,omitempty" tf:"create_role,omitempty"`

	// +kubebuilder:validation:Optional
	Encrypted *string `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// Defines whether the password is stored
	// encrypted in the system catalogs.  Default value is true.  NOTE: this value
	// is always set (to the conservative and safe value), but may interfere with the
	// behavior of
	// PostgreSQL's .
	// Control whether the password is stored encrypted in the system catalogs
	// +kubebuilder:validation:Optional
	EncryptedPassword *bool `json:"encryptedPassword,omitempty" tf:"encrypted_password,omitempty"`

	// Terminate any session with an open transaction that has been idle for longer than the specified duration in milliseconds
	// +kubebuilder:validation:Optional
	IdleInTransactionSessionTimeout *float64 `json:"idleInTransactionSessionTimeout,omitempty" tf:"idle_in_transaction_session_timeout,omitempty"`

	// Defines whether a role "inherits" the privileges of
	// roles it is a member of.  Default value is true.
	// Determine whether a role "inherits" the privileges of roles it is a member of
	// +kubebuilder:validation:Optional
	Inherit *bool `json:"inherit,omitempty" tf:"inherit,omitempty"`

	// Defines whether role is allowed to log in.  Roles without
	// this attribute are useful for managing database privileges, but are not users
	// in the usual sense of the word.  Default value is false.
	// Determine whether a role is allowed to log in
	// +kubebuilder:validation:Optional
	Login *bool `json:"login,omitempty" tf:"login,omitempty"`

	// Sets the role's password. A password is only of use
	// for roles having the login attribute set to true.
	// Sets the role's password
	// +kubebuilder:validation:Optional
	PasswordSecretRef *v1.SecretKeySelector `json:"passwordSecretRef,omitempty" tf:"-"`

	// Defines whether a role is allowed to initiate
	// streaming replication or put the system in and out of backup mode.  Default
	// value is false
	// Determine whether a role is allowed to initiate streaming replication or put the system in and out of backup mode
	// +kubebuilder:validation:Optional
	Replication *bool `json:"replication,omitempty" tf:"replication,omitempty"`

	// Defines list of roles which will be granted to this new role.
	// Role(s) to grant to this new role
	// +kubebuilder:validation:Optional
	// +listType=set
	Roles []*string `json:"roles,omitempty" tf:"roles,omitempty"`

	// Alters the search path of this new role. Note that
	// due to limitations in the implementation, values cannot contain the substring
	// ", ".
	// Sets the role's search path
	// +kubebuilder:validation:Optional
	SearchPath []*string `json:"searchPath,omitempty" tf:"search_path,omitempty"`

	// When a PostgreSQL ROLE exists in multiple
	// databases and the ROLE is dropped, the
	// cleanup of ownership of objects
	// in each of the respective databases must occur before the ROLE can be dropped
	// from the catalog.  Set this option to true when there are multiple databases
	// in a PostgreSQL cluster using the same PostgreSQL ROLE for object ownership.
	// This is the third and final step taken when removing a ROLE from a database.
	// Skip actually running the DROP ROLE command when removing a ROLE from PostgreSQL
	// +kubebuilder:validation:Optional
	SkipDropRole *bool `json:"skipDropRole,omitempty" tf:"skip_drop_role,omitempty"`

	// When a PostgreSQL ROLE exists in multiple
	// databases and the ROLE is dropped, a
	// REASSIGN OWNED in
	// must be executed on each of the respective databases before the DROP ROLE
	// can be executed to dropped the ROLE from the catalog.  This is the first and
	// second steps taken when removing a ROLE from a database (the second step being
	// an implicit
	// DROP OWNED).
	// Skip actually running the REASSIGN OWNED command when removing a role from PostgreSQL
	// +kubebuilder:validation:Optional
	SkipReassignOwned *bool `json:"skipReassignOwned,omitempty" tf:"skip_reassign_owned,omitempty"`

	// Defines statement_timeout setting for this role which allows to abort any statement that takes more than the specified amount of time.
	// Abort any statement that takes more than the specified number of milliseconds
	// +kubebuilder:validation:Optional
	StatementTimeout *float64 `json:"statementTimeout,omitempty" tf:"statement_timeout,omitempty"`

	// Defines whether the role is a "superuser", and
	// therefore can override all access restrictions within the database.  Default
	// value is false.
	// Determine whether the new role is a "superuser"
	// +kubebuilder:validation:Optional
	Superuser *bool `json:"superuser,omitempty" tf:"superuser,omitempty"`

	// Defines the date and time after which the role's
	// password is no longer valid.  Established connections past this valid_time
	// will have to be manually terminated.  This value corresponds to a PostgreSQL
	// datetime. If omitted or the magic value NULL is used, valid_until will be
	// set to infinity.  Default is NULL, therefore infinity.
	// Sets a date and time after which the role's password is no longer valid
	// +kubebuilder:validation:Optional
	ValidUntil *string `json:"validUntil,omitempty" tf:"valid_until,omitempty"`
}

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 RoleSpec

type RoleSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RoleParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RoleInitParameters `json:"initProvider,omitempty"`
}

RoleSpec defines the desired state of Role

func (*RoleSpec) DeepCopy

func (in *RoleSpec) DeepCopy() *RoleSpec

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

func (*RoleSpec) DeepCopyInto

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

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

type RoleStatus

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

RoleStatus defines the observed state of 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 Schema

type Schema struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              SchemaSpec   `json:"spec"`
	Status            SchemaStatus `json:"status,omitempty"`
}

Schema is the Schema for the Schemas API. Creates and manages a schema within a PostgreSQL database. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,postgresql}

func (*Schema) DeepCopy

func (in *Schema) DeepCopy() *Schema

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

func (*Schema) DeepCopyInto

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

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

func (*Schema) DeepCopyObject

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

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

func (*Schema) GetCondition

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

GetCondition of this Schema.

func (*Schema) GetConnectionDetailsMapping

func (tr *Schema) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Schema

func (*Schema) GetDeletionPolicy

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

GetDeletionPolicy of this Schema.

func (*Schema) GetID

func (tr *Schema) GetID() string

GetID returns ID of underlying Terraform resource of this Schema

func (*Schema) GetInitParameters

func (tr *Schema) GetInitParameters() (map[string]any, error)

GetInitParameters of this Schema

func (*Schema) GetManagementPolicies

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

GetManagementPolicies of this Schema.

func (*Schema) GetMergedParameters

func (tr *Schema) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Schema

func (*Schema) GetObservation

func (tr *Schema) GetObservation() (map[string]any, error)

GetObservation of this Schema

func (*Schema) GetParameters

func (tr *Schema) GetParameters() (map[string]any, error)

GetParameters of this Schema

func (*Schema) GetProviderConfigReference

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

GetProviderConfigReference of this Schema.

func (*Schema) GetPublishConnectionDetailsTo

func (mg *Schema) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Schema.

func (*Schema) GetTerraformResourceType

func (mg *Schema) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Schema

func (*Schema) GetTerraformSchemaVersion

func (tr *Schema) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Schema) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Schema.

func (*Schema) Hub

func (tr *Schema) Hub()

Hub marks this type as a conversion hub.

func (*Schema) LateInitialize

func (tr *Schema) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Schema using its observed tfState. returns True if there are any spec changes for the resource.

func (*Schema) SetConditions

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

SetConditions of this Schema.

func (*Schema) SetDeletionPolicy

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

SetDeletionPolicy of this Schema.

func (*Schema) SetManagementPolicies

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

SetManagementPolicies of this Schema.

func (*Schema) SetObservation

func (tr *Schema) SetObservation(obs map[string]any) error

SetObservation for this Schema

func (*Schema) SetParameters

func (tr *Schema) SetParameters(params map[string]any) error

SetParameters for this Schema

func (*Schema) SetProviderConfigReference

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

SetProviderConfigReference of this Schema.

func (*Schema) SetPublishConnectionDetailsTo

func (mg *Schema) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Schema.

func (*Schema) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Schema.

type SchemaInitParameters

type SchemaInitParameters struct {

	// The DATABASE in which where this schema will be created. (Default: The database used by your provider configuration)
	// The database name to alter schema
	Database *string `json:"database,omitempty" tf:"database,omitempty"`

	// When true, will also drop all the objects that are contained in the schema. (Default: false)
	// When true, will also drop all the objects that are contained in the schema
	DropCascade *bool `json:"dropCascade,omitempty" tf:"drop_cascade,omitempty"`

	// When true, use the existing schema if it exists. (Default: true)
	// When true, use the existing schema if it exists
	IfNotExists *bool `json:"ifNotExists,omitempty" tf:"if_not_exists,omitempty"`

	// The ROLE who owns the schema.
	// The ROLE name who owns the schema
	Owner *string `json:"owner,omitempty" tf:"owner,omitempty"`

	// Can be specified multiple times for each policy.  Each
	// policy block supports fields documented below.
	Policy []PolicyInitParameters `json:"policy,omitempty" tf:"policy,omitempty"`
}

func (*SchemaInitParameters) DeepCopy

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

func (*SchemaInitParameters) DeepCopyInto

func (in *SchemaInitParameters) DeepCopyInto(out *SchemaInitParameters)

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

type SchemaList

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

SchemaList contains a list of Schemas

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 SchemaObservation

type SchemaObservation struct {

	// The DATABASE in which where this schema will be created. (Default: The database used by your provider configuration)
	// The database name to alter schema
	Database *string `json:"database,omitempty" tf:"database,omitempty"`

	// When true, will also drop all the objects that are contained in the schema. (Default: false)
	// When true, will also drop all the objects that are contained in the schema
	DropCascade *bool `json:"dropCascade,omitempty" tf:"drop_cascade,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// When true, use the existing schema if it exists. (Default: true)
	// When true, use the existing schema if it exists
	IfNotExists *bool `json:"ifNotExists,omitempty" tf:"if_not_exists,omitempty"`

	// The ROLE who owns the schema.
	// The ROLE name who owns the schema
	Owner *string `json:"owner,omitempty" tf:"owner,omitempty"`

	// Can be specified multiple times for each policy.  Each
	// policy block supports fields documented below.
	Policy []PolicyObservation `json:"policy,omitempty" tf:"policy,omitempty"`
}

func (*SchemaObservation) DeepCopy

func (in *SchemaObservation) DeepCopy() *SchemaObservation

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

func (*SchemaObservation) DeepCopyInto

func (in *SchemaObservation) DeepCopyInto(out *SchemaObservation)

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

type SchemaParameters

type SchemaParameters struct {

	// The DATABASE in which where this schema will be created. (Default: The database used by your provider configuration)
	// The database name to alter schema
	// +kubebuilder:validation:Optional
	Database *string `json:"database,omitempty" tf:"database,omitempty"`

	// When true, will also drop all the objects that are contained in the schema. (Default: false)
	// When true, will also drop all the objects that are contained in the schema
	// +kubebuilder:validation:Optional
	DropCascade *bool `json:"dropCascade,omitempty" tf:"drop_cascade,omitempty"`

	// When true, use the existing schema if it exists. (Default: true)
	// When true, use the existing schema if it exists
	// +kubebuilder:validation:Optional
	IfNotExists *bool `json:"ifNotExists,omitempty" tf:"if_not_exists,omitempty"`

	// The ROLE who owns the schema.
	// The ROLE name who owns the schema
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" tf:"owner,omitempty"`

	// Can be specified multiple times for each policy.  Each
	// policy block supports fields documented below.
	// +kubebuilder:validation:Optional
	Policy []PolicyParameters `json:"policy,omitempty" tf:"policy,omitempty"`
}

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 {
	v1.ResourceSpec `json:",inline"`
	ForProvider     SchemaParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider SchemaInitParameters `json:"initProvider,omitempty"`
}

SchemaSpec defines the desired state of 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 {
	v1.ResourceStatus `json:",inline"`
	AtProvider        SchemaObservation `json:"atProvider,omitempty"`
}

SchemaStatus defines the observed state of 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.

Jump to

Keyboard shortcuts

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