This repository has been archived by the owner on Dec 24, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
bgpSession.ts
132 lines (123 loc) · 5.01 KB
/
bgpSession.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
// *** 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 utilities from "./utilities";
/**
* Provides a resource to manage BGP sessions in Packet Host. Refer to [Packet BGP documentation](https://support.packet.com/kb/articles/bgp) for more details.
*
* You need to have BGP config enabled in your project.
*
* BGP session must be linked to a device running [BIRD](https://bird.network.cz) or other BGP routing daemon which will control route advertisements via the session to Packet's upstream routers.
*
* > This content is derived from https://github.com/terraform-providers/terraform-provider-packet/blob/master/website/docs/r/bgp_session.html.markdown.
*/
export class BgpSession extends pulumi.CustomResource {
/**
* Get an existing BgpSession 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?: BgpSessionState, opts?: pulumi.CustomResourceOptions): BgpSession {
return new BgpSession(name, <any>state, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'packet:index/bgpSession:BgpSession';
/**
* Returns true if the given object is an instance of BgpSession. 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 BgpSession {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === BgpSession.__pulumiType;
}
/**
* `ipv4` or `ipv6`
*/
public readonly addressFamily!: pulumi.Output<string>;
/**
* Boolean flag to set the default route policy. False by default.
*/
public readonly defaultRoute!: pulumi.Output<boolean | undefined>;
/**
* ID of device
*/
public readonly deviceId!: pulumi.Output<string>;
public /*out*/ readonly status!: pulumi.Output<string>;
/**
* Create a BgpSession 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: BgpSessionArgs, opts?: pulumi.CustomResourceOptions)
constructor(name: string, argsOrState?: BgpSessionArgs | BgpSessionState, opts?: pulumi.CustomResourceOptions) {
let inputs: pulumi.Inputs = {};
if (opts && opts.id) {
const state = argsOrState as BgpSessionState | undefined;
inputs["addressFamily"] = state ? state.addressFamily : undefined;
inputs["defaultRoute"] = state ? state.defaultRoute : undefined;
inputs["deviceId"] = state ? state.deviceId : undefined;
inputs["status"] = state ? state.status : undefined;
} else {
const args = argsOrState as BgpSessionArgs | undefined;
if (!args || args.addressFamily === undefined) {
throw new Error("Missing required property 'addressFamily'");
}
if (!args || args.deviceId === undefined) {
throw new Error("Missing required property 'deviceId'");
}
inputs["addressFamily"] = args ? args.addressFamily : undefined;
inputs["defaultRoute"] = args ? args.defaultRoute : undefined;
inputs["deviceId"] = args ? args.deviceId : undefined;
inputs["status"] = undefined /*out*/;
}
if (!opts) {
opts = {}
}
if (!opts.version) {
opts.version = utilities.getVersion();
}
super(BgpSession.__pulumiType, name, inputs, opts);
}
}
/**
* Input properties used for looking up and filtering BgpSession resources.
*/
export interface BgpSessionState {
/**
* `ipv4` or `ipv6`
*/
readonly addressFamily?: pulumi.Input<string>;
/**
* Boolean flag to set the default route policy. False by default.
*/
readonly defaultRoute?: pulumi.Input<boolean>;
/**
* ID of device
*/
readonly deviceId?: pulumi.Input<string>;
readonly status?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a BgpSession resource.
*/
export interface BgpSessionArgs {
/**
* `ipv4` or `ipv6`
*/
readonly addressFamily: pulumi.Input<string>;
/**
* Boolean flag to set the default route policy. False by default.
*/
readonly defaultRoute?: pulumi.Input<boolean>;
/**
* ID of device
*/
readonly deviceId: pulumi.Input<string>;
}