@natzka-oss/pulumi-netbox
Version:
A Pulumi package for creating and managing Netbox cloud resources.
111 lines (110 loc) • 4.04 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* From the [official documentation](https://docs.netbox.dev/en/stable/features/vlans/#vlans):
*
* > A VLAN represents an isolated layer two domain, identified by a name and a numeric ID (1-4094) as defined in IEEE 802.1Q. VLANs are arranged into VLAN groups to define scope and to enforce uniqueness.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as netbox from "@natzka-oss/pulumi-netbox";
*
* const example1 = new netbox.ipam.Vlan("example1", {
* name: "VLAN 1",
* vid: 1777,
* tags: [],
* });
* // Assume netbox_tenant, netbox_site, and netbox_tag resources exist
* const example2 = new netbox.ipam.Vlan("example2", {
* name: "VLAN 2",
* vid: 1778,
* status: "reserved",
* description: "Reserved example VLAN",
* tenantId: exNetboxTenant.id,
* siteId: exNetboxSite.id,
* groupId: ex.id,
* tags: [exNetboxTag.name],
* });
* ```
*/
export declare class Vlan extends pulumi.CustomResource {
/**
* Get an existing Vlan 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: string, id: pulumi.Input<pulumi.ID>, state?: VlanState, opts?: pulumi.CustomResourceOptions): Vlan;
/**
* Returns true if the given object is an instance of Vlan. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Vlan;
/**
* Defaults to `""`.
*/
readonly description: pulumi.Output<string | undefined>;
readonly groupId: pulumi.Output<number | undefined>;
readonly name: pulumi.Output<string>;
readonly roleId: pulumi.Output<number | undefined>;
readonly siteId: pulumi.Output<number | undefined>;
/**
* Valid values are `active`, `reserved` and `deprecated`. Defaults to `active`.
*/
readonly status: pulumi.Output<string | undefined>;
readonly tags: pulumi.Output<string[] | undefined>;
readonly tenantId: pulumi.Output<number | undefined>;
readonly vid: pulumi.Output<number>;
/**
* Create a Vlan resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: VlanArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Vlan resources.
*/
export interface VlanState {
/**
* Defaults to `""`.
*/
description?: pulumi.Input<string>;
groupId?: pulumi.Input<number>;
name?: pulumi.Input<string>;
roleId?: pulumi.Input<number>;
siteId?: pulumi.Input<number>;
/**
* Valid values are `active`, `reserved` and `deprecated`. Defaults to `active`.
*/
status?: pulumi.Input<string>;
tags?: pulumi.Input<pulumi.Input<string>[]>;
tenantId?: pulumi.Input<number>;
vid?: pulumi.Input<number>;
}
/**
* The set of arguments for constructing a Vlan resource.
*/
export interface VlanArgs {
/**
* Defaults to `""`.
*/
description?: pulumi.Input<string>;
groupId?: pulumi.Input<number>;
name?: pulumi.Input<string>;
roleId?: pulumi.Input<number>;
siteId?: pulumi.Input<number>;
/**
* Valid values are `active`, `reserved` and `deprecated`. Defaults to `active`.
*/
status?: pulumi.Input<string>;
tags?: pulumi.Input<pulumi.Input<string>[]>;
tenantId?: pulumi.Input<number>;
vid: pulumi.Input<number>;
}