@pulumi/digitalocean
Version:
A Pulumi package for creating and managing DigitalOcean cloud resources.
408 lines (407 loc) • 18.2 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* Provides a virtual resource that can be used to change advanced configuration
* options for a DigitalOcean managed MySQL database cluster.
*
* > **Note** MySQL configurations are only removed from state when destroyed. The remote configuration is not unset.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as digitalocean from "@pulumi/digitalocean";
*
* const exampleDatabaseCluster = new digitalocean.DatabaseCluster("example", {
* name: "example-mysql-cluster",
* engine: "mysql",
* version: "8",
* size: digitalocean.DatabaseSlug.DB_1VPCU1GB,
* region: digitalocean.Region.NYC1,
* nodeCount: 1,
* });
* const example = new digitalocean.DatabaseMysqlConfig("example", {
* clusterId: exampleDatabaseCluster.id,
* connectTimeout: 10,
* defaultTimeZone: "UTC",
* });
* ```
*
* ## Import
*
* A MySQL database cluster's configuration can be imported using the `id` the parent cluster, e.g.
*
* ```sh
* $ pulumi import digitalocean:index/databaseMysqlConfig:DatabaseMysqlConfig example 4b62829a-9c42-465b-aaa3-84051048e712
* ```
*/
export declare class DatabaseMysqlConfig extends pulumi.CustomResource {
/**
* Get an existing DatabaseMysqlConfig 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<pulumi.ID>, state?: DatabaseMysqlConfigState, opts?: pulumi.CustomResourceOptions): DatabaseMysqlConfig;
/**
* Returns true if the given object is an instance of DatabaseMysqlConfig. 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 DatabaseMysqlConfig;
/**
* The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed.
*/
readonly backupHour: pulumi.Output<number>;
/**
* The minute of the backup hour when backup for the service starts. New backup only starts if previous backup has already completed.
*/
readonly backupMinute: pulumi.Output<number>;
/**
* The minimum amount of time, in seconds, to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default, for example if using the MySQL Debezium Kafka connector.
*/
readonly binlogRetentionPeriod: pulumi.Output<number>;
/**
* The ID of the target MySQL cluster.
*/
readonly clusterId: pulumi.Output<string>;
/**
* The number of seconds that the mysqld server waits for a connect packet before responding with bad handshake.
*/
readonly connectTimeout: pulumi.Output<number>;
/**
* Default server time zone, in the form of an offset from UTC (from -12:00 to +12:00), a time zone name (EST), or `SYSTEM` to use the MySQL server default.
*/
readonly defaultTimeZone: pulumi.Output<string>;
/**
* The maximum permitted result length, in bytes, for the `GROUP_CONCAT()` function.
*/
readonly groupConcatMaxLen: pulumi.Output<number>;
/**
* The time, in seconds, before cached statistics expire.
*/
readonly informationSchemaStatsExpiry: pulumi.Output<number>;
/**
* The minimum length of words that an InnoDB FULLTEXT index stores.
*/
readonly innodbFtMinTokenSize: pulumi.Output<number>;
/**
* The InnoDB FULLTEXT index stopword list for all InnoDB tables.
*/
readonly innodbFtServerStopwordTable: pulumi.Output<string>;
/**
* The time, in seconds, that an InnoDB transaction waits for a row lock. before giving up.
*/
readonly innodbLockWaitTimeout: pulumi.Output<number>;
/**
* The size of the buffer, in bytes, that InnoDB uses to write to the log files. on disk.
*/
readonly innodbLogBufferSize: pulumi.Output<number>;
/**
* The upper limit, in bytes, of the size of the temporary log files used during online DDL operations for InnoDB tables.
*/
readonly innodbOnlineAlterLogMaxSize: pulumi.Output<number>;
/**
* When enabled, records information about all deadlocks in InnoDB user transactions in the error log. Disabled by default.
*/
readonly innodbPrintAllDeadlocks: pulumi.Output<boolean>;
/**
* When enabled, transaction timeouts cause InnoDB to abort and roll back the entire transaction.
*/
readonly innodbRollbackOnTimeout: pulumi.Output<boolean>;
/**
* The time, in seconds, the server waits for activity on an interactive. connection before closing it.
*/
readonly interactiveTimeout: pulumi.Output<number>;
/**
* The storage engine for in-memory internal temporary tables. Supported values are: `TempTable`, `MEMORY`.
*/
readonly internalTmpMemStorageEngine: pulumi.Output<string>;
/**
* The time, in seconds, for a query to take to execute before being captured by `slowQueryLogs`. Default is `10` seconds.
*/
readonly longQueryTime: pulumi.Output<number>;
/**
* The size of the largest message, in bytes, that can be received by the server. Default is `67108864` (64M).
*/
readonly maxAllowedPacket: pulumi.Output<number>;
/**
* The maximum size, in bytes, of internal in-memory tables. Also set `tmpTableSize`. Default is `16777216` (16M)
*/
readonly maxHeapTableSize: pulumi.Output<number>;
/**
* The time, in seconds, to wait for more data from an existing connection. aborting the read.
*/
readonly netReadTimeout: pulumi.Output<number>;
/**
* The number of seconds to wait for a block to be written to a connection before aborting the write.
*/
readonly netWriteTimeout: pulumi.Output<number>;
/**
* When enabled, captures slow queries. When disabled, also truncates the mysql.slow_log table. Default is false.
*/
readonly slowQueryLog: pulumi.Output<boolean>;
/**
* The sort buffer size, in bytes, for `ORDER BY` optimization. Default is `262144`. (256K).
*/
readonly sortBufferSize: pulumi.Output<number>;
/**
* Global SQL mode. If empty, uses MySQL server defaults. Must only include uppercase alphabetic characters, underscores, and commas.
*/
readonly sqlMode: pulumi.Output<string>;
/**
* Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them.
*/
readonly sqlRequirePrimaryKey: pulumi.Output<boolean>;
/**
* The maximum size, in bytes, of internal in-memory tables. Also set `maxHeapTableSize`. Default is `16777216` (16M).
*/
readonly tmpTableSize: pulumi.Output<number>;
/**
* The number of seconds the server waits for activity on a noninteractive connection before closing it.
*/
readonly waitTimeout: pulumi.Output<number>;
/**
* Create a DatabaseMysqlConfig 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: DatabaseMysqlConfigArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering DatabaseMysqlConfig resources.
*/
export interface DatabaseMysqlConfigState {
/**
* The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed.
*/
backupHour?: pulumi.Input<number>;
/**
* The minute of the backup hour when backup for the service starts. New backup only starts if previous backup has already completed.
*/
backupMinute?: pulumi.Input<number>;
/**
* The minimum amount of time, in seconds, to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default, for example if using the MySQL Debezium Kafka connector.
*/
binlogRetentionPeriod?: pulumi.Input<number>;
/**
* The ID of the target MySQL cluster.
*/
clusterId?: pulumi.Input<string>;
/**
* The number of seconds that the mysqld server waits for a connect packet before responding with bad handshake.
*/
connectTimeout?: pulumi.Input<number>;
/**
* Default server time zone, in the form of an offset from UTC (from -12:00 to +12:00), a time zone name (EST), or `SYSTEM` to use the MySQL server default.
*/
defaultTimeZone?: pulumi.Input<string>;
/**
* The maximum permitted result length, in bytes, for the `GROUP_CONCAT()` function.
*/
groupConcatMaxLen?: pulumi.Input<number>;
/**
* The time, in seconds, before cached statistics expire.
*/
informationSchemaStatsExpiry?: pulumi.Input<number>;
/**
* The minimum length of words that an InnoDB FULLTEXT index stores.
*/
innodbFtMinTokenSize?: pulumi.Input<number>;
/**
* The InnoDB FULLTEXT index stopword list for all InnoDB tables.
*/
innodbFtServerStopwordTable?: pulumi.Input<string>;
/**
* The time, in seconds, that an InnoDB transaction waits for a row lock. before giving up.
*/
innodbLockWaitTimeout?: pulumi.Input<number>;
/**
* The size of the buffer, in bytes, that InnoDB uses to write to the log files. on disk.
*/
innodbLogBufferSize?: pulumi.Input<number>;
/**
* The upper limit, in bytes, of the size of the temporary log files used during online DDL operations for InnoDB tables.
*/
innodbOnlineAlterLogMaxSize?: pulumi.Input<number>;
/**
* When enabled, records information about all deadlocks in InnoDB user transactions in the error log. Disabled by default.
*/
innodbPrintAllDeadlocks?: pulumi.Input<boolean>;
/**
* When enabled, transaction timeouts cause InnoDB to abort and roll back the entire transaction.
*/
innodbRollbackOnTimeout?: pulumi.Input<boolean>;
/**
* The time, in seconds, the server waits for activity on an interactive. connection before closing it.
*/
interactiveTimeout?: pulumi.Input<number>;
/**
* The storage engine for in-memory internal temporary tables. Supported values are: `TempTable`, `MEMORY`.
*/
internalTmpMemStorageEngine?: pulumi.Input<string>;
/**
* The time, in seconds, for a query to take to execute before being captured by `slowQueryLogs`. Default is `10` seconds.
*/
longQueryTime?: pulumi.Input<number>;
/**
* The size of the largest message, in bytes, that can be received by the server. Default is `67108864` (64M).
*/
maxAllowedPacket?: pulumi.Input<number>;
/**
* The maximum size, in bytes, of internal in-memory tables. Also set `tmpTableSize`. Default is `16777216` (16M)
*/
maxHeapTableSize?: pulumi.Input<number>;
/**
* The time, in seconds, to wait for more data from an existing connection. aborting the read.
*/
netReadTimeout?: pulumi.Input<number>;
/**
* The number of seconds to wait for a block to be written to a connection before aborting the write.
*/
netWriteTimeout?: pulumi.Input<number>;
/**
* When enabled, captures slow queries. When disabled, also truncates the mysql.slow_log table. Default is false.
*/
slowQueryLog?: pulumi.Input<boolean>;
/**
* The sort buffer size, in bytes, for `ORDER BY` optimization. Default is `262144`. (256K).
*/
sortBufferSize?: pulumi.Input<number>;
/**
* Global SQL mode. If empty, uses MySQL server defaults. Must only include uppercase alphabetic characters, underscores, and commas.
*/
sqlMode?: pulumi.Input<string>;
/**
* Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them.
*/
sqlRequirePrimaryKey?: pulumi.Input<boolean>;
/**
* The maximum size, in bytes, of internal in-memory tables. Also set `maxHeapTableSize`. Default is `16777216` (16M).
*/
tmpTableSize?: pulumi.Input<number>;
/**
* The number of seconds the server waits for activity on a noninteractive connection before closing it.
*/
waitTimeout?: pulumi.Input<number>;
}
/**
* The set of arguments for constructing a DatabaseMysqlConfig resource.
*/
export interface DatabaseMysqlConfigArgs {
/**
* The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed.
*/
backupHour?: pulumi.Input<number>;
/**
* The minute of the backup hour when backup for the service starts. New backup only starts if previous backup has already completed.
*/
backupMinute?: pulumi.Input<number>;
/**
* The minimum amount of time, in seconds, to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default, for example if using the MySQL Debezium Kafka connector.
*/
binlogRetentionPeriod?: pulumi.Input<number>;
/**
* The ID of the target MySQL cluster.
*/
clusterId: pulumi.Input<string>;
/**
* The number of seconds that the mysqld server waits for a connect packet before responding with bad handshake.
*/
connectTimeout?: pulumi.Input<number>;
/**
* Default server time zone, in the form of an offset from UTC (from -12:00 to +12:00), a time zone name (EST), or `SYSTEM` to use the MySQL server default.
*/
defaultTimeZone?: pulumi.Input<string>;
/**
* The maximum permitted result length, in bytes, for the `GROUP_CONCAT()` function.
*/
groupConcatMaxLen?: pulumi.Input<number>;
/**
* The time, in seconds, before cached statistics expire.
*/
informationSchemaStatsExpiry?: pulumi.Input<number>;
/**
* The minimum length of words that an InnoDB FULLTEXT index stores.
*/
innodbFtMinTokenSize?: pulumi.Input<number>;
/**
* The InnoDB FULLTEXT index stopword list for all InnoDB tables.
*/
innodbFtServerStopwordTable?: pulumi.Input<string>;
/**
* The time, in seconds, that an InnoDB transaction waits for a row lock. before giving up.
*/
innodbLockWaitTimeout?: pulumi.Input<number>;
/**
* The size of the buffer, in bytes, that InnoDB uses to write to the log files. on disk.
*/
innodbLogBufferSize?: pulumi.Input<number>;
/**
* The upper limit, in bytes, of the size of the temporary log files used during online DDL operations for InnoDB tables.
*/
innodbOnlineAlterLogMaxSize?: pulumi.Input<number>;
/**
* When enabled, records information about all deadlocks in InnoDB user transactions in the error log. Disabled by default.
*/
innodbPrintAllDeadlocks?: pulumi.Input<boolean>;
/**
* When enabled, transaction timeouts cause InnoDB to abort and roll back the entire transaction.
*/
innodbRollbackOnTimeout?: pulumi.Input<boolean>;
/**
* The time, in seconds, the server waits for activity on an interactive. connection before closing it.
*/
interactiveTimeout?: pulumi.Input<number>;
/**
* The storage engine for in-memory internal temporary tables. Supported values are: `TempTable`, `MEMORY`.
*/
internalTmpMemStorageEngine?: pulumi.Input<string>;
/**
* The time, in seconds, for a query to take to execute before being captured by `slowQueryLogs`. Default is `10` seconds.
*/
longQueryTime?: pulumi.Input<number>;
/**
* The size of the largest message, in bytes, that can be received by the server. Default is `67108864` (64M).
*/
maxAllowedPacket?: pulumi.Input<number>;
/**
* The maximum size, in bytes, of internal in-memory tables. Also set `tmpTableSize`. Default is `16777216` (16M)
*/
maxHeapTableSize?: pulumi.Input<number>;
/**
* The time, in seconds, to wait for more data from an existing connection. aborting the read.
*/
netReadTimeout?: pulumi.Input<number>;
/**
* The number of seconds to wait for a block to be written to a connection before aborting the write.
*/
netWriteTimeout?: pulumi.Input<number>;
/**
* When enabled, captures slow queries. When disabled, also truncates the mysql.slow_log table. Default is false.
*/
slowQueryLog?: pulumi.Input<boolean>;
/**
* The sort buffer size, in bytes, for `ORDER BY` optimization. Default is `262144`. (256K).
*/
sortBufferSize?: pulumi.Input<number>;
/**
* Global SQL mode. If empty, uses MySQL server defaults. Must only include uppercase alphabetic characters, underscores, and commas.
*/
sqlMode?: pulumi.Input<string>;
/**
* Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them.
*/
sqlRequirePrimaryKey?: pulumi.Input<boolean>;
/**
* The maximum size, in bytes, of internal in-memory tables. Also set `maxHeapTableSize`. Default is `16777216` (16M).
*/
tmpTableSize?: pulumi.Input<number>;
/**
* The number of seconds the server waits for activity on a noninteractive connection before closing it.
*/
waitTimeout?: pulumi.Input<number>;
}