UNPKG

pulumi-time

Version:

A Pulumi provider for managing time-based resources and operations, dynamically bridged from the Terraform Time provider with support for delays, offsets, rotations, and time-based scheduling.

141 lines 5.58 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getEnv = getEnv; exports.getEnvBoolean = getEnvBoolean; exports.getEnvNumber = getEnvNumber; exports.getVersion = getVersion; exports.resourceOptsDefaults = resourceOptsDefaults; exports.lazyLoad = lazyLoad; exports.callAsync = callAsync; exports.getPackage = getPackage; const resproto = require("@pulumi/pulumi/proto/resource_pb"); const mutex = require("async-mutex"); const runtime = require("@pulumi/pulumi/runtime"); function getEnv(...vars) { for (const v of vars) { const value = process.env[v]; if (value) { return value; } } return undefined; } function getEnvBoolean(...vars) { const s = getEnv(...vars); if (s !== undefined) { // NOTE: these values are taken from https://golang.org/src/strconv/atob.go?s=351:391#L1, which is what // Terraform uses internally when parsing boolean values. if (["1", "t", "T", "true", "TRUE", "True"].find(v => v === s) !== undefined) { return true; } if (["0", "f", "F", "false", "FALSE", "False"].find(v => v === s) !== undefined) { return false; } } return undefined; } function getEnvNumber(...vars) { const s = getEnv(...vars); if (s !== undefined) { const f = parseFloat(s); if (!isNaN(f)) { return f; } } return undefined; } function getVersion() { let version = require('./package.json').version; // Node allows for the version to be prefixed by a "v", while semver doesn't. // If there is a v, strip it off. if (version.indexOf('v') === 0) { version = version.slice(1); } return version; } /** @internal */ function resourceOptsDefaults() { return { version: getVersion() }; } /** @internal */ function lazyLoad(exports, props, loadModule) { for (let property of props) { Object.defineProperty(exports, property, { enumerable: true, get: function () { return loadModule()[property]; }, }); } } /** @internal */ function callAsync(tok, props, res, opts) { return __awaiter(this, void 0, void 0, function* () { const o = runtime.call(tok, props, res); const value = yield o.promise(true /*withUnknowns*/); const isKnown = yield o.isKnown; const isSecret = yield o.isSecret; const problem = !isKnown ? "an unknown value" : isSecret ? "a secret value" : undefined; // Ingoring o.resources silently. They are typically non-empty, r.f() calls include r as a dependency. if (problem) { throw new Error(`Plain resource method "${tok}" incorrectly returned ${problem}. ` + "This is an error in the provider, please report this to the provider developer."); } // Extract a single property if requested. if (opts && opts.property) { return value[opts.property]; } return value; }); } const _packageLock = new mutex.Mutex(); var _packageRef = undefined; function getPackage() { return __awaiter(this, void 0, void 0, function* () { if (_packageRef === undefined) { if (!runtime.supportsParameterization()) { throw new Error("The Pulumi CLI does not support parameterization. Please update the Pulumi CLI"); } yield _packageLock.acquire(); if (_packageRef === undefined) { const monitor = runtime.getMonitor(); const params = new resproto.Parameterization(); params.setName("time"); params.setVersion("0.13.1"); params.setValue(Uint8Array.from(atob("eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL2hhc2hpY29ycC90aW1lIiwidmVyc2lvbiI6IjAuMTMuMSJ9fQ=="), c => c.charCodeAt(0))); const req = new resproto.RegisterPackageRequest(); req.setName("terraform-provider"); req.setVersion("0.8.0"); req.setDownloadUrl(""); req.setParameterization(params); const resp = yield new Promise((resolve, reject) => { monitor.registerPackage(req, (err, resp) => { if (err) { reject(err); } else { resolve(resp); } }); }); _packageRef = resp.getRef(); } _packageLock.release(); } return _packageRef; }); } //# sourceMappingURL=utilities.js.map