@pulumi/digitalocean
Version:
A Pulumi package for creating and managing DigitalOcean cloud resources.
141 lines • 7.55 kB
JavaScript
;
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.DatabaseMysqlConfig = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("./utilities");
/**
* 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
* ```
*/
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, id, state, opts) {
return new DatabaseMysqlConfig(name, state, { ...opts, id: id });
}
/**
* 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) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === DatabaseMysqlConfig.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["backupHour"] = state?.backupHour;
resourceInputs["backupMinute"] = state?.backupMinute;
resourceInputs["binlogRetentionPeriod"] = state?.binlogRetentionPeriod;
resourceInputs["clusterId"] = state?.clusterId;
resourceInputs["connectTimeout"] = state?.connectTimeout;
resourceInputs["defaultTimeZone"] = state?.defaultTimeZone;
resourceInputs["groupConcatMaxLen"] = state?.groupConcatMaxLen;
resourceInputs["informationSchemaStatsExpiry"] = state?.informationSchemaStatsExpiry;
resourceInputs["innodbFtMinTokenSize"] = state?.innodbFtMinTokenSize;
resourceInputs["innodbFtServerStopwordTable"] = state?.innodbFtServerStopwordTable;
resourceInputs["innodbLockWaitTimeout"] = state?.innodbLockWaitTimeout;
resourceInputs["innodbLogBufferSize"] = state?.innodbLogBufferSize;
resourceInputs["innodbOnlineAlterLogMaxSize"] = state?.innodbOnlineAlterLogMaxSize;
resourceInputs["innodbPrintAllDeadlocks"] = state?.innodbPrintAllDeadlocks;
resourceInputs["innodbRollbackOnTimeout"] = state?.innodbRollbackOnTimeout;
resourceInputs["interactiveTimeout"] = state?.interactiveTimeout;
resourceInputs["internalTmpMemStorageEngine"] = state?.internalTmpMemStorageEngine;
resourceInputs["longQueryTime"] = state?.longQueryTime;
resourceInputs["maxAllowedPacket"] = state?.maxAllowedPacket;
resourceInputs["maxHeapTableSize"] = state?.maxHeapTableSize;
resourceInputs["netReadTimeout"] = state?.netReadTimeout;
resourceInputs["netWriteTimeout"] = state?.netWriteTimeout;
resourceInputs["slowQueryLog"] = state?.slowQueryLog;
resourceInputs["sortBufferSize"] = state?.sortBufferSize;
resourceInputs["sqlMode"] = state?.sqlMode;
resourceInputs["sqlRequirePrimaryKey"] = state?.sqlRequirePrimaryKey;
resourceInputs["tmpTableSize"] = state?.tmpTableSize;
resourceInputs["waitTimeout"] = state?.waitTimeout;
}
else {
const args = argsOrState;
if (args?.clusterId === undefined && !opts.urn) {
throw new Error("Missing required property 'clusterId'");
}
resourceInputs["backupHour"] = args?.backupHour;
resourceInputs["backupMinute"] = args?.backupMinute;
resourceInputs["binlogRetentionPeriod"] = args?.binlogRetentionPeriod;
resourceInputs["clusterId"] = args?.clusterId;
resourceInputs["connectTimeout"] = args?.connectTimeout;
resourceInputs["defaultTimeZone"] = args?.defaultTimeZone;
resourceInputs["groupConcatMaxLen"] = args?.groupConcatMaxLen;
resourceInputs["informationSchemaStatsExpiry"] = args?.informationSchemaStatsExpiry;
resourceInputs["innodbFtMinTokenSize"] = args?.innodbFtMinTokenSize;
resourceInputs["innodbFtServerStopwordTable"] = args?.innodbFtServerStopwordTable;
resourceInputs["innodbLockWaitTimeout"] = args?.innodbLockWaitTimeout;
resourceInputs["innodbLogBufferSize"] = args?.innodbLogBufferSize;
resourceInputs["innodbOnlineAlterLogMaxSize"] = args?.innodbOnlineAlterLogMaxSize;
resourceInputs["innodbPrintAllDeadlocks"] = args?.innodbPrintAllDeadlocks;
resourceInputs["innodbRollbackOnTimeout"] = args?.innodbRollbackOnTimeout;
resourceInputs["interactiveTimeout"] = args?.interactiveTimeout;
resourceInputs["internalTmpMemStorageEngine"] = args?.internalTmpMemStorageEngine;
resourceInputs["longQueryTime"] = args?.longQueryTime;
resourceInputs["maxAllowedPacket"] = args?.maxAllowedPacket;
resourceInputs["maxHeapTableSize"] = args?.maxHeapTableSize;
resourceInputs["netReadTimeout"] = args?.netReadTimeout;
resourceInputs["netWriteTimeout"] = args?.netWriteTimeout;
resourceInputs["slowQueryLog"] = args?.slowQueryLog;
resourceInputs["sortBufferSize"] = args?.sortBufferSize;
resourceInputs["sqlMode"] = args?.sqlMode;
resourceInputs["sqlRequirePrimaryKey"] = args?.sqlRequirePrimaryKey;
resourceInputs["tmpTableSize"] = args?.tmpTableSize;
resourceInputs["waitTimeout"] = args?.waitTimeout;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(DatabaseMysqlConfig.__pulumiType, name, resourceInputs, opts);
}
}
exports.DatabaseMysqlConfig = DatabaseMysqlConfig;
/** @internal */
DatabaseMysqlConfig.__pulumiType = 'digitalocean:index/databaseMysqlConfig:DatabaseMysqlConfig';
//# sourceMappingURL=databaseMysqlConfig.js.map