UNPKG

@studion/infra-code-blocks

Version:
35 lines (34 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UpstashRedis = void 0; const pulumi = require("@pulumi/pulumi"); const upstash = require("@upstash/pulumi"); const password_1 = require("../password"); const merge_with_defaults_1 = require("../../shared/merge-with-defaults"); const defaults = { region: 'global', primaryRegion: 'us-east-1', }; class UpstashRedis extends pulumi.ComponentResource { name; instance; password; constructor(name, args, opts = {}) { super('studion:redis:UpstashRedis', name, {}, { ...opts, aliases: [...(opts.aliases || []), { type: 'studion:Redis' }], }); const argsWithDefaults = (0, merge_with_defaults_1.mergeWithDefaults)(defaults, args); this.name = name; this.instance = new upstash.RedisDatabase(`${this.name}-database`, { databaseName: argsWithDefaults.dbName, region: argsWithDefaults.region, primaryRegion: argsWithDefaults.primaryRegion, eviction: true, tls: true, }, { parent: this }); this.password = new password_1.Password(`${this.name}-database-password`, { value: this.instance.password }, { parent: this }); this.registerOutputs(); } } exports.UpstashRedis = UpstashRedis;