import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * This resource represents MySQL 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.ManagedDatabaseMysql("example_1", { * name: "mysql-1", * title: "mysql-1-example-1", * plan: "1x1xCPU-2GB-25GB", * zone: "fi-hel1", * }); * // Shutdown instance after creation * const example2 = new upcloud.ManagedDatabaseMysql("example_2", { * name: "mysql-2", * title: "mysql-2-example-2", * plan: "1x1xCPU-2GB-25GB", * zone: "fi-hel1", * powered: false, * }); * // Service with custom properties * // Note that this basically sets strict mode off which is not normally recommended * const example3 = new upcloud.ManagedDatabaseMysql("example_3", { * name: "mysql-3", * title: "mysql-3-example-3", * plan: "1x1xCPU-2GB-25GB", * zone: "fi-hel1", * properties: { * sqlMode: "NO_ENGINE_SUBSTITUTION", * waitTimeout: 300, * sortBufferSize: 4000000, * maxAllowedPacket: 16000000, * adminUsername: "admin", * adminPassword: "", * }, * }); * ``` */ export declare class ManagedDatabaseMysql extends pulumi.CustomResource { /** * Get an existing ManagedDatabaseMysql 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?: ManagedDatabaseMysqlState, opts?: pulumi.CustomResourceOptions): ManagedDatabaseMysql; /** * Returns true if the given object is an instance of ManagedDatabaseMysql. 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 ManagedDatabaseMysql; /** * 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 mysql`. */ 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; /** * 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 ManagedDatabaseMysql 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: ManagedDatabaseMysqlArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ManagedDatabaseMysql resources. */ export interface ManagedDatabaseMysqlState { /** * 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 mysql`. */ 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; /** * 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 ManagedDatabaseMysql resource. */ export interface ManagedDatabaseMysqlArgs { /** * 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 mysql`. */ 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; }