@cdktf/provider-upcloud
Version:
Prebuilt upcloud Provider for Terraform CDK (cdktf)
840 lines • 89.3 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface ManagedDatabasePostgresqlConfig extends cdktf.TerraformMetaArguments {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#id ManagedDatabasePostgresql#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* User defined key-value pairs to classify the managed database.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#labels ManagedDatabasePostgresql#labels}
*/
readonly labels?: {
[key: string]: string;
};
/**
* Maintenance window day of week. Lower case weekday name (monday, tuesday, ...)
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#maintenance_window_dow ManagedDatabasePostgresql#maintenance_window_dow}
*/
readonly maintenanceWindowDow?: string;
/**
* Maintenance window UTC time in hh:mm:ss format
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#maintenance_window_time ManagedDatabasePostgresql#maintenance_window_time}
*/
readonly maintenanceWindowTime?: string;
/**
* Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#name ManagedDatabasePostgresql#name}
*/
readonly name: string;
/**
* Service plan to use. This determines how much resources the instance will have. You can list available plans with `upctl database plans <type>`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#plan ManagedDatabasePostgresql#plan}
*/
readonly plan: string;
/**
* The administrative power state of the service
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#powered ManagedDatabasePostgresql#powered}
*/
readonly powered?: boolean | cdktf.IResolvable;
/**
* If set to true, prevents the managed service from being powered off, or deleted.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#termination_protection ManagedDatabasePostgresql#termination_protection}
*/
readonly terminationProtection?: boolean | cdktf.IResolvable;
/**
* Title of a managed database instance
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#title ManagedDatabasePostgresql#title}
*/
readonly title: string;
/**
* Zone where the instance resides, e.g. `de-fra1`. You can list available zones with `upctl zone list`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#zone ManagedDatabasePostgresql#zone}
*/
readonly zone: string;
/**
* network block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#network ManagedDatabasePostgresql#network}
*/
readonly network?: ManagedDatabasePostgresqlNetwork[] | cdktf.IResolvable;
/**
* properties block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#properties ManagedDatabasePostgresql#properties}
*/
readonly properties?: ManagedDatabasePostgresqlProperties;
}
export interface ManagedDatabasePostgresqlComponents {
}
export declare function managedDatabasePostgresqlComponentsToTerraform(struct?: ManagedDatabasePostgresqlComponents): any;
export declare function managedDatabasePostgresqlComponentsToHclTerraform(struct?: ManagedDatabasePostgresqlComponents): any;
export declare class ManagedDatabasePostgresqlComponentsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): ManagedDatabasePostgresqlComponents | undefined;
set internalValue(value: ManagedDatabasePostgresqlComponents | undefined);
get component(): string;
get host(): string;
get port(): number;
get route(): string;
get usage(): string;
}
export declare class ManagedDatabasePostgresqlComponentsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): ManagedDatabasePostgresqlComponentsOutputReference;
}
export interface ManagedDatabasePostgresqlNodeStates {
}
export declare function managedDatabasePostgresqlNodeStatesToTerraform(struct?: ManagedDatabasePostgresqlNodeStates): any;
export declare function managedDatabasePostgresqlNodeStatesToHclTerraform(struct?: ManagedDatabasePostgresqlNodeStates): any;
export declare class ManagedDatabasePostgresqlNodeStatesOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): ManagedDatabasePostgresqlNodeStates | undefined;
set internalValue(value: ManagedDatabasePostgresqlNodeStates | undefined);
get name(): string;
get role(): string;
get state(): string;
}
export declare class ManagedDatabasePostgresqlNodeStatesList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): ManagedDatabasePostgresqlNodeStatesOutputReference;
}
export interface ManagedDatabasePostgresqlNetwork {
/**
* Network family. Currently only `IPv4` is supported.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#family ManagedDatabasePostgresql#family}
*/
readonly family: string;
/**
* The name of the network. Must be unique within the service.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#name ManagedDatabasePostgresql#name}
*/
readonly name: string;
/**
* The type of the network. Must be private.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#type ManagedDatabasePostgresql#type}
*/
readonly type: string;
/**
* Private network UUID. Must reside in the same zone as the database.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#uuid ManagedDatabasePostgresql#uuid}
*/
readonly uuid: string;
}
export declare function managedDatabasePostgresqlNetworkToTerraform(struct?: ManagedDatabasePostgresqlNetwork | cdktf.IResolvable): any;
export declare function managedDatabasePostgresqlNetworkToHclTerraform(struct?: ManagedDatabasePostgresqlNetwork | cdktf.IResolvable): any;
export declare class ManagedDatabasePostgresqlNetworkOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): ManagedDatabasePostgresqlNetwork | cdktf.IResolvable | undefined;
set internalValue(value: ManagedDatabasePostgresqlNetwork | cdktf.IResolvable | undefined);
private _family?;
get family(): string;
set family(value: string);
get familyInput(): string | undefined;
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
private _type?;
get type(): string;
set type(value: string);
get typeInput(): string | undefined;
private _uuid?;
get uuid(): string;
set uuid(value: string);
get uuidInput(): string | undefined;
}
export declare class ManagedDatabasePostgresqlNetworkList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: ManagedDatabasePostgresqlNetwork[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): ManagedDatabasePostgresqlNetworkOutputReference;
}
export interface ManagedDatabasePostgresqlPropertiesMigration {
/**
* Database name for bootstrapping the initial connection.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#dbname ManagedDatabasePostgresql#dbname}
*/
readonly dbname?: string;
/**
* Hostname or IP address of the server where to migrate data from.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#host ManagedDatabasePostgresql#host}
*/
readonly host?: string;
/**
* Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#ignore_dbs ManagedDatabasePostgresql#ignore_dbs}
*/
readonly ignoreDbs?: string;
/**
* Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#ignore_roles ManagedDatabasePostgresql#ignore_roles}
*/
readonly ignoreRoles?: string;
/**
* The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#method ManagedDatabasePostgresql#method}
*/
readonly method?: string;
/**
* Password for authentication with the server where to migrate data from.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#password ManagedDatabasePostgresql#password}
*/
readonly password?: string;
/**
* Port number of the server where to migrate data from.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#port ManagedDatabasePostgresql#port}
*/
readonly port?: number;
/**
* The server where to migrate data from is secured with SSL.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#ssl ManagedDatabasePostgresql#ssl}
*/
readonly ssl?: boolean | cdktf.IResolvable;
/**
* User name for authentication with the server where to migrate data from.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#username ManagedDatabasePostgresql#username}
*/
readonly username?: string;
}
export declare function managedDatabasePostgresqlPropertiesMigrationToTerraform(struct?: ManagedDatabasePostgresqlPropertiesMigrationOutputReference | ManagedDatabasePostgresqlPropertiesMigration): any;
export declare function managedDatabasePostgresqlPropertiesMigrationToHclTerraform(struct?: ManagedDatabasePostgresqlPropertiesMigrationOutputReference | ManagedDatabasePostgresqlPropertiesMigration): any;
export declare class ManagedDatabasePostgresqlPropertiesMigrationOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ManagedDatabasePostgresqlPropertiesMigration | undefined;
set internalValue(value: ManagedDatabasePostgresqlPropertiesMigration | undefined);
private _dbname?;
get dbname(): string;
set dbname(value: string);
resetDbname(): void;
get dbnameInput(): string | undefined;
private _host?;
get host(): string;
set host(value: string);
resetHost(): void;
get hostInput(): string | undefined;
private _ignoreDbs?;
get ignoreDbs(): string;
set ignoreDbs(value: string);
resetIgnoreDbs(): void;
get ignoreDbsInput(): string | undefined;
private _ignoreRoles?;
get ignoreRoles(): string;
set ignoreRoles(value: string);
resetIgnoreRoles(): void;
get ignoreRolesInput(): string | undefined;
private _method?;
get method(): string;
set method(value: string);
resetMethod(): void;
get methodInput(): string | undefined;
private _password?;
get password(): string;
set password(value: string);
resetPassword(): void;
get passwordInput(): string | undefined;
private _port?;
get port(): number;
set port(value: number);
resetPort(): void;
get portInput(): number | undefined;
private _ssl?;
get ssl(): boolean | cdktf.IResolvable;
set ssl(value: boolean | cdktf.IResolvable);
resetSsl(): void;
get sslInput(): boolean | cdktf.IResolvable | undefined;
private _username?;
get username(): string;
set username(value: string);
resetUsername(): void;
get usernameInput(): string | undefined;
}
export interface ManagedDatabasePostgresqlPropertiesPgaudit {
/**
* Enable pgaudit extension. Enable pgaudit extension. When enabled, pgaudit extension will be automatically installed.Otherwise, extension will be uninstalled but auditing configurations will be preserved.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#feature_enabled ManagedDatabasePostgresql#feature_enabled}
*/
readonly featureEnabled?: boolean | cdktf.IResolvable;
/**
* Specifies which classes of statements will be logged by session audit logging.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#log ManagedDatabasePostgresql#log}
*/
readonly log?: string[];
/**
* Specifies that session logging should be enabled in the casewhere all relations in a statement are in pg_catalog.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#log_catalog ManagedDatabasePostgresql#log_catalog}
*/
readonly logCatalog?: boolean | cdktf.IResolvable;
/**
* Specifies whether log messages will be visible to a client process such as psql.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#log_client ManagedDatabasePostgresql#log_client}
*/
readonly logClient?: boolean | cdktf.IResolvable;
/**
* Specifies the log level that will be used for log entries.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#log_level ManagedDatabasePostgresql#log_level}
*/
readonly logLevel?: string;
/**
* Crop parameters representation and whole statements if they exceed this threshold. A (default) value of -1 disable the truncation.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#log_max_string_length ManagedDatabasePostgresql#log_max_string_length}
*/
readonly logMaxStringLength?: number;
/**
* This GUC allows to turn off logging nested statements, that is, statements that are executed as part of another ExecutorRun.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#log_nested_statements ManagedDatabasePostgresql#log_nested_statements}
*/
readonly logNestedStatements?: boolean | cdktf.IResolvable;
/**
* Specifies that audit logging should include the parameters that were passed with the statement.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#log_parameter ManagedDatabasePostgresql#log_parameter}
*/
readonly logParameter?: boolean | cdktf.IResolvable;
/**
* Specifies that parameter values longer than this setting (in bytes) should not be logged, but replaced with <long param suppressed>.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#log_parameter_max_size ManagedDatabasePostgresql#log_parameter_max_size}
*/
readonly logParameterMaxSize?: number;
/**
* Specifies whether session audit logging should create a separate log entry for each relation (TABLE, VIEW, etc.) referenced in a SELECT or DML statement.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#log_relation ManagedDatabasePostgresql#log_relation}
*/
readonly logRelation?: boolean | cdktf.IResolvable;
/**
* Specifies that audit logging should include the rows retrieved or affected by a statement. When enabled the rows field will be included after the parameter field.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#log_rows ManagedDatabasePostgresql#log_rows}
*/
readonly logRows?: boolean | cdktf.IResolvable;
/**
* Specifies whether logging will include the statement text and parameters (if enabled).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#log_statement ManagedDatabasePostgresql#log_statement}
*/
readonly logStatement?: boolean | cdktf.IResolvable;
/**
* Specifies whether logging will include the statement text and parameters with the first log entry for a statement/substatement combination or with every entry.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#log_statement_once ManagedDatabasePostgresql#log_statement_once}
*/
readonly logStatementOnce?: boolean | cdktf.IResolvable;
/**
* Specifies the master role to use for object audit logging.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#role ManagedDatabasePostgresql#role}
*/
readonly role?: string;
}
export declare function managedDatabasePostgresqlPropertiesPgauditToTerraform(struct?: ManagedDatabasePostgresqlPropertiesPgauditOutputReference | ManagedDatabasePostgresqlPropertiesPgaudit): any;
export declare function managedDatabasePostgresqlPropertiesPgauditToHclTerraform(struct?: ManagedDatabasePostgresqlPropertiesPgauditOutputReference | ManagedDatabasePostgresqlPropertiesPgaudit): any;
export declare class ManagedDatabasePostgresqlPropertiesPgauditOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ManagedDatabasePostgresqlPropertiesPgaudit | undefined;
set internalValue(value: ManagedDatabasePostgresqlPropertiesPgaudit | undefined);
private _featureEnabled?;
get featureEnabled(): boolean | cdktf.IResolvable;
set featureEnabled(value: boolean | cdktf.IResolvable);
resetFeatureEnabled(): void;
get featureEnabledInput(): boolean | cdktf.IResolvable | undefined;
private _log?;
get log(): string[];
set log(value: string[]);
resetLog(): void;
get logInput(): string[] | undefined;
private _logCatalog?;
get logCatalog(): boolean | cdktf.IResolvable;
set logCatalog(value: boolean | cdktf.IResolvable);
resetLogCatalog(): void;
get logCatalogInput(): boolean | cdktf.IResolvable | undefined;
private _logClient?;
get logClient(): boolean | cdktf.IResolvable;
set logClient(value: boolean | cdktf.IResolvable);
resetLogClient(): void;
get logClientInput(): boolean | cdktf.IResolvable | undefined;
private _logLevel?;
get logLevel(): string;
set logLevel(value: string);
resetLogLevel(): void;
get logLevelInput(): string | undefined;
private _logMaxStringLength?;
get logMaxStringLength(): number;
set logMaxStringLength(value: number);
resetLogMaxStringLength(): void;
get logMaxStringLengthInput(): number | undefined;
private _logNestedStatements?;
get logNestedStatements(): boolean | cdktf.IResolvable;
set logNestedStatements(value: boolean | cdktf.IResolvable);
resetLogNestedStatements(): void;
get logNestedStatementsInput(): boolean | cdktf.IResolvable | undefined;
private _logParameter?;
get logParameter(): boolean | cdktf.IResolvable;
set logParameter(value: boolean | cdktf.IResolvable);
resetLogParameter(): void;
get logParameterInput(): boolean | cdktf.IResolvable | undefined;
private _logParameterMaxSize?;
get logParameterMaxSize(): number;
set logParameterMaxSize(value: number);
resetLogParameterMaxSize(): void;
get logParameterMaxSizeInput(): number | undefined;
private _logRelation?;
get logRelation(): boolean | cdktf.IResolvable;
set logRelation(value: boolean | cdktf.IResolvable);
resetLogRelation(): void;
get logRelationInput(): boolean | cdktf.IResolvable | undefined;
private _logRows?;
get logRows(): boolean | cdktf.IResolvable;
set logRows(value: boolean | cdktf.IResolvable);
resetLogRows(): void;
get logRowsInput(): boolean | cdktf.IResolvable | undefined;
private _logStatement?;
get logStatement(): boolean | cdktf.IResolvable;
set logStatement(value: boolean | cdktf.IResolvable);
resetLogStatement(): void;
get logStatementInput(): boolean | cdktf.IResolvable | undefined;
private _logStatementOnce?;
get logStatementOnce(): boolean | cdktf.IResolvable;
set logStatementOnce(value: boolean | cdktf.IResolvable);
resetLogStatementOnce(): void;
get logStatementOnceInput(): boolean | cdktf.IResolvable | undefined;
private _role?;
get role(): string;
set role(value: string);
resetRole(): void;
get roleInput(): string | undefined;
}
export interface ManagedDatabasePostgresqlPropertiesPgbouncer {
/**
* If the automatically created database pools have been unused this many seconds, they are freed. If 0 then timeout is disabled. [seconds].
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#autodb_idle_timeout ManagedDatabasePostgresql#autodb_idle_timeout}
*/
readonly autodbIdleTimeout?: number;
/**
* Do not allow more than this many server connections per database (regardless of user). Setting it to 0 means unlimited.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#autodb_max_db_connections ManagedDatabasePostgresql#autodb_max_db_connections}
*/
readonly autodbMaxDbConnections?: number;
/**
* PGBouncer pool mode.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#autodb_pool_mode ManagedDatabasePostgresql#autodb_pool_mode}
*/
readonly autodbPoolMode?: string;
/**
* If non-zero then create automatically a pool of that size per user when a pool doesn't exist.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#autodb_pool_size ManagedDatabasePostgresql#autodb_pool_size}
*/
readonly autodbPoolSize?: number;
/**
* List of parameters to ignore when given in startup packet.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#ignore_startup_parameters ManagedDatabasePostgresql#ignore_startup_parameters}
*/
readonly ignoreStartupParameters?: string[];
/**
* PgBouncer tracks protocol-level named prepared statements related commands sent by the client in transaction and statement pooling modes when max_prepared_statements is set to a non-zero value. Setting it to 0 disables prepared statements. max_prepared_statements defaults to 100, and its maximum is 3000.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#max_prepared_statements ManagedDatabasePostgresql#max_prepared_statements}
*/
readonly maxPreparedStatements?: number;
/**
* 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.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#min_pool_size ManagedDatabasePostgresql#min_pool_size}
*/
readonly minPoolSize?: number;
/**
* If a server connection has been idle more than this many seconds it will be dropped. If 0 then timeout is disabled. [seconds].
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#server_idle_timeout ManagedDatabasePostgresql#server_idle_timeout}
*/
readonly serverIdleTimeout?: number;
/**
* The pooler will close an unused server connection that has been connected longer than this. [seconds].
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#server_lifetime ManagedDatabasePostgresql#server_lifetime}
*/
readonly serverLifetime?: number;
/**
* Run server_reset_query (DISCARD ALL) in all pooling modes.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#server_reset_query_always ManagedDatabasePostgresql#server_reset_query_always}
*/
readonly serverResetQueryAlways?: boolean | cdktf.IResolvable;
}
export declare function managedDatabasePostgresqlPropertiesPgbouncerToTerraform(struct?: ManagedDatabasePostgresqlPropertiesPgbouncerOutputReference | ManagedDatabasePostgresqlPropertiesPgbouncer): any;
export declare function managedDatabasePostgresqlPropertiesPgbouncerToHclTerraform(struct?: ManagedDatabasePostgresqlPropertiesPgbouncerOutputReference | ManagedDatabasePostgresqlPropertiesPgbouncer): any;
export declare class ManagedDatabasePostgresqlPropertiesPgbouncerOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ManagedDatabasePostgresqlPropertiesPgbouncer | undefined;
set internalValue(value: ManagedDatabasePostgresqlPropertiesPgbouncer | undefined);
private _autodbIdleTimeout?;
get autodbIdleTimeout(): number;
set autodbIdleTimeout(value: number);
resetAutodbIdleTimeout(): void;
get autodbIdleTimeoutInput(): number | undefined;
private _autodbMaxDbConnections?;
get autodbMaxDbConnections(): number;
set autodbMaxDbConnections(value: number);
resetAutodbMaxDbConnections(): void;
get autodbMaxDbConnectionsInput(): number | undefined;
private _autodbPoolMode?;
get autodbPoolMode(): string;
set autodbPoolMode(value: string);
resetAutodbPoolMode(): void;
get autodbPoolModeInput(): string | undefined;
private _autodbPoolSize?;
get autodbPoolSize(): number;
set autodbPoolSize(value: number);
resetAutodbPoolSize(): void;
get autodbPoolSizeInput(): number | undefined;
private _ignoreStartupParameters?;
get ignoreStartupParameters(): string[];
set ignoreStartupParameters(value: string[]);
resetIgnoreStartupParameters(): void;
get ignoreStartupParametersInput(): string[] | undefined;
private _maxPreparedStatements?;
get maxPreparedStatements(): number;
set maxPreparedStatements(value: number);
resetMaxPreparedStatements(): void;
get maxPreparedStatementsInput(): number | undefined;
private _minPoolSize?;
get minPoolSize(): number;
set minPoolSize(value: number);
resetMinPoolSize(): void;
get minPoolSizeInput(): number | undefined;
private _serverIdleTimeout?;
get serverIdleTimeout(): number;
set serverIdleTimeout(value: number);
resetServerIdleTimeout(): void;
get serverIdleTimeoutInput(): number | undefined;
private _serverLifetime?;
get serverLifetime(): number;
set serverLifetime(value: number);
resetServerLifetime(): void;
get serverLifetimeInput(): number | undefined;
private _serverResetQueryAlways?;
get serverResetQueryAlways(): boolean | cdktf.IResolvable;
set serverResetQueryAlways(value: boolean | cdktf.IResolvable);
resetServerResetQueryAlways(): void;
get serverResetQueryAlwaysInput(): boolean | cdktf.IResolvable | undefined;
}
export interface ManagedDatabasePostgresqlPropertiesPglookout {
/**
* Number of seconds of master unavailability before triggering database failover to standby.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#max_failover_replication_time_lag ManagedDatabasePostgresql#max_failover_replication_time_lag}
*/
readonly maxFailoverReplicationTimeLag?: number;
}
export declare function managedDatabasePostgresqlPropertiesPglookoutToTerraform(struct?: ManagedDatabasePostgresqlPropertiesPglookoutOutputReference | ManagedDatabasePostgresqlPropertiesPglookout): any;
export declare function managedDatabasePostgresqlPropertiesPglookoutToHclTerraform(struct?: ManagedDatabasePostgresqlPropertiesPglookoutOutputReference | ManagedDatabasePostgresqlPropertiesPglookout): any;
export declare class ManagedDatabasePostgresqlPropertiesPglookoutOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ManagedDatabasePostgresqlPropertiesPglookout | undefined;
set internalValue(value: ManagedDatabasePostgresqlPropertiesPglookout | undefined);
private _maxFailoverReplicationTimeLag?;
get maxFailoverReplicationTimeLag(): number;
set maxFailoverReplicationTimeLag(value: number);
resetMaxFailoverReplicationTimeLag(): void;
get maxFailoverReplicationTimeLagInput(): number | undefined;
}
export interface ManagedDatabasePostgresqlPropertiesTimescaledb {
/**
* 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. Changing this parameter causes a service restart.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#max_background_workers ManagedDatabasePostgresql#max_background_workers}
*/
readonly maxBackgroundWorkers?: number;
}
export declare function managedDatabasePostgresqlPropertiesTimescaledbToTerraform(struct?: ManagedDatabasePostgresqlPropertiesTimescaledbOutputReference | ManagedDatabasePostgresqlPropertiesTimescaledb): any;
export declare function managedDatabasePostgresqlPropertiesTimescaledbToHclTerraform(struct?: ManagedDatabasePostgresqlPropertiesTimescaledbOutputReference | ManagedDatabasePostgresqlPropertiesTimescaledb): any;
export declare class ManagedDatabasePostgresqlPropertiesTimescaledbOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ManagedDatabasePostgresqlPropertiesTimescaledb | undefined;
set internalValue(value: ManagedDatabasePostgresqlPropertiesTimescaledb | undefined);
private _maxBackgroundWorkers?;
get maxBackgroundWorkers(): number;
set maxBackgroundWorkers(value: number);
resetMaxBackgroundWorkers(): void;
get maxBackgroundWorkersInput(): number | undefined;
}
export interface ManagedDatabasePostgresqlProperties {
/**
* Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#admin_password ManagedDatabasePostgresql#admin_password}
*/
readonly adminPassword?: string;
/**
* Custom username for admin user. This must be set only when a new service is being created.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#admin_username ManagedDatabasePostgresql#admin_username}
*/
readonly adminUsername?: string;
/**
* Automatic utility network IP Filter. Automatically allow connections from servers in the utility network within the same zone.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#automatic_utility_network_ip_filter ManagedDatabasePostgresql#automatic_utility_network_ip_filter}
*/
readonly automaticUtilityNetworkIpFilter?: boolean | cdktf.IResolvable;
/**
* Specifies a fraction of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE (e.g. `0.2` for 20% of the table size). The default is `0.2`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#autovacuum_analyze_scale_factor ManagedDatabasePostgresql#autovacuum_analyze_scale_factor}
*/
readonly autovacuumAnalyzeScaleFactor?: number;
/**
* Specifies the minimum number of inserted, updated or deleted tuples needed to trigger an ANALYZE in any one table. The default is `50`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#autovacuum_analyze_threshold ManagedDatabasePostgresql#autovacuum_analyze_threshold}
*/
readonly autovacuumAnalyzeThreshold?: number;
/**
* 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. The system launches autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. Changing this parameter causes a service restart.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#autovacuum_freeze_max_age ManagedDatabasePostgresql#autovacuum_freeze_max_age}
*/
readonly autovacuumFreezeMaxAge?: number;
/**
* Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is `3`. Changing this parameter causes a service restart.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#autovacuum_max_workers ManagedDatabasePostgresql#autovacuum_max_workers}
*/
readonly autovacuumMaxWorkers?: number;
/**
* Specifies the minimum delay between autovacuum runs on any given database. The delay is measured in seconds. The default is `60`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#autovacuum_naptime ManagedDatabasePostgresql#autovacuum_naptime}
*/
readonly autovacuumNaptime?: number;
/**
* 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 is `2` (upstream default).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#autovacuum_vacuum_cost_delay ManagedDatabasePostgresql#autovacuum_vacuum_cost_delay}
*/
readonly autovacuumVacuumCostDelay?: number;
/**
* Specifies the cost limit value that will be used in automatic VACUUM operations. If `-1` is specified, the regular vacuum_cost_limit value will be used. The default is `-1` (upstream default).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#autovacuum_vacuum_cost_limit ManagedDatabasePostgresql#autovacuum_vacuum_cost_limit}
*/
readonly autovacuumVacuumCostLimit?: number;
/**
* Specifies a fraction of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM (e.g. `0.2` for 20% of the table size). The default is `0.2`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#autovacuum_vacuum_scale_factor ManagedDatabasePostgresql#autovacuum_vacuum_scale_factor}
*/
readonly autovacuumVacuumScaleFactor?: number;
/**
* Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is `50`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#autovacuum_vacuum_threshold ManagedDatabasePostgresql#autovacuum_vacuum_threshold}
*/
readonly autovacuumVacuumThreshold?: number;
/**
* The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#backup_hour ManagedDatabasePostgresql#backup_hour}
*/
readonly backupHour?: number;
/**
* The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#backup_minute ManagedDatabasePostgresql#backup_minute}
*/
readonly backupMinute?: number;
/**
* Specifies the delay between activity rounds for the background writer in milliseconds. The default is `200`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#bgwriter_delay ManagedDatabasePostgresql#bgwriter_delay}
*/
readonly bgwriterDelay?: number;
/**
* 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. Setting of 0 disables forced writeback. The default is `512`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#bgwriter_flush_after ManagedDatabasePostgresql#bgwriter_flush_after}
*/
readonly bgwriterFlushAfter?: number;
/**
* In each round, no more than this many buffers will be written by the background writer. Setting this to zero disables background writing. The default is `100`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#bgwriter_lru_maxpages ManagedDatabasePostgresql#bgwriter_lru_maxpages}
*/
readonly bgwriterLruMaxpages?: number;
/**
* 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`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#bgwriter_lru_multiplier ManagedDatabasePostgresql#bgwriter_lru_multiplier}
*/
readonly bgwriterLruMultiplier?: number;
/**
* This is the amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition. The default is `1000` (upstream default).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#deadlock_timeout ManagedDatabasePostgresql#deadlock_timeout}
*/
readonly deadlockTimeout?: number;
/**
* Specifies the default TOAST compression method for values of compressible columns. The default is `lz4`. Only available for PostgreSQL 14+.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#default_toast_compression ManagedDatabasePostgresql#default_toast_compression}
*/
readonly defaultToastCompression?: string;
/**
* Time out sessions with open transactions after this number of milliseconds.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#idle_in_transaction_session_timeout ManagedDatabasePostgresql#idle_in_transaction_session_timeout}
*/
readonly idleInTransactionSessionTimeout?: number;
/**
* IP filter. Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#ip_filter ManagedDatabasePostgresql#ip_filter}
*/
readonly ipFilter?: string[];
/**
* Controls system-wide use of Just-in-Time Compilation (JIT).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#jit ManagedDatabasePostgresql#jit}
*/
readonly jit?: boolean | cdktf.IResolvable;
/**
* 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 disables logging autovacuum actions. The default is `1000`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#log_autovacuum_min_duration ManagedDatabasePostgresql#log_autovacuum_min_duration}
*/
readonly logAutovacuumMinDuration?: number;
/**
* Controls the amount of detail written in the server log for each message that is logged.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#log_error_verbosity ManagedDatabasePostgresql#log_error_verbosity}
*/
readonly logErrorVerbosity?: string;
/**
* Choose from one of the available log formats.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/managed_database_postgresql#log_line_prefix ManagedDatabasePostgresql#log_line_prefix}
*/
readonly logLinePrefix?: string;
/**
* Log statements that take more than this number of milliseconds to run, -1 disables