UNPKG

@pulumi/nomad

Version:

A Pulumi package for creating and managing nomad cloud resources.

110 lines 3.86 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! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.Namespace = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("./utilities"); /** * Provisions a namespace within a Nomad cluster. * * Nomad auto-generates a default namespace called `default`. This namespace * cannot be removed, so destroying a `nomad.Namespace` resource where * `name = "default"` will cause the namespace to be reset to its default * configuration. * * ## Example Usage * * Registering a namespace: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as nomad from "@pulumi/nomad"; * * const dev = new nomad.Namespace("dev", { * name: "dev", * description: "Shared development environment.", * quota: "dev", * meta: { * owner: "John Doe", * foo: "bar", * }, * }); * ``` * * Registering a namespace with a quota: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as nomad from "@pulumi/nomad"; * * const webTeam = new nomad.QuoteSpecification("web_team", { * name: "web-team", * description: "web team quota", * limits: [{ * region: "global", * regionLimit: { * cpu: 1000, * memoryMb: 256, * }, * }], * }); * const web = new nomad.Namespace("web", { * name: "web", * description: "Web team production environment.", * quota: webTeam.name, * }); * ``` */ class Namespace extends pulumi.CustomResource { /** * Get an existing Namespace 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 Namespace(name, state, { ...opts, id: id }); } /** * Returns true if the given object is an instance of Namespace. 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'] === Namespace.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["capabilities"] = state?.capabilities; resourceInputs["description"] = state?.description; resourceInputs["meta"] = state?.meta; resourceInputs["name"] = state?.name; resourceInputs["nodePoolConfig"] = state?.nodePoolConfig; resourceInputs["quota"] = state?.quota; } else { const args = argsOrState; resourceInputs["capabilities"] = args?.capabilities; resourceInputs["description"] = args?.description; resourceInputs["meta"] = args?.meta; resourceInputs["name"] = args?.name; resourceInputs["nodePoolConfig"] = args?.nodePoolConfig; resourceInputs["quota"] = args?.quota; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Namespace.__pulumiType, name, resourceInputs, opts); } } exports.Namespace = Namespace; /** @internal */ Namespace.__pulumiType = 'nomad:index/namespace:Namespace'; //# sourceMappingURL=namespace.js.map