v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2024 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 (
	Function_Kind             = "Function"
	Function_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Function_Kind}.String()
	Function_KindAPIVersion   = Function_Kind + "." + CRDGroupVersion.String()
	Function_GroupVersionKind = CRDGroupVersion.WithKind(Function_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 (
	Publication_Kind             = "Publication"
	Publication_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Publication_Kind}.String()
	Publication_KindAPIVersion   = Publication_Kind + "." + CRDGroupVersion.String()
	Publication_GroupVersionKind = CRDGroupVersion.WithKind(Publication_Kind)
)

Repository type metadata.

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.

View Source
var (
	Server_Kind             = "Server"
	Server_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Server_Kind}.String()
	Server_KindAPIVersion   = Server_Kind + "." + CRDGroupVersion.String()
	Server_GroupVersionKind = CRDGroupVersion.WithKind(Server_Kind)
)

Repository type metadata.

View Source
var (
	Subscription_Kind             = "Subscription"
	Subscription_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Subscription_Kind}.String()
	Subscription_KindAPIVersion   = Subscription_Kind + "." + CRDGroupVersion.String()
	Subscription_GroupVersionKind = CRDGroupVersion.WithKind(Subscription_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type ArgInitParameters

type ArgInitParameters struct {

	// An expression to be used as default value if the parameter is not specified.
	// An expression to be used as default value if the parameter is not specified.
	Default *string `json:"default,omitempty" tf:"default,omitempty"`

	// Can be one of IN, INOUT, OUT, or VARIADIC. Default is IN.
	// The argument mode. One of: IN, OUT, INOUT, or VARIADIC
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The name of the function.
	// The argument name. The name may be required for some languages or depending on the argument mode.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The type of the argument.
	// The argument type.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ArgInitParameters) DeepCopy

func (in *ArgInitParameters) DeepCopy() *ArgInitParameters

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

func (*ArgInitParameters) DeepCopyInto

func (in *ArgInitParameters) DeepCopyInto(out *ArgInitParameters)

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

type ArgObservation

type ArgObservation struct {

	// An expression to be used as default value if the parameter is not specified.
	// An expression to be used as default value if the parameter is not specified.
	Default *string `json:"default,omitempty" tf:"default,omitempty"`

	// Can be one of IN, INOUT, OUT, or VARIADIC. Default is IN.
	// The argument mode. One of: IN, OUT, INOUT, or VARIADIC
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The name of the function.
	// The argument name. The name may be required for some languages or depending on the argument mode.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The type of the argument.
	// The argument type.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ArgObservation) DeepCopy

func (in *ArgObservation) DeepCopy() *ArgObservation

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

func (*ArgObservation) DeepCopyInto

func (in *ArgObservation) DeepCopyInto(out *ArgObservation)

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

type ArgParameters

type ArgParameters struct {

	// An expression to be used as default value if the parameter is not specified.
	// An expression to be used as default value if the parameter is not specified.
	// +kubebuilder:validation:Optional
	Default *string `json:"default,omitempty" tf:"default,omitempty"`

	// Can be one of IN, INOUT, OUT, or VARIADIC. Default is IN.
	// The argument mode. One of: IN, OUT, INOUT, or VARIADIC
	// +kubebuilder:validation:Optional
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The name of the function.
	// The argument name. The name may be required for some languages or depending on the argument mode.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The type of the argument.
	// The argument type.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*ArgParameters) DeepCopy

func (in *ArgParameters) DeepCopy() *ArgParameters

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

func (*ArgParameters) DeepCopyInto

func (in *ArgParameters) DeepCopyInto(out *ArgParameters)

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

type Database

type Database 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.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	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"`

	// 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 name of the database. Must be unique on the PostgreSQL
	// server instance where it is configured.
	// The PostgreSQL database name to connect to
	Name *string `json:"name,omitempty" tf:"name,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"`

	// 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 name of the database. Must be unique on the PostgreSQL
	// server instance where it is configured.
	// The PostgreSQL database name to connect to
	Name *string `json:"name,omitempty" tf:"name,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"`

	// 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 name of the database. Must be unique on the PostgreSQL
	// server instance where it is configured.
	// The PostgreSQL database name to connect to
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,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"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	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"`

	// The name of the extension.
	Name *string `json:"name,omitempty" tf:"name,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"`

	// The name of the extension.
	Name *string `json:"name,omitempty" tf:"name,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"`

	// The name of the extension.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,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 Function

type Function 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.body) || (has(self.initProvider) && has(self.initProvider.body))",message="spec.forProvider.body is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   FunctionSpec   `json:"spec"`
	Status FunctionStatus `json:"status,omitempty"`
}

Function is the Schema for the Functions API. Creates and manages a function 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 (*Function) DeepCopy

func (in *Function) DeepCopy() *Function

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

func (*Function) DeepCopyInto

func (in *Function) DeepCopyInto(out *Function)

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

func (*Function) DeepCopyObject

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

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

func (*Function) GetCondition

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

GetCondition of this Function.

func (*Function) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Function

func (*Function) GetDeletionPolicy

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

GetDeletionPolicy of this Function.

func (*Function) GetID

func (tr *Function) GetID() string

GetID returns ID of underlying Terraform resource of this Function

func (*Function) GetInitParameters

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

GetInitParameters of this Function

func (*Function) GetManagementPolicies

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

GetManagementPolicies of this Function.

func (*Function) GetMergedParameters

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

GetInitParameters of this Function

func (*Function) GetObservation

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

GetObservation of this Function

func (*Function) GetParameters

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

GetParameters of this Function

func (*Function) GetProviderConfigReference

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

GetProviderConfigReference of this Function.

func (*Function) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Function.

func (*Function) GetTerraformResourceType

func (mg *Function) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Function

func (*Function) GetTerraformSchemaVersion

func (tr *Function) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Function) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Function.

func (*Function) Hub

func (tr *Function) Hub()

Hub marks this type as a conversion hub.

func (*Function) LateInitialize

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

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

func (*Function) SetConditions

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

SetConditions of this Function.

func (*Function) SetDeletionPolicy

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

SetDeletionPolicy of this Function.

func (*Function) SetManagementPolicies

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

SetManagementPolicies of this Function.

func (*Function) SetObservation

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

SetObservation for this Function

func (*Function) SetParameters

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

SetParameters for this Function

func (*Function) SetProviderConfigReference

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

SetProviderConfigReference of this Function.

func (*Function) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Function.

func (*Function) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Function.

type FunctionInitParameters

type FunctionInitParameters struct {

	// List of arguments for the function.
	// Function argument definitions.
	Arg []ArgInitParameters `json:"arg,omitempty" tf:"arg,omitempty"`

	// Function body.
	// This should be the body content within the AS $$ and the final $$. It will also accept the AS $$ and $$ if added.
	// Body of the function.
	Body *string `json:"body,omitempty" tf:"body,omitempty"`

	// The database where the function is located.
	// If not specified, the function is created in the current database.
	// The database where the function is located. If not specified, the provider default database is used.
	Database *string `json:"database,omitempty" tf:"database,omitempty"`

	// True to automatically drop objects that depend on the function (such as
	// operators or triggers), and in turn all objects that depend on those objects. Default is false.
	// Automatically drop objects that depend on the function (such as operators or triggers), and in turn all objects that depend on those objects.
	DropCascade *bool `json:"dropCascade,omitempty" tf:"drop_cascade,omitempty"`

	// The function programming language. Can be one of internal, sql, c, plpgsql. Default is plpgsql.
	// Language of theof the function. One of: internal, sql, c, plpgsql
	Language *string `json:"language,omitempty" tf:"language,omitempty"`

	// The name of the function.
	// Name of the function.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Indicates if the function is parallel safe. Can be one of UNSAFE, RESTRICTED, or SAFE. Default is UNSAFE.
	// If the function can be executed in parallel for a single query execution. One of: UNSAFE, RESTRICTED, SAFE
	Parallel *string `json:"parallel,omitempty" tf:"parallel,omitempty"`

	// Type that the function returns. It can be computed from the OUT arguments. Default is void.
	// Function return type. If not specified, it will be calculated based on the output arguments
	Returns *string `json:"returns,omitempty" tf:"returns,omitempty"`

	// The schema where the function is located.
	// If not specified, the function is created in the current schema.
	// Schema where the function is located. If not specified, the provider default schema is used.
	Schema *string `json:"schema,omitempty" tf:"schema,omitempty"`

	// If the function should execute with the permissions of the owner, rather than the permissions of the caller. Default is false.
	// If the function should execute with the permissions of the function owner instead of the permissions of the caller.
	SecurityDefiner *bool `json:"securityDefiner,omitempty" tf:"security_definer,omitempty"`

	// If the function should always return NULL when any of the inputs is NULL. Default is false.
	// If the function should always return NULL if any of it's inputs is NULL.
	Strict *bool `json:"strict,omitempty" tf:"strict,omitempty"`

	// Defines the volatility of the function. Can be one of VOLATILE, STABLE, or IMMUTABLE. Default is VOLATILE.
	// Volatility of the function. One of: VOLATILE, STABLE, IMMUTABLE.
	Volatility *string `json:"volatility,omitempty" tf:"volatility,omitempty"`
}

func (*FunctionInitParameters) DeepCopy

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

func (*FunctionInitParameters) DeepCopyInto

func (in *FunctionInitParameters) DeepCopyInto(out *FunctionInitParameters)

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

type FunctionList

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

FunctionList contains a list of Functions

func (*FunctionList) DeepCopy

func (in *FunctionList) DeepCopy() *FunctionList

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

func (*FunctionList) DeepCopyInto

func (in *FunctionList) DeepCopyInto(out *FunctionList)

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

func (*FunctionList) DeepCopyObject

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

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

func (*FunctionList) GetItems

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

GetItems of this FunctionList.

type FunctionObservation

type FunctionObservation struct {

	// List of arguments for the function.
	// Function argument definitions.
	Arg []ArgObservation `json:"arg,omitempty" tf:"arg,omitempty"`

	// Function body.
	// This should be the body content within the AS $$ and the final $$. It will also accept the AS $$ and $$ if added.
	// Body of the function.
	Body *string `json:"body,omitempty" tf:"body,omitempty"`

	// The database where the function is located.
	// If not specified, the function is created in the current database.
	// The database where the function is located. If not specified, the provider default database is used.
	Database *string `json:"database,omitempty" tf:"database,omitempty"`

	// True to automatically drop objects that depend on the function (such as
	// operators or triggers), and in turn all objects that depend on those objects. Default is false.
	// Automatically drop objects that depend on the function (such as operators or triggers), 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"`

	// The function programming language. Can be one of internal, sql, c, plpgsql. Default is plpgsql.
	// Language of theof the function. One of: internal, sql, c, plpgsql
	Language *string `json:"language,omitempty" tf:"language,omitempty"`

	// The name of the function.
	// Name of the function.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Indicates if the function is parallel safe. Can be one of UNSAFE, RESTRICTED, or SAFE. Default is UNSAFE.
	// If the function can be executed in parallel for a single query execution. One of: UNSAFE, RESTRICTED, SAFE
	Parallel *string `json:"parallel,omitempty" tf:"parallel,omitempty"`

	// Type that the function returns. It can be computed from the OUT arguments. Default is void.
	// Function return type. If not specified, it will be calculated based on the output arguments
	Returns *string `json:"returns,omitempty" tf:"returns,omitempty"`

	// The schema where the function is located.
	// If not specified, the function is created in the current schema.
	// Schema where the function is located. If not specified, the provider default schema is used.
	Schema *string `json:"schema,omitempty" tf:"schema,omitempty"`

	// If the function should execute with the permissions of the owner, rather than the permissions of the caller. Default is false.
	// If the function should execute with the permissions of the function owner instead of the permissions of the caller.
	SecurityDefiner *bool `json:"securityDefiner,omitempty" tf:"security_definer,omitempty"`

	// If the function should always return NULL when any of the inputs is NULL. Default is false.
	// If the function should always return NULL if any of it's inputs is NULL.
	Strict *bool `json:"strict,omitempty" tf:"strict,omitempty"`

	// Defines the volatility of the function. Can be one of VOLATILE, STABLE, or IMMUTABLE. Default is VOLATILE.
	// Volatility of the function. One of: VOLATILE, STABLE, IMMUTABLE.
	Volatility *string `json:"volatility,omitempty" tf:"volatility,omitempty"`
}

func (*FunctionObservation) DeepCopy

func (in *FunctionObservation) DeepCopy() *FunctionObservation

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

func (*FunctionObservation) DeepCopyInto

func (in *FunctionObservation) DeepCopyInto(out *FunctionObservation)

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

type FunctionParameters

type FunctionParameters struct {

	// List of arguments for the function.
	// Function argument definitions.
	// +kubebuilder:validation:Optional
	Arg []ArgParameters `json:"arg,omitempty" tf:"arg,omitempty"`

	// Function body.
	// This should be the body content within the AS $$ and the final $$. It will also accept the AS $$ and $$ if added.
	// Body of the function.
	// +kubebuilder:validation:Optional
	Body *string `json:"body,omitempty" tf:"body,omitempty"`

	// The database where the function is located.
	// If not specified, the function is created in the current database.
	// The database where the function is located. If not specified, the provider default database is used.
	// +kubebuilder:validation:Optional
	Database *string `json:"database,omitempty" tf:"database,omitempty"`

	// True to automatically drop objects that depend on the function (such as
	// operators or triggers), and in turn all objects that depend on those objects. Default is false.
	// Automatically drop objects that depend on the function (such as operators or triggers), and in turn all objects that depend on those objects.
	// +kubebuilder:validation:Optional
	DropCascade *bool `json:"dropCascade,omitempty" tf:"drop_cascade,omitempty"`

	// The function programming language. Can be one of internal, sql, c, plpgsql. Default is plpgsql.
	// Language of theof the function. One of: internal, sql, c, plpgsql
	// +kubebuilder:validation:Optional
	Language *string `json:"language,omitempty" tf:"language,omitempty"`

	// The name of the function.
	// Name of the function.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Indicates if the function is parallel safe. Can be one of UNSAFE, RESTRICTED, or SAFE. Default is UNSAFE.
	// If the function can be executed in parallel for a single query execution. One of: UNSAFE, RESTRICTED, SAFE
	// +kubebuilder:validation:Optional
	Parallel *string `json:"parallel,omitempty" tf:"parallel,omitempty"`

	// Type that the function returns. It can be computed from the OUT arguments. Default is void.
	// Function return type. If not specified, it will be calculated based on the output arguments
	// +kubebuilder:validation:Optional
	Returns *string `json:"returns,omitempty" tf:"returns,omitempty"`

	// The schema where the function is located.
	// If not specified, the function is created in the current schema.
	// Schema where the function is located. If not specified, the provider default schema is used.
	// +kubebuilder:validation:Optional
	Schema *string `json:"schema,omitempty" tf:"schema,omitempty"`

	// If the function should execute with the permissions of the owner, rather than the permissions of the caller. Default is false.
	// If the function should execute with the permissions of the function owner instead of the permissions of the caller.
	// +kubebuilder:validation:Optional
	SecurityDefiner *bool `json:"securityDefiner,omitempty" tf:"security_definer,omitempty"`

	// If the function should always return NULL when any of the inputs is NULL. Default is false.
	// If the function should always return NULL if any of it's inputs is NULL.
	// +kubebuilder:validation:Optional
	Strict *bool `json:"strict,omitempty" tf:"strict,omitempty"`

	// Defines the volatility of the function. Can be one of VOLATILE, STABLE, or IMMUTABLE. Default is VOLATILE.
	// Volatility of the function. One of: VOLATILE, STABLE, IMMUTABLE.
	// +kubebuilder:validation:Optional
	Volatility *string `json:"volatility,omitempty" tf:"volatility,omitempty"`
}

func (*FunctionParameters) DeepCopy

func (in *FunctionParameters) DeepCopy() *FunctionParameters

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

func (*FunctionParameters) DeepCopyInto

func (in *FunctionParameters) DeepCopyInto(out *FunctionParameters)

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

type FunctionSpec

type FunctionSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     FunctionParameters `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 FunctionInitParameters `json:"initProvider,omitempty"`
}

FunctionSpec defines the desired state of Function

func (*FunctionSpec) DeepCopy

func (in *FunctionSpec) DeepCopy() *FunctionSpec

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

func (*FunctionSpec) DeepCopyInto

func (in *FunctionSpec) DeepCopyInto(out *FunctionSpec)

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

type FunctionStatus

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

FunctionStatus defines the observed state of Function.

func (*FunctionStatus) DeepCopy

func (in *FunctionStatus) DeepCopy() *FunctionStatus

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

func (*FunctionStatus) DeepCopyInto

func (in *FunctionStatus) DeepCopyInto(out *FunctionStatus)

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.database) || (has(self.initProvider) && has(self.initProvider.database))",message="spec.forProvider.database is a required parameter"
	// +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"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.role) || (has(self.initProvider) && has(self.initProvider.role))",message="spec.forProvider.role 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 columns upon which to grant the privileges. Required when object_type is column. You cannot specify this option if the object_type is not column.
	// 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.
	// The database to grant privileges on for this role
	Database *string `json:"database,omitempty" tf:"database,omitempty"`

	// The PostgreSQL object type to grant the privileges on (one of: database, schema, table, sequence, function, procedure, routine, foreign_data_wrapper, foreign_server, column).
	// 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 objects upon which to grant the privileges. An empty list (the default) means to grant permissions on all objects of the specified type. You cannot specify this option if the object_type is database or schema. When object_type is column, only one value is allowed.
	// 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. There are different kinds of privileges: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER, CREATE, CONNECT, TEMPORARY, EXECUTE, and USAGE. An empty list could be provided to revoke all privileges for this role.
	// The list of privileges to grant
	// +listType=set
	Privileges []*string `json:"privileges,omitempty" tf:"privileges,omitempty"`

	// The name of the role to grant privileges on, Set it to "public" for all roles.
	// The name of the role to grant privileges on
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

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

	// Whether the recipient of these privileges can grant the same privileges to others. Defaults to false.
	// 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 columns upon which to grant the privileges. Required when object_type is column. You cannot specify this option if the object_type is not column.
	// 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.
	// 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 grant the privileges on (one of: database, schema, table, sequence, function, procedure, routine, foreign_data_wrapper, foreign_server, column).
	// 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 objects upon which to grant the privileges. An empty list (the default) means to grant permissions on all objects of the specified type. You cannot specify this option if the object_type is database or schema. When object_type is column, only one value is allowed.
	// 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. There are different kinds of privileges: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER, CREATE, CONNECT, TEMPORARY, EXECUTE, and USAGE. An empty list could be provided to revoke all privileges for this role.
	// The list of privileges to grant
	// +listType=set
	Privileges []*string `json:"privileges,omitempty" tf:"privileges,omitempty"`

	// The name of the role to grant privileges on, Set it to "public" for all roles.
	// The name of the role to grant privileges on
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

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

	// Whether the recipient of these privileges can grant the same privileges to others. Defaults to false.
	// 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 columns upon which to grant the privileges. Required when object_type is column. You cannot specify this option if the object_type is not column.
	// 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.
	// The database to grant privileges on for this role
	// +kubebuilder:validation:Optional
	Database *string `json:"database,omitempty" tf:"database,omitempty"`

	// The PostgreSQL object type to grant the privileges on (one of: database, schema, table, sequence, function, procedure, routine, foreign_data_wrapper, foreign_server, column).
	// 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 objects upon which to grant the privileges. An empty list (the default) means to grant permissions on all objects of the specified type. You cannot specify this option if the object_type is database or schema. When object_type is column, only one value is allowed.
	// 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. There are different kinds of privileges: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER, CREATE, CONNECT, TEMPORARY, EXECUTE, and USAGE. An empty list could be provided to revoke all privileges for this role.
	// The list of privileges to grant
	// +kubebuilder:validation:Optional
	// +listType=set
	Privileges []*string `json:"privileges,omitempty" tf:"privileges,omitempty"`

	// The name of the role to grant privileges on, Set it to "public" for all roles.
	// The name of the role to grant privileges on
	// +kubebuilder:validation:Optional
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

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

	// Whether the recipient of these privileges can grant the same privileges to others. Defaults to false.
	// 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 Publication

type Publication 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.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   PublicationSpec   `json:"spec"`
	Status PublicationStatus `json:"status,omitempty"`
}

Publication is the Schema for the Publications API. Creates and manages a publication in a PostgreSQL server 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 (*Publication) DeepCopy

func (in *Publication) DeepCopy() *Publication

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

func (*Publication) DeepCopyInto

func (in *Publication) DeepCopyInto(out *Publication)

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

func (*Publication) DeepCopyObject

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

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

func (*Publication) GetCondition

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

GetCondition of this Publication.

func (*Publication) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Publication

func (*Publication) GetDeletionPolicy

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

GetDeletionPolicy of this Publication.

func (*Publication) GetID

func (tr *Publication) GetID() string

GetID returns ID of underlying Terraform resource of this Publication

func (*Publication) GetInitParameters

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

GetInitParameters of this Publication

func (*Publication) GetManagementPolicies

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

GetManagementPolicies of this Publication.

func (*Publication) GetMergedParameters

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

GetInitParameters of this Publication

func (*Publication) GetObservation

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

GetObservation of this Publication

func (*Publication) GetParameters

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

GetParameters of this Publication

func (*Publication) GetProviderConfigReference

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

GetProviderConfigReference of this Publication.

func (*Publication) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Publication.

func (*Publication) GetTerraformResourceType

func (mg *Publication) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Publication

func (*Publication) GetTerraformSchemaVersion

func (tr *Publication) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Publication) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Publication.

func (*Publication) Hub

func (tr *Publication) Hub()

Hub marks this type as a conversion hub.

func (*Publication) LateInitialize

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

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

func (*Publication) SetConditions

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

SetConditions of this Publication.

func (*Publication) SetDeletionPolicy

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

SetDeletionPolicy of this Publication.

func (*Publication) SetManagementPolicies

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

SetManagementPolicies of this Publication.

func (*Publication) SetObservation

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

SetObservation for this Publication

func (*Publication) SetParameters

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

SetParameters for this Publication

func (*Publication) SetProviderConfigReference

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

SetProviderConfigReference of this Publication.

func (*Publication) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Publication.

func (*Publication) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Publication.

type PublicationInitParameters

type PublicationInitParameters struct {

	// Should be ALL TABLES added to the publication. Defaults to 'false'
	// Sets the tables list to publish to ALL tables
	AllTables *bool `json:"allTables,omitempty" tf:"all_tables,omitempty"`

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

	// Should all subsequent resources of the publication be dropped. Defaults to 'false'
	// When true, will also drop all the objects that depend on the publication, and in turn all objects that depend on those objects
	DropCascade *bool `json:"dropCascade,omitempty" tf:"drop_cascade,omitempty"`

	// The name of the publication.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Who owns the publication. Defaults to provider user.
	// Sets the owner of the publication
	Owner *string `json:"owner,omitempty" tf:"owner,omitempty"`

	// Which 'publish' options should be turned on. Default to 'insert','update','delete'
	// Sets which DML operations will be published
	PublishParam []*string `json:"publishParam,omitempty" tf:"publish_param,omitempty"`

	// Should be option 'publish_via_partition_root' be turned on. Default to 'false'
	// Sets whether changes in a partitioned table using the identity and schema of the partitioned table
	PublishViaPartitionRootParam *bool `json:"publishViaPartitionRootParam,omitempty" tf:"publish_via_partition_root_param,omitempty"`

	// Which tables add to the publication. By defaults no tables added. Format of table is <schema_name>.<table_name>. If <schema_name> is not specified - default database schema will be used.  Table string must be listed in alphabetical order.
	// Sets the tables list to publish
	// +listType=set
	Tables []*string `json:"tables,omitempty" tf:"tables,omitempty"`
}

func (*PublicationInitParameters) DeepCopy

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

func (*PublicationInitParameters) DeepCopyInto

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

type PublicationList

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

PublicationList contains a list of Publications

func (*PublicationList) DeepCopy

func (in *PublicationList) DeepCopy() *PublicationList

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

func (*PublicationList) DeepCopyInto

func (in *PublicationList) DeepCopyInto(out *PublicationList)

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

func (*PublicationList) DeepCopyObject

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

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

func (*PublicationList) GetItems

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

GetItems of this PublicationList.

type PublicationObservation

type PublicationObservation struct {

	// Should be ALL TABLES added to the publication. Defaults to 'false'
	// Sets the tables list to publish to ALL tables
	AllTables *bool `json:"allTables,omitempty" tf:"all_tables,omitempty"`

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

	// Should all subsequent resources of the publication be dropped. Defaults to 'false'
	// When true, will also drop all the objects that depend on the publication, 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"`

	// The name of the publication.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Who owns the publication. Defaults to provider user.
	// Sets the owner of the publication
	Owner *string `json:"owner,omitempty" tf:"owner,omitempty"`

	// Which 'publish' options should be turned on. Default to 'insert','update','delete'
	// Sets which DML operations will be published
	PublishParam []*string `json:"publishParam,omitempty" tf:"publish_param,omitempty"`

	// Should be option 'publish_via_partition_root' be turned on. Default to 'false'
	// Sets whether changes in a partitioned table using the identity and schema of the partitioned table
	PublishViaPartitionRootParam *bool `json:"publishViaPartitionRootParam,omitempty" tf:"publish_via_partition_root_param,omitempty"`

	// Which tables add to the publication. By defaults no tables added. Format of table is <schema_name>.<table_name>. If <schema_name> is not specified - default database schema will be used.  Table string must be listed in alphabetical order.
	// Sets the tables list to publish
	// +listType=set
	Tables []*string `json:"tables,omitempty" tf:"tables,omitempty"`
}

func (*PublicationObservation) DeepCopy

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

func (*PublicationObservation) DeepCopyInto

func (in *PublicationObservation) DeepCopyInto(out *PublicationObservation)

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

type PublicationParameters

type PublicationParameters struct {

	// Should be ALL TABLES added to the publication. Defaults to 'false'
	// Sets the tables list to publish to ALL tables
	// +kubebuilder:validation:Optional
	AllTables *bool `json:"allTables,omitempty" tf:"all_tables,omitempty"`

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

	// Should all subsequent resources of the publication be dropped. Defaults to 'false'
	// When true, will also drop all the objects that depend on the publication, and in turn all objects that depend on those objects
	// +kubebuilder:validation:Optional
	DropCascade *bool `json:"dropCascade,omitempty" tf:"drop_cascade,omitempty"`

	// The name of the publication.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Who owns the publication. Defaults to provider user.
	// Sets the owner of the publication
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" tf:"owner,omitempty"`

	// Which 'publish' options should be turned on. Default to 'insert','update','delete'
	// Sets which DML operations will be published
	// +kubebuilder:validation:Optional
	PublishParam []*string `json:"publishParam,omitempty" tf:"publish_param,omitempty"`

	// Should be option 'publish_via_partition_root' be turned on. Default to 'false'
	// Sets whether changes in a partitioned table using the identity and schema of the partitioned table
	// +kubebuilder:validation:Optional
	PublishViaPartitionRootParam *bool `json:"publishViaPartitionRootParam,omitempty" tf:"publish_via_partition_root_param,omitempty"`

	// Which tables add to the publication. By defaults no tables added. Format of table is <schema_name>.<table_name>. If <schema_name> is not specified - default database schema will be used.  Table string must be listed in alphabetical order.
	// Sets the tables list to publish
	// +kubebuilder:validation:Optional
	// +listType=set
	Tables []*string `json:"tables,omitempty" tf:"tables,omitempty"`
}

func (*PublicationParameters) DeepCopy

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

func (*PublicationParameters) DeepCopyInto

func (in *PublicationParameters) DeepCopyInto(out *PublicationParameters)

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

type PublicationSpec

type PublicationSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     PublicationParameters `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 PublicationInitParameters `json:"initProvider,omitempty"`
}

PublicationSpec defines the desired state of Publication

func (*PublicationSpec) DeepCopy

func (in *PublicationSpec) DeepCopy() *PublicationSpec

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

func (*PublicationSpec) DeepCopyInto

func (in *PublicationSpec) DeepCopyInto(out *PublicationSpec)

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

type PublicationStatus

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

PublicationStatus defines the observed state of Publication.

func (*PublicationStatus) DeepCopy

func (in *PublicationStatus) DeepCopy() *PublicationStatus

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

func (*PublicationStatus) DeepCopyInto

func (in *PublicationStatus) DeepCopyInto(out *PublicationStatus)

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"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	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"`

	// The name of the role. Must be unique on the PostgreSQL
	// server instance where it is configured.
	// The name of the role
	Name *string `json:"name,omitempty" tf:"name,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 (*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"`

	// The name of the role. Must be unique on the PostgreSQL
	// server instance where it is configured.
	// The name of the role
	Name *string `json:"name,omitempty" tf:"name,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"`

	// The name of the role. Must be unique on the PostgreSQL
	// server instance where it is configured.
	// The name of the role
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,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"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	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 name of the schema. Must be unique in the PostgreSQL
	// database instance where it is configured.
	// The name of the schema
	Name *string `json:"name,omitempty" tf:"name,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 name of the schema. Must be unique in the PostgreSQL
	// database instance where it is configured.
	// The name of the schema
	Name *string `json:"name,omitempty" tf:"name,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 name of the schema. Must be unique in the PostgreSQL
	// database instance where it is configured.
	// The name of the schema
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,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.

type Server

type Server 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.fdwName) || (has(self.initProvider) && has(self.initProvider.fdwName))",message="spec.forProvider.fdwName is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.serverName) || (has(self.initProvider) && has(self.initProvider.serverName))",message="spec.forProvider.serverName is a required parameter"
	Spec   ServerSpec   `json:"spec"`
	Status ServerStatus `json:"status,omitempty"`
}

Server is the Schema for the Servers API. Creates and manages a foreign server 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 (*Server) DeepCopy

func (in *Server) DeepCopy() *Server

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

func (*Server) DeepCopyInto

func (in *Server) DeepCopyInto(out *Server)

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

func (*Server) DeepCopyObject

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

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

func (*Server) GetCondition

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

GetCondition of this Server.

func (*Server) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Server

func (*Server) GetDeletionPolicy

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

GetDeletionPolicy of this Server.

func (*Server) GetID

func (tr *Server) GetID() string

GetID returns ID of underlying Terraform resource of this Server

func (*Server) GetInitParameters

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

GetInitParameters of this Server

func (*Server) GetManagementPolicies

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

GetManagementPolicies of this Server.

func (*Server) GetMergedParameters

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

GetInitParameters of this Server

func (*Server) GetObservation

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

GetObservation of this Server

func (*Server) GetParameters

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

GetParameters of this Server

func (*Server) GetProviderConfigReference

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

GetProviderConfigReference of this Server.

func (*Server) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Server.

func (*Server) GetTerraformResourceType

func (mg *Server) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Server

func (*Server) GetTerraformSchemaVersion

func (tr *Server) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Server) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Server.

func (*Server) Hub

func (tr *Server) Hub()

Hub marks this type as a conversion hub.

func (*Server) LateInitialize

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

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

func (*Server) SetConditions

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

SetConditions of this Server.

func (*Server) SetDeletionPolicy

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

SetDeletionPolicy of this Server.

func (*Server) SetManagementPolicies

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

SetManagementPolicies of this Server.

func (*Server) SetObservation

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

SetObservation for this Server

func (*Server) SetParameters

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

SetParameters for this Server

func (*Server) SetProviderConfigReference

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

SetProviderConfigReference of this Server.

func (*Server) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Server.

func (*Server) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Server.

type ServerInitParameters

type ServerInitParameters struct {

	// When true, will drop objects that depend on the server (such as user mappings), and in turn all objects that depend on those objects . (Default: false)
	// Automatically drop objects that depend on the server (such as user mappings), and in turn all objects that depend on those objects. Drop RESTRICT is the default
	DropCascade *bool `json:"dropCascade,omitempty" tf:"drop_cascade,omitempty"`

	// The name of the foreign-data wrapper that manages the server.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the foreign server is created.
	// The name of the foreign-data wrapper that manages the server
	FdwName *string `json:"fdwName,omitempty" tf:"fdw_name,omitempty"`

	// This clause specifies the options for the server. The options typically define the connection details of the server, but the actual names and values are dependent on the server's foreign-data wrapper.
	// This clause specifies the options for the server. The options typically define the connection details of the server, but the actual names and values are dependent on the server's foreign-data wrapper
	// +mapType=granular
	Options map[string]*string `json:"options,omitempty" tf:"options,omitempty"`

	// The name of the foreign server to be created.
	// The name of the foreign server to be created
	ServerName *string `json:"serverName,omitempty" tf:"server_name,omitempty"`

	// By default, the user who defines the server becomes its owner. Set this value to configure the new owner of the foreign server.
	// The user name of the new owner of the foreign server
	ServerOwner *string `json:"serverOwner,omitempty" tf:"server_owner,omitempty"`

	// Optional server type, potentially useful to foreign-data wrappers.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the foreign server is created.
	// Optional server type, potentially useful to foreign-data wrappers
	ServerType *string `json:"serverType,omitempty" tf:"server_type,omitempty"`

	// Optional server version, potentially useful to foreign-data wrappers.
	// Optional server version, potentially useful to foreign-data wrappers.
	ServerVersion *string `json:"serverVersion,omitempty" tf:"server_version,omitempty"`
}

func (*ServerInitParameters) DeepCopy

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

func (*ServerInitParameters) DeepCopyInto

func (in *ServerInitParameters) DeepCopyInto(out *ServerInitParameters)

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

type ServerList

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

ServerList contains a list of Servers

func (*ServerList) DeepCopy

func (in *ServerList) DeepCopy() *ServerList

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

func (*ServerList) DeepCopyInto

func (in *ServerList) DeepCopyInto(out *ServerList)

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

func (*ServerList) DeepCopyObject

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

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

func (*ServerList) GetItems

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

GetItems of this ServerList.

type ServerObservation

type ServerObservation struct {

	// When true, will drop objects that depend on the server (such as user mappings), and in turn all objects that depend on those objects . (Default: false)
	// Automatically drop objects that depend on the server (such as user mappings), and in turn all objects that depend on those objects. Drop RESTRICT is the default
	DropCascade *bool `json:"dropCascade,omitempty" tf:"drop_cascade,omitempty"`

	// The name of the foreign-data wrapper that manages the server.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the foreign server is created.
	// The name of the foreign-data wrapper that manages the server
	FdwName *string `json:"fdwName,omitempty" tf:"fdw_name,omitempty"`

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

	// This clause specifies the options for the server. The options typically define the connection details of the server, but the actual names and values are dependent on the server's foreign-data wrapper.
	// This clause specifies the options for the server. The options typically define the connection details of the server, but the actual names and values are dependent on the server's foreign-data wrapper
	// +mapType=granular
	Options map[string]*string `json:"options,omitempty" tf:"options,omitempty"`

	// The name of the foreign server to be created.
	// The name of the foreign server to be created
	ServerName *string `json:"serverName,omitempty" tf:"server_name,omitempty"`

	// By default, the user who defines the server becomes its owner. Set this value to configure the new owner of the foreign server.
	// The user name of the new owner of the foreign server
	ServerOwner *string `json:"serverOwner,omitempty" tf:"server_owner,omitempty"`

	// Optional server type, potentially useful to foreign-data wrappers.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the foreign server is created.
	// Optional server type, potentially useful to foreign-data wrappers
	ServerType *string `json:"serverType,omitempty" tf:"server_type,omitempty"`

	// Optional server version, potentially useful to foreign-data wrappers.
	// Optional server version, potentially useful to foreign-data wrappers.
	ServerVersion *string `json:"serverVersion,omitempty" tf:"server_version,omitempty"`
}

func (*ServerObservation) DeepCopy

func (in *ServerObservation) DeepCopy() *ServerObservation

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

func (*ServerObservation) DeepCopyInto

func (in *ServerObservation) DeepCopyInto(out *ServerObservation)

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

type ServerParameters

type ServerParameters struct {

	// When true, will drop objects that depend on the server (such as user mappings), and in turn all objects that depend on those objects . (Default: false)
	// Automatically drop objects that depend on the server (such as user mappings), and in turn all objects that depend on those objects. Drop RESTRICT is the default
	// +kubebuilder:validation:Optional
	DropCascade *bool `json:"dropCascade,omitempty" tf:"drop_cascade,omitempty"`

	// The name of the foreign-data wrapper that manages the server.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the foreign server is created.
	// The name of the foreign-data wrapper that manages the server
	// +kubebuilder:validation:Optional
	FdwName *string `json:"fdwName,omitempty" tf:"fdw_name,omitempty"`

	// This clause specifies the options for the server. The options typically define the connection details of the server, but the actual names and values are dependent on the server's foreign-data wrapper.
	// This clause specifies the options for the server. The options typically define the connection details of the server, but the actual names and values are dependent on the server's foreign-data wrapper
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Options map[string]*string `json:"options,omitempty" tf:"options,omitempty"`

	// The name of the foreign server to be created.
	// The name of the foreign server to be created
	// +kubebuilder:validation:Optional
	ServerName *string `json:"serverName,omitempty" tf:"server_name,omitempty"`

	// By default, the user who defines the server becomes its owner. Set this value to configure the new owner of the foreign server.
	// The user name of the new owner of the foreign server
	// +kubebuilder:validation:Optional
	ServerOwner *string `json:"serverOwner,omitempty" tf:"server_owner,omitempty"`

	// Optional server type, potentially useful to foreign-data wrappers.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the foreign server is created.
	// Optional server type, potentially useful to foreign-data wrappers
	// +kubebuilder:validation:Optional
	ServerType *string `json:"serverType,omitempty" tf:"server_type,omitempty"`

	// Optional server version, potentially useful to foreign-data wrappers.
	// Optional server version, potentially useful to foreign-data wrappers.
	// +kubebuilder:validation:Optional
	ServerVersion *string `json:"serverVersion,omitempty" tf:"server_version,omitempty"`
}

func (*ServerParameters) DeepCopy

func (in *ServerParameters) DeepCopy() *ServerParameters

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

func (*ServerParameters) DeepCopyInto

func (in *ServerParameters) DeepCopyInto(out *ServerParameters)

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

type ServerSpec

type ServerSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ServerParameters `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 ServerInitParameters `json:"initProvider,omitempty"`
}

ServerSpec defines the desired state of Server

func (*ServerSpec) DeepCopy

func (in *ServerSpec) DeepCopy() *ServerSpec

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

func (*ServerSpec) DeepCopyInto

func (in *ServerSpec) DeepCopyInto(out *ServerSpec)

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

type ServerStatus

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

ServerStatus defines the observed state of Server.

func (*ServerStatus) DeepCopy

func (in *ServerStatus) DeepCopy() *ServerStatus

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

func (*ServerStatus) DeepCopyInto

func (in *ServerStatus) DeepCopyInto(out *ServerStatus)

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

type Subscription

type Subscription 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.conninfoSecretRef)",message="spec.forProvider.conninfoSecretRef is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.publications) || (has(self.initProvider) && has(self.initProvider.publications))",message="spec.forProvider.publications is a required parameter"
	Spec   SubscriptionSpec   `json:"spec"`
	Status SubscriptionStatus `json:"status,omitempty"`
}

Subscription is the Schema for the Subscriptions API. <no value> +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 (*Subscription) DeepCopy

func (in *Subscription) DeepCopy() *Subscription

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

func (*Subscription) DeepCopyInto

func (in *Subscription) DeepCopyInto(out *Subscription)

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

func (*Subscription) DeepCopyObject

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

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

func (*Subscription) GetCondition

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

GetCondition of this Subscription.

func (*Subscription) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Subscription

func (*Subscription) GetDeletionPolicy

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

GetDeletionPolicy of this Subscription.

func (*Subscription) GetID

func (tr *Subscription) GetID() string

GetID returns ID of underlying Terraform resource of this Subscription

func (*Subscription) GetInitParameters

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

GetInitParameters of this Subscription

func (*Subscription) GetManagementPolicies

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

GetManagementPolicies of this Subscription.

func (*Subscription) GetMergedParameters

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

GetInitParameters of this Subscription

func (*Subscription) GetObservation

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

GetObservation of this Subscription

func (*Subscription) GetParameters

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

GetParameters of this Subscription

func (*Subscription) GetProviderConfigReference

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

GetProviderConfigReference of this Subscription.

func (*Subscription) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Subscription.

func (*Subscription) GetTerraformResourceType

func (mg *Subscription) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Subscription

func (*Subscription) GetTerraformSchemaVersion

func (tr *Subscription) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Subscription) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Subscription.

func (*Subscription) Hub

func (tr *Subscription) Hub()

Hub marks this type as a conversion hub.

func (*Subscription) LateInitialize

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

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

func (*Subscription) SetConditions

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

SetConditions of this Subscription.

func (*Subscription) SetDeletionPolicy

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

SetDeletionPolicy of this Subscription.

func (*Subscription) SetManagementPolicies

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

SetManagementPolicies of this Subscription.

func (*Subscription) SetObservation

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

SetObservation for this Subscription

func (*Subscription) SetParameters

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

SetParameters for this Subscription

func (*Subscription) SetProviderConfigReference

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

SetProviderConfigReference of this Subscription.

func (*Subscription) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Subscription.

func (*Subscription) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Subscription.

type SubscriptionInitParameters

type SubscriptionInitParameters struct {

	// Specifies whether the command should create the replication slot on the publisher
	CreateSlot *bool `json:"createSlot,omitempty" tf:"create_slot,omitempty"`

	// Sets the database to add the subscription for
	Database *string `json:"database,omitempty" tf:"database,omitempty"`

	// The name of the subscription
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Names of the publications on the publisher to subscribe to
	// +listType=set
	Publications []*string `json:"publications,omitempty" tf:"publications,omitempty"`

	// Name of the replication slot to use. The default behavior is to use the name of the subscription for the slot name
	SlotName *string `json:"slotName,omitempty" tf:"slot_name,omitempty"`
}

func (*SubscriptionInitParameters) DeepCopy

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

func (*SubscriptionInitParameters) DeepCopyInto

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

type SubscriptionList

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

SubscriptionList contains a list of Subscriptions

func (*SubscriptionList) DeepCopy

func (in *SubscriptionList) DeepCopy() *SubscriptionList

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

func (*SubscriptionList) DeepCopyInto

func (in *SubscriptionList) DeepCopyInto(out *SubscriptionList)

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

func (*SubscriptionList) DeepCopyObject

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

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

func (*SubscriptionList) GetItems

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

GetItems of this SubscriptionList.

type SubscriptionObservation

type SubscriptionObservation struct {

	// Specifies whether the command should create the replication slot on the publisher
	CreateSlot *bool `json:"createSlot,omitempty" tf:"create_slot,omitempty"`

	// Sets the database to add the subscription for
	Database *string `json:"database,omitempty" tf:"database,omitempty"`

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

	// The name of the subscription
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Names of the publications on the publisher to subscribe to
	// +listType=set
	Publications []*string `json:"publications,omitempty" tf:"publications,omitempty"`

	// Name of the replication slot to use. The default behavior is to use the name of the subscription for the slot name
	SlotName *string `json:"slotName,omitempty" tf:"slot_name,omitempty"`
}

func (*SubscriptionObservation) DeepCopy

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

func (*SubscriptionObservation) DeepCopyInto

func (in *SubscriptionObservation) DeepCopyInto(out *SubscriptionObservation)

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

type SubscriptionParameters

type SubscriptionParameters struct {

	// The connection string to the publisher. It should follow the keyword/value format (https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING)
	// +kubebuilder:validation:Optional
	ConninfoSecretRef v1.SecretKeySelector `json:"conninfoSecretRef" tf:"-"`

	// Specifies whether the command should create the replication slot on the publisher
	// +kubebuilder:validation:Optional
	CreateSlot *bool `json:"createSlot,omitempty" tf:"create_slot,omitempty"`

	// Sets the database to add the subscription for
	// +kubebuilder:validation:Optional
	Database *string `json:"database,omitempty" tf:"database,omitempty"`

	// The name of the subscription
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Names of the publications on the publisher to subscribe to
	// +kubebuilder:validation:Optional
	// +listType=set
	Publications []*string `json:"publications,omitempty" tf:"publications,omitempty"`

	// Name of the replication slot to use. The default behavior is to use the name of the subscription for the slot name
	// +kubebuilder:validation:Optional
	SlotName *string `json:"slotName,omitempty" tf:"slot_name,omitempty"`
}

func (*SubscriptionParameters) DeepCopy

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

func (*SubscriptionParameters) DeepCopyInto

func (in *SubscriptionParameters) DeepCopyInto(out *SubscriptionParameters)

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

type SubscriptionSpec

type SubscriptionSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     SubscriptionParameters `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 SubscriptionInitParameters `json:"initProvider,omitempty"`
}

SubscriptionSpec defines the desired state of Subscription

func (*SubscriptionSpec) DeepCopy

func (in *SubscriptionSpec) DeepCopy() *SubscriptionSpec

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

func (*SubscriptionSpec) DeepCopyInto

func (in *SubscriptionSpec) DeepCopyInto(out *SubscriptionSpec)

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

type SubscriptionStatus

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

SubscriptionStatus defines the observed state of Subscription.

func (*SubscriptionStatus) DeepCopy

func (in *SubscriptionStatus) DeepCopy() *SubscriptionStatus

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

func (*SubscriptionStatus) DeepCopyInto

func (in *SubscriptionStatus) DeepCopyInto(out *SubscriptionStatus)

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