@n8n-dev/n8n-nodes-linode 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +589 -0
  2. package/dist/banner.svg +91 -0
  3. package/dist/credentials/LinodeApi.credentials.d.ts +9 -0
  4. package/dist/credentials/LinodeApi.credentials.js +40 -0
  5. package/dist/credentials/LinodeApi.credentials.js.map +1 -0
  6. package/dist/icons/linode.dark.svg +18 -0
  7. package/dist/icons/linode.svg +18 -0
  8. package/dist/nodes/Linode/Linode.node.d.ts +4 -0
  9. package/dist/nodes/Linode/Linode.node.js +178 -0
  10. package/dist/nodes/Linode/Linode.node.js.map +1 -0
  11. package/dist/nodes/Linode/Linode.node.json +20 -0
  12. package/dist/nodes/Linode/linode.dark.svg +18 -0
  13. package/dist/nodes/Linode/linode.svg +18 -0
  14. package/dist/nodes/Linode/resources/account/index.d.ts +2 -0
  15. package/dist/nodes/Linode/resources/account/index.js +4783 -0
  16. package/dist/nodes/Linode/resources/account/index.js.map +1 -0
  17. package/dist/nodes/Linode/resources/databases/index.d.ts +2 -0
  18. package/dist/nodes/Linode/resources/databases/index.js +4009 -0
  19. package/dist/nodes/Linode/resources/databases/index.js.map +1 -0
  20. package/dist/nodes/Linode/resources/domains/index.d.ts +2 -0
  21. package/dist/nodes/Linode/resources/domains/index.js +2284 -0
  22. package/dist/nodes/Linode/resources/domains/index.js.map +1 -0
  23. package/dist/nodes/Linode/resources/images/index.d.ts +2 -0
  24. package/dist/nodes/Linode/resources/images/index.js +935 -0
  25. package/dist/nodes/Linode/resources/images/index.js.map +1 -0
  26. package/dist/nodes/Linode/resources/index.d.ts +18 -0
  27. package/dist/nodes/Linode/resources/index.js +40 -0
  28. package/dist/nodes/Linode/resources/index.js.map +1 -0
  29. package/dist/nodes/Linode/resources/linode-instances/index.d.ts +2 -0
  30. package/dist/nodes/Linode/resources/linode-instances/index.js +5610 -0
  31. package/dist/nodes/Linode/resources/linode-instances/index.js.map +1 -0
  32. package/dist/nodes/Linode/resources/linode-kubernetes-engine-lke/index.d.ts +2 -0
  33. package/dist/nodes/Linode/resources/linode-kubernetes-engine-lke/index.js +1788 -0
  34. package/dist/nodes/Linode/resources/linode-kubernetes-engine-lke/index.js.map +1 -0
  35. package/dist/nodes/Linode/resources/linode-types/index.d.ts +2 -0
  36. package/dist/nodes/Linode/resources/linode-types/index.js +84 -0
  37. package/dist/nodes/Linode/resources/linode-types/index.js.map +1 -0
  38. package/dist/nodes/Linode/resources/longview/index.d.ts +2 -0
  39. package/dist/nodes/Linode/resources/longview/index.js +969 -0
  40. package/dist/nodes/Linode/resources/longview/index.js.map +1 -0
  41. package/dist/nodes/Linode/resources/managed/index.d.ts +2 -0
  42. package/dist/nodes/Linode/resources/managed/index.js +2904 -0
  43. package/dist/nodes/Linode/resources/managed/index.js.map +1 -0
  44. package/dist/nodes/Linode/resources/networking/index.d.ts +2 -0
  45. package/dist/nodes/Linode/resources/networking/index.js +2365 -0
  46. package/dist/nodes/Linode/resources/networking/index.js.map +1 -0
  47. package/dist/nodes/Linode/resources/node-balancers/index.d.ts +2 -0
  48. package/dist/nodes/Linode/resources/node-balancers/index.js +3158 -0
  49. package/dist/nodes/Linode/resources/node-balancers/index.js.map +1 -0
  50. package/dist/nodes/Linode/resources/object-storage/index.d.ts +2 -0
  51. package/dist/nodes/Linode/resources/object-storage/index.js +2053 -0
  52. package/dist/nodes/Linode/resources/object-storage/index.js.map +1 -0
  53. package/dist/nodes/Linode/resources/profile/index.d.ts +2 -0
  54. package/dist/nodes/Linode/resources/profile/index.js +2684 -0
  55. package/dist/nodes/Linode/resources/profile/index.js.map +1 -0
  56. package/dist/nodes/Linode/resources/regions/index.d.ts +2 -0
  57. package/dist/nodes/Linode/resources/regions/index.js +84 -0
  58. package/dist/nodes/Linode/resources/regions/index.js.map +1 -0
  59. package/dist/nodes/Linode/resources/stack-scripts/index.d.ts +2 -0
  60. package/dist/nodes/Linode/resources/stack-scripts/index.js +1102 -0
  61. package/dist/nodes/Linode/resources/stack-scripts/index.js.map +1 -0
  62. package/dist/nodes/Linode/resources/support/index.d.ts +2 -0
  63. package/dist/nodes/Linode/resources/support/index.js +883 -0
  64. package/dist/nodes/Linode/resources/support/index.js.map +1 -0
  65. package/dist/nodes/Linode/resources/tags/index.d.ts +2 -0
  66. package/dist/nodes/Linode/resources/tags/index.js +472 -0
  67. package/dist/nodes/Linode/resources/tags/index.js.map +1 -0
  68. package/dist/nodes/Linode/resources/volumes/index.d.ts +2 -0
  69. package/dist/nodes/Linode/resources/volumes/index.js +953 -0
  70. package/dist/nodes/Linode/resources/volumes/index.js.map +1 -0
  71. package/dist/package.json +62 -0
  72. package/dist/tsconfig.tsbuildinfo +1 -0
  73. package/package.json +62 -0
@@ -0,0 +1,3158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nodeBalancersDescription = void 0;
4
+ exports.nodeBalancersDescription = [
5
+ {
6
+ "displayName": "Operation",
7
+ "name": "operation",
8
+ "type": "options",
9
+ "noDataExpression": true,
10
+ "displayOptions": {
11
+ "show": {
12
+ "resource": [
13
+ "Node Balancers"
14
+ ]
15
+ }
16
+ },
17
+ "options": [
18
+ {
19
+ "name": "Get Node Balancers",
20
+ "value": "Get Node Balancers",
21
+ "action": "NodeBalancers List",
22
+ "description": "Returns a paginated list of NodeBalancers you have access to.\n",
23
+ "routing": {
24
+ "request": {
25
+ "method": "GET",
26
+ "url": "=/nodebalancers"
27
+ }
28
+ }
29
+ },
30
+ {
31
+ "name": "Create Node Balancer",
32
+ "value": "Create Node Balancer",
33
+ "action": "NodeBalancer Create",
34
+ "description": "Creates a NodeBalancer in the requested Region.\n\nNodeBalancers require a port Config with at least one backend Node to start serving requests.\n\nWhen using the Linode CLI to create a NodeBalancer, first create a NodeBalancer without any Configs. Then, create Configs and Nodes for that NodeBalancer with the respective [Config Create](/docs/api/nodebalancers/#config-create) and [Node Create](/docs/api/nodebalancers/#node-create) commands.\n",
35
+ "routing": {
36
+ "request": {
37
+ "method": "POST",
38
+ "url": "=/nodebalancers"
39
+ }
40
+ }
41
+ },
42
+ {
43
+ "name": "Delete Node Balancer",
44
+ "value": "Delete Node Balancer",
45
+ "action": "NodeBalancer Delete",
46
+ "description": "Deletes a NodeBalancer.\n\n**This is a destructive action and cannot be undone.**\n\nDeleting a NodeBalancer will also delete all associated Configs and Nodes, although the backend servers represented by the Nodes will not be changed or removed. Deleting a NodeBalancer will cause you to lose access to the IP Addresses assigned to this NodeBalancer.\n",
47
+ "routing": {
48
+ "request": {
49
+ "method": "DELETE",
50
+ "url": "=/nodebalancers/{{$parameter[\"nodeBalancerId\"]}}"
51
+ }
52
+ }
53
+ },
54
+ {
55
+ "name": "Get Node Balancer",
56
+ "value": "Get Node Balancer",
57
+ "action": "NodeBalancer View",
58
+ "description": "Returns a single NodeBalancer you can access.\n",
59
+ "routing": {
60
+ "request": {
61
+ "method": "GET",
62
+ "url": "=/nodebalancers/{{$parameter[\"nodeBalancerId\"]}}"
63
+ }
64
+ }
65
+ },
66
+ {
67
+ "name": "Update Node Balancer",
68
+ "value": "Update Node Balancer",
69
+ "action": "NodeBalancer Update",
70
+ "description": "Updates information about a NodeBalancer you can access.\n",
71
+ "routing": {
72
+ "request": {
73
+ "method": "PUT",
74
+ "url": "=/nodebalancers/{{$parameter[\"nodeBalancerId\"]}}"
75
+ }
76
+ }
77
+ },
78
+ {
79
+ "name": "Get Node Balancer Configs",
80
+ "value": "Get Node Balancer Configs",
81
+ "action": "Configs List",
82
+ "description": "Returns a paginated list of NodeBalancer Configs associated with this NodeBalancer. NodeBalancer Configs represent individual ports that this NodeBalancer will accept traffic on, one Config per port.\n\nFor example, if you wanted to accept standard HTTP traffic, you would need a Config listening on port 80.\n",
83
+ "routing": {
84
+ "request": {
85
+ "method": "GET",
86
+ "url": "=/nodebalancers/{{$parameter[\"nodeBalancerId\"]}}/configs"
87
+ }
88
+ }
89
+ },
90
+ {
91
+ "name": "Create Node Balancer Config",
92
+ "value": "Create Node Balancer Config",
93
+ "action": "Config Create",
94
+ "description": "Creates a NodeBalancer Config, which allows the NodeBalancer to accept traffic on a new port. You will need to add NodeBalancer Nodes to the new Config before it can actually serve requests.\n",
95
+ "routing": {
96
+ "request": {
97
+ "method": "POST",
98
+ "url": "=/nodebalancers/{{$parameter[\"nodeBalancerId\"]}}/configs"
99
+ }
100
+ }
101
+ },
102
+ {
103
+ "name": "Delete Node Balancer Config",
104
+ "value": "Delete Node Balancer Config",
105
+ "action": "Config Delete",
106
+ "description": "Deletes the Config for a port of this NodeBalancer.\n\n**This cannot be undone.**\n\nOnce completed, this NodeBalancer will no longer respond to requests on the given port. This also deletes all associated NodeBalancerNodes, but the Linodes they were routing traffic to will be unchanged and will not be removed.\n",
107
+ "routing": {
108
+ "request": {
109
+ "method": "DELETE",
110
+ "url": "=/nodebalancers/{{$parameter[\"nodeBalancerId\"]}}/configs/{{$parameter[\"configId\"]}}"
111
+ }
112
+ }
113
+ },
114
+ {
115
+ "name": "Get Node Balancer Config",
116
+ "value": "Get Node Balancer Config",
117
+ "action": "Config View",
118
+ "description": "Returns configuration information for a single port of this NodeBalancer.\n",
119
+ "routing": {
120
+ "request": {
121
+ "method": "GET",
122
+ "url": "=/nodebalancers/{{$parameter[\"nodeBalancerId\"]}}/configs/{{$parameter[\"configId\"]}}"
123
+ }
124
+ }
125
+ },
126
+ {
127
+ "name": "Update Node Balancer Config",
128
+ "value": "Update Node Balancer Config",
129
+ "action": "Config Update",
130
+ "description": "Updates the configuration for a single port on a NodeBalancer.\n",
131
+ "routing": {
132
+ "request": {
133
+ "method": "PUT",
134
+ "url": "=/nodebalancers/{{$parameter[\"nodeBalancerId\"]}}/configs/{{$parameter[\"configId\"]}}"
135
+ }
136
+ }
137
+ },
138
+ {
139
+ "name": "Get Node Balancer Config Nodes",
140
+ "value": "Get Node Balancer Config Nodes",
141
+ "action": "Nodes List",
142
+ "description": "Returns a paginated list of NodeBalancer nodes associated with this Config. These are the backends that will be sent traffic for this port.\n",
143
+ "routing": {
144
+ "request": {
145
+ "method": "GET",
146
+ "url": "=/nodebalancers/{{$parameter[\"nodeBalancerId\"]}}/configs/{{$parameter[\"configId\"]}}/nodes"
147
+ }
148
+ }
149
+ },
150
+ {
151
+ "name": "Create Node Balancer Node",
152
+ "value": "Create Node Balancer Node",
153
+ "action": "Node Create",
154
+ "description": "Creates a NodeBalancer Node, a backend that can accept traffic for this NodeBalancer Config. Nodes are routed requests on the configured port based on their status.\n",
155
+ "routing": {
156
+ "request": {
157
+ "method": "POST",
158
+ "url": "=/nodebalancers/{{$parameter[\"nodeBalancerId\"]}}/configs/{{$parameter[\"configId\"]}}/nodes"
159
+ }
160
+ }
161
+ },
162
+ {
163
+ "name": "Delete Node Balancer Config Node",
164
+ "value": "Delete Node Balancer Config Node",
165
+ "action": "Node Delete",
166
+ "description": "Deletes a Node from this Config. This backend will no longer receive traffic for the configured port of this NodeBalancer.\n\nThis does not change or remove the Linode whose address was used in the creation of this Node.\n",
167
+ "routing": {
168
+ "request": {
169
+ "method": "DELETE",
170
+ "url": "=/nodebalancers/{{$parameter[\"nodeBalancerId\"]}}/configs/{{$parameter[\"configId\"]}}/nodes/{{$parameter[\"nodeId\"]}}"
171
+ }
172
+ }
173
+ },
174
+ {
175
+ "name": "Get Node Balancer Node",
176
+ "value": "Get Node Balancer Node",
177
+ "action": "Node View",
178
+ "description": "Returns information about a single Node, a backend for this NodeBalancer's configured port.\n",
179
+ "routing": {
180
+ "request": {
181
+ "method": "GET",
182
+ "url": "=/nodebalancers/{{$parameter[\"nodeBalancerId\"]}}/configs/{{$parameter[\"configId\"]}}/nodes/{{$parameter[\"nodeId\"]}}"
183
+ }
184
+ }
185
+ },
186
+ {
187
+ "name": "Update Node Balancer Node",
188
+ "value": "Update Node Balancer Node",
189
+ "action": "Node Update",
190
+ "description": "Updates information about a Node, a backend for this NodeBalancer's configured port.\n",
191
+ "routing": {
192
+ "request": {
193
+ "method": "PUT",
194
+ "url": "=/nodebalancers/{{$parameter[\"nodeBalancerId\"]}}/configs/{{$parameter[\"configId\"]}}/nodes/{{$parameter[\"nodeId\"]}}"
195
+ }
196
+ }
197
+ },
198
+ {
199
+ "name": "Rebuild Node Balancer Config",
200
+ "value": "Rebuild Node Balancer Config",
201
+ "action": "Config Rebuild",
202
+ "description": "Rebuilds a NodeBalancer Config and its Nodes that you have permission to modify.\n\nUse this command to update a NodeBalancer's Config and Nodes with a single request.\n",
203
+ "routing": {
204
+ "request": {
205
+ "method": "POST",
206
+ "url": "=/nodebalancers/{{$parameter[\"nodeBalancerId\"]}}/configs/{{$parameter[\"configId\"]}}/rebuild"
207
+ }
208
+ }
209
+ },
210
+ {
211
+ "name": "GET Nodebalancers Stats",
212
+ "value": "GET Nodebalancers Stats",
213
+ "action": "NodeBalancer Statistics View",
214
+ "description": "Returns detailed statistics about the requested NodeBalancer.\n",
215
+ "routing": {
216
+ "request": {
217
+ "method": "GET",
218
+ "url": "=/nodebalancers/{{$parameter[\"nodeBalancerId\"]}}/stats"
219
+ }
220
+ }
221
+ }
222
+ ],
223
+ "default": ""
224
+ },
225
+ {
226
+ "displayName": "GET /nodebalancers",
227
+ "name": "operation",
228
+ "type": "notice",
229
+ "typeOptions": {
230
+ "theme": "info"
231
+ },
232
+ "default": "",
233
+ "displayOptions": {
234
+ "show": {
235
+ "resource": [
236
+ "Node Balancers"
237
+ ],
238
+ "operation": [
239
+ "Get Node Balancers"
240
+ ]
241
+ }
242
+ }
243
+ },
244
+ {
245
+ "displayName": "Page",
246
+ "name": "page",
247
+ "description": "The page of a collection to return.",
248
+ "default": 1,
249
+ "type": "number",
250
+ "routing": {
251
+ "send": {
252
+ "type": "query",
253
+ "property": "page",
254
+ "value": "={{ $value }}",
255
+ "propertyInDotNotation": false
256
+ }
257
+ },
258
+ "displayOptions": {
259
+ "show": {
260
+ "resource": [
261
+ "Node Balancers"
262
+ ],
263
+ "operation": [
264
+ "Get Node Balancers"
265
+ ]
266
+ }
267
+ }
268
+ },
269
+ {
270
+ "displayName": "Page Size",
271
+ "name": "page_size",
272
+ "description": "The number of items to return per page.",
273
+ "default": 100,
274
+ "type": "number",
275
+ "routing": {
276
+ "send": {
277
+ "type": "query",
278
+ "property": "page_size",
279
+ "value": "={{ $value }}",
280
+ "propertyInDotNotation": false
281
+ }
282
+ },
283
+ "displayOptions": {
284
+ "show": {
285
+ "resource": [
286
+ "Node Balancers"
287
+ ],
288
+ "operation": [
289
+ "Get Node Balancers"
290
+ ]
291
+ }
292
+ }
293
+ },
294
+ {
295
+ "displayName": "Bearer Token",
296
+ "name": "security_personalaccesstoken",
297
+ "type": "string",
298
+ "default": "",
299
+ "description": "HTTP bearer authentication for personalAccessToken",
300
+ "required": false,
301
+ "routing": {
302
+ "request": {
303
+ "headers": {
304
+ "Authorization": "={{ 'Bearer ' + $value }}"
305
+ }
306
+ }
307
+ },
308
+ "displayOptions": {
309
+ "show": {
310
+ "resource": [
311
+ "Node Balancers"
312
+ ],
313
+ "operation": [
314
+ "Get Node Balancers"
315
+ ]
316
+ }
317
+ }
318
+ },
319
+ {
320
+ "displayName": "POST /nodebalancers",
321
+ "name": "operation",
322
+ "type": "notice",
323
+ "typeOptions": {
324
+ "theme": "info"
325
+ },
326
+ "default": "",
327
+ "displayOptions": {
328
+ "show": {
329
+ "resource": [
330
+ "Node Balancers"
331
+ ],
332
+ "operation": [
333
+ "Create Node Balancer"
334
+ ]
335
+ }
336
+ }
337
+ },
338
+ {
339
+ "displayName": "Client Conn Throttle",
340
+ "name": "client_conn_throttle",
341
+ "type": "number",
342
+ "default": 0,
343
+ "description": "Throttle connections per second. Set to 0 (zero) to disable throttling.\n",
344
+ "routing": {
345
+ "send": {
346
+ "property": "client_conn_throttle",
347
+ "propertyInDotNotation": false,
348
+ "type": "body",
349
+ "value": "={{ $value }}"
350
+ }
351
+ },
352
+ "displayOptions": {
353
+ "show": {
354
+ "resource": [
355
+ "Node Balancers"
356
+ ],
357
+ "operation": [
358
+ "Create Node Balancer"
359
+ ]
360
+ }
361
+ }
362
+ },
363
+ {
364
+ "displayName": "Configs",
365
+ "name": "configs",
366
+ "type": "json",
367
+ "default": "[\n {\n \"algorithm\": \"roundrobin\",\n \"check\": \"http_body\",\n \"check_attempts\": 3,\n \"check_body\": \"it works\",\n \"check_interval\": 90,\n \"check_passive\": true,\n \"check_path\": \"/test\",\n \"check_timeout\": 10,\n \"cipher_suite\": \"recommended\",\n \"nodes\": [\n {\n \"address\": \"192.168.210.120:80\",\n \"config_id\": 4567,\n \"id\": 54321,\n \"label\": \"node54321\",\n \"mode\": \"accept\",\n \"nodebalancer_id\": 12345,\n \"status\": \"UP\",\n \"weight\": 50\n }\n ],\n \"port\": 80,\n \"protocol\": \"http\",\n \"proxy_protocol\": \"none\",\n \"ssl_cert\": \"<REDACTED>\",\n \"ssl_key\": \"<REDACTED>\",\n \"stickiness\": \"http_cookie\"\n }\n]",
368
+ "description": "The port Config(s) to create for this NodeBalancer.\n\nEach Config must have a unique port and at least one Node.\n",
369
+ "routing": {
370
+ "send": {
371
+ "property": "configs",
372
+ "propertyInDotNotation": false,
373
+ "type": "body",
374
+ "value": "={{ JSON.parse($value) }}"
375
+ }
376
+ },
377
+ "displayOptions": {
378
+ "show": {
379
+ "resource": [
380
+ "Node Balancers"
381
+ ],
382
+ "operation": [
383
+ "Create Node Balancer"
384
+ ]
385
+ }
386
+ }
387
+ },
388
+ {
389
+ "displayName": "Label",
390
+ "name": "label",
391
+ "type": "string",
392
+ "default": "balancer12345",
393
+ "description": "This NodeBalancer's label. These must be unique on your Account.\n",
394
+ "routing": {
395
+ "send": {
396
+ "property": "label",
397
+ "propertyInDotNotation": false,
398
+ "type": "body",
399
+ "value": "={{ $value }}"
400
+ }
401
+ },
402
+ "displayOptions": {
403
+ "show": {
404
+ "resource": [
405
+ "Node Balancers"
406
+ ],
407
+ "operation": [
408
+ "Create Node Balancer"
409
+ ]
410
+ }
411
+ }
412
+ },
413
+ {
414
+ "required": true,
415
+ "displayName": "Region",
416
+ "name": "region",
417
+ "type": "string",
418
+ "default": "us-east",
419
+ "description": "The ID of the Region to create this NodeBalancer in.\n",
420
+ "routing": {
421
+ "send": {
422
+ "property": "region",
423
+ "propertyInDotNotation": false,
424
+ "type": "body",
425
+ "value": "={{ $value }}"
426
+ }
427
+ },
428
+ "displayOptions": {
429
+ "show": {
430
+ "resource": [
431
+ "Node Balancers"
432
+ ],
433
+ "operation": [
434
+ "Create Node Balancer"
435
+ ]
436
+ }
437
+ }
438
+ },
439
+ {
440
+ "displayName": "Bearer Token",
441
+ "name": "security_personalaccesstoken",
442
+ "type": "string",
443
+ "default": "",
444
+ "description": "HTTP bearer authentication for personalAccessToken",
445
+ "required": false,
446
+ "routing": {
447
+ "request": {
448
+ "headers": {
449
+ "Authorization": "={{ 'Bearer ' + $value }}"
450
+ }
451
+ }
452
+ },
453
+ "displayOptions": {
454
+ "show": {
455
+ "resource": [
456
+ "Node Balancers"
457
+ ],
458
+ "operation": [
459
+ "Create Node Balancer"
460
+ ]
461
+ }
462
+ }
463
+ },
464
+ {
465
+ "displayName": "DELETE /nodebalancers/{nodeBalancerId}",
466
+ "name": "operation",
467
+ "type": "notice",
468
+ "typeOptions": {
469
+ "theme": "info"
470
+ },
471
+ "default": "",
472
+ "displayOptions": {
473
+ "show": {
474
+ "resource": [
475
+ "Node Balancers"
476
+ ],
477
+ "operation": [
478
+ "Delete Node Balancer"
479
+ ]
480
+ }
481
+ }
482
+ },
483
+ {
484
+ "displayName": "Bearer Token",
485
+ "name": "security_personalaccesstoken",
486
+ "type": "string",
487
+ "default": "",
488
+ "description": "HTTP bearer authentication for personalAccessToken",
489
+ "required": false,
490
+ "routing": {
491
+ "request": {
492
+ "headers": {
493
+ "Authorization": "={{ 'Bearer ' + $value }}"
494
+ }
495
+ }
496
+ },
497
+ "displayOptions": {
498
+ "show": {
499
+ "resource": [
500
+ "Node Balancers"
501
+ ],
502
+ "operation": [
503
+ "Delete Node Balancer"
504
+ ]
505
+ }
506
+ }
507
+ },
508
+ {
509
+ "displayName": "GET /nodebalancers/{nodeBalancerId}",
510
+ "name": "operation",
511
+ "type": "notice",
512
+ "typeOptions": {
513
+ "theme": "info"
514
+ },
515
+ "default": "",
516
+ "displayOptions": {
517
+ "show": {
518
+ "resource": [
519
+ "Node Balancers"
520
+ ],
521
+ "operation": [
522
+ "Get Node Balancer"
523
+ ]
524
+ }
525
+ }
526
+ },
527
+ {
528
+ "displayName": "Bearer Token",
529
+ "name": "security_personalaccesstoken",
530
+ "type": "string",
531
+ "default": "",
532
+ "description": "HTTP bearer authentication for personalAccessToken",
533
+ "required": false,
534
+ "routing": {
535
+ "request": {
536
+ "headers": {
537
+ "Authorization": "={{ 'Bearer ' + $value }}"
538
+ }
539
+ }
540
+ },
541
+ "displayOptions": {
542
+ "show": {
543
+ "resource": [
544
+ "Node Balancers"
545
+ ],
546
+ "operation": [
547
+ "Get Node Balancer"
548
+ ]
549
+ }
550
+ }
551
+ },
552
+ {
553
+ "displayName": "PUT /nodebalancers/{nodeBalancerId}",
554
+ "name": "operation",
555
+ "type": "notice",
556
+ "typeOptions": {
557
+ "theme": "info"
558
+ },
559
+ "default": "",
560
+ "displayOptions": {
561
+ "show": {
562
+ "resource": [
563
+ "Node Balancers"
564
+ ],
565
+ "operation": [
566
+ "Update Node Balancer"
567
+ ]
568
+ }
569
+ }
570
+ },
571
+ {
572
+ "displayName": "Client Conn Throttle",
573
+ "name": "client_conn_throttle",
574
+ "type": "number",
575
+ "default": 0,
576
+ "description": "Throttle connections per second. Set to 0 (zero) to disable throttling.\n",
577
+ "routing": {
578
+ "send": {
579
+ "property": "client_conn_throttle",
580
+ "propertyInDotNotation": false,
581
+ "type": "body",
582
+ "value": "={{ $value }}"
583
+ }
584
+ },
585
+ "displayOptions": {
586
+ "show": {
587
+ "resource": [
588
+ "Node Balancers"
589
+ ],
590
+ "operation": [
591
+ "Update Node Balancer"
592
+ ]
593
+ }
594
+ }
595
+ },
596
+ {
597
+ "displayName": "Created",
598
+ "name": "created",
599
+ "type": "string",
600
+ "default": "2018-01-01T00:01:01",
601
+ "description": "When this NodeBalancer was created.\n",
602
+ "routing": {
603
+ "send": {
604
+ "property": "created",
605
+ "propertyInDotNotation": false,
606
+ "type": "body",
607
+ "value": "={{ $value }}"
608
+ }
609
+ },
610
+ "displayOptions": {
611
+ "show": {
612
+ "resource": [
613
+ "Node Balancers"
614
+ ],
615
+ "operation": [
616
+ "Update Node Balancer"
617
+ ]
618
+ }
619
+ }
620
+ },
621
+ {
622
+ "displayName": "Hostname",
623
+ "name": "hostname",
624
+ "type": "string",
625
+ "default": "192.0.2.1.ip.linodeusercontent.com",
626
+ "description": "This NodeBalancer's hostname, beginning with its IP address and ending with _.ip.linodeusercontent.com_.\n",
627
+ "routing": {
628
+ "send": {
629
+ "property": "hostname",
630
+ "propertyInDotNotation": false,
631
+ "type": "body",
632
+ "value": "={{ $value }}"
633
+ }
634
+ },
635
+ "displayOptions": {
636
+ "show": {
637
+ "resource": [
638
+ "Node Balancers"
639
+ ],
640
+ "operation": [
641
+ "Update Node Balancer"
642
+ ]
643
+ }
644
+ }
645
+ },
646
+ {
647
+ "displayName": "ID",
648
+ "name": "id",
649
+ "type": "number",
650
+ "default": 12345,
651
+ "description": "This NodeBalancer's unique ID.\n",
652
+ "routing": {
653
+ "send": {
654
+ "property": "id",
655
+ "propertyInDotNotation": false,
656
+ "type": "body",
657
+ "value": "={{ $value }}"
658
+ }
659
+ },
660
+ "displayOptions": {
661
+ "show": {
662
+ "resource": [
663
+ "Node Balancers"
664
+ ],
665
+ "operation": [
666
+ "Update Node Balancer"
667
+ ]
668
+ }
669
+ }
670
+ },
671
+ {
672
+ "displayName": "Ipv 4",
673
+ "name": "ipv4",
674
+ "type": "string",
675
+ "default": "203.0.113.1",
676
+ "description": "This NodeBalancer's public IPv4 address.\n",
677
+ "routing": {
678
+ "send": {
679
+ "property": "ipv4",
680
+ "propertyInDotNotation": false,
681
+ "type": "body",
682
+ "value": "={{ $value }}"
683
+ }
684
+ },
685
+ "displayOptions": {
686
+ "show": {
687
+ "resource": [
688
+ "Node Balancers"
689
+ ],
690
+ "operation": [
691
+ "Update Node Balancer"
692
+ ]
693
+ }
694
+ }
695
+ },
696
+ {
697
+ "displayName": "Ipv 6",
698
+ "name": "ipv6",
699
+ "type": "string",
700
+ "default": null,
701
+ "description": "This NodeBalancer's public IPv6 address.\n",
702
+ "routing": {
703
+ "send": {
704
+ "property": "ipv6",
705
+ "propertyInDotNotation": false,
706
+ "type": "body",
707
+ "value": "={{ $value }}"
708
+ }
709
+ },
710
+ "displayOptions": {
711
+ "show": {
712
+ "resource": [
713
+ "Node Balancers"
714
+ ],
715
+ "operation": [
716
+ "Update Node Balancer"
717
+ ]
718
+ }
719
+ }
720
+ },
721
+ {
722
+ "displayName": "Label",
723
+ "name": "label",
724
+ "type": "string",
725
+ "default": "balancer12345",
726
+ "description": "This NodeBalancer's label. These must be unique on your Account.\n",
727
+ "routing": {
728
+ "send": {
729
+ "property": "label",
730
+ "propertyInDotNotation": false,
731
+ "type": "body",
732
+ "value": "={{ $value }}"
733
+ }
734
+ },
735
+ "displayOptions": {
736
+ "show": {
737
+ "resource": [
738
+ "Node Balancers"
739
+ ],
740
+ "operation": [
741
+ "Update Node Balancer"
742
+ ]
743
+ }
744
+ }
745
+ },
746
+ {
747
+ "displayName": "Region",
748
+ "name": "region",
749
+ "type": "string",
750
+ "default": "us-east",
751
+ "description": "The Region where this NodeBalancer is located. NodeBalancers only support backends in the same Region.\n",
752
+ "routing": {
753
+ "send": {
754
+ "property": "region",
755
+ "propertyInDotNotation": false,
756
+ "type": "body",
757
+ "value": "={{ $value }}"
758
+ }
759
+ },
760
+ "displayOptions": {
761
+ "show": {
762
+ "resource": [
763
+ "Node Balancers"
764
+ ],
765
+ "operation": [
766
+ "Update Node Balancer"
767
+ ]
768
+ }
769
+ }
770
+ },
771
+ {
772
+ "displayName": "Tags",
773
+ "name": "tags",
774
+ "type": "json",
775
+ "default": "[\n \"example tag\",\n \"another example\"\n]",
776
+ "description": "An array of Tags applied to this object. Tags are for organizational purposes only.\n",
777
+ "routing": {
778
+ "send": {
779
+ "property": "tags",
780
+ "propertyInDotNotation": false,
781
+ "type": "body",
782
+ "value": "={{ JSON.parse($value) }}"
783
+ }
784
+ },
785
+ "displayOptions": {
786
+ "show": {
787
+ "resource": [
788
+ "Node Balancers"
789
+ ],
790
+ "operation": [
791
+ "Update Node Balancer"
792
+ ]
793
+ }
794
+ }
795
+ },
796
+ {
797
+ "displayName": "Transfer",
798
+ "name": "transfer",
799
+ "type": "json",
800
+ "default": "{\n \"in\": 28.91200828552246,\n \"out\": 3.5487728118896484,\n \"total\": 32.46078109741211\n}",
801
+ "description": "Information about the amount of transfer this NodeBalancer has had so far this month.\n",
802
+ "routing": {
803
+ "send": {
804
+ "property": "transfer",
805
+ "propertyInDotNotation": false,
806
+ "type": "body",
807
+ "value": "={{ JSON.parse($value) }}"
808
+ }
809
+ },
810
+ "displayOptions": {
811
+ "show": {
812
+ "resource": [
813
+ "Node Balancers"
814
+ ],
815
+ "operation": [
816
+ "Update Node Balancer"
817
+ ]
818
+ }
819
+ }
820
+ },
821
+ {
822
+ "displayName": "Updated",
823
+ "name": "updated",
824
+ "type": "string",
825
+ "default": "2018-03-01T00:01:01",
826
+ "description": "When this NodeBalancer was last updated.\n",
827
+ "routing": {
828
+ "send": {
829
+ "property": "updated",
830
+ "propertyInDotNotation": false,
831
+ "type": "body",
832
+ "value": "={{ $value }}"
833
+ }
834
+ },
835
+ "displayOptions": {
836
+ "show": {
837
+ "resource": [
838
+ "Node Balancers"
839
+ ],
840
+ "operation": [
841
+ "Update Node Balancer"
842
+ ]
843
+ }
844
+ }
845
+ },
846
+ {
847
+ "displayName": "Bearer Token",
848
+ "name": "security_personalaccesstoken",
849
+ "type": "string",
850
+ "default": "",
851
+ "description": "HTTP bearer authentication for personalAccessToken",
852
+ "required": false,
853
+ "routing": {
854
+ "request": {
855
+ "headers": {
856
+ "Authorization": "={{ 'Bearer ' + $value }}"
857
+ }
858
+ }
859
+ },
860
+ "displayOptions": {
861
+ "show": {
862
+ "resource": [
863
+ "Node Balancers"
864
+ ],
865
+ "operation": [
866
+ "Update Node Balancer"
867
+ ]
868
+ }
869
+ }
870
+ },
871
+ {
872
+ "displayName": "GET /nodebalancers/{nodeBalancerId}/configs",
873
+ "name": "operation",
874
+ "type": "notice",
875
+ "typeOptions": {
876
+ "theme": "info"
877
+ },
878
+ "default": "",
879
+ "displayOptions": {
880
+ "show": {
881
+ "resource": [
882
+ "Node Balancers"
883
+ ],
884
+ "operation": [
885
+ "Get Node Balancer Configs"
886
+ ]
887
+ }
888
+ }
889
+ },
890
+ {
891
+ "displayName": "Page",
892
+ "name": "page",
893
+ "description": "The page of a collection to return.",
894
+ "default": 1,
895
+ "type": "number",
896
+ "routing": {
897
+ "send": {
898
+ "type": "query",
899
+ "property": "page",
900
+ "value": "={{ $value }}",
901
+ "propertyInDotNotation": false
902
+ }
903
+ },
904
+ "displayOptions": {
905
+ "show": {
906
+ "resource": [
907
+ "Node Balancers"
908
+ ],
909
+ "operation": [
910
+ "Get Node Balancer Configs"
911
+ ]
912
+ }
913
+ }
914
+ },
915
+ {
916
+ "displayName": "Page Size",
917
+ "name": "page_size",
918
+ "description": "The number of items to return per page.",
919
+ "default": 100,
920
+ "type": "number",
921
+ "routing": {
922
+ "send": {
923
+ "type": "query",
924
+ "property": "page_size",
925
+ "value": "={{ $value }}",
926
+ "propertyInDotNotation": false
927
+ }
928
+ },
929
+ "displayOptions": {
930
+ "show": {
931
+ "resource": [
932
+ "Node Balancers"
933
+ ],
934
+ "operation": [
935
+ "Get Node Balancer Configs"
936
+ ]
937
+ }
938
+ }
939
+ },
940
+ {
941
+ "displayName": "Bearer Token",
942
+ "name": "security_personalaccesstoken",
943
+ "type": "string",
944
+ "default": "",
945
+ "description": "HTTP bearer authentication for personalAccessToken",
946
+ "required": false,
947
+ "routing": {
948
+ "request": {
949
+ "headers": {
950
+ "Authorization": "={{ 'Bearer ' + $value }}"
951
+ }
952
+ }
953
+ },
954
+ "displayOptions": {
955
+ "show": {
956
+ "resource": [
957
+ "Node Balancers"
958
+ ],
959
+ "operation": [
960
+ "Get Node Balancer Configs"
961
+ ]
962
+ }
963
+ }
964
+ },
965
+ {
966
+ "displayName": "POST /nodebalancers/{nodeBalancerId}/configs",
967
+ "name": "operation",
968
+ "type": "notice",
969
+ "typeOptions": {
970
+ "theme": "info"
971
+ },
972
+ "default": "",
973
+ "displayOptions": {
974
+ "show": {
975
+ "resource": [
976
+ "Node Balancers"
977
+ ],
978
+ "operation": [
979
+ "Create Node Balancer Config"
980
+ ]
981
+ }
982
+ }
983
+ },
984
+ {
985
+ "displayName": "Algorithm",
986
+ "name": "algorithm",
987
+ "type": "options",
988
+ "default": "roundrobin",
989
+ "description": "What algorithm this NodeBalancer should use for routing traffic to backends.\n",
990
+ "options": [
991
+ {
992
+ "name": "Roundrobin",
993
+ "value": "roundrobin"
994
+ },
995
+ {
996
+ "name": "Leastconn",
997
+ "value": "leastconn"
998
+ },
999
+ {
1000
+ "name": "Source",
1001
+ "value": "source"
1002
+ }
1003
+ ],
1004
+ "routing": {
1005
+ "send": {
1006
+ "property": "algorithm",
1007
+ "propertyInDotNotation": false,
1008
+ "type": "body",
1009
+ "value": "={{ $value }}"
1010
+ }
1011
+ },
1012
+ "displayOptions": {
1013
+ "show": {
1014
+ "resource": [
1015
+ "Node Balancers"
1016
+ ],
1017
+ "operation": [
1018
+ "Create Node Balancer Config"
1019
+ ]
1020
+ }
1021
+ }
1022
+ },
1023
+ {
1024
+ "displayName": "Check",
1025
+ "name": "check",
1026
+ "type": "options",
1027
+ "default": "http_body",
1028
+ "description": "The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down.\n* If `none` no check is performed.\n* `connection` requires only a connection to the backend to succeed.\n* `http` and `http_body` rely on the backend serving HTTP, and that\n the response returned matches what is expected.\n",
1029
+ "options": [
1030
+ {
1031
+ "name": "None",
1032
+ "value": "none"
1033
+ },
1034
+ {
1035
+ "name": "Connection",
1036
+ "value": "connection"
1037
+ },
1038
+ {
1039
+ "name": "HTTP",
1040
+ "value": "http"
1041
+ },
1042
+ {
1043
+ "name": "HTTP Body",
1044
+ "value": "http_body"
1045
+ }
1046
+ ],
1047
+ "routing": {
1048
+ "send": {
1049
+ "property": "check",
1050
+ "propertyInDotNotation": false,
1051
+ "type": "body",
1052
+ "value": "={{ $value }}"
1053
+ }
1054
+ },
1055
+ "displayOptions": {
1056
+ "show": {
1057
+ "resource": [
1058
+ "Node Balancers"
1059
+ ],
1060
+ "operation": [
1061
+ "Create Node Balancer Config"
1062
+ ]
1063
+ }
1064
+ }
1065
+ },
1066
+ {
1067
+ "displayName": "Check Attempts",
1068
+ "name": "check_attempts",
1069
+ "type": "number",
1070
+ "default": 3,
1071
+ "description": "How many times to attempt a check before considering a backend to be down.\n",
1072
+ "routing": {
1073
+ "send": {
1074
+ "property": "check_attempts",
1075
+ "propertyInDotNotation": false,
1076
+ "type": "body",
1077
+ "value": "={{ $value }}"
1078
+ }
1079
+ },
1080
+ "displayOptions": {
1081
+ "show": {
1082
+ "resource": [
1083
+ "Node Balancers"
1084
+ ],
1085
+ "operation": [
1086
+ "Create Node Balancer Config"
1087
+ ]
1088
+ }
1089
+ }
1090
+ },
1091
+ {
1092
+ "displayName": "Check Body",
1093
+ "name": "check_body",
1094
+ "type": "string",
1095
+ "default": "it works",
1096
+ "description": "This value must be present in the response body of the check in order for it to pass. If this value is not present in the response body of a check request, the backend is considered to be down.\n",
1097
+ "routing": {
1098
+ "send": {
1099
+ "property": "check_body",
1100
+ "propertyInDotNotation": false,
1101
+ "type": "body",
1102
+ "value": "={{ $value }}"
1103
+ }
1104
+ },
1105
+ "displayOptions": {
1106
+ "show": {
1107
+ "resource": [
1108
+ "Node Balancers"
1109
+ ],
1110
+ "operation": [
1111
+ "Create Node Balancer Config"
1112
+ ]
1113
+ }
1114
+ }
1115
+ },
1116
+ {
1117
+ "displayName": "Check Interval",
1118
+ "name": "check_interval",
1119
+ "type": "number",
1120
+ "default": 90,
1121
+ "description": "How often, in seconds, to check that backends are up and serving requests.\n\nMust be greater than `check_timeout`.\n",
1122
+ "routing": {
1123
+ "send": {
1124
+ "property": "check_interval",
1125
+ "propertyInDotNotation": false,
1126
+ "type": "body",
1127
+ "value": "={{ $value }}"
1128
+ }
1129
+ },
1130
+ "displayOptions": {
1131
+ "show": {
1132
+ "resource": [
1133
+ "Node Balancers"
1134
+ ],
1135
+ "operation": [
1136
+ "Create Node Balancer Config"
1137
+ ]
1138
+ }
1139
+ }
1140
+ },
1141
+ {
1142
+ "displayName": "Check Passive",
1143
+ "name": "check_passive",
1144
+ "type": "boolean",
1145
+ "default": true,
1146
+ "description": "If true, any response from this backend with a `5xx` status code will be enough for it to be considered unhealthy and taken out of rotation.\n",
1147
+ "routing": {
1148
+ "send": {
1149
+ "property": "check_passive",
1150
+ "propertyInDotNotation": false,
1151
+ "type": "body",
1152
+ "value": "={{ $value }}"
1153
+ }
1154
+ },
1155
+ "displayOptions": {
1156
+ "show": {
1157
+ "resource": [
1158
+ "Node Balancers"
1159
+ ],
1160
+ "operation": [
1161
+ "Create Node Balancer Config"
1162
+ ]
1163
+ }
1164
+ }
1165
+ },
1166
+ {
1167
+ "displayName": "Check Path",
1168
+ "name": "check_path",
1169
+ "type": "string",
1170
+ "default": "/test",
1171
+ "description": "The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.\n",
1172
+ "routing": {
1173
+ "send": {
1174
+ "property": "check_path",
1175
+ "propertyInDotNotation": false,
1176
+ "type": "body",
1177
+ "value": "={{ $value }}"
1178
+ }
1179
+ },
1180
+ "displayOptions": {
1181
+ "show": {
1182
+ "resource": [
1183
+ "Node Balancers"
1184
+ ],
1185
+ "operation": [
1186
+ "Create Node Balancer Config"
1187
+ ]
1188
+ }
1189
+ }
1190
+ },
1191
+ {
1192
+ "displayName": "Check Timeout",
1193
+ "name": "check_timeout",
1194
+ "type": "number",
1195
+ "default": 10,
1196
+ "description": "How long, in seconds, to wait for a check attempt before considering it failed.\n\nMust be less than `check_interval`.\n",
1197
+ "routing": {
1198
+ "send": {
1199
+ "property": "check_timeout",
1200
+ "propertyInDotNotation": false,
1201
+ "type": "body",
1202
+ "value": "={{ $value }}"
1203
+ }
1204
+ },
1205
+ "displayOptions": {
1206
+ "show": {
1207
+ "resource": [
1208
+ "Node Balancers"
1209
+ ],
1210
+ "operation": [
1211
+ "Create Node Balancer Config"
1212
+ ]
1213
+ }
1214
+ }
1215
+ },
1216
+ {
1217
+ "displayName": "Cipher Suite",
1218
+ "name": "cipher_suite",
1219
+ "type": "options",
1220
+ "default": "recommended",
1221
+ "description": "What ciphers to use for SSL connections served by this NodeBalancer.\n\n* `legacy` is considered insecure and should only be used if necessary.\n",
1222
+ "options": [
1223
+ {
1224
+ "name": "Recommended",
1225
+ "value": "recommended"
1226
+ },
1227
+ {
1228
+ "name": "Legacy",
1229
+ "value": "legacy"
1230
+ }
1231
+ ],
1232
+ "routing": {
1233
+ "send": {
1234
+ "property": "cipher_suite",
1235
+ "propertyInDotNotation": false,
1236
+ "type": "body",
1237
+ "value": "={{ $value }}"
1238
+ }
1239
+ },
1240
+ "displayOptions": {
1241
+ "show": {
1242
+ "resource": [
1243
+ "Node Balancers"
1244
+ ],
1245
+ "operation": [
1246
+ "Create Node Balancer Config"
1247
+ ]
1248
+ }
1249
+ }
1250
+ },
1251
+ {
1252
+ "displayName": "ID",
1253
+ "name": "id",
1254
+ "type": "number",
1255
+ "default": 4567,
1256
+ "description": "This config's unique ID",
1257
+ "routing": {
1258
+ "send": {
1259
+ "property": "id",
1260
+ "propertyInDotNotation": false,
1261
+ "type": "body",
1262
+ "value": "={{ $value }}"
1263
+ }
1264
+ },
1265
+ "displayOptions": {
1266
+ "show": {
1267
+ "resource": [
1268
+ "Node Balancers"
1269
+ ],
1270
+ "operation": [
1271
+ "Create Node Balancer Config"
1272
+ ]
1273
+ }
1274
+ }
1275
+ },
1276
+ {
1277
+ "displayName": "Nodebalancer ID",
1278
+ "name": "nodebalancer_id",
1279
+ "type": "number",
1280
+ "default": 12345,
1281
+ "description": "The ID for the NodeBalancer this config belongs to.\n",
1282
+ "routing": {
1283
+ "send": {
1284
+ "property": "nodebalancer_id",
1285
+ "propertyInDotNotation": false,
1286
+ "type": "body",
1287
+ "value": "={{ $value }}"
1288
+ }
1289
+ },
1290
+ "displayOptions": {
1291
+ "show": {
1292
+ "resource": [
1293
+ "Node Balancers"
1294
+ ],
1295
+ "operation": [
1296
+ "Create Node Balancer Config"
1297
+ ]
1298
+ }
1299
+ }
1300
+ },
1301
+ {
1302
+ "displayName": "Nodes Status",
1303
+ "name": "nodes_status",
1304
+ "type": "json",
1305
+ "default": "{\n \"down\": 0,\n \"up\": 4\n}",
1306
+ "description": "A structure containing information about the health of the backends for this port. This information is updated periodically as checks are performed against backends.\n",
1307
+ "routing": {
1308
+ "send": {
1309
+ "property": "nodes_status",
1310
+ "propertyInDotNotation": false,
1311
+ "type": "body",
1312
+ "value": "={{ JSON.parse($value) }}"
1313
+ }
1314
+ },
1315
+ "displayOptions": {
1316
+ "show": {
1317
+ "resource": [
1318
+ "Node Balancers"
1319
+ ],
1320
+ "operation": [
1321
+ "Create Node Balancer Config"
1322
+ ]
1323
+ }
1324
+ }
1325
+ },
1326
+ {
1327
+ "displayName": "Port",
1328
+ "name": "port",
1329
+ "type": "number",
1330
+ "default": 80,
1331
+ "description": "The port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443.\n",
1332
+ "routing": {
1333
+ "send": {
1334
+ "property": "port",
1335
+ "propertyInDotNotation": false,
1336
+ "type": "body",
1337
+ "value": "={{ $value }}"
1338
+ }
1339
+ },
1340
+ "displayOptions": {
1341
+ "show": {
1342
+ "resource": [
1343
+ "Node Balancers"
1344
+ ],
1345
+ "operation": [
1346
+ "Create Node Balancer Config"
1347
+ ]
1348
+ }
1349
+ }
1350
+ },
1351
+ {
1352
+ "displayName": "Protocol",
1353
+ "name": "protocol",
1354
+ "type": "options",
1355
+ "default": "http",
1356
+ "description": "The protocol this port is configured to serve.\n\n* The `http` and `tcp` protocols do not support `ssl_cert` and `ssl_key`.\n\n* The `https` protocol is mutually required with `ssl_cert` and `ssl_key`.\n\nReview our guide on [Available Protocols](/docs/products/networking/nodebalancers/guides/protocols/) for information on protocol features.\n",
1357
+ "options": [
1358
+ {
1359
+ "name": "HTTP",
1360
+ "value": "http"
1361
+ },
1362
+ {
1363
+ "name": "HTTPS",
1364
+ "value": "https"
1365
+ },
1366
+ {
1367
+ "name": "Tcp",
1368
+ "value": "tcp"
1369
+ }
1370
+ ],
1371
+ "routing": {
1372
+ "send": {
1373
+ "property": "protocol",
1374
+ "propertyInDotNotation": false,
1375
+ "type": "body",
1376
+ "value": "={{ $value }}"
1377
+ }
1378
+ },
1379
+ "displayOptions": {
1380
+ "show": {
1381
+ "resource": [
1382
+ "Node Balancers"
1383
+ ],
1384
+ "operation": [
1385
+ "Create Node Balancer Config"
1386
+ ]
1387
+ }
1388
+ }
1389
+ },
1390
+ {
1391
+ "displayName": "Proxy Protocol",
1392
+ "name": "proxy_protocol",
1393
+ "type": "options",
1394
+ "default": "none",
1395
+ "description": "ProxyProtocol is a TCP extension that sends initial TCP connection information such as source/destination IPs and ports to backend devices. This information would be lost otherwise. Backend devices must be configured to work with ProxyProtocol if enabled.\n\n* If ommited, or set to `none`, the NodeBalancer doesn't send any auxilary data over TCP connections. This is the default.\n* If set to `v1`, the human-readable header format (Version 1) is used. Requires `tcp` protocol.\n* If set to `v2`, the binary header format (Version 2) is used. Requires `tcp` protocol.\n",
1396
+ "options": [
1397
+ {
1398
+ "name": "None",
1399
+ "value": "none"
1400
+ },
1401
+ {
1402
+ "name": "v1",
1403
+ "value": "v1"
1404
+ },
1405
+ {
1406
+ "name": "v2",
1407
+ "value": "v2"
1408
+ }
1409
+ ],
1410
+ "routing": {
1411
+ "send": {
1412
+ "property": "proxy_protocol",
1413
+ "propertyInDotNotation": false,
1414
+ "type": "body",
1415
+ "value": "={{ $value }}"
1416
+ }
1417
+ },
1418
+ "displayOptions": {
1419
+ "show": {
1420
+ "resource": [
1421
+ "Node Balancers"
1422
+ ],
1423
+ "operation": [
1424
+ "Create Node Balancer Config"
1425
+ ]
1426
+ }
1427
+ }
1428
+ },
1429
+ {
1430
+ "displayName": "SSL Cert",
1431
+ "name": "ssl_cert",
1432
+ "type": "string",
1433
+ "default": "<REDACTED>",
1434
+ "description": "The PEM-formatted public SSL certificate (or the combined PEM-formatted SSL\ncertificate and Certificate Authority chain) that should be served on this\nNodeBalancerConfig's port.\n\nLine breaks must be represented as \"\\n\" in the string for requests (but not when using the Linode CLI).\n\n[Diffie-Hellman Parameters](/docs/products/networking/nodebalancers/guides/ssl-termination/#diffie-hellman-parameters) can be included in this value to enable forward secrecy.\n\nThe contents of this field will not be shown in any responses that display\nthe NodeBalancerConfig. Instead, `<REDACTED>` will be printed where the field\nappears.\n\nThe read-only `ssl_commonname` and `ssl_fingerprint` fields in a NodeBalancerConfig\nresponse are automatically derived from your certificate. Please refer to these fields to\nverify that the appropriate certificate was assigned to your NodeBalancerConfig.\n",
1435
+ "routing": {
1436
+ "send": {
1437
+ "property": "ssl_cert",
1438
+ "propertyInDotNotation": false,
1439
+ "type": "body",
1440
+ "value": "={{ $value }}"
1441
+ }
1442
+ },
1443
+ "displayOptions": {
1444
+ "show": {
1445
+ "resource": [
1446
+ "Node Balancers"
1447
+ ],
1448
+ "operation": [
1449
+ "Create Node Balancer Config"
1450
+ ]
1451
+ }
1452
+ }
1453
+ },
1454
+ {
1455
+ "displayName": "SSL Commonname",
1456
+ "name": "ssl_commonname",
1457
+ "type": "string",
1458
+ "default": "www.example.com",
1459
+ "description": "The read-only common name automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.\n",
1460
+ "routing": {
1461
+ "send": {
1462
+ "property": "ssl_commonname",
1463
+ "propertyInDotNotation": false,
1464
+ "type": "body",
1465
+ "value": "={{ $value }}"
1466
+ }
1467
+ },
1468
+ "displayOptions": {
1469
+ "show": {
1470
+ "resource": [
1471
+ "Node Balancers"
1472
+ ],
1473
+ "operation": [
1474
+ "Create Node Balancer Config"
1475
+ ]
1476
+ }
1477
+ }
1478
+ },
1479
+ {
1480
+ "displayName": "SSL Fingerprint",
1481
+ "name": "ssl_fingerprint",
1482
+ "type": "string",
1483
+ "default": "00:01:02:03:04:05:06:07:08:09:0A:0B:0C:0D:0E:0F:10:11:12:13",
1484
+ "description": "The read-only SHA1-encoded fingerprint automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.\n",
1485
+ "routing": {
1486
+ "send": {
1487
+ "property": "ssl_fingerprint",
1488
+ "propertyInDotNotation": false,
1489
+ "type": "body",
1490
+ "value": "={{ $value }}"
1491
+ }
1492
+ },
1493
+ "displayOptions": {
1494
+ "show": {
1495
+ "resource": [
1496
+ "Node Balancers"
1497
+ ],
1498
+ "operation": [
1499
+ "Create Node Balancer Config"
1500
+ ]
1501
+ }
1502
+ }
1503
+ },
1504
+ {
1505
+ "displayName": "SSL Key",
1506
+ "name": "ssl_key",
1507
+ "type": "string",
1508
+ "default": "<REDACTED>",
1509
+ "description": "The PEM-formatted private key for the SSL certificate set in the `ssl_cert` field.\n\nLine breaks must be represented as \"\\n\" in the string for requests (but not when using the Linode CLI).\n\nThe contents of this field will not be shown in any responses that display\nthe NodeBalancerConfig. Instead, `<REDACTED>` will be printed where the field\nappears.\n\nThe read-only `ssl_commonname` and `ssl_fingerprint` fields in a NodeBalancerConfig\nresponse are automatically derived from your certificate. Please refer to these fields to\nverify that the appropriate certificate was assigned to your NodeBalancerConfig.\n",
1510
+ "routing": {
1511
+ "send": {
1512
+ "property": "ssl_key",
1513
+ "propertyInDotNotation": false,
1514
+ "type": "body",
1515
+ "value": "={{ $value }}"
1516
+ }
1517
+ },
1518
+ "displayOptions": {
1519
+ "show": {
1520
+ "resource": [
1521
+ "Node Balancers"
1522
+ ],
1523
+ "operation": [
1524
+ "Create Node Balancer Config"
1525
+ ]
1526
+ }
1527
+ }
1528
+ },
1529
+ {
1530
+ "displayName": "Stickiness",
1531
+ "name": "stickiness",
1532
+ "type": "options",
1533
+ "default": "http_cookie",
1534
+ "description": "Controls how session stickiness is handled on this port.\n* If set to `none` connections will always be assigned a backend based on the algorithm configured.\n* If set to `table` sessions from the same remote address will be routed to the same\n backend.\n\n* For HTTP or HTTPS clients, `http_cookie` allows sessions to be\n routed to the same backend based on a cookie set by the NodeBalancer.\n",
1535
+ "options": [
1536
+ {
1537
+ "name": "None",
1538
+ "value": "none"
1539
+ },
1540
+ {
1541
+ "name": "Table",
1542
+ "value": "table"
1543
+ },
1544
+ {
1545
+ "name": "HTTP Cookie",
1546
+ "value": "http_cookie"
1547
+ }
1548
+ ],
1549
+ "routing": {
1550
+ "send": {
1551
+ "property": "stickiness",
1552
+ "propertyInDotNotation": false,
1553
+ "type": "body",
1554
+ "value": "={{ $value }}"
1555
+ }
1556
+ },
1557
+ "displayOptions": {
1558
+ "show": {
1559
+ "resource": [
1560
+ "Node Balancers"
1561
+ ],
1562
+ "operation": [
1563
+ "Create Node Balancer Config"
1564
+ ]
1565
+ }
1566
+ }
1567
+ },
1568
+ {
1569
+ "displayName": "Bearer Token",
1570
+ "name": "security_personalaccesstoken",
1571
+ "type": "string",
1572
+ "default": "",
1573
+ "description": "HTTP bearer authentication for personalAccessToken",
1574
+ "required": false,
1575
+ "routing": {
1576
+ "request": {
1577
+ "headers": {
1578
+ "Authorization": "={{ 'Bearer ' + $value }}"
1579
+ }
1580
+ }
1581
+ },
1582
+ "displayOptions": {
1583
+ "show": {
1584
+ "resource": [
1585
+ "Node Balancers"
1586
+ ],
1587
+ "operation": [
1588
+ "Create Node Balancer Config"
1589
+ ]
1590
+ }
1591
+ }
1592
+ },
1593
+ {
1594
+ "displayName": "DELETE /nodebalancers/{nodeBalancerId}/configs/{configId}",
1595
+ "name": "operation",
1596
+ "type": "notice",
1597
+ "typeOptions": {
1598
+ "theme": "info"
1599
+ },
1600
+ "default": "",
1601
+ "displayOptions": {
1602
+ "show": {
1603
+ "resource": [
1604
+ "Node Balancers"
1605
+ ],
1606
+ "operation": [
1607
+ "Delete Node Balancer Config"
1608
+ ]
1609
+ }
1610
+ }
1611
+ },
1612
+ {
1613
+ "displayName": "Bearer Token",
1614
+ "name": "security_personalaccesstoken",
1615
+ "type": "string",
1616
+ "default": "",
1617
+ "description": "HTTP bearer authentication for personalAccessToken",
1618
+ "required": false,
1619
+ "routing": {
1620
+ "request": {
1621
+ "headers": {
1622
+ "Authorization": "={{ 'Bearer ' + $value }}"
1623
+ }
1624
+ }
1625
+ },
1626
+ "displayOptions": {
1627
+ "show": {
1628
+ "resource": [
1629
+ "Node Balancers"
1630
+ ],
1631
+ "operation": [
1632
+ "Delete Node Balancer Config"
1633
+ ]
1634
+ }
1635
+ }
1636
+ },
1637
+ {
1638
+ "displayName": "GET /nodebalancers/{nodeBalancerId}/configs/{configId}",
1639
+ "name": "operation",
1640
+ "type": "notice",
1641
+ "typeOptions": {
1642
+ "theme": "info"
1643
+ },
1644
+ "default": "",
1645
+ "displayOptions": {
1646
+ "show": {
1647
+ "resource": [
1648
+ "Node Balancers"
1649
+ ],
1650
+ "operation": [
1651
+ "Get Node Balancer Config"
1652
+ ]
1653
+ }
1654
+ }
1655
+ },
1656
+ {
1657
+ "displayName": "Bearer Token",
1658
+ "name": "security_personalaccesstoken",
1659
+ "type": "string",
1660
+ "default": "",
1661
+ "description": "HTTP bearer authentication for personalAccessToken",
1662
+ "required": false,
1663
+ "routing": {
1664
+ "request": {
1665
+ "headers": {
1666
+ "Authorization": "={{ 'Bearer ' + $value }}"
1667
+ }
1668
+ }
1669
+ },
1670
+ "displayOptions": {
1671
+ "show": {
1672
+ "resource": [
1673
+ "Node Balancers"
1674
+ ],
1675
+ "operation": [
1676
+ "Get Node Balancer Config"
1677
+ ]
1678
+ }
1679
+ }
1680
+ },
1681
+ {
1682
+ "displayName": "PUT /nodebalancers/{nodeBalancerId}/configs/{configId}",
1683
+ "name": "operation",
1684
+ "type": "notice",
1685
+ "typeOptions": {
1686
+ "theme": "info"
1687
+ },
1688
+ "default": "",
1689
+ "displayOptions": {
1690
+ "show": {
1691
+ "resource": [
1692
+ "Node Balancers"
1693
+ ],
1694
+ "operation": [
1695
+ "Update Node Balancer Config"
1696
+ ]
1697
+ }
1698
+ }
1699
+ },
1700
+ {
1701
+ "displayName": "Algorithm",
1702
+ "name": "algorithm",
1703
+ "type": "options",
1704
+ "default": "roundrobin",
1705
+ "description": "What algorithm this NodeBalancer should use for routing traffic to backends.\n",
1706
+ "options": [
1707
+ {
1708
+ "name": "Roundrobin",
1709
+ "value": "roundrobin"
1710
+ },
1711
+ {
1712
+ "name": "Leastconn",
1713
+ "value": "leastconn"
1714
+ },
1715
+ {
1716
+ "name": "Source",
1717
+ "value": "source"
1718
+ }
1719
+ ],
1720
+ "routing": {
1721
+ "send": {
1722
+ "property": "algorithm",
1723
+ "propertyInDotNotation": false,
1724
+ "type": "body",
1725
+ "value": "={{ $value }}"
1726
+ }
1727
+ },
1728
+ "displayOptions": {
1729
+ "show": {
1730
+ "resource": [
1731
+ "Node Balancers"
1732
+ ],
1733
+ "operation": [
1734
+ "Update Node Balancer Config"
1735
+ ]
1736
+ }
1737
+ }
1738
+ },
1739
+ {
1740
+ "displayName": "Check",
1741
+ "name": "check",
1742
+ "type": "options",
1743
+ "default": "http_body",
1744
+ "description": "The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down.\n* If `none` no check is performed.\n* `connection` requires only a connection to the backend to succeed.\n* `http` and `http_body` rely on the backend serving HTTP, and that\n the response returned matches what is expected.\n",
1745
+ "options": [
1746
+ {
1747
+ "name": "None",
1748
+ "value": "none"
1749
+ },
1750
+ {
1751
+ "name": "Connection",
1752
+ "value": "connection"
1753
+ },
1754
+ {
1755
+ "name": "HTTP",
1756
+ "value": "http"
1757
+ },
1758
+ {
1759
+ "name": "HTTP Body",
1760
+ "value": "http_body"
1761
+ }
1762
+ ],
1763
+ "routing": {
1764
+ "send": {
1765
+ "property": "check",
1766
+ "propertyInDotNotation": false,
1767
+ "type": "body",
1768
+ "value": "={{ $value }}"
1769
+ }
1770
+ },
1771
+ "displayOptions": {
1772
+ "show": {
1773
+ "resource": [
1774
+ "Node Balancers"
1775
+ ],
1776
+ "operation": [
1777
+ "Update Node Balancer Config"
1778
+ ]
1779
+ }
1780
+ }
1781
+ },
1782
+ {
1783
+ "displayName": "Check Attempts",
1784
+ "name": "check_attempts",
1785
+ "type": "number",
1786
+ "default": 3,
1787
+ "description": "How many times to attempt a check before considering a backend to be down.\n",
1788
+ "routing": {
1789
+ "send": {
1790
+ "property": "check_attempts",
1791
+ "propertyInDotNotation": false,
1792
+ "type": "body",
1793
+ "value": "={{ $value }}"
1794
+ }
1795
+ },
1796
+ "displayOptions": {
1797
+ "show": {
1798
+ "resource": [
1799
+ "Node Balancers"
1800
+ ],
1801
+ "operation": [
1802
+ "Update Node Balancer Config"
1803
+ ]
1804
+ }
1805
+ }
1806
+ },
1807
+ {
1808
+ "displayName": "Check Body",
1809
+ "name": "check_body",
1810
+ "type": "string",
1811
+ "default": "it works",
1812
+ "description": "This value must be present in the response body of the check in order for it to pass. If this value is not present in the response body of a check request, the backend is considered to be down.\n",
1813
+ "routing": {
1814
+ "send": {
1815
+ "property": "check_body",
1816
+ "propertyInDotNotation": false,
1817
+ "type": "body",
1818
+ "value": "={{ $value }}"
1819
+ }
1820
+ },
1821
+ "displayOptions": {
1822
+ "show": {
1823
+ "resource": [
1824
+ "Node Balancers"
1825
+ ],
1826
+ "operation": [
1827
+ "Update Node Balancer Config"
1828
+ ]
1829
+ }
1830
+ }
1831
+ },
1832
+ {
1833
+ "displayName": "Check Interval",
1834
+ "name": "check_interval",
1835
+ "type": "number",
1836
+ "default": 90,
1837
+ "description": "How often, in seconds, to check that backends are up and serving requests.\n\nMust be greater than `check_timeout`.\n",
1838
+ "routing": {
1839
+ "send": {
1840
+ "property": "check_interval",
1841
+ "propertyInDotNotation": false,
1842
+ "type": "body",
1843
+ "value": "={{ $value }}"
1844
+ }
1845
+ },
1846
+ "displayOptions": {
1847
+ "show": {
1848
+ "resource": [
1849
+ "Node Balancers"
1850
+ ],
1851
+ "operation": [
1852
+ "Update Node Balancer Config"
1853
+ ]
1854
+ }
1855
+ }
1856
+ },
1857
+ {
1858
+ "displayName": "Check Passive",
1859
+ "name": "check_passive",
1860
+ "type": "boolean",
1861
+ "default": true,
1862
+ "description": "If true, any response from this backend with a `5xx` status code will be enough for it to be considered unhealthy and taken out of rotation.\n",
1863
+ "routing": {
1864
+ "send": {
1865
+ "property": "check_passive",
1866
+ "propertyInDotNotation": false,
1867
+ "type": "body",
1868
+ "value": "={{ $value }}"
1869
+ }
1870
+ },
1871
+ "displayOptions": {
1872
+ "show": {
1873
+ "resource": [
1874
+ "Node Balancers"
1875
+ ],
1876
+ "operation": [
1877
+ "Update Node Balancer Config"
1878
+ ]
1879
+ }
1880
+ }
1881
+ },
1882
+ {
1883
+ "displayName": "Check Path",
1884
+ "name": "check_path",
1885
+ "type": "string",
1886
+ "default": "/test",
1887
+ "description": "The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.\n",
1888
+ "routing": {
1889
+ "send": {
1890
+ "property": "check_path",
1891
+ "propertyInDotNotation": false,
1892
+ "type": "body",
1893
+ "value": "={{ $value }}"
1894
+ }
1895
+ },
1896
+ "displayOptions": {
1897
+ "show": {
1898
+ "resource": [
1899
+ "Node Balancers"
1900
+ ],
1901
+ "operation": [
1902
+ "Update Node Balancer Config"
1903
+ ]
1904
+ }
1905
+ }
1906
+ },
1907
+ {
1908
+ "displayName": "Check Timeout",
1909
+ "name": "check_timeout",
1910
+ "type": "number",
1911
+ "default": 10,
1912
+ "description": "How long, in seconds, to wait for a check attempt before considering it failed.\n\nMust be less than `check_interval`.\n",
1913
+ "routing": {
1914
+ "send": {
1915
+ "property": "check_timeout",
1916
+ "propertyInDotNotation": false,
1917
+ "type": "body",
1918
+ "value": "={{ $value }}"
1919
+ }
1920
+ },
1921
+ "displayOptions": {
1922
+ "show": {
1923
+ "resource": [
1924
+ "Node Balancers"
1925
+ ],
1926
+ "operation": [
1927
+ "Update Node Balancer Config"
1928
+ ]
1929
+ }
1930
+ }
1931
+ },
1932
+ {
1933
+ "displayName": "Cipher Suite",
1934
+ "name": "cipher_suite",
1935
+ "type": "options",
1936
+ "default": "recommended",
1937
+ "description": "What ciphers to use for SSL connections served by this NodeBalancer.\n\n* `legacy` is considered insecure and should only be used if necessary.\n",
1938
+ "options": [
1939
+ {
1940
+ "name": "Recommended",
1941
+ "value": "recommended"
1942
+ },
1943
+ {
1944
+ "name": "Legacy",
1945
+ "value": "legacy"
1946
+ }
1947
+ ],
1948
+ "routing": {
1949
+ "send": {
1950
+ "property": "cipher_suite",
1951
+ "propertyInDotNotation": false,
1952
+ "type": "body",
1953
+ "value": "={{ $value }}"
1954
+ }
1955
+ },
1956
+ "displayOptions": {
1957
+ "show": {
1958
+ "resource": [
1959
+ "Node Balancers"
1960
+ ],
1961
+ "operation": [
1962
+ "Update Node Balancer Config"
1963
+ ]
1964
+ }
1965
+ }
1966
+ },
1967
+ {
1968
+ "displayName": "ID",
1969
+ "name": "id",
1970
+ "type": "number",
1971
+ "default": 4567,
1972
+ "description": "This config's unique ID",
1973
+ "routing": {
1974
+ "send": {
1975
+ "property": "id",
1976
+ "propertyInDotNotation": false,
1977
+ "type": "body",
1978
+ "value": "={{ $value }}"
1979
+ }
1980
+ },
1981
+ "displayOptions": {
1982
+ "show": {
1983
+ "resource": [
1984
+ "Node Balancers"
1985
+ ],
1986
+ "operation": [
1987
+ "Update Node Balancer Config"
1988
+ ]
1989
+ }
1990
+ }
1991
+ },
1992
+ {
1993
+ "displayName": "Nodebalancer ID",
1994
+ "name": "nodebalancer_id",
1995
+ "type": "number",
1996
+ "default": 12345,
1997
+ "description": "The ID for the NodeBalancer this config belongs to.\n",
1998
+ "routing": {
1999
+ "send": {
2000
+ "property": "nodebalancer_id",
2001
+ "propertyInDotNotation": false,
2002
+ "type": "body",
2003
+ "value": "={{ $value }}"
2004
+ }
2005
+ },
2006
+ "displayOptions": {
2007
+ "show": {
2008
+ "resource": [
2009
+ "Node Balancers"
2010
+ ],
2011
+ "operation": [
2012
+ "Update Node Balancer Config"
2013
+ ]
2014
+ }
2015
+ }
2016
+ },
2017
+ {
2018
+ "displayName": "Nodes Status",
2019
+ "name": "nodes_status",
2020
+ "type": "json",
2021
+ "default": "{\n \"down\": 0,\n \"up\": 4\n}",
2022
+ "description": "A structure containing information about the health of the backends for this port. This information is updated periodically as checks are performed against backends.\n",
2023
+ "routing": {
2024
+ "send": {
2025
+ "property": "nodes_status",
2026
+ "propertyInDotNotation": false,
2027
+ "type": "body",
2028
+ "value": "={{ JSON.parse($value) }}"
2029
+ }
2030
+ },
2031
+ "displayOptions": {
2032
+ "show": {
2033
+ "resource": [
2034
+ "Node Balancers"
2035
+ ],
2036
+ "operation": [
2037
+ "Update Node Balancer Config"
2038
+ ]
2039
+ }
2040
+ }
2041
+ },
2042
+ {
2043
+ "displayName": "Port",
2044
+ "name": "port",
2045
+ "type": "number",
2046
+ "default": 80,
2047
+ "description": "The port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443.\n",
2048
+ "routing": {
2049
+ "send": {
2050
+ "property": "port",
2051
+ "propertyInDotNotation": false,
2052
+ "type": "body",
2053
+ "value": "={{ $value }}"
2054
+ }
2055
+ },
2056
+ "displayOptions": {
2057
+ "show": {
2058
+ "resource": [
2059
+ "Node Balancers"
2060
+ ],
2061
+ "operation": [
2062
+ "Update Node Balancer Config"
2063
+ ]
2064
+ }
2065
+ }
2066
+ },
2067
+ {
2068
+ "displayName": "Protocol",
2069
+ "name": "protocol",
2070
+ "type": "options",
2071
+ "default": "http",
2072
+ "description": "The protocol this port is configured to serve.\n\n* The `http` and `tcp` protocols do not support `ssl_cert` and `ssl_key`.\n\n* The `https` protocol is mutually required with `ssl_cert` and `ssl_key`.\n\nReview our guide on [Available Protocols](/docs/products/networking/nodebalancers/guides/protocols/) for information on protocol features.\n",
2073
+ "options": [
2074
+ {
2075
+ "name": "HTTP",
2076
+ "value": "http"
2077
+ },
2078
+ {
2079
+ "name": "HTTPS",
2080
+ "value": "https"
2081
+ },
2082
+ {
2083
+ "name": "Tcp",
2084
+ "value": "tcp"
2085
+ }
2086
+ ],
2087
+ "routing": {
2088
+ "send": {
2089
+ "property": "protocol",
2090
+ "propertyInDotNotation": false,
2091
+ "type": "body",
2092
+ "value": "={{ $value }}"
2093
+ }
2094
+ },
2095
+ "displayOptions": {
2096
+ "show": {
2097
+ "resource": [
2098
+ "Node Balancers"
2099
+ ],
2100
+ "operation": [
2101
+ "Update Node Balancer Config"
2102
+ ]
2103
+ }
2104
+ }
2105
+ },
2106
+ {
2107
+ "displayName": "Proxy Protocol",
2108
+ "name": "proxy_protocol",
2109
+ "type": "options",
2110
+ "default": "none",
2111
+ "description": "ProxyProtocol is a TCP extension that sends initial TCP connection information such as source/destination IPs and ports to backend devices. This information would be lost otherwise. Backend devices must be configured to work with ProxyProtocol if enabled.\n\n* If ommited, or set to `none`, the NodeBalancer doesn't send any auxilary data over TCP connections. This is the default.\n* If set to `v1`, the human-readable header format (Version 1) is used. Requires `tcp` protocol.\n* If set to `v2`, the binary header format (Version 2) is used. Requires `tcp` protocol.\n",
2112
+ "options": [
2113
+ {
2114
+ "name": "None",
2115
+ "value": "none"
2116
+ },
2117
+ {
2118
+ "name": "v1",
2119
+ "value": "v1"
2120
+ },
2121
+ {
2122
+ "name": "v2",
2123
+ "value": "v2"
2124
+ }
2125
+ ],
2126
+ "routing": {
2127
+ "send": {
2128
+ "property": "proxy_protocol",
2129
+ "propertyInDotNotation": false,
2130
+ "type": "body",
2131
+ "value": "={{ $value }}"
2132
+ }
2133
+ },
2134
+ "displayOptions": {
2135
+ "show": {
2136
+ "resource": [
2137
+ "Node Balancers"
2138
+ ],
2139
+ "operation": [
2140
+ "Update Node Balancer Config"
2141
+ ]
2142
+ }
2143
+ }
2144
+ },
2145
+ {
2146
+ "displayName": "SSL Cert",
2147
+ "name": "ssl_cert",
2148
+ "type": "string",
2149
+ "default": "<REDACTED>",
2150
+ "description": "The PEM-formatted public SSL certificate (or the combined PEM-formatted SSL\ncertificate and Certificate Authority chain) that should be served on this\nNodeBalancerConfig's port.\n\nLine breaks must be represented as \"\\n\" in the string for requests (but not when using the Linode CLI).\n\n[Diffie-Hellman Parameters](/docs/products/networking/nodebalancers/guides/ssl-termination/#diffie-hellman-parameters) can be included in this value to enable forward secrecy.\n\nThe contents of this field will not be shown in any responses that display\nthe NodeBalancerConfig. Instead, `<REDACTED>` will be printed where the field\nappears.\n\nThe read-only `ssl_commonname` and `ssl_fingerprint` fields in a NodeBalancerConfig\nresponse are automatically derived from your certificate. Please refer to these fields to\nverify that the appropriate certificate was assigned to your NodeBalancerConfig.\n",
2151
+ "routing": {
2152
+ "send": {
2153
+ "property": "ssl_cert",
2154
+ "propertyInDotNotation": false,
2155
+ "type": "body",
2156
+ "value": "={{ $value }}"
2157
+ }
2158
+ },
2159
+ "displayOptions": {
2160
+ "show": {
2161
+ "resource": [
2162
+ "Node Balancers"
2163
+ ],
2164
+ "operation": [
2165
+ "Update Node Balancer Config"
2166
+ ]
2167
+ }
2168
+ }
2169
+ },
2170
+ {
2171
+ "displayName": "SSL Commonname",
2172
+ "name": "ssl_commonname",
2173
+ "type": "string",
2174
+ "default": "www.example.com",
2175
+ "description": "The read-only common name automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.\n",
2176
+ "routing": {
2177
+ "send": {
2178
+ "property": "ssl_commonname",
2179
+ "propertyInDotNotation": false,
2180
+ "type": "body",
2181
+ "value": "={{ $value }}"
2182
+ }
2183
+ },
2184
+ "displayOptions": {
2185
+ "show": {
2186
+ "resource": [
2187
+ "Node Balancers"
2188
+ ],
2189
+ "operation": [
2190
+ "Update Node Balancer Config"
2191
+ ]
2192
+ }
2193
+ }
2194
+ },
2195
+ {
2196
+ "displayName": "SSL Fingerprint",
2197
+ "name": "ssl_fingerprint",
2198
+ "type": "string",
2199
+ "default": "00:01:02:03:04:05:06:07:08:09:0A:0B:0C:0D:0E:0F:10:11:12:13",
2200
+ "description": "The read-only SHA1-encoded fingerprint automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig.\n",
2201
+ "routing": {
2202
+ "send": {
2203
+ "property": "ssl_fingerprint",
2204
+ "propertyInDotNotation": false,
2205
+ "type": "body",
2206
+ "value": "={{ $value }}"
2207
+ }
2208
+ },
2209
+ "displayOptions": {
2210
+ "show": {
2211
+ "resource": [
2212
+ "Node Balancers"
2213
+ ],
2214
+ "operation": [
2215
+ "Update Node Balancer Config"
2216
+ ]
2217
+ }
2218
+ }
2219
+ },
2220
+ {
2221
+ "displayName": "SSL Key",
2222
+ "name": "ssl_key",
2223
+ "type": "string",
2224
+ "default": "<REDACTED>",
2225
+ "description": "The PEM-formatted private key for the SSL certificate set in the `ssl_cert` field.\n\nLine breaks must be represented as \"\\n\" in the string for requests (but not when using the Linode CLI).\n\nThe contents of this field will not be shown in any responses that display\nthe NodeBalancerConfig. Instead, `<REDACTED>` will be printed where the field\nappears.\n\nThe read-only `ssl_commonname` and `ssl_fingerprint` fields in a NodeBalancerConfig\nresponse are automatically derived from your certificate. Please refer to these fields to\nverify that the appropriate certificate was assigned to your NodeBalancerConfig.\n",
2226
+ "routing": {
2227
+ "send": {
2228
+ "property": "ssl_key",
2229
+ "propertyInDotNotation": false,
2230
+ "type": "body",
2231
+ "value": "={{ $value }}"
2232
+ }
2233
+ },
2234
+ "displayOptions": {
2235
+ "show": {
2236
+ "resource": [
2237
+ "Node Balancers"
2238
+ ],
2239
+ "operation": [
2240
+ "Update Node Balancer Config"
2241
+ ]
2242
+ }
2243
+ }
2244
+ },
2245
+ {
2246
+ "displayName": "Stickiness",
2247
+ "name": "stickiness",
2248
+ "type": "options",
2249
+ "default": "http_cookie",
2250
+ "description": "Controls how session stickiness is handled on this port.\n* If set to `none` connections will always be assigned a backend based on the algorithm configured.\n* If set to `table` sessions from the same remote address will be routed to the same\n backend.\n\n* For HTTP or HTTPS clients, `http_cookie` allows sessions to be\n routed to the same backend based on a cookie set by the NodeBalancer.\n",
2251
+ "options": [
2252
+ {
2253
+ "name": "None",
2254
+ "value": "none"
2255
+ },
2256
+ {
2257
+ "name": "Table",
2258
+ "value": "table"
2259
+ },
2260
+ {
2261
+ "name": "HTTP Cookie",
2262
+ "value": "http_cookie"
2263
+ }
2264
+ ],
2265
+ "routing": {
2266
+ "send": {
2267
+ "property": "stickiness",
2268
+ "propertyInDotNotation": false,
2269
+ "type": "body",
2270
+ "value": "={{ $value }}"
2271
+ }
2272
+ },
2273
+ "displayOptions": {
2274
+ "show": {
2275
+ "resource": [
2276
+ "Node Balancers"
2277
+ ],
2278
+ "operation": [
2279
+ "Update Node Balancer Config"
2280
+ ]
2281
+ }
2282
+ }
2283
+ },
2284
+ {
2285
+ "displayName": "Bearer Token",
2286
+ "name": "security_personalaccesstoken",
2287
+ "type": "string",
2288
+ "default": "",
2289
+ "description": "HTTP bearer authentication for personalAccessToken",
2290
+ "required": false,
2291
+ "routing": {
2292
+ "request": {
2293
+ "headers": {
2294
+ "Authorization": "={{ 'Bearer ' + $value }}"
2295
+ }
2296
+ }
2297
+ },
2298
+ "displayOptions": {
2299
+ "show": {
2300
+ "resource": [
2301
+ "Node Balancers"
2302
+ ],
2303
+ "operation": [
2304
+ "Update Node Balancer Config"
2305
+ ]
2306
+ }
2307
+ }
2308
+ },
2309
+ {
2310
+ "displayName": "GET /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes",
2311
+ "name": "operation",
2312
+ "type": "notice",
2313
+ "typeOptions": {
2314
+ "theme": "info"
2315
+ },
2316
+ "default": "",
2317
+ "displayOptions": {
2318
+ "show": {
2319
+ "resource": [
2320
+ "Node Balancers"
2321
+ ],
2322
+ "operation": [
2323
+ "Get Node Balancer Config Nodes"
2324
+ ]
2325
+ }
2326
+ }
2327
+ },
2328
+ {
2329
+ "displayName": "Page",
2330
+ "name": "page",
2331
+ "description": "The page of a collection to return.",
2332
+ "default": 1,
2333
+ "type": "number",
2334
+ "routing": {
2335
+ "send": {
2336
+ "type": "query",
2337
+ "property": "page",
2338
+ "value": "={{ $value }}",
2339
+ "propertyInDotNotation": false
2340
+ }
2341
+ },
2342
+ "displayOptions": {
2343
+ "show": {
2344
+ "resource": [
2345
+ "Node Balancers"
2346
+ ],
2347
+ "operation": [
2348
+ "Get Node Balancer Config Nodes"
2349
+ ]
2350
+ }
2351
+ }
2352
+ },
2353
+ {
2354
+ "displayName": "Page Size",
2355
+ "name": "page_size",
2356
+ "description": "The number of items to return per page.",
2357
+ "default": 100,
2358
+ "type": "number",
2359
+ "routing": {
2360
+ "send": {
2361
+ "type": "query",
2362
+ "property": "page_size",
2363
+ "value": "={{ $value }}",
2364
+ "propertyInDotNotation": false
2365
+ }
2366
+ },
2367
+ "displayOptions": {
2368
+ "show": {
2369
+ "resource": [
2370
+ "Node Balancers"
2371
+ ],
2372
+ "operation": [
2373
+ "Get Node Balancer Config Nodes"
2374
+ ]
2375
+ }
2376
+ }
2377
+ },
2378
+ {
2379
+ "displayName": "Bearer Token",
2380
+ "name": "security_personalaccesstoken",
2381
+ "type": "string",
2382
+ "default": "",
2383
+ "description": "HTTP bearer authentication for personalAccessToken",
2384
+ "required": false,
2385
+ "routing": {
2386
+ "request": {
2387
+ "headers": {
2388
+ "Authorization": "={{ 'Bearer ' + $value }}"
2389
+ }
2390
+ }
2391
+ },
2392
+ "displayOptions": {
2393
+ "show": {
2394
+ "resource": [
2395
+ "Node Balancers"
2396
+ ],
2397
+ "operation": [
2398
+ "Get Node Balancer Config Nodes"
2399
+ ]
2400
+ }
2401
+ }
2402
+ },
2403
+ {
2404
+ "displayName": "POST /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes",
2405
+ "name": "operation",
2406
+ "type": "notice",
2407
+ "typeOptions": {
2408
+ "theme": "info"
2409
+ },
2410
+ "default": "",
2411
+ "displayOptions": {
2412
+ "show": {
2413
+ "resource": [
2414
+ "Node Balancers"
2415
+ ],
2416
+ "operation": [
2417
+ "Create Node Balancer Node"
2418
+ ]
2419
+ }
2420
+ }
2421
+ },
2422
+ {
2423
+ "displayName": "Address",
2424
+ "name": "address",
2425
+ "type": "string",
2426
+ "default": "192.168.210.120:80",
2427
+ "description": "The private IP Address where this backend can be reached. This _must_ be a private IP address.\n",
2428
+ "routing": {
2429
+ "send": {
2430
+ "property": "address",
2431
+ "propertyInDotNotation": false,
2432
+ "type": "body",
2433
+ "value": "={{ $value }}"
2434
+ }
2435
+ },
2436
+ "displayOptions": {
2437
+ "show": {
2438
+ "resource": [
2439
+ "Node Balancers"
2440
+ ],
2441
+ "operation": [
2442
+ "Create Node Balancer Node"
2443
+ ]
2444
+ }
2445
+ }
2446
+ },
2447
+ {
2448
+ "displayName": "Config ID",
2449
+ "name": "config_id",
2450
+ "type": "number",
2451
+ "default": 4567,
2452
+ "description": "The NodeBalancer Config ID that this Node belongs to.\n",
2453
+ "routing": {
2454
+ "send": {
2455
+ "property": "config_id",
2456
+ "propertyInDotNotation": false,
2457
+ "type": "body",
2458
+ "value": "={{ $value }}"
2459
+ }
2460
+ },
2461
+ "displayOptions": {
2462
+ "show": {
2463
+ "resource": [
2464
+ "Node Balancers"
2465
+ ],
2466
+ "operation": [
2467
+ "Create Node Balancer Node"
2468
+ ]
2469
+ }
2470
+ }
2471
+ },
2472
+ {
2473
+ "displayName": "ID",
2474
+ "name": "id",
2475
+ "type": "number",
2476
+ "default": 54321,
2477
+ "description": "This node's unique ID.",
2478
+ "routing": {
2479
+ "send": {
2480
+ "property": "id",
2481
+ "propertyInDotNotation": false,
2482
+ "type": "body",
2483
+ "value": "={{ $value }}"
2484
+ }
2485
+ },
2486
+ "displayOptions": {
2487
+ "show": {
2488
+ "resource": [
2489
+ "Node Balancers"
2490
+ ],
2491
+ "operation": [
2492
+ "Create Node Balancer Node"
2493
+ ]
2494
+ }
2495
+ }
2496
+ },
2497
+ {
2498
+ "displayName": "Label",
2499
+ "name": "label",
2500
+ "type": "string",
2501
+ "default": "node54321",
2502
+ "description": "The label for this node. This is for display purposes only.\n",
2503
+ "routing": {
2504
+ "send": {
2505
+ "property": "label",
2506
+ "propertyInDotNotation": false,
2507
+ "type": "body",
2508
+ "value": "={{ $value }}"
2509
+ }
2510
+ },
2511
+ "displayOptions": {
2512
+ "show": {
2513
+ "resource": [
2514
+ "Node Balancers"
2515
+ ],
2516
+ "operation": [
2517
+ "Create Node Balancer Node"
2518
+ ]
2519
+ }
2520
+ }
2521
+ },
2522
+ {
2523
+ "displayName": "Mode",
2524
+ "name": "mode",
2525
+ "type": "options",
2526
+ "default": "accept",
2527
+ "description": "The mode this NodeBalancer should use when sending traffic to this backend.\n* If set to `accept` this backend is accepting traffic.\n* If set to `reject` this backend will not receive traffic.\n* If set to `drain` this backend will not receive _new_ traffic, but connections already\n pinned to it will continue to be routed to it.\n\n* If set to `backup`, this backend will only receive traffic if all `accept` nodes\n are down.\n",
2528
+ "options": [
2529
+ {
2530
+ "name": "Accept",
2531
+ "value": "accept"
2532
+ },
2533
+ {
2534
+ "name": "Reject",
2535
+ "value": "reject"
2536
+ },
2537
+ {
2538
+ "name": "Drain",
2539
+ "value": "drain"
2540
+ },
2541
+ {
2542
+ "name": "Backup",
2543
+ "value": "backup"
2544
+ }
2545
+ ],
2546
+ "routing": {
2547
+ "send": {
2548
+ "property": "mode",
2549
+ "propertyInDotNotation": false,
2550
+ "type": "body",
2551
+ "value": "={{ $value }}"
2552
+ }
2553
+ },
2554
+ "displayOptions": {
2555
+ "show": {
2556
+ "resource": [
2557
+ "Node Balancers"
2558
+ ],
2559
+ "operation": [
2560
+ "Create Node Balancer Node"
2561
+ ]
2562
+ }
2563
+ }
2564
+ },
2565
+ {
2566
+ "displayName": "Nodebalancer ID",
2567
+ "name": "nodebalancer_id",
2568
+ "type": "number",
2569
+ "default": 12345,
2570
+ "description": "The NodeBalancer ID that this Node belongs to.\n",
2571
+ "routing": {
2572
+ "send": {
2573
+ "property": "nodebalancer_id",
2574
+ "propertyInDotNotation": false,
2575
+ "type": "body",
2576
+ "value": "={{ $value }}"
2577
+ }
2578
+ },
2579
+ "displayOptions": {
2580
+ "show": {
2581
+ "resource": [
2582
+ "Node Balancers"
2583
+ ],
2584
+ "operation": [
2585
+ "Create Node Balancer Node"
2586
+ ]
2587
+ }
2588
+ }
2589
+ },
2590
+ {
2591
+ "displayName": "Status",
2592
+ "name": "status",
2593
+ "type": "options",
2594
+ "default": "UP",
2595
+ "description": "The current status of this node, based on the configured checks of its NodeBalancer Config.\n",
2596
+ "options": [
2597
+ {
2598
+ "name": "Unknown",
2599
+ "value": "unknown"
2600
+ },
2601
+ {
2602
+ "name": "UP",
2603
+ "value": "UP"
2604
+ },
2605
+ {
2606
+ "name": "DOWN",
2607
+ "value": "DOWN"
2608
+ }
2609
+ ],
2610
+ "routing": {
2611
+ "send": {
2612
+ "property": "status",
2613
+ "propertyInDotNotation": false,
2614
+ "type": "body",
2615
+ "value": "={{ $value }}"
2616
+ }
2617
+ },
2618
+ "displayOptions": {
2619
+ "show": {
2620
+ "resource": [
2621
+ "Node Balancers"
2622
+ ],
2623
+ "operation": [
2624
+ "Create Node Balancer Node"
2625
+ ]
2626
+ }
2627
+ }
2628
+ },
2629
+ {
2630
+ "displayName": "Weight",
2631
+ "name": "weight",
2632
+ "type": "number",
2633
+ "default": 50,
2634
+ "description": "Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic.\n",
2635
+ "routing": {
2636
+ "send": {
2637
+ "property": "weight",
2638
+ "propertyInDotNotation": false,
2639
+ "type": "body",
2640
+ "value": "={{ $value }}"
2641
+ }
2642
+ },
2643
+ "displayOptions": {
2644
+ "show": {
2645
+ "resource": [
2646
+ "Node Balancers"
2647
+ ],
2648
+ "operation": [
2649
+ "Create Node Balancer Node"
2650
+ ]
2651
+ }
2652
+ }
2653
+ },
2654
+ {
2655
+ "displayName": "Bearer Token",
2656
+ "name": "security_personalaccesstoken",
2657
+ "type": "string",
2658
+ "default": "",
2659
+ "description": "HTTP bearer authentication for personalAccessToken",
2660
+ "required": false,
2661
+ "routing": {
2662
+ "request": {
2663
+ "headers": {
2664
+ "Authorization": "={{ 'Bearer ' + $value }}"
2665
+ }
2666
+ }
2667
+ },
2668
+ "displayOptions": {
2669
+ "show": {
2670
+ "resource": [
2671
+ "Node Balancers"
2672
+ ],
2673
+ "operation": [
2674
+ "Create Node Balancer Node"
2675
+ ]
2676
+ }
2677
+ }
2678
+ },
2679
+ {
2680
+ "displayName": "DELETE /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes/{nodeId}",
2681
+ "name": "operation",
2682
+ "type": "notice",
2683
+ "typeOptions": {
2684
+ "theme": "info"
2685
+ },
2686
+ "default": "",
2687
+ "displayOptions": {
2688
+ "show": {
2689
+ "resource": [
2690
+ "Node Balancers"
2691
+ ],
2692
+ "operation": [
2693
+ "Delete Node Balancer Config Node"
2694
+ ]
2695
+ }
2696
+ }
2697
+ },
2698
+ {
2699
+ "displayName": "Bearer Token",
2700
+ "name": "security_personalaccesstoken",
2701
+ "type": "string",
2702
+ "default": "",
2703
+ "description": "HTTP bearer authentication for personalAccessToken",
2704
+ "required": false,
2705
+ "routing": {
2706
+ "request": {
2707
+ "headers": {
2708
+ "Authorization": "={{ 'Bearer ' + $value }}"
2709
+ }
2710
+ }
2711
+ },
2712
+ "displayOptions": {
2713
+ "show": {
2714
+ "resource": [
2715
+ "Node Balancers"
2716
+ ],
2717
+ "operation": [
2718
+ "Delete Node Balancer Config Node"
2719
+ ]
2720
+ }
2721
+ }
2722
+ },
2723
+ {
2724
+ "displayName": "GET /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes/{nodeId}",
2725
+ "name": "operation",
2726
+ "type": "notice",
2727
+ "typeOptions": {
2728
+ "theme": "info"
2729
+ },
2730
+ "default": "",
2731
+ "displayOptions": {
2732
+ "show": {
2733
+ "resource": [
2734
+ "Node Balancers"
2735
+ ],
2736
+ "operation": [
2737
+ "Get Node Balancer Node"
2738
+ ]
2739
+ }
2740
+ }
2741
+ },
2742
+ {
2743
+ "displayName": "Bearer Token",
2744
+ "name": "security_personalaccesstoken",
2745
+ "type": "string",
2746
+ "default": "",
2747
+ "description": "HTTP bearer authentication for personalAccessToken",
2748
+ "required": false,
2749
+ "routing": {
2750
+ "request": {
2751
+ "headers": {
2752
+ "Authorization": "={{ 'Bearer ' + $value }}"
2753
+ }
2754
+ }
2755
+ },
2756
+ "displayOptions": {
2757
+ "show": {
2758
+ "resource": [
2759
+ "Node Balancers"
2760
+ ],
2761
+ "operation": [
2762
+ "Get Node Balancer Node"
2763
+ ]
2764
+ }
2765
+ }
2766
+ },
2767
+ {
2768
+ "displayName": "PUT /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes/{nodeId}",
2769
+ "name": "operation",
2770
+ "type": "notice",
2771
+ "typeOptions": {
2772
+ "theme": "info"
2773
+ },
2774
+ "default": "",
2775
+ "displayOptions": {
2776
+ "show": {
2777
+ "resource": [
2778
+ "Node Balancers"
2779
+ ],
2780
+ "operation": [
2781
+ "Update Node Balancer Node"
2782
+ ]
2783
+ }
2784
+ }
2785
+ },
2786
+ {
2787
+ "displayName": "Address",
2788
+ "name": "address",
2789
+ "type": "string",
2790
+ "default": "192.168.210.120:80",
2791
+ "description": "The private IP Address where this backend can be reached. This _must_ be a private IP address.\n",
2792
+ "routing": {
2793
+ "send": {
2794
+ "property": "address",
2795
+ "propertyInDotNotation": false,
2796
+ "type": "body",
2797
+ "value": "={{ $value }}"
2798
+ }
2799
+ },
2800
+ "displayOptions": {
2801
+ "show": {
2802
+ "resource": [
2803
+ "Node Balancers"
2804
+ ],
2805
+ "operation": [
2806
+ "Update Node Balancer Node"
2807
+ ]
2808
+ }
2809
+ }
2810
+ },
2811
+ {
2812
+ "displayName": "Config ID",
2813
+ "name": "config_id",
2814
+ "type": "number",
2815
+ "default": 4567,
2816
+ "description": "The NodeBalancer Config ID that this Node belongs to.\n",
2817
+ "routing": {
2818
+ "send": {
2819
+ "property": "config_id",
2820
+ "propertyInDotNotation": false,
2821
+ "type": "body",
2822
+ "value": "={{ $value }}"
2823
+ }
2824
+ },
2825
+ "displayOptions": {
2826
+ "show": {
2827
+ "resource": [
2828
+ "Node Balancers"
2829
+ ],
2830
+ "operation": [
2831
+ "Update Node Balancer Node"
2832
+ ]
2833
+ }
2834
+ }
2835
+ },
2836
+ {
2837
+ "displayName": "ID",
2838
+ "name": "id",
2839
+ "type": "number",
2840
+ "default": 54321,
2841
+ "description": "This node's unique ID.",
2842
+ "routing": {
2843
+ "send": {
2844
+ "property": "id",
2845
+ "propertyInDotNotation": false,
2846
+ "type": "body",
2847
+ "value": "={{ $value }}"
2848
+ }
2849
+ },
2850
+ "displayOptions": {
2851
+ "show": {
2852
+ "resource": [
2853
+ "Node Balancers"
2854
+ ],
2855
+ "operation": [
2856
+ "Update Node Balancer Node"
2857
+ ]
2858
+ }
2859
+ }
2860
+ },
2861
+ {
2862
+ "displayName": "Label",
2863
+ "name": "label",
2864
+ "type": "string",
2865
+ "default": "node54321",
2866
+ "description": "The label for this node. This is for display purposes only.\n",
2867
+ "routing": {
2868
+ "send": {
2869
+ "property": "label",
2870
+ "propertyInDotNotation": false,
2871
+ "type": "body",
2872
+ "value": "={{ $value }}"
2873
+ }
2874
+ },
2875
+ "displayOptions": {
2876
+ "show": {
2877
+ "resource": [
2878
+ "Node Balancers"
2879
+ ],
2880
+ "operation": [
2881
+ "Update Node Balancer Node"
2882
+ ]
2883
+ }
2884
+ }
2885
+ },
2886
+ {
2887
+ "displayName": "Mode",
2888
+ "name": "mode",
2889
+ "type": "options",
2890
+ "default": "accept",
2891
+ "description": "The mode this NodeBalancer should use when sending traffic to this backend.\n* If set to `accept` this backend is accepting traffic.\n* If set to `reject` this backend will not receive traffic.\n* If set to `drain` this backend will not receive _new_ traffic, but connections already\n pinned to it will continue to be routed to it.\n\n* If set to `backup`, this backend will only receive traffic if all `accept` nodes\n are down.\n",
2892
+ "options": [
2893
+ {
2894
+ "name": "Accept",
2895
+ "value": "accept"
2896
+ },
2897
+ {
2898
+ "name": "Reject",
2899
+ "value": "reject"
2900
+ },
2901
+ {
2902
+ "name": "Drain",
2903
+ "value": "drain"
2904
+ },
2905
+ {
2906
+ "name": "Backup",
2907
+ "value": "backup"
2908
+ }
2909
+ ],
2910
+ "routing": {
2911
+ "send": {
2912
+ "property": "mode",
2913
+ "propertyInDotNotation": false,
2914
+ "type": "body",
2915
+ "value": "={{ $value }}"
2916
+ }
2917
+ },
2918
+ "displayOptions": {
2919
+ "show": {
2920
+ "resource": [
2921
+ "Node Balancers"
2922
+ ],
2923
+ "operation": [
2924
+ "Update Node Balancer Node"
2925
+ ]
2926
+ }
2927
+ }
2928
+ },
2929
+ {
2930
+ "displayName": "Nodebalancer ID",
2931
+ "name": "nodebalancer_id",
2932
+ "type": "number",
2933
+ "default": 12345,
2934
+ "description": "The NodeBalancer ID that this Node belongs to.\n",
2935
+ "routing": {
2936
+ "send": {
2937
+ "property": "nodebalancer_id",
2938
+ "propertyInDotNotation": false,
2939
+ "type": "body",
2940
+ "value": "={{ $value }}"
2941
+ }
2942
+ },
2943
+ "displayOptions": {
2944
+ "show": {
2945
+ "resource": [
2946
+ "Node Balancers"
2947
+ ],
2948
+ "operation": [
2949
+ "Update Node Balancer Node"
2950
+ ]
2951
+ }
2952
+ }
2953
+ },
2954
+ {
2955
+ "displayName": "Status",
2956
+ "name": "status",
2957
+ "type": "options",
2958
+ "default": "UP",
2959
+ "description": "The current status of this node, based on the configured checks of its NodeBalancer Config.\n",
2960
+ "options": [
2961
+ {
2962
+ "name": "Unknown",
2963
+ "value": "unknown"
2964
+ },
2965
+ {
2966
+ "name": "UP",
2967
+ "value": "UP"
2968
+ },
2969
+ {
2970
+ "name": "DOWN",
2971
+ "value": "DOWN"
2972
+ }
2973
+ ],
2974
+ "routing": {
2975
+ "send": {
2976
+ "property": "status",
2977
+ "propertyInDotNotation": false,
2978
+ "type": "body",
2979
+ "value": "={{ $value }}"
2980
+ }
2981
+ },
2982
+ "displayOptions": {
2983
+ "show": {
2984
+ "resource": [
2985
+ "Node Balancers"
2986
+ ],
2987
+ "operation": [
2988
+ "Update Node Balancer Node"
2989
+ ]
2990
+ }
2991
+ }
2992
+ },
2993
+ {
2994
+ "displayName": "Weight",
2995
+ "name": "weight",
2996
+ "type": "number",
2997
+ "default": 50,
2998
+ "description": "Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic.\n",
2999
+ "routing": {
3000
+ "send": {
3001
+ "property": "weight",
3002
+ "propertyInDotNotation": false,
3003
+ "type": "body",
3004
+ "value": "={{ $value }}"
3005
+ }
3006
+ },
3007
+ "displayOptions": {
3008
+ "show": {
3009
+ "resource": [
3010
+ "Node Balancers"
3011
+ ],
3012
+ "operation": [
3013
+ "Update Node Balancer Node"
3014
+ ]
3015
+ }
3016
+ }
3017
+ },
3018
+ {
3019
+ "displayName": "Bearer Token",
3020
+ "name": "security_personalaccesstoken",
3021
+ "type": "string",
3022
+ "default": "",
3023
+ "description": "HTTP bearer authentication for personalAccessToken",
3024
+ "required": false,
3025
+ "routing": {
3026
+ "request": {
3027
+ "headers": {
3028
+ "Authorization": "={{ 'Bearer ' + $value }}"
3029
+ }
3030
+ }
3031
+ },
3032
+ "displayOptions": {
3033
+ "show": {
3034
+ "resource": [
3035
+ "Node Balancers"
3036
+ ],
3037
+ "operation": [
3038
+ "Update Node Balancer Node"
3039
+ ]
3040
+ }
3041
+ }
3042
+ },
3043
+ {
3044
+ "displayName": "POST /nodebalancers/{nodeBalancerId}/configs/{configId}/rebuild",
3045
+ "name": "operation",
3046
+ "type": "notice",
3047
+ "typeOptions": {
3048
+ "theme": "info"
3049
+ },
3050
+ "default": "",
3051
+ "displayOptions": {
3052
+ "show": {
3053
+ "resource": [
3054
+ "Node Balancers"
3055
+ ],
3056
+ "operation": [
3057
+ "Rebuild Node Balancer Config"
3058
+ ]
3059
+ }
3060
+ }
3061
+ },
3062
+ {
3063
+ "required": true,
3064
+ "displayName": "Nodes",
3065
+ "name": "nodes",
3066
+ "type": "json",
3067
+ "default": "[\n {\n \"address\": \"192.168.210.120:80\",\n \"id\": 54321,\n \"label\": \"node54321\",\n \"mode\": \"accept\",\n \"weight\": 50\n }\n]",
3068
+ "description": "The NodeBalancer Node(s) that serve this Config.\n\nSome considerations for Nodes when rebuilding a config:\n * Current Nodes excluded from the request body will be deleted from the Config.\n * Current Nodes (identified by their Node ID) will be updated.\n * New Nodes (included without a Node ID) will be created.\n",
3069
+ "routing": {
3070
+ "send": {
3071
+ "property": "nodes",
3072
+ "propertyInDotNotation": false,
3073
+ "type": "body",
3074
+ "value": "={{ JSON.parse($value) }}"
3075
+ }
3076
+ },
3077
+ "displayOptions": {
3078
+ "show": {
3079
+ "resource": [
3080
+ "Node Balancers"
3081
+ ],
3082
+ "operation": [
3083
+ "Rebuild Node Balancer Config"
3084
+ ]
3085
+ }
3086
+ }
3087
+ },
3088
+ {
3089
+ "displayName": "Bearer Token",
3090
+ "name": "security_personalaccesstoken",
3091
+ "type": "string",
3092
+ "default": "",
3093
+ "description": "HTTP bearer authentication for personalAccessToken",
3094
+ "required": false,
3095
+ "routing": {
3096
+ "request": {
3097
+ "headers": {
3098
+ "Authorization": "={{ 'Bearer ' + $value }}"
3099
+ }
3100
+ }
3101
+ },
3102
+ "displayOptions": {
3103
+ "show": {
3104
+ "resource": [
3105
+ "Node Balancers"
3106
+ ],
3107
+ "operation": [
3108
+ "Rebuild Node Balancer Config"
3109
+ ]
3110
+ }
3111
+ }
3112
+ },
3113
+ {
3114
+ "displayName": "GET /nodebalancers/{nodeBalancerId}/stats",
3115
+ "name": "operation",
3116
+ "type": "notice",
3117
+ "typeOptions": {
3118
+ "theme": "info"
3119
+ },
3120
+ "default": "",
3121
+ "displayOptions": {
3122
+ "show": {
3123
+ "resource": [
3124
+ "Node Balancers"
3125
+ ],
3126
+ "operation": [
3127
+ "GET Nodebalancers Stats"
3128
+ ]
3129
+ }
3130
+ }
3131
+ },
3132
+ {
3133
+ "displayName": "Bearer Token",
3134
+ "name": "security_personalaccesstoken",
3135
+ "type": "string",
3136
+ "default": "",
3137
+ "description": "HTTP bearer authentication for personalAccessToken",
3138
+ "required": false,
3139
+ "routing": {
3140
+ "request": {
3141
+ "headers": {
3142
+ "Authorization": "={{ 'Bearer ' + $value }}"
3143
+ }
3144
+ }
3145
+ },
3146
+ "displayOptions": {
3147
+ "show": {
3148
+ "resource": [
3149
+ "Node Balancers"
3150
+ ],
3151
+ "operation": [
3152
+ "GET Nodebalancers Stats"
3153
+ ]
3154
+ }
3155
+ }
3156
+ },
3157
+ ];
3158
+ //# sourceMappingURL=index.js.map