This repository has been archived by the owner on Dec 24, 2020. It is now read-only.
/
vlan.ts
155 lines (145 loc) · 5.13 KB
/
vlan.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
// *** 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! ***
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
import * as utilities from "./utilities";
import {Facility} from "./index";
/**
* Provides a resource to allow users to manage Virtual Networks in their projects.
*
* To learn more about Layer 2 networking in Packet, refer to
* * https://support.packet.com/kb/articles/layer-2-configurations
* * https://support.packet.com/kb/articles/layer-2-overview
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as packet from "@pulumi/packet";
*
* const vlan1 = new packet.Vlan("vlan1", {
* description: "VLAN in New Jersey",
* facility: "ewr1",
* projectId: local_project_id,
* });
* ```
*
* > This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/r/vlan.html.markdown.
*/
export 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.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VlanState, opts?: pulumi.CustomResourceOptions): Vlan {
return new Vlan(name, <any>state, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'packet:index/vlan: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.
*/
public static isInstance(obj: any): obj is Vlan {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === Vlan.__pulumiType;
}
/**
* Description string
*/
public readonly description!: pulumi.Output<string | undefined>;
/**
* Facility where to create the VLAN
*/
public readonly facility!: pulumi.Output<Facility>;
/**
* ID of parent project
*/
public readonly projectId!: pulumi.Output<string>;
/**
* VXLAN segment ID
*/
public /*out*/ readonly vxlan!: 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)
constructor(name: string, argsOrState?: VlanArgs | VlanState, opts?: pulumi.CustomResourceOptions) {
let inputs: pulumi.Inputs = {};
if (opts && opts.id) {
const state = argsOrState as VlanState | undefined;
inputs["description"] = state ? state.description : undefined;
inputs["facility"] = state ? state.facility : undefined;
inputs["projectId"] = state ? state.projectId : undefined;
inputs["vxlan"] = state ? state.vxlan : undefined;
} else {
const args = argsOrState as VlanArgs | undefined;
if (!args || args.facility === undefined) {
throw new Error("Missing required property 'facility'");
}
if (!args || args.projectId === undefined) {
throw new Error("Missing required property 'projectId'");
}
inputs["description"] = args ? args.description : undefined;
inputs["facility"] = args ? args.facility : undefined;
inputs["projectId"] = args ? args.projectId : undefined;
inputs["vxlan"] = undefined /*out*/;
}
if (!opts) {
opts = {}
}
if (!opts.version) {
opts.version = utilities.getVersion();
}
super(Vlan.__pulumiType, name, inputs, opts);
}
}
/**
* Input properties used for looking up and filtering Vlan resources.
*/
export interface VlanState {
/**
* Description string
*/
readonly description?: pulumi.Input<string>;
/**
* Facility where to create the VLAN
*/
readonly facility?: pulumi.Input<Facility>;
/**
* ID of parent project
*/
readonly projectId?: pulumi.Input<string>;
/**
* VXLAN segment ID
*/
readonly vxlan?: pulumi.Input<number>;
}
/**
* The set of arguments for constructing a Vlan resource.
*/
export interface VlanArgs {
/**
* Description string
*/
readonly description?: pulumi.Input<string>;
/**
* Facility where to create the VLAN
*/
readonly facility: pulumi.Input<Facility>;
/**
* ID of parent project
*/
readonly projectId: pulumi.Input<string>;
}