import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * This resource represents PostgreSQL managed database. See UpCloud [Managed Databases](https://upcloud.com/products/managed-databases) product page for more details about the service. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as upcloud from "@upcloud/pulumi-upcloud"; * * // Minimal config * const example1 = new upcloud.ManagedDatabasePostgresql("example_1", { * name: "postgres-1", * plan: "1x1xCPU-2GB-25GB", * title: "postgres", * zone: "fi-hel1", * }); * // Service with custom properties * const example2 = new upcloud.ManagedDatabasePostgresql("example_2", { * name: "postgres-2", * plan: "1x1xCPU-2GB-25GB", * title: "postgres", * zone: "fi-hel1", * properties: { * timezone: "Europe/Helsinki", * adminUsername: "admin", * adminPassword: "", * }, * }); * ``` */ export declare class ManagedDatabasePostgresql extends pulumi.CustomResource { /** * Get an existing ManagedDatabasePostgresql resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ManagedDatabasePostgresqlState, opts?: pulumi.CustomResourceOptions): ManagedDatabasePostgresql; /** * Returns true if the given object is an instance of ManagedDatabasePostgresql. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ManagedDatabasePostgresql; /** * Additional disk space in GiB. Note that changes in additional disk space might require disk maintenance. This pending maintenance blocks some operations, such as version upgrades, until the maintenance is completed. */ readonly additionalDiskSpaceGib: pulumi.Output; /** * Service component information */ readonly components: pulumi.Output; /** * User defined key-value pairs to classify the database. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; /** * Maintenance window day of week. Lower case weekday name (monday, tuesday, ...) */ readonly maintenanceWindowDow: pulumi.Output; /** * Maintenance window UTC time in hh:mm:ss format */ readonly maintenanceWindowTime: pulumi.Output; /** * Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account */ readonly name: pulumi.Output; /** * Private networks attached to the managed database */ readonly networks: pulumi.Output; /** * Information about nodes providing the managed service */ readonly nodeStates: pulumi.Output; /** * Service plan to use. This determines how much resources the instance will have. You can list available plans with `upctl database plans pg`. */ readonly plan: pulumi.Output; /** * The administrative power state of the service */ readonly powered: pulumi.Output; /** * Primary database name */ readonly primaryDatabase: pulumi.Output; /** * Database engine properties. */ readonly properties: pulumi.Output; /** * Hostname to the service instance */ readonly serviceHost: pulumi.Output; /** * Primary password to the service instance */ readonly servicePassword: pulumi.Output; /** * Port to the service instance */ readonly servicePort: pulumi.Output; /** * URI to the service instance */ readonly serviceUri: pulumi.Output; /** * Primary username to the service instance */ readonly serviceUsername: pulumi.Output; /** * SSL Connection Mode for PostgreSQL */ readonly sslmode: pulumi.Output; /** * The current state of the service */ readonly state: pulumi.Output; /** * If set to true, prevents the managed service from being powered off, or deleted. */ readonly terminationProtection: pulumi.Output; /** * Title of the managed database instance */ readonly title: pulumi.Output; /** * Type of the managed database instance */ readonly type: pulumi.Output; /** * Zone where the instance resides, e.g. `de-fra1`. You can list available zones with `upctl zone list`. */ readonly zone: pulumi.Output; /** * Create a ManagedDatabasePostgresql resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ManagedDatabasePostgresqlArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ManagedDatabasePostgresql resources. */ export interface ManagedDatabasePostgresqlState { /** * Additional disk space in GiB. Note that changes in additional disk space might require disk maintenance. This pending maintenance blocks some operations, such as version upgrades, until the maintenance is completed. */ additionalDiskSpaceGib?: pulumi.Input; /** * Service component information */ components?: pulumi.Input[]>; /** * User defined key-value pairs to classify the database. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Maintenance window day of week. Lower case weekday name (monday, tuesday, ...) */ maintenanceWindowDow?: pulumi.Input; /** * Maintenance window UTC time in hh:mm:ss format */ maintenanceWindowTime?: pulumi.Input; /** * Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account */ name?: pulumi.Input; /** * Private networks attached to the managed database */ networks?: pulumi.Input[]>; /** * Information about nodes providing the managed service */ nodeStates?: pulumi.Input[]>; /** * Service plan to use. This determines how much resources the instance will have. You can list available plans with `upctl database plans pg`. */ plan?: pulumi.Input; /** * The administrative power state of the service */ powered?: pulumi.Input; /** * Primary database name */ primaryDatabase?: pulumi.Input; /** * Database engine properties. */ properties?: pulumi.Input; /** * Hostname to the service instance */ serviceHost?: pulumi.Input; /** * Primary password to the service instance */ servicePassword?: pulumi.Input; /** * Port to the service instance */ servicePort?: pulumi.Input; /** * URI to the service instance */ serviceUri?: pulumi.Input; /** * Primary username to the service instance */ serviceUsername?: pulumi.Input; /** * SSL Connection Mode for PostgreSQL */ sslmode?: pulumi.Input; /** * The current state of the service */ state?: pulumi.Input; /** * If set to true, prevents the managed service from being powered off, or deleted. */ terminationProtection?: pulumi.Input; /** * Title of the managed database instance */ title?: pulumi.Input; /** * Type of the managed database instance */ type?: pulumi.Input; /** * Zone where the instance resides, e.g. `de-fra1`. You can list available zones with `upctl zone list`. */ zone?: pulumi.Input; } /** * The set of arguments for constructing a ManagedDatabasePostgresql resource. */ export interface ManagedDatabasePostgresqlArgs { /** * Additional disk space in GiB. Note that changes in additional disk space might require disk maintenance. This pending maintenance blocks some operations, such as version upgrades, until the maintenance is completed. */ additionalDiskSpaceGib?: pulumi.Input; /** * User defined key-value pairs to classify the database. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Maintenance window day of week. Lower case weekday name (monday, tuesday, ...) */ maintenanceWindowDow?: pulumi.Input; /** * Maintenance window UTC time in hh:mm:ss format */ maintenanceWindowTime?: pulumi.Input; /** * Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account */ name?: pulumi.Input; /** * Private networks attached to the managed database */ networks?: pulumi.Input[]>; /** * Service plan to use. This determines how much resources the instance will have. You can list available plans with `upctl database plans pg`. */ plan: pulumi.Input; /** * The administrative power state of the service */ powered?: pulumi.Input; /** * Database engine properties. */ properties?: pulumi.Input; /** * If set to true, prevents the managed service from being powered off, or deleted. */ terminationProtection?: pulumi.Input; /** * Title of the managed database instance */ title: pulumi.Input; /** * Zone where the instance resides, e.g. `de-fra1`. You can list available zones with `upctl zone list`. */ zone: pulumi.Input; }