v1alpha1

package
v0.0.0-...-25edce0 Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=postgres.aiven.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "postgres.aiven.crossplane.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 (
	// 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 (
	Service_Kind             = "Service"
	Service_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Service_Kind}.String()
	Service_KindAPIVersion   = Service_Kind + "." + CRDGroupVersion.String()
	Service_GroupVersionKind = CRDGroupVersion.WithKind(Service_Kind)
)

Repository type metadata.

View Source
var (
	User_Kind             = "User"
	User_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: User_Kind}.String()
	User_KindAPIVersion   = User_Kind + "." + CRDGroupVersion.String()
	User_GroupVersionKind = CRDGroupVersion.WithKind(User_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type ComponentsObservation

type ComponentsObservation struct {
	Component *string `json:"component,omitempty" tf:"component,omitempty"`

	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	KafkaAuthenticationMethod *string `json:"kafkaAuthenticationMethod,omitempty" tf:"kafka_authentication_method,omitempty"`

	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	Route *string `json:"route,omitempty" tf:"route,omitempty"`

	SSL *bool `json:"ssl,omitempty" tf:"ssl,omitempty"`

	Usage *string `json:"usage,omitempty" tf:"usage,omitempty"`
}

func (*ComponentsObservation) DeepCopy

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

func (*ComponentsObservation) DeepCopyInto

func (in *ComponentsObservation) DeepCopyInto(out *ComponentsObservation)

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

type ComponentsParameters

type ComponentsParameters struct {
}

func (*ComponentsParameters) DeepCopy

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

func (*ComponentsParameters) DeepCopyInto

func (in *ComponentsParameters) DeepCopyInto(out *ComponentsParameters)

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"`
	Spec              DatabaseSpec   `json:"spec"`
	Status            DatabaseStatus `json:"status,omitempty"`
}

Database is the Schema for the Databases API. <no value> +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aiven}

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

func (mg *Database) GetManagementPolicy() xpv1.ManagementPolicy

GetManagementPolicy 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) GetProviderReference

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

GetProviderReference of this Database. Deprecated: Use GetProviderConfigReference.

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

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

ResolveReferences of this Database.

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

func (mg *Database) SetManagementPolicy(r xpv1.ManagementPolicy)

SetManagementPolicy 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) SetProviderReference

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

SetProviderReference of this Database. Deprecated: Use SetProviderConfigReference.

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 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 {
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Default string sort order (`LC_COLLATE`) of the database. The default value is `en_US.UTF-8`. This property cannot be changed, doing so forces recreation of the resource.
	LcCollate *string `json:"lcCollate,omitempty" tf:"lc_collate,omitempty"`

	// Default character classification (`LC_CTYPE`) of the database. The default value is `en_US.UTF-8`. This property cannot be changed, doing so forces recreation of the resource.
	LcCtype *string `json:"lcCtype,omitempty" tf:"lc_ctype,omitempty"`

	// Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`

	// It is recommended to enable this for any production databases containing critical data. The default value is `false`.
	TerminationProtection *bool `json:"terminationProtection,omitempty" tf:"termination_protection,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 {

	// Default string sort order (`LC_COLLATE`) of the database. The default value is `en_US.UTF-8`. This property cannot be changed, doing so forces recreation of the resource.
	// +kubebuilder:validation:Optional
	LcCollate *string `json:"lcCollate,omitempty" tf:"lc_collate,omitempty"`

	// Default character classification (`LC_CTYPE`) of the database. The default value is `en_US.UTF-8`. This property cannot be changed, doing so forces recreation of the resource.
	// +kubebuilder:validation:Optional
	LcCtype *string `json:"lcCtype,omitempty" tf:"lc_ctype,omitempty"`

	// Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
	// +kubebuilder:validation:Required
	Project *string `json:"project" tf:"project,omitempty"`

	// Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
	// +crossplane:generate:reference:type=Service
	// +kubebuilder:validation:Optional
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`

	// Reference to a Service to populate serviceName.
	// +kubebuilder:validation:Optional
	ServiceNameRef *v1.Reference `json:"serviceNameRef,omitempty" tf:"-"`

	// Selector for a Service to populate serviceName.
	// +kubebuilder:validation:Optional
	ServiceNameSelector *v1.Selector `json:"serviceNameSelector,omitempty" tf:"-"`

	// It is recommended to enable this for any production databases containing critical data. The default value is `false`.
	// +kubebuilder:validation:Optional
	TerminationProtection *bool `json:"terminationProtection,omitempty" tf:"termination_protection,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"`
}

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 IPFilterObjectObservation

type IPFilterObjectObservation struct {

	// Description for IP filter list entry.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// CIDR address block.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`
}

func (*IPFilterObjectObservation) DeepCopy

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

func (*IPFilterObjectObservation) DeepCopyInto

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

type IPFilterObjectParameters

type IPFilterObjectParameters struct {

	// Description for IP filter list entry.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// CIDR address block.
	// +kubebuilder:validation:Required
	Network *string `json:"network" tf:"network,omitempty"`
}

func (*IPFilterObjectParameters) DeepCopy

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

func (*IPFilterObjectParameters) DeepCopyInto

func (in *IPFilterObjectParameters) DeepCopyInto(out *IPFilterObjectParameters)

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

type MigrationObservation

type MigrationObservation struct {

	// Database name for bootstrapping the initial connection.
	Dbname *string `json:"dbname,omitempty" tf:"dbname,omitempty"`

	// Hostname or IP address of the server where to migrate data from.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment).
	IgnoreDbs *string `json:"ignoreDbs,omitempty" tf:"ignore_dbs,omitempty"`

	// The migration method to be used (currently supported only by Redis, MySQL and PostgreSQL service types).
	Method *string `json:"method,omitempty" tf:"method,omitempty"`

	// Port number of the server where to migrate data from.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// The server where to migrate data from is secured with SSL. The default value is `true`.
	SSL *bool `json:"ssl,omitempty" tf:"ssl,omitempty"`

	// User name for authentication with the server where to migrate data from.
	Username *string `json:"username,omitempty" tf:"username,omitempty"`
}

func (*MigrationObservation) DeepCopy

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

func (*MigrationObservation) DeepCopyInto

func (in *MigrationObservation) DeepCopyInto(out *MigrationObservation)

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

type MigrationParameters

type MigrationParameters struct {

	// Database name for bootstrapping the initial connection.
	// +kubebuilder:validation:Optional
	Dbname *string `json:"dbname,omitempty" tf:"dbname,omitempty"`

	// Hostname or IP address of the server where to migrate data from.
	// +kubebuilder:validation:Required
	Host *string `json:"host" tf:"host,omitempty"`

	// Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment).
	// +kubebuilder:validation:Optional
	IgnoreDbs *string `json:"ignoreDbs,omitempty" tf:"ignore_dbs,omitempty"`

	// The migration method to be used (currently supported only by Redis, MySQL and PostgreSQL service types).
	// +kubebuilder:validation:Optional
	Method *string `json:"method,omitempty" tf:"method,omitempty"`

	// Password for authentication with the server where to migrate data from.
	// +kubebuilder:validation:Optional
	PasswordSecretRef *v1.SecretKeySelector `json:"passwordSecretRef,omitempty" tf:"-"`

	// Port number of the server where to migrate data from.
	// +kubebuilder:validation:Required
	Port *float64 `json:"port" tf:"port,omitempty"`

	// The server where to migrate data from is secured with SSL. The default value is `true`.
	// +kubebuilder:validation:Optional
	SSL *bool `json:"ssl,omitempty" tf:"ssl,omitempty"`

	// User name for authentication with the server where to migrate data from.
	// +kubebuilder:validation:Optional
	Username *string `json:"username,omitempty" tf:"username,omitempty"`
}

func (*MigrationParameters) DeepCopy

func (in *MigrationParameters) DeepCopy() *MigrationParameters

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

func (*MigrationParameters) DeepCopyInto

func (in *MigrationParameters) DeepCopyInto(out *MigrationParameters)

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

type PgObservation

type PgObservation struct {

	// Primary PostgreSQL database name
	Dbname *string `json:"dbname,omitempty" tf:"dbname,omitempty"`

	// PostgreSQL master node host IP or name
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// Connection limit
	MaxConnections *float64 `json:"maxConnections,omitempty" tf:"max_connections,omitempty"`

	// PostgreSQL port
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// PostgreSQL sslmode setting (currently always "require")
	Sslmode *string `json:"sslmode,omitempty" tf:"sslmode,omitempty"`

	// PostgreSQL admin user name
	User *string `json:"user,omitempty" tf:"user,omitempty"`
}

func (*PgObservation) DeepCopy

func (in *PgObservation) DeepCopy() *PgObservation

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

func (*PgObservation) DeepCopyInto

func (in *PgObservation) DeepCopyInto(out *PgObservation)

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

type PgParameters

type PgParameters struct {

	// PostgreSQL master connection URI
	// +kubebuilder:validation:Optional
	URISecretRef *v1.SecretKeySelector `json:"uriSecretRef,omitempty" tf:"-"`
}

func (*PgParameters) DeepCopy

func (in *PgParameters) DeepCopy() *PgParameters

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

func (*PgParameters) DeepCopyInto

func (in *PgParameters) DeepCopyInto(out *PgParameters)

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

type PgUserConfigObservation

type PgUserConfigObservation struct {

	// Additional Cloud Regions for Backup Replication.
	AdditionalBackupRegions []*string `json:"additionalBackupRegions,omitempty" tf:"additional_backup_regions,omitempty"`

	// Custom username for admin user. This must be set only when a new service is being created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupHour *float64 `json:"backupHour,omitempty" tf:"backup_hour,omitempty"`

	// The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupMinute *float64 `json:"backupMinute,omitempty" tf:"backup_minute,omitempty"`

	// Register AAAA DNS records for the service, and allow IPv6 packets to service ports.
	EnableIPv6 *bool `json:"enableIpv6,omitempty" tf:"enable_ipv6,omitempty"`

	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'.
	IPFilter []*string `json:"ipFilter,omitempty" tf:"ip_filter,omitempty"`

	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'.
	IPFilterObject []IPFilterObjectObservation `json:"ipFilterObject,omitempty" tf:"ip_filter_object,omitempty"`

	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'.
	IPFilterString []*string `json:"ipFilterString,omitempty" tf:"ip_filter_string,omitempty"`

	// Migrate data from existing server.
	Migration []MigrationObservation `json:"migration,omitempty" tf:"migration,omitempty"`

	// postgresql.conf configuration values.
	Pg []PgUserConfigPgObservation `json:"pg,omitempty" tf:"pg,omitempty"`

	// Use read_replica service integration instead.
	PgReadReplica *bool `json:"pgReadReplica,omitempty" tf:"pg_read_replica,omitempty"`

	// Name of the PG Service from which to fork (deprecated, use service_to_fork_from). This has effect only when a new service is being created.
	PgServiceToForkFrom *string `json:"pgServiceToForkFrom,omitempty" tf:"pg_service_to_fork_from,omitempty"`

	// Enable the pg_stat_monitor extension. Enabling this extension will cause the cluster to be restarted.When this extension is enabled, pg_stat_statements results for utility commands are unreliable. The default value is `false`.
	PgStatMonitorEnable *bool `json:"pgStatMonitorEnable,omitempty" tf:"pg_stat_monitor_enable,omitempty"`

	// PostgreSQL major version.
	PgVersion *string `json:"pgVersion,omitempty" tf:"pg_version,omitempty"`

	// PGBouncer connection pooling settings.
	Pgbouncer []PgbouncerObservation `json:"pgbouncer,omitempty" tf:"pgbouncer,omitempty"`

	// PGLookout settings.
	Pglookout []PglookoutObservation `json:"pglookout,omitempty" tf:"pglookout,omitempty"`

	// Allow access to selected service ports from private networks.
	PrivateAccess []PrivateAccessObservation `json:"privateAccess,omitempty" tf:"private_access,omitempty"`

	// Allow access to selected service components through Privatelink.
	PrivatelinkAccess []PrivatelinkAccessObservation `json:"privatelinkAccess,omitempty" tf:"privatelink_access,omitempty"`

	// Name of another project to fork a service from. This has effect only when a new service is being created.
	ProjectToForkFrom *string `json:"projectToForkFrom,omitempty" tf:"project_to_fork_from,omitempty"`

	// Allow access to selected service ports from the public Internet.
	PublicAccess []PublicAccessObservation `json:"publicAccess,omitempty" tf:"public_access,omitempty"`

	// Recovery target time when forking a service. This has effect only when a new service is being created.
	RecoveryTargetTime *string `json:"recoveryTargetTime,omitempty" tf:"recovery_target_time,omitempty"`

	// Name of another service to fork from. This has effect only when a new service is being created.
	ServiceToForkFrom *string `json:"serviceToForkFrom,omitempty" tf:"service_to_fork_from,omitempty"`

	// Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value.
	SharedBuffersPercentage *float64 `json:"sharedBuffersPercentage,omitempty" tf:"shared_buffers_percentage,omitempty"`

	// Use static public IP addresses.
	StaticIps *bool `json:"staticIps,omitempty" tf:"static_ips,omitempty"`

	// Synchronous replication type. Note that the service plan also needs to support synchronous replication.
	SynchronousReplication *string `json:"synchronousReplication,omitempty" tf:"synchronous_replication,omitempty"`

	// TimescaleDB extension configuration values.
	Timescaledb []TimescaledbObservation `json:"timescaledb,omitempty" tf:"timescaledb,omitempty"`

	// Variant of the PostgreSQL service, may affect the features that are exposed by default.
	Variant *string `json:"variant,omitempty" tf:"variant,omitempty"`

	// Sets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. Default is 1MB + 0.075% of total RAM (up to 32MB).
	WorkMem *float64 `json:"workMem,omitempty" tf:"work_mem,omitempty"`
}

func (*PgUserConfigObservation) DeepCopy

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

func (*PgUserConfigObservation) DeepCopyInto

func (in *PgUserConfigObservation) DeepCopyInto(out *PgUserConfigObservation)

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

type PgUserConfigParameters

type PgUserConfigParameters struct {

	// Additional Cloud Regions for Backup Replication.
	// +kubebuilder:validation:Optional
	AdditionalBackupRegions []*string `json:"additionalBackupRegions,omitempty" tf:"additional_backup_regions,omitempty"`

	// Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.
	// +kubebuilder:validation:Optional
	AdminPasswordSecretRef *v1.SecretKeySelector `json:"adminPasswordSecretRef,omitempty" tf:"-"`

	// Custom username for admin user. This must be set only when a new service is being created.
	// +kubebuilder:validation:Optional
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed.
	// +kubebuilder:validation:Optional
	BackupHour *float64 `json:"backupHour,omitempty" tf:"backup_hour,omitempty"`

	// The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed.
	// +kubebuilder:validation:Optional
	BackupMinute *float64 `json:"backupMinute,omitempty" tf:"backup_minute,omitempty"`

	// Register AAAA DNS records for the service, and allow IPv6 packets to service ports.
	// +kubebuilder:validation:Optional
	EnableIPv6 *bool `json:"enableIpv6,omitempty" tf:"enable_ipv6,omitempty"`

	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'.
	// +kubebuilder:validation:Optional
	IPFilter []*string `json:"ipFilter,omitempty" tf:"ip_filter,omitempty"`

	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'.
	// +kubebuilder:validation:Optional
	IPFilterObject []IPFilterObjectParameters `json:"ipFilterObject,omitempty" tf:"ip_filter_object,omitempty"`

	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'.
	// +kubebuilder:validation:Optional
	IPFilterString []*string `json:"ipFilterString,omitempty" tf:"ip_filter_string,omitempty"`

	// Migrate data from existing server.
	// +kubebuilder:validation:Optional
	Migration []MigrationParameters `json:"migration,omitempty" tf:"migration,omitempty"`

	// postgresql.conf configuration values.
	// +kubebuilder:validation:Optional
	Pg []PgUserConfigPgParameters `json:"pg,omitempty" tf:"pg,omitempty"`

	// Use read_replica service integration instead.
	// +kubebuilder:validation:Optional
	PgReadReplica *bool `json:"pgReadReplica,omitempty" tf:"pg_read_replica,omitempty"`

	// Name of the PG Service from which to fork (deprecated, use service_to_fork_from). This has effect only when a new service is being created.
	// +kubebuilder:validation:Optional
	PgServiceToForkFrom *string `json:"pgServiceToForkFrom,omitempty" tf:"pg_service_to_fork_from,omitempty"`

	// Enable the pg_stat_monitor extension. Enabling this extension will cause the cluster to be restarted.When this extension is enabled, pg_stat_statements results for utility commands are unreliable. The default value is `false`.
	// +kubebuilder:validation:Optional
	PgStatMonitorEnable *bool `json:"pgStatMonitorEnable,omitempty" tf:"pg_stat_monitor_enable,omitempty"`

	// PostgreSQL major version.
	// +kubebuilder:validation:Optional
	PgVersion *string `json:"pgVersion,omitempty" tf:"pg_version,omitempty"`

	// PGBouncer connection pooling settings.
	// +kubebuilder:validation:Optional
	Pgbouncer []PgbouncerParameters `json:"pgbouncer,omitempty" tf:"pgbouncer,omitempty"`

	// PGLookout settings.
	// +kubebuilder:validation:Optional
	Pglookout []PglookoutParameters `json:"pglookout,omitempty" tf:"pglookout,omitempty"`

	// Allow access to selected service ports from private networks.
	// +kubebuilder:validation:Optional
	PrivateAccess []PrivateAccessParameters `json:"privateAccess,omitempty" tf:"private_access,omitempty"`

	// Allow access to selected service components through Privatelink.
	// +kubebuilder:validation:Optional
	PrivatelinkAccess []PrivatelinkAccessParameters `json:"privatelinkAccess,omitempty" tf:"privatelink_access,omitempty"`

	// Name of another project to fork a service from. This has effect only when a new service is being created.
	// +kubebuilder:validation:Optional
	ProjectToForkFrom *string `json:"projectToForkFrom,omitempty" tf:"project_to_fork_from,omitempty"`

	// Allow access to selected service ports from the public Internet.
	// +kubebuilder:validation:Optional
	PublicAccess []PublicAccessParameters `json:"publicAccess,omitempty" tf:"public_access,omitempty"`

	// Recovery target time when forking a service. This has effect only when a new service is being created.
	// +kubebuilder:validation:Optional
	RecoveryTargetTime *string `json:"recoveryTargetTime,omitempty" tf:"recovery_target_time,omitempty"`

	// Name of another service to fork from. This has effect only when a new service is being created.
	// +kubebuilder:validation:Optional
	ServiceToForkFrom *string `json:"serviceToForkFrom,omitempty" tf:"service_to_fork_from,omitempty"`

	// Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value.
	// +kubebuilder:validation:Optional
	SharedBuffersPercentage *float64 `json:"sharedBuffersPercentage,omitempty" tf:"shared_buffers_percentage,omitempty"`

	// Use static public IP addresses.
	// +kubebuilder:validation:Optional
	StaticIps *bool `json:"staticIps,omitempty" tf:"static_ips,omitempty"`

	// Synchronous replication type. Note that the service plan also needs to support synchronous replication.
	// +kubebuilder:validation:Optional
	SynchronousReplication *string `json:"synchronousReplication,omitempty" tf:"synchronous_replication,omitempty"`

	// TimescaleDB extension configuration values.
	// +kubebuilder:validation:Optional
	Timescaledb []TimescaledbParameters `json:"timescaledb,omitempty" tf:"timescaledb,omitempty"`

	// Variant of the PostgreSQL service, may affect the features that are exposed by default.
	// +kubebuilder:validation:Optional
	Variant *string `json:"variant,omitempty" tf:"variant,omitempty"`

	// Sets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. Default is 1MB + 0.075% of total RAM (up to 32MB).
	// +kubebuilder:validation:Optional
	WorkMem *float64 `json:"workMem,omitempty" tf:"work_mem,omitempty"`
}

func (*PgUserConfigParameters) DeepCopy

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

func (*PgUserConfigParameters) DeepCopyInto

func (in *PgUserConfigParameters) DeepCopyInto(out *PgUserConfigParameters)

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

type PgUserConfigPgObservation

type PgUserConfigPgObservation struct {

	// Specifies a fraction of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size).
	AutovacuumAnalyzeScaleFactor *float64 `json:"autovacuumAnalyzeScaleFactor,omitempty" tf:"autovacuum_analyze_scale_factor,omitempty"`

	// Specifies the minimum number of inserted, updated or deleted tuples needed to trigger an  ANALYZE in any one table. The default is 50 tuples.
	AutovacuumAnalyzeThreshold *float64 `json:"autovacuumAnalyzeThreshold,omitempty" tf:"autovacuum_analyze_threshold,omitempty"`

	// Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. This parameter will cause the server to be restarted.
	AutovacuumFreezeMaxAge *float64 `json:"autovacuumFreezeMaxAge,omitempty" tf:"autovacuum_freeze_max_age,omitempty"`

	// Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start.
	AutovacuumMaxWorkers *float64 `json:"autovacuumMaxWorkers,omitempty" tf:"autovacuum_max_workers,omitempty"`

	// Specifies the minimum delay between autovacuum runs on any given database. The delay is measured in seconds, and the default is one minute.
	AutovacuumNaptime *float64 `json:"autovacuumNaptime,omitempty" tf:"autovacuum_naptime,omitempty"`

	// Specifies the cost delay value that will be used in automatic VACUUM operations. If -1 is specified, the regular vacuum_cost_delay value will be used. The default value is 20 milliseconds.
	AutovacuumVacuumCostDelay *float64 `json:"autovacuumVacuumCostDelay,omitempty" tf:"autovacuum_vacuum_cost_delay,omitempty"`

	// Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used.
	AutovacuumVacuumCostLimit *float64 `json:"autovacuumVacuumCostLimit,omitempty" tf:"autovacuum_vacuum_cost_limit,omitempty"`

	// Specifies a fraction of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size).
	AutovacuumVacuumScaleFactor *float64 `json:"autovacuumVacuumScaleFactor,omitempty" tf:"autovacuum_vacuum_scale_factor,omitempty"`

	// Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples.
	AutovacuumVacuumThreshold *float64 `json:"autovacuumVacuumThreshold,omitempty" tf:"autovacuum_vacuum_threshold,omitempty"`

	// Specifies the delay between activity rounds for the background writer in milliseconds. Default is 200.
	BgwriterDelay *float64 `json:"bgwriterDelay,omitempty" tf:"bgwriter_delay,omitempty"`

	// Whenever more than bgwriter_flush_after bytes have been written by the background writer, attempt to force the OS to issue these writes to the underlying storage. Specified in kilobytes, default is 512. Setting of 0 disables forced writeback.
	BgwriterFlushAfter *float64 `json:"bgwriterFlushAfter,omitempty" tf:"bgwriter_flush_after,omitempty"`

	// In each round, no more than this many buffers will be written by the background writer. Setting this to zero disables background writing. Default is 100.
	BgwriterLruMaxpages *float64 `json:"bgwriterLruMaxpages,omitempty" tf:"bgwriter_lru_maxpages,omitempty"`

	// The average recent need for new buffers is multiplied by bgwriter_lru_multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is 2.0.
	BgwriterLruMultiplier *float64 `json:"bgwriterLruMultiplier,omitempty" tf:"bgwriter_lru_multiplier,omitempty"`

	// This is the amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition.
	DeadlockTimeout *float64 `json:"deadlockTimeout,omitempty" tf:"deadlock_timeout,omitempty"`

	// Specifies the default TOAST compression method for values of compressible columns (the default is lz4).
	DefaultToastCompression *string `json:"defaultToastCompression,omitempty" tf:"default_toast_compression,omitempty"`

	// Time out sessions with open transactions after this number of milliseconds.
	IdleInTransactionSessionTimeout *float64 `json:"idleInTransactionSessionTimeout,omitempty" tf:"idle_in_transaction_session_timeout,omitempty"`

	// Controls system-wide use of Just-in-Time Compilation (JIT).
	Jit *bool `json:"jit,omitempty" tf:"jit,omitempty"`

	// Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one (the default) disables logging autovacuum actions.
	LogAutovacuumMinDuration *float64 `json:"logAutovacuumMinDuration,omitempty" tf:"log_autovacuum_min_duration,omitempty"`

	// Controls the amount of detail written in the server log for each message that is logged.
	LogErrorVerbosity *string `json:"logErrorVerbosity,omitempty" tf:"log_error_verbosity,omitempty"`

	// Choose from one of the available log-formats. These can support popular log analyzers like pgbadger, pganalyze etc.
	LogLinePrefix *string `json:"logLinePrefix,omitempty" tf:"log_line_prefix,omitempty"`

	// Log statements that take more than this number of milliseconds to run, -1 disables.
	LogMinDurationStatement *float64 `json:"logMinDurationStatement,omitempty" tf:"log_min_duration_statement,omitempty"`

	// Log statements for each temporary file created larger than this number of kilobytes, -1 disables.
	LogTempFiles *float64 `json:"logTempFiles,omitempty" tf:"log_temp_files,omitempty"`

	// PostgreSQL maximum number of files that can be open per process.
	MaxFilesPerProcess *float64 `json:"maxFilesPerProcess,omitempty" tf:"max_files_per_process,omitempty"`

	// PostgreSQL maximum locks per transaction.
	MaxLocksPerTransaction *float64 `json:"maxLocksPerTransaction,omitempty" tf:"max_locks_per_transaction,omitempty"`

	// PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers).
	MaxLogicalReplicationWorkers *float64 `json:"maxLogicalReplicationWorkers,omitempty" tf:"max_logical_replication_workers,omitempty"`

	// Sets the maximum number of workers that the system can support for parallel queries.
	MaxParallelWorkers *float64 `json:"maxParallelWorkers,omitempty" tf:"max_parallel_workers,omitempty"`

	// Sets the maximum number of workers that can be started by a single Gather or Gather Merge node.
	MaxParallelWorkersPerGather *float64 `json:"maxParallelWorkersPerGather,omitempty" tf:"max_parallel_workers_per_gather,omitempty"`

	// PostgreSQL maximum predicate locks per transaction.
	MaxPredLocksPerTransaction *float64 `json:"maxPredLocksPerTransaction,omitempty" tf:"max_pred_locks_per_transaction,omitempty"`

	// PostgreSQL maximum prepared transactions.
	MaxPreparedTransactions *float64 `json:"maxPreparedTransactions,omitempty" tf:"max_prepared_transactions,omitempty"`

	// PostgreSQL maximum replication slots.
	MaxReplicationSlots *float64 `json:"maxReplicationSlots,omitempty" tf:"max_replication_slots,omitempty"`

	// PostgreSQL maximum WAL size (MB) reserved for replication slots. Default is -1 (unlimited). wal_keep_size minimum WAL size setting takes precedence over this.
	MaxSlotWalKeepSize *float64 `json:"maxSlotWalKeepSize,omitempty" tf:"max_slot_wal_keep_size,omitempty"`

	// Maximum depth of the stack in bytes.
	MaxStackDepth *float64 `json:"maxStackDepth,omitempty" tf:"max_stack_depth,omitempty"`

	// Max standby archive delay in milliseconds.
	MaxStandbyArchiveDelay *float64 `json:"maxStandbyArchiveDelay,omitempty" tf:"max_standby_archive_delay,omitempty"`

	// Max standby streaming delay in milliseconds.
	MaxStandbyStreamingDelay *float64 `json:"maxStandbyStreamingDelay,omitempty" tf:"max_standby_streaming_delay,omitempty"`

	// PostgreSQL maximum WAL senders.
	MaxWalSenders *float64 `json:"maxWalSenders,omitempty" tf:"max_wal_senders,omitempty"`

	// Sets the maximum number of background processes that the system can support.
	MaxWorkerProcesses *float64 `json:"maxWorkerProcesses,omitempty" tf:"max_worker_processes,omitempty"`

	// Sets the time interval to run pg_partman's scheduled tasks.
	PgPartmanBgwDotInterval *float64 `json:"pgPartmanBgwDotInterval,omitempty" tf:"pg_partman_bgw__dot__interval,omitempty"`

	// Controls which role to use for pg_partman's scheduled background tasks.
	PgPartmanBgwDotRole *string `json:"pgPartmanBgwDotRole,omitempty" tf:"pg_partman_bgw__dot__role,omitempty"`

	// Enables or disables query plan monitoring.
	PgStatMonitorDotPgsmEnableQueryPlan *bool `json:"pgStatMonitorDotPgsmEnableQueryPlan,omitempty" tf:"pg_stat_monitor__dot__pgsm_enable_query_plan,omitempty"`

	// Sets the maximum number of buckets .
	PgStatMonitorDotPgsmMaxBuckets *float64 `json:"pgStatMonitorDotPgsmMaxBuckets,omitempty" tf:"pg_stat_monitor__dot__pgsm_max_buckets,omitempty"`

	// Controls which statements are counted. Specify top to track top-level statements (those issued directly by clients), all to also track nested statements (such as statements invoked within functions), or none to disable statement statistics collection. The default value is top.
	PgStatStatementsDotTrack *string `json:"pgStatStatementsDotTrack,omitempty" tf:"pg_stat_statements__dot__track,omitempty"`

	// PostgreSQL temporary file limit in KiB, -1 for unlimited.
	TempFileLimit *float64 `json:"tempFileLimit,omitempty" tf:"temp_file_limit,omitempty"`

	// PostgreSQL service timezone.
	Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"`

	// Specifies the number of bytes reserved to track the currently executing command for each active session.
	TrackActivityQuerySize *float64 `json:"trackActivityQuerySize,omitempty" tf:"track_activity_query_size,omitempty"`

	// Record commit time of transactions.
	TrackCommitTimestamp *string `json:"trackCommitTimestamp,omitempty" tf:"track_commit_timestamp,omitempty"`

	// Enables tracking of function call counts and time used.
	TrackFunctions *string `json:"trackFunctions,omitempty" tf:"track_functions,omitempty"`

	// Enables timing of database I/O calls. This parameter is off by default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms.
	TrackIoTiming *string `json:"trackIoTiming,omitempty" tf:"track_io_timing,omitempty"`

	// Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout.
	WalSenderTimeout *float64 `json:"walSenderTimeout,omitempty" tf:"wal_sender_timeout,omitempty"`

	// WAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance.
	WalWriterDelay *float64 `json:"walWriterDelay,omitempty" tf:"wal_writer_delay,omitempty"`
}

func (*PgUserConfigPgObservation) DeepCopy

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

func (*PgUserConfigPgObservation) DeepCopyInto

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

type PgUserConfigPgParameters

type PgUserConfigPgParameters struct {

	// Specifies a fraction of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size).
	// +kubebuilder:validation:Optional
	AutovacuumAnalyzeScaleFactor *float64 `json:"autovacuumAnalyzeScaleFactor,omitempty" tf:"autovacuum_analyze_scale_factor,omitempty"`

	// Specifies the minimum number of inserted, updated or deleted tuples needed to trigger an  ANALYZE in any one table. The default is 50 tuples.
	// +kubebuilder:validation:Optional
	AutovacuumAnalyzeThreshold *float64 `json:"autovacuumAnalyzeThreshold,omitempty" tf:"autovacuum_analyze_threshold,omitempty"`

	// Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. This parameter will cause the server to be restarted.
	// +kubebuilder:validation:Optional
	AutovacuumFreezeMaxAge *float64 `json:"autovacuumFreezeMaxAge,omitempty" tf:"autovacuum_freeze_max_age,omitempty"`

	// Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start.
	// +kubebuilder:validation:Optional
	AutovacuumMaxWorkers *float64 `json:"autovacuumMaxWorkers,omitempty" tf:"autovacuum_max_workers,omitempty"`

	// Specifies the minimum delay between autovacuum runs on any given database. The delay is measured in seconds, and the default is one minute.
	// +kubebuilder:validation:Optional
	AutovacuumNaptime *float64 `json:"autovacuumNaptime,omitempty" tf:"autovacuum_naptime,omitempty"`

	// Specifies the cost delay value that will be used in automatic VACUUM operations. If -1 is specified, the regular vacuum_cost_delay value will be used. The default value is 20 milliseconds.
	// +kubebuilder:validation:Optional
	AutovacuumVacuumCostDelay *float64 `json:"autovacuumVacuumCostDelay,omitempty" tf:"autovacuum_vacuum_cost_delay,omitempty"`

	// Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used.
	// +kubebuilder:validation:Optional
	AutovacuumVacuumCostLimit *float64 `json:"autovacuumVacuumCostLimit,omitempty" tf:"autovacuum_vacuum_cost_limit,omitempty"`

	// Specifies a fraction of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size).
	// +kubebuilder:validation:Optional
	AutovacuumVacuumScaleFactor *float64 `json:"autovacuumVacuumScaleFactor,omitempty" tf:"autovacuum_vacuum_scale_factor,omitempty"`

	// Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples.
	// +kubebuilder:validation:Optional
	AutovacuumVacuumThreshold *float64 `json:"autovacuumVacuumThreshold,omitempty" tf:"autovacuum_vacuum_threshold,omitempty"`

	// Specifies the delay between activity rounds for the background writer in milliseconds. Default is 200.
	// +kubebuilder:validation:Optional
	BgwriterDelay *float64 `json:"bgwriterDelay,omitempty" tf:"bgwriter_delay,omitempty"`

	// Whenever more than bgwriter_flush_after bytes have been written by the background writer, attempt to force the OS to issue these writes to the underlying storage. Specified in kilobytes, default is 512. Setting of 0 disables forced writeback.
	// +kubebuilder:validation:Optional
	BgwriterFlushAfter *float64 `json:"bgwriterFlushAfter,omitempty" tf:"bgwriter_flush_after,omitempty"`

	// In each round, no more than this many buffers will be written by the background writer. Setting this to zero disables background writing. Default is 100.
	// +kubebuilder:validation:Optional
	BgwriterLruMaxpages *float64 `json:"bgwriterLruMaxpages,omitempty" tf:"bgwriter_lru_maxpages,omitempty"`

	// The average recent need for new buffers is multiplied by bgwriter_lru_multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is 2.0.
	// +kubebuilder:validation:Optional
	BgwriterLruMultiplier *float64 `json:"bgwriterLruMultiplier,omitempty" tf:"bgwriter_lru_multiplier,omitempty"`

	// This is the amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition.
	// +kubebuilder:validation:Optional
	DeadlockTimeout *float64 `json:"deadlockTimeout,omitempty" tf:"deadlock_timeout,omitempty"`

	// Specifies the default TOAST compression method for values of compressible columns (the default is lz4).
	// +kubebuilder:validation:Optional
	DefaultToastCompression *string `json:"defaultToastCompression,omitempty" tf:"default_toast_compression,omitempty"`

	// Time out sessions with open transactions after this number of milliseconds.
	// +kubebuilder:validation:Optional
	IdleInTransactionSessionTimeout *float64 `json:"idleInTransactionSessionTimeout,omitempty" tf:"idle_in_transaction_session_timeout,omitempty"`

	// Controls system-wide use of Just-in-Time Compilation (JIT).
	// +kubebuilder:validation:Optional
	Jit *bool `json:"jit,omitempty" tf:"jit,omitempty"`

	// Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one (the default) disables logging autovacuum actions.
	// +kubebuilder:validation:Optional
	LogAutovacuumMinDuration *float64 `json:"logAutovacuumMinDuration,omitempty" tf:"log_autovacuum_min_duration,omitempty"`

	// Controls the amount of detail written in the server log for each message that is logged.
	// +kubebuilder:validation:Optional
	LogErrorVerbosity *string `json:"logErrorVerbosity,omitempty" tf:"log_error_verbosity,omitempty"`

	// Choose from one of the available log-formats. These can support popular log analyzers like pgbadger, pganalyze etc.
	// +kubebuilder:validation:Optional
	LogLinePrefix *string `json:"logLinePrefix,omitempty" tf:"log_line_prefix,omitempty"`

	// Log statements that take more than this number of milliseconds to run, -1 disables.
	// +kubebuilder:validation:Optional
	LogMinDurationStatement *float64 `json:"logMinDurationStatement,omitempty" tf:"log_min_duration_statement,omitempty"`

	// Log statements for each temporary file created larger than this number of kilobytes, -1 disables.
	// +kubebuilder:validation:Optional
	LogTempFiles *float64 `json:"logTempFiles,omitempty" tf:"log_temp_files,omitempty"`

	// PostgreSQL maximum number of files that can be open per process.
	// +kubebuilder:validation:Optional
	MaxFilesPerProcess *float64 `json:"maxFilesPerProcess,omitempty" tf:"max_files_per_process,omitempty"`

	// PostgreSQL maximum locks per transaction.
	// +kubebuilder:validation:Optional
	MaxLocksPerTransaction *float64 `json:"maxLocksPerTransaction,omitempty" tf:"max_locks_per_transaction,omitempty"`

	// PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers).
	// +kubebuilder:validation:Optional
	MaxLogicalReplicationWorkers *float64 `json:"maxLogicalReplicationWorkers,omitempty" tf:"max_logical_replication_workers,omitempty"`

	// Sets the maximum number of workers that the system can support for parallel queries.
	// +kubebuilder:validation:Optional
	MaxParallelWorkers *float64 `json:"maxParallelWorkers,omitempty" tf:"max_parallel_workers,omitempty"`

	// Sets the maximum number of workers that can be started by a single Gather or Gather Merge node.
	// +kubebuilder:validation:Optional
	MaxParallelWorkersPerGather *float64 `json:"maxParallelWorkersPerGather,omitempty" tf:"max_parallel_workers_per_gather,omitempty"`

	// PostgreSQL maximum predicate locks per transaction.
	// +kubebuilder:validation:Optional
	MaxPredLocksPerTransaction *float64 `json:"maxPredLocksPerTransaction,omitempty" tf:"max_pred_locks_per_transaction,omitempty"`

	// PostgreSQL maximum prepared transactions.
	// +kubebuilder:validation:Optional
	MaxPreparedTransactions *float64 `json:"maxPreparedTransactions,omitempty" tf:"max_prepared_transactions,omitempty"`

	// PostgreSQL maximum replication slots.
	// +kubebuilder:validation:Optional
	MaxReplicationSlots *float64 `json:"maxReplicationSlots,omitempty" tf:"max_replication_slots,omitempty"`

	// PostgreSQL maximum WAL size (MB) reserved for replication slots. Default is -1 (unlimited). wal_keep_size minimum WAL size setting takes precedence over this.
	// +kubebuilder:validation:Optional
	MaxSlotWalKeepSize *float64 `json:"maxSlotWalKeepSize,omitempty" tf:"max_slot_wal_keep_size,omitempty"`

	// Maximum depth of the stack in bytes.
	// +kubebuilder:validation:Optional
	MaxStackDepth *float64 `json:"maxStackDepth,omitempty" tf:"max_stack_depth,omitempty"`

	// Max standby archive delay in milliseconds.
	// +kubebuilder:validation:Optional
	MaxStandbyArchiveDelay *float64 `json:"maxStandbyArchiveDelay,omitempty" tf:"max_standby_archive_delay,omitempty"`

	// Max standby streaming delay in milliseconds.
	// +kubebuilder:validation:Optional
	MaxStandbyStreamingDelay *float64 `json:"maxStandbyStreamingDelay,omitempty" tf:"max_standby_streaming_delay,omitempty"`

	// PostgreSQL maximum WAL senders.
	// +kubebuilder:validation:Optional
	MaxWalSenders *float64 `json:"maxWalSenders,omitempty" tf:"max_wal_senders,omitempty"`

	// Sets the maximum number of background processes that the system can support.
	// +kubebuilder:validation:Optional
	MaxWorkerProcesses *float64 `json:"maxWorkerProcesses,omitempty" tf:"max_worker_processes,omitempty"`

	// Sets the time interval to run pg_partman's scheduled tasks.
	// +kubebuilder:validation:Optional
	PgPartmanBgwDotInterval *float64 `json:"pgPartmanBgwDotInterval,omitempty" tf:"pg_partman_bgw__dot__interval,omitempty"`

	// Controls which role to use for pg_partman's scheduled background tasks.
	// +kubebuilder:validation:Optional
	PgPartmanBgwDotRole *string `json:"pgPartmanBgwDotRole,omitempty" tf:"pg_partman_bgw__dot__role,omitempty"`

	// Enables or disables query plan monitoring.
	// +kubebuilder:validation:Optional
	PgStatMonitorDotPgsmEnableQueryPlan *bool `json:"pgStatMonitorDotPgsmEnableQueryPlan,omitempty" tf:"pg_stat_monitor__dot__pgsm_enable_query_plan,omitempty"`

	// Sets the maximum number of buckets .
	// +kubebuilder:validation:Optional
	PgStatMonitorDotPgsmMaxBuckets *float64 `json:"pgStatMonitorDotPgsmMaxBuckets,omitempty" tf:"pg_stat_monitor__dot__pgsm_max_buckets,omitempty"`

	// Controls which statements are counted. Specify top to track top-level statements (those issued directly by clients), all to also track nested statements (such as statements invoked within functions), or none to disable statement statistics collection. The default value is top.
	// +kubebuilder:validation:Optional
	PgStatStatementsDotTrack *string `json:"pgStatStatementsDotTrack,omitempty" tf:"pg_stat_statements__dot__track,omitempty"`

	// PostgreSQL temporary file limit in KiB, -1 for unlimited.
	// +kubebuilder:validation:Optional
	TempFileLimit *float64 `json:"tempFileLimit,omitempty" tf:"temp_file_limit,omitempty"`

	// PostgreSQL service timezone.
	// +kubebuilder:validation:Optional
	Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"`

	// Specifies the number of bytes reserved to track the currently executing command for each active session.
	// +kubebuilder:validation:Optional
	TrackActivityQuerySize *float64 `json:"trackActivityQuerySize,omitempty" tf:"track_activity_query_size,omitempty"`

	// Record commit time of transactions.
	// +kubebuilder:validation:Optional
	TrackCommitTimestamp *string `json:"trackCommitTimestamp,omitempty" tf:"track_commit_timestamp,omitempty"`

	// Enables tracking of function call counts and time used.
	// +kubebuilder:validation:Optional
	TrackFunctions *string `json:"trackFunctions,omitempty" tf:"track_functions,omitempty"`

	// Enables timing of database I/O calls. This parameter is off by default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms.
	// +kubebuilder:validation:Optional
	TrackIoTiming *string `json:"trackIoTiming,omitempty" tf:"track_io_timing,omitempty"`

	// Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout.
	// +kubebuilder:validation:Optional
	WalSenderTimeout *float64 `json:"walSenderTimeout,omitempty" tf:"wal_sender_timeout,omitempty"`

	// WAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance.
	// +kubebuilder:validation:Optional
	WalWriterDelay *float64 `json:"walWriterDelay,omitempty" tf:"wal_writer_delay,omitempty"`
}

func (*PgUserConfigPgParameters) DeepCopy

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

func (*PgUserConfigPgParameters) DeepCopyInto

func (in *PgUserConfigPgParameters) DeepCopyInto(out *PgUserConfigPgParameters)

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

type PgbouncerObservation

type PgbouncerObservation struct {

	// If the automatically created database pools have been unused this many seconds, they are freed. If 0 then timeout is disabled. (seconds).
	AutodbIdleTimeout *float64 `json:"autodbIdleTimeout,omitempty" tf:"autodb_idle_timeout,omitempty"`

	// Do not allow more than this many server connections per database (regardless of user). Setting it to 0 means unlimited.
	AutodbMaxDBConnections *float64 `json:"autodbMaxDbConnections,omitempty" tf:"autodb_max_db_connections,omitempty"`

	// PGBouncer pool mode.
	AutodbPoolMode *string `json:"autodbPoolMode,omitempty" tf:"autodb_pool_mode,omitempty"`

	// If non-zero then create automatically a pool of that size per user when a pool doesn't exist.
	AutodbPoolSize *float64 `json:"autodbPoolSize,omitempty" tf:"autodb_pool_size,omitempty"`

	// List of parameters to ignore when given in startup packet.
	IgnoreStartupParameters []*string `json:"ignoreStartupParameters,omitempty" tf:"ignore_startup_parameters,omitempty"`

	// Add more server connections to pool if below this number. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size.
	MinPoolSize *float64 `json:"minPoolSize,omitempty" tf:"min_pool_size,omitempty"`

	// If a server connection has been idle more than this many seconds it will be dropped. If 0 then timeout is disabled. (seconds).
	ServerIdleTimeout *float64 `json:"serverIdleTimeout,omitempty" tf:"server_idle_timeout,omitempty"`

	// The pooler will close an unused server connection that has been connected longer than this. (seconds).
	ServerLifetime *float64 `json:"serverLifetime,omitempty" tf:"server_lifetime,omitempty"`

	// Run server_reset_query (DISCARD ALL) in all pooling modes.
	ServerResetQueryAlways *bool `json:"serverResetQueryAlways,omitempty" tf:"server_reset_query_always,omitempty"`
}

func (*PgbouncerObservation) DeepCopy

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

func (*PgbouncerObservation) DeepCopyInto

func (in *PgbouncerObservation) DeepCopyInto(out *PgbouncerObservation)

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

type PgbouncerParameters

type PgbouncerParameters struct {

	// If the automatically created database pools have been unused this many seconds, they are freed. If 0 then timeout is disabled. (seconds).
	// +kubebuilder:validation:Optional
	AutodbIdleTimeout *float64 `json:"autodbIdleTimeout,omitempty" tf:"autodb_idle_timeout,omitempty"`

	// Do not allow more than this many server connections per database (regardless of user). Setting it to 0 means unlimited.
	// +kubebuilder:validation:Optional
	AutodbMaxDBConnections *float64 `json:"autodbMaxDbConnections,omitempty" tf:"autodb_max_db_connections,omitempty"`

	// PGBouncer pool mode.
	// +kubebuilder:validation:Optional
	AutodbPoolMode *string `json:"autodbPoolMode,omitempty" tf:"autodb_pool_mode,omitempty"`

	// If non-zero then create automatically a pool of that size per user when a pool doesn't exist.
	// +kubebuilder:validation:Optional
	AutodbPoolSize *float64 `json:"autodbPoolSize,omitempty" tf:"autodb_pool_size,omitempty"`

	// List of parameters to ignore when given in startup packet.
	// +kubebuilder:validation:Optional
	IgnoreStartupParameters []*string `json:"ignoreStartupParameters,omitempty" tf:"ignore_startup_parameters,omitempty"`

	// Add more server connections to pool if below this number. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size.
	// +kubebuilder:validation:Optional
	MinPoolSize *float64 `json:"minPoolSize,omitempty" tf:"min_pool_size,omitempty"`

	// If a server connection has been idle more than this many seconds it will be dropped. If 0 then timeout is disabled. (seconds).
	// +kubebuilder:validation:Optional
	ServerIdleTimeout *float64 `json:"serverIdleTimeout,omitempty" tf:"server_idle_timeout,omitempty"`

	// The pooler will close an unused server connection that has been connected longer than this. (seconds).
	// +kubebuilder:validation:Optional
	ServerLifetime *float64 `json:"serverLifetime,omitempty" tf:"server_lifetime,omitempty"`

	// Run server_reset_query (DISCARD ALL) in all pooling modes.
	// +kubebuilder:validation:Optional
	ServerResetQueryAlways *bool `json:"serverResetQueryAlways,omitempty" tf:"server_reset_query_always,omitempty"`
}

func (*PgbouncerParameters) DeepCopy

func (in *PgbouncerParameters) DeepCopy() *PgbouncerParameters

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

func (*PgbouncerParameters) DeepCopyInto

func (in *PgbouncerParameters) DeepCopyInto(out *PgbouncerParameters)

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

type PglookoutObservation

type PglookoutObservation struct {

	// Number of seconds of master unavailability before triggering database failover to standby. The default value is `60`.
	MaxFailoverReplicationTimeLag *float64 `json:"maxFailoverReplicationTimeLag,omitempty" tf:"max_failover_replication_time_lag,omitempty"`
}

func (*PglookoutObservation) DeepCopy

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

func (*PglookoutObservation) DeepCopyInto

func (in *PglookoutObservation) DeepCopyInto(out *PglookoutObservation)

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

type PglookoutParameters

type PglookoutParameters struct {

	// Number of seconds of master unavailability before triggering database failover to standby. The default value is `60`.
	// +kubebuilder:validation:Optional
	MaxFailoverReplicationTimeLag *float64 `json:"maxFailoverReplicationTimeLag,omitempty" tf:"max_failover_replication_time_lag,omitempty"`
}

func (*PglookoutParameters) DeepCopy

func (in *PglookoutParameters) DeepCopy() *PglookoutParameters

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

func (*PglookoutParameters) DeepCopyInto

func (in *PglookoutParameters) DeepCopyInto(out *PglookoutParameters)

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

type PrivateAccessObservation

type PrivateAccessObservation struct {

	// Allow clients to connect to pg with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.
	Pg *bool `json:"pg,omitempty" tf:"pg,omitempty"`

	// Allow clients to connect to pgbouncer with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.
	Pgbouncer *bool `json:"pgbouncer,omitempty" tf:"pgbouncer,omitempty"`

	// Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.
	Prometheus *bool `json:"prometheus,omitempty" tf:"prometheus,omitempty"`
}

func (*PrivateAccessObservation) DeepCopy

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

func (*PrivateAccessObservation) DeepCopyInto

func (in *PrivateAccessObservation) DeepCopyInto(out *PrivateAccessObservation)

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

type PrivateAccessParameters

type PrivateAccessParameters struct {

	// Allow clients to connect to pg with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.
	// +kubebuilder:validation:Optional
	Pg *bool `json:"pg,omitempty" tf:"pg,omitempty"`

	// Allow clients to connect to pgbouncer with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.
	// +kubebuilder:validation:Optional
	Pgbouncer *bool `json:"pgbouncer,omitempty" tf:"pgbouncer,omitempty"`

	// Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.
	// +kubebuilder:validation:Optional
	Prometheus *bool `json:"prometheus,omitempty" tf:"prometheus,omitempty"`
}

func (*PrivateAccessParameters) DeepCopy

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

func (*PrivateAccessParameters) DeepCopyInto

func (in *PrivateAccessParameters) DeepCopyInto(out *PrivateAccessParameters)

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

type PrivatelinkAccessObservation

type PrivatelinkAccessObservation struct {

	// Enable pg.
	Pg *bool `json:"pg,omitempty" tf:"pg,omitempty"`

	// Enable pgbouncer.
	Pgbouncer *bool `json:"pgbouncer,omitempty" tf:"pgbouncer,omitempty"`

	// Enable prometheus.
	Prometheus *bool `json:"prometheus,omitempty" tf:"prometheus,omitempty"`
}

func (*PrivatelinkAccessObservation) DeepCopy

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

func (*PrivatelinkAccessObservation) DeepCopyInto

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

type PrivatelinkAccessParameters

type PrivatelinkAccessParameters struct {

	// Enable pg.
	// +kubebuilder:validation:Optional
	Pg *bool `json:"pg,omitempty" tf:"pg,omitempty"`

	// Enable pgbouncer.
	// +kubebuilder:validation:Optional
	Pgbouncer *bool `json:"pgbouncer,omitempty" tf:"pgbouncer,omitempty"`

	// Enable prometheus.
	// +kubebuilder:validation:Optional
	Prometheus *bool `json:"prometheus,omitempty" tf:"prometheus,omitempty"`
}

func (*PrivatelinkAccessParameters) DeepCopy

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

func (*PrivatelinkAccessParameters) DeepCopyInto

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

type PublicAccessObservation

type PublicAccessObservation struct {

	// Allow clients to connect to pg from the public internet for service nodes that are in a project VPC or another type of private network.
	Pg *bool `json:"pg,omitempty" tf:"pg,omitempty"`

	// Allow clients to connect to pgbouncer from the public internet for service nodes that are in a project VPC or another type of private network.
	Pgbouncer *bool `json:"pgbouncer,omitempty" tf:"pgbouncer,omitempty"`

	// Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.
	Prometheus *bool `json:"prometheus,omitempty" tf:"prometheus,omitempty"`
}

func (*PublicAccessObservation) DeepCopy

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

func (*PublicAccessObservation) DeepCopyInto

func (in *PublicAccessObservation) DeepCopyInto(out *PublicAccessObservation)

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

type PublicAccessParameters

type PublicAccessParameters struct {

	// Allow clients to connect to pg from the public internet for service nodes that are in a project VPC or another type of private network.
	// +kubebuilder:validation:Optional
	Pg *bool `json:"pg,omitempty" tf:"pg,omitempty"`

	// Allow clients to connect to pgbouncer from the public internet for service nodes that are in a project VPC or another type of private network.
	// +kubebuilder:validation:Optional
	Pgbouncer *bool `json:"pgbouncer,omitempty" tf:"pgbouncer,omitempty"`

	// Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.
	// +kubebuilder:validation:Optional
	Prometheus *bool `json:"prometheus,omitempty" tf:"prometheus,omitempty"`
}

func (*PublicAccessParameters) DeepCopy

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

func (*PublicAccessParameters) DeepCopyInto

func (in *PublicAccessParameters) DeepCopyInto(out *PublicAccessParameters)

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

type Service

type Service struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.plan)",message="plan is a required parameter"
	Spec   ServiceSpec   `json:"spec"`
	Status ServiceStatus `json:"status,omitempty"`
}

Service is the Schema for the Services API. <no value> +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aiven}

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

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

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

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

func (*Service) DeepCopyObject

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

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

func (*Service) GetCondition

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

GetCondition of this Service.

func (*Service) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Service

func (*Service) GetDeletionPolicy

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

GetDeletionPolicy of this Service.

func (*Service) GetID

func (tr *Service) GetID() string

GetID returns ID of underlying Terraform resource of this Service

func (*Service) GetManagementPolicy

func (mg *Service) GetManagementPolicy() xpv1.ManagementPolicy

GetManagementPolicy of this Service.

func (*Service) GetObservation

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

GetObservation of this Service

func (*Service) GetParameters

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

GetParameters of this Service

func (*Service) GetProviderConfigReference

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

GetProviderConfigReference of this Service.

func (*Service) GetProviderReference

func (mg *Service) GetProviderReference() *xpv1.Reference

GetProviderReference of this Service. Deprecated: Use GetProviderConfigReference.

func (*Service) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Service.

func (*Service) GetTerraformResourceType

func (mg *Service) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Service

func (*Service) GetTerraformSchemaVersion

func (tr *Service) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Service) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Service.

func (*Service) LateInitialize

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

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

func (*Service) SetConditions

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

SetConditions of this Service.

func (*Service) SetDeletionPolicy

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

SetDeletionPolicy of this Service.

func (*Service) SetManagementPolicy

func (mg *Service) SetManagementPolicy(r xpv1.ManagementPolicy)

SetManagementPolicy of this Service.

func (*Service) SetObservation

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

SetObservation for this Service

func (*Service) SetParameters

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

SetParameters for this Service

func (*Service) SetProviderConfigReference

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

SetProviderConfigReference of this Service.

func (*Service) SetProviderReference

func (mg *Service) SetProviderReference(r *xpv1.Reference)

SetProviderReference of this Service. Deprecated: Use SetProviderConfigReference.

func (*Service) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Service.

func (*Service) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Service.

type ServiceIntegrationsObservation

type ServiceIntegrationsObservation struct {

	// Type of the service integration. The only supported value at the moment is `read_replica`
	IntegrationType *string `json:"integrationType,omitempty" tf:"integration_type,omitempty"`

	// Name of the source service
	SourceServiceName *string `json:"sourceServiceName,omitempty" tf:"source_service_name,omitempty"`
}

func (*ServiceIntegrationsObservation) DeepCopy

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

func (*ServiceIntegrationsObservation) DeepCopyInto

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

type ServiceIntegrationsParameters

type ServiceIntegrationsParameters struct {

	// Type of the service integration. The only supported value at the moment is `read_replica`
	// +kubebuilder:validation:Required
	IntegrationType *string `json:"integrationType" tf:"integration_type,omitempty"`

	// Name of the source service
	// +kubebuilder:validation:Required
	SourceServiceName *string `json:"sourceServiceName" tf:"source_service_name,omitempty"`
}

func (*ServiceIntegrationsParameters) DeepCopy

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

func (*ServiceIntegrationsParameters) DeepCopyInto

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

type ServiceList

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

ServiceList contains a list of Services

func (*ServiceList) DeepCopy

func (in *ServiceList) DeepCopy() *ServiceList

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

func (*ServiceList) DeepCopyInto

func (in *ServiceList) DeepCopyInto(out *ServiceList)

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

func (*ServiceList) DeepCopyObject

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

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

func (*ServiceList) GetItems

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

GetItems of this ServiceList.

type ServiceObservation

type ServiceObservation struct {

	// Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
	AdditionalDiskSpace *string `json:"additionalDiskSpace,omitempty" tf:"additional_disk_space,omitempty"`

	// Defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider's own support articles, like [here for Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
	CloudName *string `json:"cloudName,omitempty" tf:"cloud_name,omitempty"`

	// Service component information objects
	Components []ComponentsObservation `json:"components,omitempty" tf:"components,omitempty"`

	// Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
	DiskSpace *string `json:"diskSpace,omitempty" tf:"disk_space,omitempty"`

	// The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.
	DiskSpaceCap *string `json:"diskSpaceCap,omitempty" tf:"disk_space_cap,omitempty"`

	// The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for `disk_space`
	DiskSpaceDefault *string `json:"diskSpaceDefault,omitempty" tf:"disk_space_default,omitempty"`

	// The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. `disk_space` needs to increment from `disk_space_default` by increments of this size.
	DiskSpaceStep *string `json:"diskSpaceStep,omitempty" tf:"disk_space_step,omitempty"`

	// Disk space that service is currently using
	DiskSpaceUsed *string `json:"diskSpaceUsed,omitempty" tf:"disk_space_used,omitempty"`

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

	// Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
	MaintenanceWindowDow *string `json:"maintenanceWindowDow,omitempty" tf:"maintenance_window_dow,omitempty"`

	// Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
	MaintenanceWindowTime *string `json:"maintenanceWindowTime,omitempty" tf:"maintenance_window_time,omitempty"`

	// PostgreSQL specific server provided values
	Pg []PgObservation `json:"pg,omitempty" tf:"pg,omitempty"`

	// Pg user configurable settings
	PgUserConfig []PgUserConfigObservation `json:"pgUserConfig,omitempty" tf:"pg_user_config,omitempty"`

	// Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
	Plan *string `json:"plan,omitempty" tf:"plan,omitempty"`

	// Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
	ProjectVPCID *string `json:"projectVpcId,omitempty" tf:"project_vpc_id,omitempty"`

	// The hostname of the service.
	ServiceHost *string `json:"serviceHost,omitempty" tf:"service_host,omitempty"`

	// Service integrations to specify when creating a service. Not applied after initial service creation
	ServiceIntegrations []ServiceIntegrationsObservation `json:"serviceIntegrations,omitempty" tf:"service_integrations,omitempty"`

	// The port of the service
	ServicePort *float64 `json:"servicePort,omitempty" tf:"service_port,omitempty"`

	// Aiven internal service type code
	ServiceType *string `json:"serviceType,omitempty" tf:"service_type,omitempty"`

	// Username used for connecting to the service, if applicable
	ServiceUsername *string `json:"serviceUsername,omitempty" tf:"service_username,omitempty"`

	// Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
	State *string `json:"state,omitempty" tf:"state,omitempty"`

	// Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again
	StaticIps []*string `json:"staticIps,omitempty" tf:"static_ips,omitempty"`

	// Tags are key-value pairs that allow you to categorize services.
	Tag []TagObservation `json:"tag,omitempty" tf:"tag,omitempty"`

	// Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
	TerminationProtection *bool `json:"terminationProtection,omitempty" tf:"termination_protection,omitempty"`
}

func (*ServiceObservation) DeepCopy

func (in *ServiceObservation) DeepCopy() *ServiceObservation

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

func (*ServiceObservation) DeepCopyInto

func (in *ServiceObservation) DeepCopyInto(out *ServiceObservation)

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

type ServiceParameters

type ServiceParameters struct {

	// Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
	// +kubebuilder:validation:Optional
	AdditionalDiskSpace *string `json:"additionalDiskSpace,omitempty" tf:"additional_disk_space,omitempty"`

	// Defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider's own support articles, like [here for Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
	// +kubebuilder:validation:Optional
	CloudName *string `json:"cloudName,omitempty" tf:"cloud_name,omitempty"`

	// Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
	// +kubebuilder:validation:Optional
	DiskSpace *string `json:"diskSpace,omitempty" tf:"disk_space,omitempty"`

	// Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
	// +kubebuilder:validation:Optional
	MaintenanceWindowDow *string `json:"maintenanceWindowDow,omitempty" tf:"maintenance_window_dow,omitempty"`

	// Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
	// +kubebuilder:validation:Optional
	MaintenanceWindowTime *string `json:"maintenanceWindowTime,omitempty" tf:"maintenance_window_time,omitempty"`

	// PostgreSQL specific server provided values
	// +kubebuilder:validation:Optional
	Pg []PgParameters `json:"pg,omitempty" tf:"pg,omitempty"`

	// Pg user configurable settings
	// +kubebuilder:validation:Optional
	PgUserConfig []PgUserConfigParameters `json:"pgUserConfig,omitempty" tf:"pg_user_config,omitempty"`

	// Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
	// +kubebuilder:validation:Optional
	Plan *string `json:"plan,omitempty" tf:"plan,omitempty"`

	// Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
	// +kubebuilder:validation:Required
	Project *string `json:"project" tf:"project,omitempty"`

	// Specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
	// +kubebuilder:validation:Optional
	ProjectVPCID *string `json:"projectVpcId,omitempty" tf:"project_vpc_id,omitempty"`

	// Service integrations to specify when creating a service. Not applied after initial service creation
	// +kubebuilder:validation:Optional
	ServiceIntegrations []ServiceIntegrationsParameters `json:"serviceIntegrations,omitempty" tf:"service_integrations,omitempty"`

	// Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again
	// +kubebuilder:validation:Optional
	StaticIps []*string `json:"staticIps,omitempty" tf:"static_ips,omitempty"`

	// Tags are key-value pairs that allow you to categorize services.
	// +kubebuilder:validation:Optional
	Tag []TagParameters `json:"tag,omitempty" tf:"tag,omitempty"`

	// Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
	// +kubebuilder:validation:Optional
	TerminationProtection *bool `json:"terminationProtection,omitempty" tf:"termination_protection,omitempty"`
}

func (*ServiceParameters) DeepCopy

func (in *ServiceParameters) DeepCopy() *ServiceParameters

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

func (*ServiceParameters) DeepCopyInto

func (in *ServiceParameters) DeepCopyInto(out *ServiceParameters)

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

type ServiceSpec

type ServiceSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ServiceParameters `json:"forProvider"`
}

ServiceSpec defines the desired state of Service

func (*ServiceSpec) DeepCopy

func (in *ServiceSpec) DeepCopy() *ServiceSpec

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

func (*ServiceSpec) DeepCopyInto

func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)

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

type ServiceStatus

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

ServiceStatus defines the observed state of Service.

func (*ServiceStatus) DeepCopy

func (in *ServiceStatus) DeepCopy() *ServiceStatus

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

func (*ServiceStatus) DeepCopyInto

func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus)

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

type TagObservation

type TagObservation struct {

	// Service tag key
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// Service tag value
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*TagObservation) DeepCopy

func (in *TagObservation) DeepCopy() *TagObservation

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

func (*TagObservation) DeepCopyInto

func (in *TagObservation) DeepCopyInto(out *TagObservation)

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

type TagParameters

type TagParameters struct {

	// Service tag key
	// +kubebuilder:validation:Required
	Key *string `json:"key" tf:"key,omitempty"`

	// Service tag value
	// +kubebuilder:validation:Required
	Value *string `json:"value" tf:"value,omitempty"`
}

func (*TagParameters) DeepCopy

func (in *TagParameters) DeepCopy() *TagParameters

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

func (*TagParameters) DeepCopyInto

func (in *TagParameters) DeepCopyInto(out *TagParameters)

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

type TimescaledbObservation

type TimescaledbObservation struct {

	// The number of background workers for timescaledb operations. You should configure this setting to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time.
	MaxBackgroundWorkers *float64 `json:"maxBackgroundWorkers,omitempty" tf:"max_background_workers,omitempty"`
}

func (*TimescaledbObservation) DeepCopy

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

func (*TimescaledbObservation) DeepCopyInto

func (in *TimescaledbObservation) DeepCopyInto(out *TimescaledbObservation)

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

type TimescaledbParameters

type TimescaledbParameters struct {

	// The number of background workers for timescaledb operations. You should configure this setting to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time.
	// +kubebuilder:validation:Optional
	MaxBackgroundWorkers *float64 `json:"maxBackgroundWorkers,omitempty" tf:"max_background_workers,omitempty"`
}

func (*TimescaledbParameters) DeepCopy

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

func (*TimescaledbParameters) DeepCopyInto

func (in *TimescaledbParameters) DeepCopyInto(out *TimescaledbParameters)

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

type User

type User struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              UserSpec   `json:"spec"`
	Status            UserStatus `json:"status,omitempty"`
}

User is the Schema for the Users API. <no value> +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aiven}

func (*User) DeepCopy

func (in *User) DeepCopy() *User

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

func (*User) DeepCopyInto

func (in *User) DeepCopyInto(out *User)

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

func (*User) DeepCopyObject

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

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

func (*User) GetCondition

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

GetCondition of this User.

func (*User) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this User

func (*User) GetDeletionPolicy

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

GetDeletionPolicy of this User.

func (*User) GetID

func (tr *User) GetID() string

GetID returns ID of underlying Terraform resource of this User

func (*User) GetManagementPolicy

func (mg *User) GetManagementPolicy() xpv1.ManagementPolicy

GetManagementPolicy of this User.

func (*User) GetObservation

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

GetObservation of this User

func (*User) GetParameters

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

GetParameters of this User

func (*User) GetProviderConfigReference

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

GetProviderConfigReference of this User.

func (*User) GetProviderReference

func (mg *User) GetProviderReference() *xpv1.Reference

GetProviderReference of this User. Deprecated: Use GetProviderConfigReference.

func (*User) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this User.

func (*User) GetTerraformResourceType

func (mg *User) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this User

func (*User) GetTerraformSchemaVersion

func (tr *User) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*User) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this User.

func (*User) LateInitialize

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

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

func (*User) ResolveReferences

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

ResolveReferences of this User.

func (*User) SetConditions

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

SetConditions of this User.

func (*User) SetDeletionPolicy

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

SetDeletionPolicy of this User.

func (*User) SetManagementPolicy

func (mg *User) SetManagementPolicy(r xpv1.ManagementPolicy)

SetManagementPolicy of this User.

func (*User) SetObservation

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

SetObservation for this User

func (*User) SetParameters

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

SetParameters for this User

func (*User) SetProviderConfigReference

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

SetProviderConfigReference of this User.

func (*User) SetProviderReference

func (mg *User) SetProviderReference(r *xpv1.Reference)

SetProviderReference of this User. Deprecated: Use SetProviderConfigReference.

func (*User) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this User.

func (*User) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this User.

type UserList

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

UserList contains a list of Users

func (*UserList) DeepCopy

func (in *UserList) DeepCopy() *UserList

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

func (*UserList) DeepCopyInto

func (in *UserList) DeepCopyInto(out *UserList)

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

func (*UserList) DeepCopyObject

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

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

func (*UserList) GetItems

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

GetItems of this UserList.

type UserObservation

type UserObservation struct {
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Defines whether replication is allowed.
	PgAllowReplication *bool `json:"pgAllowReplication,omitempty" tf:"pg_allow_replication,omitempty"`

	// Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
	Project *string `json:"project,omitempty" tf:"project,omitempty"`

	// Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`

	// Type of the user account. Tells whether the user is the primary account or a regular account.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*UserObservation) DeepCopy

func (in *UserObservation) DeepCopy() *UserObservation

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

func (*UserObservation) DeepCopyInto

func (in *UserObservation) DeepCopyInto(out *UserObservation)

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

type UserParameters

type UserParameters struct {

	// The password of the PG User (not applicable for all services).
	// +kubebuilder:validation:Optional
	PasswordSecretRef *v1.SecretKeySelector `json:"passwordSecretRef,omitempty" tf:"-"`

	// Defines whether replication is allowed.
	// +kubebuilder:validation:Optional
	PgAllowReplication *bool `json:"pgAllowReplication,omitempty" tf:"pg_allow_replication,omitempty"`

	// Identifies the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
	// +kubebuilder:validation:Required
	Project *string `json:"project" tf:"project,omitempty"`

	// Specifies the name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. This property cannot be changed, doing so forces recreation of the resource.
	// +crossplane:generate:reference:type=Service
	// +kubebuilder:validation:Optional
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`

	// Reference to a Service to populate serviceName.
	// +kubebuilder:validation:Optional
	ServiceNameRef *v1.Reference `json:"serviceNameRef,omitempty" tf:"-"`

	// Selector for a Service to populate serviceName.
	// +kubebuilder:validation:Optional
	ServiceNameSelector *v1.Selector `json:"serviceNameSelector,omitempty" tf:"-"`
}

func (*UserParameters) DeepCopy

func (in *UserParameters) DeepCopy() *UserParameters

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

func (*UserParameters) DeepCopyInto

func (in *UserParameters) DeepCopyInto(out *UserParameters)

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

type UserSpec

type UserSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     UserParameters `json:"forProvider"`
}

UserSpec defines the desired state of User

func (*UserSpec) DeepCopy

func (in *UserSpec) DeepCopy() *UserSpec

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

func (*UserSpec) DeepCopyInto

func (in *UserSpec) DeepCopyInto(out *UserSpec)

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

type UserStatus

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

UserStatus defines the observed state of User.

func (*UserStatus) DeepCopy

func (in *UserStatus) DeepCopy() *UserStatus

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

func (*UserStatus) DeepCopyInto

func (in *UserStatus) DeepCopyInto(out *UserStatus)

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