@natzka-oss/pulumi-netbox
Version:
A Pulumi package for creating and managing Netbox cloud resources.
77 lines • 4.22 kB
JavaScript
;
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.Interface = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
/**
* From the [official documentation](https://docs.netbox.dev/en/stable/features/virtualization/#interfaces):
*
* > Virtual machine interfaces behave similarly to device interfaces, and can be assigned to VRFs, and may have IP addresses, VLANs, and services attached to them. However, given their virtual nature, they lack properties pertaining to physical attributes. For example, VM interfaces do not have a physical type and cannot have cables attached to them.
*/
class Interface extends pulumi.CustomResource {
/**
* Get an existing Interface 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 Interface(name, state, Object.assign(Object.assign({}, opts), { id: id }));
}
/**
* Returns true if the given object is an instance of Interface. 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'] === Interface.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["description"] = state ? state.description : undefined;
resourceInputs["enabled"] = state ? state.enabled : undefined;
resourceInputs["macAddress"] = state ? state.macAddress : undefined;
resourceInputs["mode"] = state ? state.mode : undefined;
resourceInputs["mtu"] = state ? state.mtu : undefined;
resourceInputs["name"] = state ? state.name : undefined;
resourceInputs["taggedVlans"] = state ? state.taggedVlans : undefined;
resourceInputs["tags"] = state ? state.tags : undefined;
resourceInputs["type"] = state ? state.type : undefined;
resourceInputs["untaggedVlan"] = state ? state.untaggedVlan : undefined;
resourceInputs["virtualMachineId"] = state ? state.virtualMachineId : undefined;
}
else {
const args = argsOrState;
if ((!args || args.virtualMachineId === undefined) && !opts.urn) {
throw new Error("Missing required property 'virtualMachineId'");
}
resourceInputs["description"] = args ? args.description : undefined;
resourceInputs["enabled"] = args ? args.enabled : undefined;
resourceInputs["macAddress"] = args ? args.macAddress : undefined;
resourceInputs["mode"] = args ? args.mode : undefined;
resourceInputs["mtu"] = args ? args.mtu : undefined;
resourceInputs["name"] = args ? args.name : undefined;
resourceInputs["taggedVlans"] = args ? args.taggedVlans : undefined;
resourceInputs["tags"] = args ? args.tags : undefined;
resourceInputs["type"] = args ? args.type : undefined;
resourceInputs["untaggedVlan"] = args ? args.untaggedVlan : undefined;
resourceInputs["virtualMachineId"] = args ? args.virtualMachineId : undefined;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(Interface.__pulumiType, name, resourceInputs, opts);
}
}
exports.Interface = Interface;
/** @internal */
Interface.__pulumiType = 'netbox:virt/interface:Interface';
//# sourceMappingURL=interface.js.map