@pulumi/juniper-mist
Version:
A Pulumi package for creating and managing Juniper Mist resources.
99 lines • 3.89 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.Inventory = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
/**
* This resource manages the Org Inventory.
*
* It can be used to claim, unclaim, assign, unassign, reassign devices.
*
* ->Removing a device from the `devices` list or `inventory` map will NOT release it unless `unclaimWhenDestroyed` is set to `true`
*
* !> The `devices` attribute (List) is deprecated and is replaced by the `inventory` attribute (Map) as it can generate "inconsistent result after apply" errors. If this happens, it is required to force a refresh of the state to synchronise the new list.\
* The `devices` attribute will generate inconsistent result after apply when a device other than the last one is removed from the list or when a device is added somewhere other than the end of the list
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as junipermist from "@pulumi/juniper-mist";
*
* const inventory = new junipermist.org.Inventory("inventory", {
* orgId: terraformTest.id,
* inventory: {
* CPKL2EXXXXXXXXX: {},
* G87JHBFXXXXXXXX: {
* siteId: terraformSite.id,
* unclaimWhenDestroyed: true,
* },
* "2c2131000000": {
* siteId: terraformSite.id,
* unclaimWhenDestroyed: true,
* },
* "2c2131000001": {
* unclaimWhenDestroyed: false,
* },
* },
* });
* ```
*
* ## Import
*
* Using `pulumi import`, import `mist_org_inventory` with:
*
* Org Inventory can be imported by specifying the org_id
*
* ```sh
* $ pulumi import junipermist:org/inventory:Inventory inventory_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a
* ```
*/
class Inventory extends pulumi.CustomResource {
/**
* Get an existing Inventory 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 Inventory(name, state, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of Inventory. 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'] === Inventory.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["inventory"] = state?.inventory;
resourceInputs["orgId"] = state?.orgId;
}
else {
const args = argsOrState;
if (args?.orgId === undefined && !opts.urn) {
throw new Error("Missing required property 'orgId'");
}
resourceInputs["inventory"] = args?.inventory;
resourceInputs["orgId"] = args?.orgId;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(Inventory.__pulumiType, name, resourceInputs, opts);
}
}
exports.Inventory = Inventory;
/** @internal */
Inventory.__pulumiType = 'junipermist:org/inventory:Inventory';
//# sourceMappingURL=inventory.js.map