@pulumi/digitalocean
Version:
A Pulumi package for creating and managing DigitalOcean cloud resources.
191 lines • 11.6 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.DatabasePostgresqlConfig = 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 PostgreSQL database cluster.
*
* > **Note** PostgreSQL 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-postgresql-cluster",
* engine: "pg",
* version: "15",
* size: digitalocean.DatabaseSlug.DB_1VPCU1GB,
* region: digitalocean.Region.NYC1,
* nodeCount: 1,
* });
* const example = new digitalocean.DatabasePostgresqlConfig("example", {
* clusterId: exampleDatabaseCluster.id,
* timezone: "UTC",
* workMem: 16,
* });
* ```
*
* ## Import
*
* A PostgreSQL database cluster's configuration can be imported using the `id` the parent cluster, e.g.
*
* bash
*
* ```sh
* $ pulumi import digitalocean:index/databasePostgresqlConfig:DatabasePostgresqlConfig example 52556c07-788e-4d41-b8a7-c796432197d1
* ```
*/
class DatabasePostgresqlConfig extends pulumi.CustomResource {
/**
* Get an existing DatabasePostgresqlConfig 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 DatabasePostgresqlConfig(name, state, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of DatabasePostgresqlConfig. 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'] === DatabasePostgresqlConfig.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["autovacuumAnalyzeScaleFactor"] = state?.autovacuumAnalyzeScaleFactor;
resourceInputs["autovacuumAnalyzeThreshold"] = state?.autovacuumAnalyzeThreshold;
resourceInputs["autovacuumFreezeMaxAge"] = state?.autovacuumFreezeMaxAge;
resourceInputs["autovacuumMaxWorkers"] = state?.autovacuumMaxWorkers;
resourceInputs["autovacuumNaptime"] = state?.autovacuumNaptime;
resourceInputs["autovacuumVacuumCostDelay"] = state?.autovacuumVacuumCostDelay;
resourceInputs["autovacuumVacuumCostLimit"] = state?.autovacuumVacuumCostLimit;
resourceInputs["autovacuumVacuumScaleFactor"] = state?.autovacuumVacuumScaleFactor;
resourceInputs["autovacuumVacuumThreshold"] = state?.autovacuumVacuumThreshold;
resourceInputs["backupHour"] = state?.backupHour;
resourceInputs["backupMinute"] = state?.backupMinute;
resourceInputs["bgwriterDelay"] = state?.bgwriterDelay;
resourceInputs["bgwriterFlushAfter"] = state?.bgwriterFlushAfter;
resourceInputs["bgwriterLruMaxpages"] = state?.bgwriterLruMaxpages;
resourceInputs["bgwriterLruMultiplier"] = state?.bgwriterLruMultiplier;
resourceInputs["clusterId"] = state?.clusterId;
resourceInputs["deadlockTimeout"] = state?.deadlockTimeout;
resourceInputs["defaultToastCompression"] = state?.defaultToastCompression;
resourceInputs["idleInTransactionSessionTimeout"] = state?.idleInTransactionSessionTimeout;
resourceInputs["jit"] = state?.jit;
resourceInputs["logAutovacuumMinDuration"] = state?.logAutovacuumMinDuration;
resourceInputs["logErrorVerbosity"] = state?.logErrorVerbosity;
resourceInputs["logLinePrefix"] = state?.logLinePrefix;
resourceInputs["logMinDurationStatement"] = state?.logMinDurationStatement;
resourceInputs["maxFilesPerProcess"] = state?.maxFilesPerProcess;
resourceInputs["maxLocksPerTransaction"] = state?.maxLocksPerTransaction;
resourceInputs["maxLogicalReplicationWorkers"] = state?.maxLogicalReplicationWorkers;
resourceInputs["maxParallelWorkers"] = state?.maxParallelWorkers;
resourceInputs["maxParallelWorkersPerGather"] = state?.maxParallelWorkersPerGather;
resourceInputs["maxPredLocksPerTransaction"] = state?.maxPredLocksPerTransaction;
resourceInputs["maxPreparedTransactions"] = state?.maxPreparedTransactions;
resourceInputs["maxReplicationSlots"] = state?.maxReplicationSlots;
resourceInputs["maxStackDepth"] = state?.maxStackDepth;
resourceInputs["maxStandbyArchiveDelay"] = state?.maxStandbyArchiveDelay;
resourceInputs["maxStandbyStreamingDelay"] = state?.maxStandbyStreamingDelay;
resourceInputs["maxWalSenders"] = state?.maxWalSenders;
resourceInputs["maxWorkerProcesses"] = state?.maxWorkerProcesses;
resourceInputs["pgPartmanBgwInterval"] = state?.pgPartmanBgwInterval;
resourceInputs["pgPartmanBgwRole"] = state?.pgPartmanBgwRole;
resourceInputs["pgStatStatementsTrack"] = state?.pgStatStatementsTrack;
resourceInputs["pgbouncers"] = state?.pgbouncers;
resourceInputs["sharedBuffersPercentage"] = state?.sharedBuffersPercentage;
resourceInputs["tempFileLimit"] = state?.tempFileLimit;
resourceInputs["timescaledbs"] = state?.timescaledbs;
resourceInputs["timezone"] = state?.timezone;
resourceInputs["trackActivityQuerySize"] = state?.trackActivityQuerySize;
resourceInputs["trackCommitTimestamp"] = state?.trackCommitTimestamp;
resourceInputs["trackFunctions"] = state?.trackFunctions;
resourceInputs["trackIoTiming"] = state?.trackIoTiming;
resourceInputs["walSenderTimeout"] = state?.walSenderTimeout;
resourceInputs["walWriterDelay"] = state?.walWriterDelay;
resourceInputs["workMem"] = state?.workMem;
}
else {
const args = argsOrState;
if (args?.clusterId === undefined && !opts.urn) {
throw new Error("Missing required property 'clusterId'");
}
resourceInputs["autovacuumAnalyzeScaleFactor"] = args?.autovacuumAnalyzeScaleFactor;
resourceInputs["autovacuumAnalyzeThreshold"] = args?.autovacuumAnalyzeThreshold;
resourceInputs["autovacuumFreezeMaxAge"] = args?.autovacuumFreezeMaxAge;
resourceInputs["autovacuumMaxWorkers"] = args?.autovacuumMaxWorkers;
resourceInputs["autovacuumNaptime"] = args?.autovacuumNaptime;
resourceInputs["autovacuumVacuumCostDelay"] = args?.autovacuumVacuumCostDelay;
resourceInputs["autovacuumVacuumCostLimit"] = args?.autovacuumVacuumCostLimit;
resourceInputs["autovacuumVacuumScaleFactor"] = args?.autovacuumVacuumScaleFactor;
resourceInputs["autovacuumVacuumThreshold"] = args?.autovacuumVacuumThreshold;
resourceInputs["backupHour"] = args?.backupHour;
resourceInputs["backupMinute"] = args?.backupMinute;
resourceInputs["bgwriterDelay"] = args?.bgwriterDelay;
resourceInputs["bgwriterFlushAfter"] = args?.bgwriterFlushAfter;
resourceInputs["bgwriterLruMaxpages"] = args?.bgwriterLruMaxpages;
resourceInputs["bgwriterLruMultiplier"] = args?.bgwriterLruMultiplier;
resourceInputs["clusterId"] = args?.clusterId;
resourceInputs["deadlockTimeout"] = args?.deadlockTimeout;
resourceInputs["defaultToastCompression"] = args?.defaultToastCompression;
resourceInputs["idleInTransactionSessionTimeout"] = args?.idleInTransactionSessionTimeout;
resourceInputs["jit"] = args?.jit;
resourceInputs["logAutovacuumMinDuration"] = args?.logAutovacuumMinDuration;
resourceInputs["logErrorVerbosity"] = args?.logErrorVerbosity;
resourceInputs["logLinePrefix"] = args?.logLinePrefix;
resourceInputs["logMinDurationStatement"] = args?.logMinDurationStatement;
resourceInputs["maxFilesPerProcess"] = args?.maxFilesPerProcess;
resourceInputs["maxLocksPerTransaction"] = args?.maxLocksPerTransaction;
resourceInputs["maxLogicalReplicationWorkers"] = args?.maxLogicalReplicationWorkers;
resourceInputs["maxParallelWorkers"] = args?.maxParallelWorkers;
resourceInputs["maxParallelWorkersPerGather"] = args?.maxParallelWorkersPerGather;
resourceInputs["maxPredLocksPerTransaction"] = args?.maxPredLocksPerTransaction;
resourceInputs["maxPreparedTransactions"] = args?.maxPreparedTransactions;
resourceInputs["maxReplicationSlots"] = args?.maxReplicationSlots;
resourceInputs["maxStackDepth"] = args?.maxStackDepth;
resourceInputs["maxStandbyArchiveDelay"] = args?.maxStandbyArchiveDelay;
resourceInputs["maxStandbyStreamingDelay"] = args?.maxStandbyStreamingDelay;
resourceInputs["maxWalSenders"] = args?.maxWalSenders;
resourceInputs["maxWorkerProcesses"] = args?.maxWorkerProcesses;
resourceInputs["pgPartmanBgwInterval"] = args?.pgPartmanBgwInterval;
resourceInputs["pgPartmanBgwRole"] = args?.pgPartmanBgwRole;
resourceInputs["pgStatStatementsTrack"] = args?.pgStatStatementsTrack;
resourceInputs["pgbouncers"] = args?.pgbouncers;
resourceInputs["sharedBuffersPercentage"] = args?.sharedBuffersPercentage;
resourceInputs["tempFileLimit"] = args?.tempFileLimit;
resourceInputs["timescaledbs"] = args?.timescaledbs;
resourceInputs["timezone"] = args?.timezone;
resourceInputs["trackActivityQuerySize"] = args?.trackActivityQuerySize;
resourceInputs["trackCommitTimestamp"] = args?.trackCommitTimestamp;
resourceInputs["trackFunctions"] = args?.trackFunctions;
resourceInputs["trackIoTiming"] = args?.trackIoTiming;
resourceInputs["walSenderTimeout"] = args?.walSenderTimeout;
resourceInputs["walWriterDelay"] = args?.walWriterDelay;
resourceInputs["workMem"] = args?.workMem;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(DatabasePostgresqlConfig.__pulumiType, name, resourceInputs, opts);
}
}
exports.DatabasePostgresqlConfig = DatabasePostgresqlConfig;
/** @internal */
DatabasePostgresqlConfig.__pulumiType = 'digitalocean:index/databasePostgresqlConfig:DatabasePostgresqlConfig';
//# sourceMappingURL=databasePostgresqlConfig.js.map