@n8n-dev/n8n-nodes-hcloud 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 (81) hide show
  1. package/README.md +26 -0
  2. package/dist/credentials/HcloudApi.credentials.d.ts +10 -0
  3. package/dist/credentials/HcloudApi.credentials.js +47 -0
  4. package/dist/credentials/HcloudApi.credentials.js.map +1 -0
  5. package/dist/icons/hcloud.dark.svg +4 -0
  6. package/dist/icons/hcloud.svg +4 -0
  7. package/dist/nodes/Hcloud/Hcloud.node.d.ts +4 -0
  8. package/dist/nodes/Hcloud/Hcloud.node.js +194 -0
  9. package/dist/nodes/Hcloud/Hcloud.node.js.map +1 -0
  10. package/dist/nodes/Hcloud/Hcloud.node.json +20 -0
  11. package/dist/nodes/Hcloud/hcloud.dark.svg +4 -0
  12. package/dist/nodes/Hcloud/hcloud.svg +4 -0
  13. package/dist/nodes/Hcloud/resources/actions/index.d.ts +2 -0
  14. package/dist/nodes/Hcloud/resources/actions/index.js +128 -0
  15. package/dist/nodes/Hcloud/resources/actions/index.js.map +1 -0
  16. package/dist/nodes/Hcloud/resources/certificates/index.d.ts +2 -0
  17. package/dist/nodes/Hcloud/resources/certificates/index.js +1062 -0
  18. package/dist/nodes/Hcloud/resources/certificates/index.js.map +1 -0
  19. package/dist/nodes/Hcloud/resources/datacenters/index.d.ts +2 -0
  20. package/dist/nodes/Hcloud/resources/datacenters/index.js +202 -0
  21. package/dist/nodes/Hcloud/resources/datacenters/index.js.map +1 -0
  22. package/dist/nodes/Hcloud/resources/firewalls/index.d.ts +2 -0
  23. package/dist/nodes/Hcloud/resources/firewalls/index.js +1153 -0
  24. package/dist/nodes/Hcloud/resources/firewalls/index.js.map +1 -0
  25. package/dist/nodes/Hcloud/resources/floating-ips/index.d.ts +2 -0
  26. package/dist/nodes/Hcloud/resources/floating-ips/index.js +1313 -0
  27. package/dist/nodes/Hcloud/resources/floating-ips/index.js.map +1 -0
  28. package/dist/nodes/Hcloud/resources/images/index.d.ts +2 -0
  29. package/dist/nodes/Hcloud/resources/images/index.js +1036 -0
  30. package/dist/nodes/Hcloud/resources/images/index.js.map +1 -0
  31. package/dist/nodes/Hcloud/resources/index.d.ts +21 -0
  32. package/dist/nodes/Hcloud/resources/index.js +46 -0
  33. package/dist/nodes/Hcloud/resources/index.js.map +1 -0
  34. package/dist/nodes/Hcloud/resources/isos/index.d.ts +2 -0
  35. package/dist/nodes/Hcloud/resources/isos/index.js +237 -0
  36. package/dist/nodes/Hcloud/resources/isos/index.js.map +1 -0
  37. package/dist/nodes/Hcloud/resources/load-balancer-types/index.d.ts +2 -0
  38. package/dist/nodes/Hcloud/resources/load-balancer-types/index.js +177 -0
  39. package/dist/nodes/Hcloud/resources/load-balancer-types/index.js.map +1 -0
  40. package/dist/nodes/Hcloud/resources/load-balancers/index.d.ts +2 -0
  41. package/dist/nodes/Hcloud/resources/load-balancers/index.js +2724 -0
  42. package/dist/nodes/Hcloud/resources/load-balancers/index.js.map +1 -0
  43. package/dist/nodes/Hcloud/resources/locations/index.d.ts +2 -0
  44. package/dist/nodes/Hcloud/resources/locations/index.js +202 -0
  45. package/dist/nodes/Hcloud/resources/locations/index.js.map +1 -0
  46. package/dist/nodes/Hcloud/resources/networks/index.d.ts +2 -0
  47. package/dist/nodes/Hcloud/resources/networks/index.js +1595 -0
  48. package/dist/nodes/Hcloud/resources/networks/index.js.map +1 -0
  49. package/dist/nodes/Hcloud/resources/placement-groups/index.d.ts +2 -0
  50. package/dist/nodes/Hcloud/resources/placement-groups/index.js +514 -0
  51. package/dist/nodes/Hcloud/resources/placement-groups/index.js.map +1 -0
  52. package/dist/nodes/Hcloud/resources/pricing/index.d.ts +2 -0
  53. package/dist/nodes/Hcloud/resources/pricing/index.js +53 -0
  54. package/dist/nodes/Hcloud/resources/pricing/index.js.map +1 -0
  55. package/dist/nodes/Hcloud/resources/primary-ips/index.d.ts +2 -0
  56. package/dist/nodes/Hcloud/resources/primary-ips/index.js +1428 -0
  57. package/dist/nodes/Hcloud/resources/primary-ips/index.js.map +1 -0
  58. package/dist/nodes/Hcloud/resources/server-types/index.d.ts +2 -0
  59. package/dist/nodes/Hcloud/resources/server-types/index.js +177 -0
  60. package/dist/nodes/Hcloud/resources/server-types/index.js.map +1 -0
  61. package/dist/nodes/Hcloud/resources/servers/index.d.ts +2 -0
  62. package/dist/nodes/Hcloud/resources/servers/index.js +3086 -0
  63. package/dist/nodes/Hcloud/resources/servers/index.js.map +1 -0
  64. package/dist/nodes/Hcloud/resources/ssh-keys/index.d.ts +2 -0
  65. package/dist/nodes/Hcloud/resources/ssh-keys/index.js +508 -0
  66. package/dist/nodes/Hcloud/resources/ssh-keys/index.js.map +1 -0
  67. package/dist/nodes/Hcloud/resources/storage-box-types/index.d.ts +2 -0
  68. package/dist/nodes/Hcloud/resources/storage-box-types/index.js +177 -0
  69. package/dist/nodes/Hcloud/resources/storage-box-types/index.js.map +1 -0
  70. package/dist/nodes/Hcloud/resources/storage-boxes/index.d.ts +2 -0
  71. package/dist/nodes/Hcloud/resources/storage-boxes/index.js +3281 -0
  72. package/dist/nodes/Hcloud/resources/storage-boxes/index.js.map +1 -0
  73. package/dist/nodes/Hcloud/resources/volumes/index.d.ts +2 -0
  74. package/dist/nodes/Hcloud/resources/volumes/index.js +1327 -0
  75. package/dist/nodes/Hcloud/resources/volumes/index.js.map +1 -0
  76. package/dist/nodes/Hcloud/resources/zones/index.d.ts +2 -0
  77. package/dist/nodes/Hcloud/resources/zones/index.js +3379 -0
  78. package/dist/nodes/Hcloud/resources/zones/index.js.map +1 -0
  79. package/dist/package.json +53 -0
  80. package/dist/tsconfig.tsbuildinfo +1 -0
  81. package/package.json +53 -0
@@ -0,0 +1,2724 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadBalancersDescription = void 0;
4
+ exports.loadBalancersDescription = [
5
+ {
6
+ "displayName": "Operation",
7
+ "name": "operation",
8
+ "type": "options",
9
+ "noDataExpression": true,
10
+ "displayOptions": {
11
+ "show": {
12
+ "resource": [
13
+ "Load Balancers"
14
+ ]
15
+ }
16
+ },
17
+ "options": [
18
+ {
19
+ "name": "List Load Balancers",
20
+ "value": "List Load Balancers",
21
+ "action": "List Load Balancers",
22
+ "description": "Gets all existing Load Balancers that you have available.\n",
23
+ "routing": {
24
+ "request": {
25
+ "method": "GET",
26
+ "url": "=/load_balancers"
27
+ }
28
+ }
29
+ },
30
+ {
31
+ "name": "Create Load Balancer",
32
+ "value": "Create Load Balancer",
33
+ "action": "Create a Load Balancer",
34
+ "description": "Creates a Load Balancer.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| | `cloud_resource_ip_not_allowed` | The IP you are trying to add as a target belongs to a Hetzner Cloud resource |\n| | `ip_not_owned` | The IP is not owned by the owner of the project of the Load Balancer |\n| | `load_balancer_not_attached_to_network` | The Load Balancer is not attached to a network |\n| | `robot_unavailable` | Robot was not available. The caller may retry the operation after a short delay. |\n| | `server_not_attached_to_network` | The server you are trying to add as a target is not attached to the same network as the Load Balancer |\n| | `source_port_already_used` | The source port you are trying to add is already in use |\n| | `missing_ipv4` | The server that you are trying to add as a public target does not have a public IPv4 address |\n| | `target_already_defined` | The Load Balancer target you are trying to define is already defined |\n",
35
+ "routing": {
36
+ "request": {
37
+ "method": "POST",
38
+ "url": "=/load_balancers"
39
+ }
40
+ }
41
+ },
42
+ {
43
+ "name": "Delete Load Balancer",
44
+ "value": "Delete Load Balancer",
45
+ "action": "Delete a Load Balancer",
46
+ "description": "Deletes a Load Balancer.\n",
47
+ "routing": {
48
+ "request": {
49
+ "method": "DELETE",
50
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}"
51
+ }
52
+ }
53
+ },
54
+ {
55
+ "name": "Get Load Balancer",
56
+ "value": "Get Load Balancer",
57
+ "action": "Get a Load Balancer",
58
+ "description": "Gets a specific Load Balancer object.\n",
59
+ "routing": {
60
+ "request": {
61
+ "method": "GET",
62
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}"
63
+ }
64
+ }
65
+ },
66
+ {
67
+ "name": "Replace Load Balancer",
68
+ "value": "Replace Load Balancer",
69
+ "action": "Update a Load Balancer",
70
+ "description": "Updates a Load Balancer. You can update a Load Balancer’s name and a Load Balancer’s labels.\n\nNote: if the Load Balancer object changes during the request, the response will be a “conflict” error.\n",
71
+ "routing": {
72
+ "request": {
73
+ "method": "PUT",
74
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}"
75
+ }
76
+ }
77
+ },
78
+ {
79
+ "name": "List Actions For Load Balancer",
80
+ "value": "List Actions For Load Balancer",
81
+ "action": "List Actions for a Load Balancer",
82
+ "description": "Returns all Action objects for a Load Balancer. You can sort the results by using the `sort` URI parameter, and filter them with the `status` parameter.\n",
83
+ "routing": {
84
+ "request": {
85
+ "method": "GET",
86
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/actions"
87
+ }
88
+ }
89
+ },
90
+ {
91
+ "name": "Get Action For Load Balancer",
92
+ "value": "Get Action For Load Balancer",
93
+ "action": "Get an Action for a Load Balancer",
94
+ "description": "Returns a specific Action for a Load Balancer.\n",
95
+ "routing": {
96
+ "request": {
97
+ "method": "GET",
98
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/actions/{{$parameter[\"action_id\"]}}"
99
+ }
100
+ }
101
+ },
102
+ {
103
+ "name": "Add Service",
104
+ "value": "Add Service",
105
+ "action": "Add Service",
106
+ "description": "Adds a service to a Load Balancer.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| | `source_port_already_used` | The source port you are trying to add is already in use |\n",
107
+ "routing": {
108
+ "request": {
109
+ "method": "POST",
110
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/actions/add_service"
111
+ }
112
+ }
113
+ },
114
+ {
115
+ "name": "Add Target",
116
+ "value": "Add Target",
117
+ "action": "Add Target",
118
+ "description": "Adds a target to a Load Balancer.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| | `cloud_resource_ip_not_allowed` | The IP you are trying to add as a target belongs to a Hetzner Cloud resource |\n| | `ip_not_owned` | The IP you are trying to add as a target is not owned by the Project owner |\n| | `load_balancer_public_interface_disabled` | The Load Balancer's public network interface is disabled |\n| | `load_balancer_not_attached_to_network` | The Load Balancer is not attached to a network |\n| | `robot_unavailable` | Robot was not available. The caller may retry the operation after a short delay. |\n| | `server_not_attached_to_network` | The server you are trying to add as a target is not attached to the same network as the Load Balancer |\n| | `missing_ipv4` | The server that you are trying to add as a public target does not have a public IPv4 address |\n| | `target_already_defined` | The Load Balancer target you are trying to define is already defined |\n",
119
+ "routing": {
120
+ "request": {
121
+ "method": "POST",
122
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/actions/add_target"
123
+ }
124
+ }
125
+ },
126
+ {
127
+ "name": "Attach Load Balancer To Network",
128
+ "value": "Attach Load Balancer To Network",
129
+ "action": "Attach a Load Balancer to a Network",
130
+ "description": "Attach a Load Balancer to a Network.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| | `load_balancer_already_attached` | The Load Balancer is already attached to a network |\n| | `ip_not_available` | The provided Network IP is not available |\n| | `no_subnet_available` | No Subnet or IP is available for the Load Balancer within the network |\n",
131
+ "routing": {
132
+ "request": {
133
+ "method": "POST",
134
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/actions/attach_to_network"
135
+ }
136
+ }
137
+ },
138
+ {
139
+ "name": "Change Algorithm",
140
+ "value": "Change Algorithm",
141
+ "action": "Change Algorithm",
142
+ "description": "Change the algorithm that determines to which target new requests are sent.\n",
143
+ "routing": {
144
+ "request": {
145
+ "method": "POST",
146
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/actions/change_algorithm"
147
+ }
148
+ }
149
+ },
150
+ {
151
+ "name": "Change Reverse Dns Entry For This Load Balancer",
152
+ "value": "Change Reverse Dns Entry For This Load Balancer",
153
+ "action": "Change reverse DNS entry for this Load Balancer",
154
+ "description": "Changes the hostname that will appear when getting the hostname belonging to the public IPs (IPv4 and IPv6) of this Load Balancer.\n\nFloating IPs assigned to the Server are not affected by this.\n",
155
+ "routing": {
156
+ "request": {
157
+ "method": "POST",
158
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/actions/change_dns_ptr"
159
+ }
160
+ }
161
+ },
162
+ {
163
+ "name": "Change Load Balancer Protection",
164
+ "value": "Change Load Balancer Protection",
165
+ "action": "Change Load Balancer Protection",
166
+ "description": "Changes the protection configuration of a Load Balancer.\n",
167
+ "routing": {
168
+ "request": {
169
+ "method": "POST",
170
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/actions/change_protection"
171
+ }
172
+ }
173
+ },
174
+ {
175
+ "name": "Change Type Of Load Balancer",
176
+ "value": "Change Type Of Load Balancer",
177
+ "action": "Change the Type of a Load Balancer",
178
+ "description": "Changes the type (Max Services, Max Targets and Max Connections) of a Load Balancer.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| | `invalid_load_balancer_type` | The Load Balancer type does not fit for the given Load Balancer |\n",
179
+ "routing": {
180
+ "request": {
181
+ "method": "POST",
182
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/actions/change_type"
183
+ }
184
+ }
185
+ },
186
+ {
187
+ "name": "Delete Service",
188
+ "value": "Delete Service",
189
+ "action": "Delete Service",
190
+ "description": "Delete a service of a Load Balancer.\n",
191
+ "routing": {
192
+ "request": {
193
+ "method": "POST",
194
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/actions/delete_service"
195
+ }
196
+ }
197
+ },
198
+ {
199
+ "name": "Detach Load Balancer From Network",
200
+ "value": "Detach Load Balancer From Network",
201
+ "action": "Detach a Load Balancer from a Network",
202
+ "description": "Detaches a Load Balancer from a network.\n",
203
+ "routing": {
204
+ "request": {
205
+ "method": "POST",
206
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/actions/detach_from_network"
207
+ }
208
+ }
209
+ },
210
+ {
211
+ "name": "Disable Public Interface Of Load Balancer",
212
+ "value": "Disable Public Interface Of Load Balancer",
213
+ "action": "Disable the public interface of a Load Balancer",
214
+ "description": "Disable the public interface of a Load Balancer. The Load Balancer will be not accessible from the internet via its public IPs.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| | `load_balancer_not_attached_to_network` | The Load Balancer is not attached to a network |\n| | `targets_without_use_private_ip` | The Load Balancer has targets that use the public IP instead of the private IP |\n",
215
+ "routing": {
216
+ "request": {
217
+ "method": "POST",
218
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/actions/disable_public_interface"
219
+ }
220
+ }
221
+ },
222
+ {
223
+ "name": "Enable Public Interface Of Load Balancer",
224
+ "value": "Enable Public Interface Of Load Balancer",
225
+ "action": "Enable the public interface of a Load Balancer",
226
+ "description": "Enable the public interface of a Load Balancer. The Load Balancer will be accessible from the internet via its public IPs.\n",
227
+ "routing": {
228
+ "request": {
229
+ "method": "POST",
230
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/actions/enable_public_interface"
231
+ }
232
+ }
233
+ },
234
+ {
235
+ "name": "Remove Target",
236
+ "value": "Remove Target",
237
+ "action": "Remove Target",
238
+ "description": "Removes a target from a Load Balancer.\n",
239
+ "routing": {
240
+ "request": {
241
+ "method": "POST",
242
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/actions/remove_target"
243
+ }
244
+ }
245
+ },
246
+ {
247
+ "name": "Update Service",
248
+ "value": "Update Service",
249
+ "action": "Update Service",
250
+ "description": "Updates a Load Balancer Service.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| | `source_port_already_used` | The source port you are trying to add is already in use |\n",
251
+ "routing": {
252
+ "request": {
253
+ "method": "POST",
254
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/actions/update_service"
255
+ }
256
+ }
257
+ },
258
+ {
259
+ "name": "Get Metrics For Loadbalancer",
260
+ "value": "Get Metrics For Loadbalancer",
261
+ "action": "Get Metrics for a LoadBalancer",
262
+ "description": "You must specify the type of metric to get: `open_connections`, `connections_per_second`, `requests_per_second` or `bandwidth`. You can also specify more than one type by comma separation, e.g. `requests_per_second,bandwidth`.\n\nDepending on the type you will get different time series data:\n\n|Type | Timeseries | Unit | Description |\n|---- |------------|------|-------------|\n| open_connections | open_connections | number | Open connections |\n| connections_per_second | connections_per_second | connections/s | Connections per second |\n| requests_per_second | requests_per_second | requests/s | Requests per second |\n| bandwidth | bandwidth.in | bytes/s | Ingress bandwidth |\n|| bandwidth.out | bytes/s | Egress bandwidth |\n\nMetrics are available for the last 30 days only.\n\nIf you do not provide the step argument we will automatically adjust it so that 200 samples are returned.\n\nWe limit the number of samples to a maximum of 500 and will adjust the step parameter accordingly.\n",
263
+ "routing": {
264
+ "request": {
265
+ "method": "GET",
266
+ "url": "=/load_balancers/{{$parameter[\"id\"]}}/metrics"
267
+ }
268
+ }
269
+ },
270
+ {
271
+ "name": "List Load Balancer Actions",
272
+ "value": "List Load Balancer Actions",
273
+ "action": "List Actions",
274
+ "description": "Returns all Action objects. You can `sort` the results by using the sort URI parameter, and filter them with the `status` and `id` parameter.\n",
275
+ "routing": {
276
+ "request": {
277
+ "method": "GET",
278
+ "url": "=/load_balancers/actions"
279
+ }
280
+ }
281
+ },
282
+ {
283
+ "name": "Get Load Balancer Action",
284
+ "value": "Get Load Balancer Action",
285
+ "action": "Get an Action",
286
+ "description": "Returns a specific Action object.\n",
287
+ "routing": {
288
+ "request": {
289
+ "method": "GET",
290
+ "url": "=/load_balancers/actions/{{$parameter[\"id\"]}}"
291
+ }
292
+ }
293
+ }
294
+ ],
295
+ "default": ""
296
+ },
297
+ {
298
+ "displayName": "GET /load_balancers",
299
+ "name": "operation",
300
+ "type": "notice",
301
+ "typeOptions": {
302
+ "theme": "info"
303
+ },
304
+ "default": "",
305
+ "displayOptions": {
306
+ "show": {
307
+ "resource": [
308
+ "Load Balancers"
309
+ ],
310
+ "operation": [
311
+ "List Load Balancers"
312
+ ]
313
+ }
314
+ }
315
+ },
316
+ {
317
+ "displayName": "Sort",
318
+ "name": "sort",
319
+ "description": "Sort resources by field and direction. Can be used multiple times. For more\ninformation, see \"Sorting\".\n",
320
+ "default": "[\n null\n]",
321
+ "type": "json",
322
+ "routing": {
323
+ "send": {
324
+ "type": "query",
325
+ "property": "sort",
326
+ "value": "={{ $value }}",
327
+ "propertyInDotNotation": false
328
+ }
329
+ },
330
+ "displayOptions": {
331
+ "show": {
332
+ "resource": [
333
+ "Load Balancers"
334
+ ],
335
+ "operation": [
336
+ "List Load Balancers"
337
+ ]
338
+ }
339
+ }
340
+ },
341
+ {
342
+ "displayName": "Name",
343
+ "name": "name",
344
+ "description": "Filter resources by their name. The response will only contain the resources\nmatching exactly the specified name.\n",
345
+ "default": "",
346
+ "type": "string",
347
+ "routing": {
348
+ "send": {
349
+ "type": "query",
350
+ "property": "name",
351
+ "value": "={{ $value }}",
352
+ "propertyInDotNotation": false
353
+ }
354
+ },
355
+ "displayOptions": {
356
+ "show": {
357
+ "resource": [
358
+ "Load Balancers"
359
+ ],
360
+ "operation": [
361
+ "List Load Balancers"
362
+ ]
363
+ }
364
+ }
365
+ },
366
+ {
367
+ "displayName": "Label Selector",
368
+ "name": "label_selector",
369
+ "description": "Filter resources by labels. The response will only contain resources matching the\nlabel selector. For more information, see \"Label Selector\".\n",
370
+ "default": "",
371
+ "type": "string",
372
+ "routing": {
373
+ "send": {
374
+ "type": "query",
375
+ "property": "label_selector",
376
+ "value": "={{ $value }}",
377
+ "propertyInDotNotation": false
378
+ }
379
+ },
380
+ "displayOptions": {
381
+ "show": {
382
+ "resource": [
383
+ "Load Balancers"
384
+ ],
385
+ "operation": [
386
+ "List Load Balancers"
387
+ ]
388
+ }
389
+ }
390
+ },
391
+ {
392
+ "displayName": "Page",
393
+ "name": "page",
394
+ "description": "Page number to return. For more information, see \"Pagination\".",
395
+ "default": 1,
396
+ "type": "number",
397
+ "routing": {
398
+ "send": {
399
+ "type": "query",
400
+ "property": "page",
401
+ "value": "={{ $value }}",
402
+ "propertyInDotNotation": false
403
+ }
404
+ },
405
+ "displayOptions": {
406
+ "show": {
407
+ "resource": [
408
+ "Load Balancers"
409
+ ],
410
+ "operation": [
411
+ "List Load Balancers"
412
+ ]
413
+ }
414
+ }
415
+ },
416
+ {
417
+ "displayName": "Per Page",
418
+ "name": "per_page",
419
+ "description": "Maximum number of entries returned per page. For more information, see \"Pagination\".",
420
+ "default": 25,
421
+ "type": "number",
422
+ "routing": {
423
+ "send": {
424
+ "type": "query",
425
+ "property": "per_page",
426
+ "value": "={{ $value }}",
427
+ "propertyInDotNotation": false
428
+ }
429
+ },
430
+ "displayOptions": {
431
+ "show": {
432
+ "resource": [
433
+ "Load Balancers"
434
+ ],
435
+ "operation": [
436
+ "List Load Balancers"
437
+ ]
438
+ }
439
+ }
440
+ },
441
+ {
442
+ "displayName": "POST /load_balancers",
443
+ "name": "operation",
444
+ "type": "notice",
445
+ "typeOptions": {
446
+ "theme": "info"
447
+ },
448
+ "default": "",
449
+ "displayOptions": {
450
+ "show": {
451
+ "resource": [
452
+ "Load Balancers"
453
+ ],
454
+ "operation": [
455
+ "Create Load Balancer"
456
+ ]
457
+ }
458
+ }
459
+ },
460
+ {
461
+ "displayName": "Algorithm",
462
+ "name": "algorithm",
463
+ "type": "json",
464
+ "default": "{\n \"type\": \"round_robin\"\n}",
465
+ "description": "Algorithm of the Load Balancer.",
466
+ "routing": {
467
+ "send": {
468
+ "property": "algorithm",
469
+ "propertyInDotNotation": false,
470
+ "type": "body",
471
+ "value": "={{ JSON.parse($value) }}"
472
+ }
473
+ },
474
+ "displayOptions": {
475
+ "show": {
476
+ "resource": [
477
+ "Load Balancers"
478
+ ],
479
+ "operation": [
480
+ "Create Load Balancer"
481
+ ]
482
+ }
483
+ }
484
+ },
485
+ {
486
+ "displayName": "Labels",
487
+ "name": "labels",
488
+ "type": "json",
489
+ "default": "{\n \"environment\": \"prod\",\n \"example.com/my\": \"label\",\n \"just-a-key\": \"\"\n}",
490
+ "description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"Labels\".\n | User-defined labels (`key/value` pairs) for the Resource.\n\nNote that the set of Labels provided in the request will overwrite the\nexisting one.\n\nFor more information, see \"Labels\".\n",
491
+ "routing": {
492
+ "send": {
493
+ "property": "labels",
494
+ "propertyInDotNotation": false,
495
+ "type": "body",
496
+ "value": "={{ JSON.parse($value) }}"
497
+ }
498
+ },
499
+ "displayOptions": {
500
+ "show": {
501
+ "resource": [
502
+ "Load Balancers"
503
+ ],
504
+ "operation": [
505
+ "Create Load Balancer"
506
+ ]
507
+ }
508
+ }
509
+ },
510
+ {
511
+ "required": true,
512
+ "displayName": "Load Balancer Type",
513
+ "name": "load_balancer_type",
514
+ "type": "string",
515
+ "default": "lb11",
516
+ "description": "ID or name of the Load Balancer type this Load Balancer should be created with.",
517
+ "routing": {
518
+ "send": {
519
+ "property": "load_balancer_type",
520
+ "propertyInDotNotation": false,
521
+ "type": "body",
522
+ "value": "={{ $value }}"
523
+ }
524
+ },
525
+ "displayOptions": {
526
+ "show": {
527
+ "resource": [
528
+ "Load Balancers"
529
+ ],
530
+ "operation": [
531
+ "Create Load Balancer"
532
+ ]
533
+ }
534
+ }
535
+ },
536
+ {
537
+ "displayName": "Location",
538
+ "name": "location",
539
+ "type": "string",
540
+ "default": "fsn1",
541
+ "description": "ID or name of Location to create Load Balancer in.",
542
+ "routing": {
543
+ "send": {
544
+ "property": "location",
545
+ "propertyInDotNotation": false,
546
+ "type": "body",
547
+ "value": "={{ $value }}"
548
+ }
549
+ },
550
+ "displayOptions": {
551
+ "show": {
552
+ "resource": [
553
+ "Load Balancers"
554
+ ],
555
+ "operation": [
556
+ "Create Load Balancer"
557
+ ]
558
+ }
559
+ }
560
+ },
561
+ {
562
+ "required": true,
563
+ "displayName": "Name",
564
+ "name": "name",
565
+ "type": "string",
566
+ "default": "Web Frontend",
567
+ "description": "Name of the Load Balancer.",
568
+ "routing": {
569
+ "send": {
570
+ "property": "name",
571
+ "propertyInDotNotation": false,
572
+ "type": "body",
573
+ "value": "={{ $value }}"
574
+ }
575
+ },
576
+ "displayOptions": {
577
+ "show": {
578
+ "resource": [
579
+ "Load Balancers"
580
+ ],
581
+ "operation": [
582
+ "Create Load Balancer"
583
+ ]
584
+ }
585
+ }
586
+ },
587
+ {
588
+ "displayName": "Network",
589
+ "name": "network",
590
+ "type": "number",
591
+ "default": 123,
592
+ "description": "ID of the network the Load Balancer should be attached to on creation.",
593
+ "routing": {
594
+ "send": {
595
+ "property": "network",
596
+ "propertyInDotNotation": false,
597
+ "type": "body",
598
+ "value": "={{ $value }}"
599
+ }
600
+ },
601
+ "displayOptions": {
602
+ "show": {
603
+ "resource": [
604
+ "Load Balancers"
605
+ ],
606
+ "operation": [
607
+ "Create Load Balancer"
608
+ ]
609
+ }
610
+ }
611
+ },
612
+ {
613
+ "displayName": "Network Zone",
614
+ "name": "network_zone",
615
+ "type": "string",
616
+ "default": "eu-central",
617
+ "description": "Name of network zone.",
618
+ "routing": {
619
+ "send": {
620
+ "property": "network_zone",
621
+ "propertyInDotNotation": false,
622
+ "type": "body",
623
+ "value": "={{ $value }}"
624
+ }
625
+ },
626
+ "displayOptions": {
627
+ "show": {
628
+ "resource": [
629
+ "Load Balancers"
630
+ ],
631
+ "operation": [
632
+ "Create Load Balancer"
633
+ ]
634
+ }
635
+ }
636
+ },
637
+ {
638
+ "displayName": "Public Interface",
639
+ "name": "public_interface",
640
+ "type": "boolean",
641
+ "default": true,
642
+ "description": "Enable or disable the public interface of the Load Balancer.",
643
+ "routing": {
644
+ "send": {
645
+ "property": "public_interface",
646
+ "propertyInDotNotation": false,
647
+ "type": "body",
648
+ "value": "={{ $value }}"
649
+ }
650
+ },
651
+ "displayOptions": {
652
+ "show": {
653
+ "resource": [
654
+ "Load Balancers"
655
+ ],
656
+ "operation": [
657
+ "Create Load Balancer"
658
+ ]
659
+ }
660
+ }
661
+ },
662
+ {
663
+ "displayName": "Services",
664
+ "name": "services",
665
+ "type": "json",
666
+ "default": "[\n {\n \"destination_port\": 80,\n \"health_check\": {\n \"http\": {\n \"domain\": \"example.com\",\n \"path\": \"/\",\n \"response\": \"{\\\"status\\\": \\\"ok\\\"}\",\n \"status_codes\": [\n \"2??\",\n \"3??\"\n ],\n \"tls\": false\n },\n \"interval\": 15,\n \"port\": 4711,\n \"protocol\": \"http\",\n \"retries\": 3,\n \"timeout\": 10\n },\n \"http\": {\n \"certificates\": [\n 897\n ],\n \"cookie_lifetime\": 300,\n \"cookie_name\": \"HCLBSTICKY\",\n \"redirect_http\": true,\n \"sticky_sessions\": true\n },\n \"listen_port\": 443,\n \"protocol\": \"https\",\n \"proxyprotocol\": false\n }\n]",
667
+ "description": "Array of services.",
668
+ "routing": {
669
+ "send": {
670
+ "property": "services",
671
+ "propertyInDotNotation": false,
672
+ "type": "body",
673
+ "value": "={{ JSON.parse($value) }}"
674
+ }
675
+ },
676
+ "displayOptions": {
677
+ "show": {
678
+ "resource": [
679
+ "Load Balancers"
680
+ ],
681
+ "operation": [
682
+ "Create Load Balancer"
683
+ ]
684
+ }
685
+ }
686
+ },
687
+ {
688
+ "displayName": "Targets",
689
+ "name": "targets",
690
+ "type": "json",
691
+ "default": "[\n {\n \"ip\": {\n \"ip\": \"203.0.113.1\"\n },\n \"label_selector\": {\n \"selector\": \"env=prod\"\n },\n \"server\": {\n \"id\": 42\n },\n \"use_private_ip\": true\n }\n]",
692
+ "description": "Array of targets.",
693
+ "routing": {
694
+ "send": {
695
+ "property": "targets",
696
+ "propertyInDotNotation": false,
697
+ "type": "body",
698
+ "value": "={{ JSON.parse($value) }}"
699
+ }
700
+ },
701
+ "displayOptions": {
702
+ "show": {
703
+ "resource": [
704
+ "Load Balancers"
705
+ ],
706
+ "operation": [
707
+ "Create Load Balancer"
708
+ ]
709
+ }
710
+ }
711
+ },
712
+ {
713
+ "displayName": "DELETE /load_balancers/{id}",
714
+ "name": "operation",
715
+ "type": "notice",
716
+ "typeOptions": {
717
+ "theme": "info"
718
+ },
719
+ "default": "",
720
+ "displayOptions": {
721
+ "show": {
722
+ "resource": [
723
+ "Load Balancers"
724
+ ],
725
+ "operation": [
726
+ "Delete Load Balancer"
727
+ ]
728
+ }
729
+ }
730
+ },
731
+ {
732
+ "displayName": "Id",
733
+ "name": "id",
734
+ "required": true,
735
+ "description": "ID of the Load Balancer.",
736
+ "default": 42,
737
+ "type": "number",
738
+ "displayOptions": {
739
+ "show": {
740
+ "resource": [
741
+ "Load Balancers"
742
+ ],
743
+ "operation": [
744
+ "Delete Load Balancer"
745
+ ]
746
+ }
747
+ }
748
+ },
749
+ {
750
+ "displayName": "GET /load_balancers/{id}",
751
+ "name": "operation",
752
+ "type": "notice",
753
+ "typeOptions": {
754
+ "theme": "info"
755
+ },
756
+ "default": "",
757
+ "displayOptions": {
758
+ "show": {
759
+ "resource": [
760
+ "Load Balancers"
761
+ ],
762
+ "operation": [
763
+ "Get Load Balancer"
764
+ ]
765
+ }
766
+ }
767
+ },
768
+ {
769
+ "displayName": "Id",
770
+ "name": "id",
771
+ "required": true,
772
+ "description": "ID of the Load Balancer.",
773
+ "default": 42,
774
+ "type": "number",
775
+ "displayOptions": {
776
+ "show": {
777
+ "resource": [
778
+ "Load Balancers"
779
+ ],
780
+ "operation": [
781
+ "Get Load Balancer"
782
+ ]
783
+ }
784
+ }
785
+ },
786
+ {
787
+ "displayName": "PUT /load_balancers/{id}",
788
+ "name": "operation",
789
+ "type": "notice",
790
+ "typeOptions": {
791
+ "theme": "info"
792
+ },
793
+ "default": "",
794
+ "displayOptions": {
795
+ "show": {
796
+ "resource": [
797
+ "Load Balancers"
798
+ ],
799
+ "operation": [
800
+ "Replace Load Balancer"
801
+ ]
802
+ }
803
+ }
804
+ },
805
+ {
806
+ "displayName": "Id",
807
+ "name": "id",
808
+ "required": true,
809
+ "description": "ID of the Load Balancer.",
810
+ "default": 42,
811
+ "type": "number",
812
+ "displayOptions": {
813
+ "show": {
814
+ "resource": [
815
+ "Load Balancers"
816
+ ],
817
+ "operation": [
818
+ "Replace Load Balancer"
819
+ ]
820
+ }
821
+ }
822
+ },
823
+ {
824
+ "displayName": "Labels",
825
+ "name": "labels",
826
+ "type": "json",
827
+ "default": "{\n \"environment\": \"prod\",\n \"example.com/my\": \"label\",\n \"just-a-key\": \"\"\n}",
828
+ "description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"Labels\".\n | User-defined labels (`key/value` pairs) for the Resource.\n\nNote that the set of Labels provided in the request will overwrite the\nexisting one.\n\nFor more information, see \"Labels\".\n",
829
+ "routing": {
830
+ "send": {
831
+ "property": "labels",
832
+ "propertyInDotNotation": false,
833
+ "type": "body",
834
+ "value": "={{ JSON.parse($value) }}"
835
+ }
836
+ },
837
+ "displayOptions": {
838
+ "show": {
839
+ "resource": [
840
+ "Load Balancers"
841
+ ],
842
+ "operation": [
843
+ "Replace Load Balancer"
844
+ ]
845
+ }
846
+ }
847
+ },
848
+ {
849
+ "displayName": "Name",
850
+ "name": "name",
851
+ "type": "string",
852
+ "default": "new-name",
853
+ "description": "New Load Balancer name.",
854
+ "routing": {
855
+ "send": {
856
+ "property": "name",
857
+ "propertyInDotNotation": false,
858
+ "type": "body",
859
+ "value": "={{ $value }}"
860
+ }
861
+ },
862
+ "displayOptions": {
863
+ "show": {
864
+ "resource": [
865
+ "Load Balancers"
866
+ ],
867
+ "operation": [
868
+ "Replace Load Balancer"
869
+ ]
870
+ }
871
+ }
872
+ },
873
+ {
874
+ "displayName": "GET /load_balancers/{id}/actions",
875
+ "name": "operation",
876
+ "type": "notice",
877
+ "typeOptions": {
878
+ "theme": "info"
879
+ },
880
+ "default": "",
881
+ "displayOptions": {
882
+ "show": {
883
+ "resource": [
884
+ "Load Balancers"
885
+ ],
886
+ "operation": [
887
+ "List Actions For Load Balancer"
888
+ ]
889
+ }
890
+ }
891
+ },
892
+ {
893
+ "displayName": "Id",
894
+ "name": "id",
895
+ "required": true,
896
+ "description": "ID of the Load Balancer.",
897
+ "default": 42,
898
+ "type": "number",
899
+ "displayOptions": {
900
+ "show": {
901
+ "resource": [
902
+ "Load Balancers"
903
+ ],
904
+ "operation": [
905
+ "List Actions For Load Balancer"
906
+ ]
907
+ }
908
+ }
909
+ },
910
+ {
911
+ "displayName": "Sort",
912
+ "name": "sort",
913
+ "description": "Sort actions by field and direction. Can be used multiple times. For more\ninformation, see \"Sorting\".\n",
914
+ "default": "[\n null\n]",
915
+ "type": "json",
916
+ "routing": {
917
+ "send": {
918
+ "type": "query",
919
+ "property": "sort",
920
+ "value": "={{ $value }}",
921
+ "propertyInDotNotation": false
922
+ }
923
+ },
924
+ "displayOptions": {
925
+ "show": {
926
+ "resource": [
927
+ "Load Balancers"
928
+ ],
929
+ "operation": [
930
+ "List Actions For Load Balancer"
931
+ ]
932
+ }
933
+ }
934
+ },
935
+ {
936
+ "displayName": "Status",
937
+ "name": "status",
938
+ "description": "Filter the actions by status. Can be used multiple times. The response will only\ncontain actions matching the specified statuses.\n",
939
+ "default": "[\n null\n]",
940
+ "type": "json",
941
+ "routing": {
942
+ "send": {
943
+ "type": "query",
944
+ "property": "status",
945
+ "value": "={{ $value }}",
946
+ "propertyInDotNotation": false
947
+ }
948
+ },
949
+ "displayOptions": {
950
+ "show": {
951
+ "resource": [
952
+ "Load Balancers"
953
+ ],
954
+ "operation": [
955
+ "List Actions For Load Balancer"
956
+ ]
957
+ }
958
+ }
959
+ },
960
+ {
961
+ "displayName": "Page",
962
+ "name": "page",
963
+ "description": "Page number to return. For more information, see \"Pagination\".",
964
+ "default": 1,
965
+ "type": "number",
966
+ "routing": {
967
+ "send": {
968
+ "type": "query",
969
+ "property": "page",
970
+ "value": "={{ $value }}",
971
+ "propertyInDotNotation": false
972
+ }
973
+ },
974
+ "displayOptions": {
975
+ "show": {
976
+ "resource": [
977
+ "Load Balancers"
978
+ ],
979
+ "operation": [
980
+ "List Actions For Load Balancer"
981
+ ]
982
+ }
983
+ }
984
+ },
985
+ {
986
+ "displayName": "Per Page",
987
+ "name": "per_page",
988
+ "description": "Maximum number of entries returned per page. For more information, see \"Pagination\".",
989
+ "default": 25,
990
+ "type": "number",
991
+ "routing": {
992
+ "send": {
993
+ "type": "query",
994
+ "property": "per_page",
995
+ "value": "={{ $value }}",
996
+ "propertyInDotNotation": false
997
+ }
998
+ },
999
+ "displayOptions": {
1000
+ "show": {
1001
+ "resource": [
1002
+ "Load Balancers"
1003
+ ],
1004
+ "operation": [
1005
+ "List Actions For Load Balancer"
1006
+ ]
1007
+ }
1008
+ }
1009
+ },
1010
+ {
1011
+ "displayName": "GET /load_balancers/{id}/actions/{action_id}",
1012
+ "name": "operation",
1013
+ "type": "notice",
1014
+ "typeOptions": {
1015
+ "theme": "info"
1016
+ },
1017
+ "default": "",
1018
+ "displayOptions": {
1019
+ "show": {
1020
+ "resource": [
1021
+ "Load Balancers"
1022
+ ],
1023
+ "operation": [
1024
+ "Get Action For Load Balancer"
1025
+ ]
1026
+ }
1027
+ }
1028
+ },
1029
+ {
1030
+ "displayName": "Id",
1031
+ "name": "id",
1032
+ "required": true,
1033
+ "description": "ID of the Load Balancer.",
1034
+ "default": 42,
1035
+ "type": "number",
1036
+ "displayOptions": {
1037
+ "show": {
1038
+ "resource": [
1039
+ "Load Balancers"
1040
+ ],
1041
+ "operation": [
1042
+ "Get Action For Load Balancer"
1043
+ ]
1044
+ }
1045
+ }
1046
+ },
1047
+ {
1048
+ "displayName": "Action Id",
1049
+ "name": "action_id",
1050
+ "required": true,
1051
+ "description": "ID of the Action.",
1052
+ "default": 42,
1053
+ "type": "number",
1054
+ "displayOptions": {
1055
+ "show": {
1056
+ "resource": [
1057
+ "Load Balancers"
1058
+ ],
1059
+ "operation": [
1060
+ "Get Action For Load Balancer"
1061
+ ]
1062
+ }
1063
+ }
1064
+ },
1065
+ {
1066
+ "displayName": "POST /load_balancers/{id}/actions/add_service",
1067
+ "name": "operation",
1068
+ "type": "notice",
1069
+ "typeOptions": {
1070
+ "theme": "info"
1071
+ },
1072
+ "default": "",
1073
+ "displayOptions": {
1074
+ "show": {
1075
+ "resource": [
1076
+ "Load Balancers"
1077
+ ],
1078
+ "operation": [
1079
+ "Add Service"
1080
+ ]
1081
+ }
1082
+ }
1083
+ },
1084
+ {
1085
+ "displayName": "Id",
1086
+ "name": "id",
1087
+ "required": true,
1088
+ "description": "ID of the Load Balancer.",
1089
+ "default": 42,
1090
+ "type": "number",
1091
+ "displayOptions": {
1092
+ "show": {
1093
+ "resource": [
1094
+ "Load Balancers"
1095
+ ],
1096
+ "operation": [
1097
+ "Add Service"
1098
+ ]
1099
+ }
1100
+ }
1101
+ },
1102
+ {
1103
+ "required": true,
1104
+ "displayName": "Destination Port",
1105
+ "name": "destination_port",
1106
+ "type": "number",
1107
+ "default": 80,
1108
+ "description": "Port the Load Balancer will balance to.",
1109
+ "routing": {
1110
+ "send": {
1111
+ "property": "destination_port",
1112
+ "propertyInDotNotation": false,
1113
+ "type": "body",
1114
+ "value": "={{ $value }}"
1115
+ }
1116
+ },
1117
+ "displayOptions": {
1118
+ "show": {
1119
+ "resource": [
1120
+ "Load Balancers"
1121
+ ],
1122
+ "operation": [
1123
+ "Add Service"
1124
+ ]
1125
+ }
1126
+ }
1127
+ },
1128
+ {
1129
+ "required": true,
1130
+ "displayName": "Health Check",
1131
+ "name": "health_check",
1132
+ "type": "json",
1133
+ "default": "{\n \"http\": {\n \"domain\": \"example.com\",\n \"path\": \"/\",\n \"response\": \"{\\\"status\\\": \\\"ok\\\"}\",\n \"status_codes\": [\n \"2??\",\n \"3??\"\n ],\n \"tls\": false\n },\n \"interval\": 15,\n \"port\": 4711,\n \"protocol\": \"http\",\n \"retries\": 3,\n \"timeout\": 10\n}",
1134
+ "description": "Service health check.",
1135
+ "routing": {
1136
+ "send": {
1137
+ "property": "health_check",
1138
+ "propertyInDotNotation": false,
1139
+ "type": "body",
1140
+ "value": "={{ JSON.parse($value) }}"
1141
+ }
1142
+ },
1143
+ "displayOptions": {
1144
+ "show": {
1145
+ "resource": [
1146
+ "Load Balancers"
1147
+ ],
1148
+ "operation": [
1149
+ "Add Service"
1150
+ ]
1151
+ }
1152
+ }
1153
+ },
1154
+ {
1155
+ "displayName": "Http",
1156
+ "name": "http",
1157
+ "type": "json",
1158
+ "default": "{\n \"certificates\": [\n 897\n ],\n \"cookie_lifetime\": 300,\n \"cookie_name\": \"HCLBSTICKY\",\n \"redirect_http\": true,\n \"sticky_sessions\": true\n}",
1159
+ "description": "Configuration option for protocols http and https.",
1160
+ "routing": {
1161
+ "send": {
1162
+ "property": "http",
1163
+ "propertyInDotNotation": false,
1164
+ "type": "body",
1165
+ "value": "={{ JSON.parse($value) }}"
1166
+ }
1167
+ },
1168
+ "displayOptions": {
1169
+ "show": {
1170
+ "resource": [
1171
+ "Load Balancers"
1172
+ ],
1173
+ "operation": [
1174
+ "Add Service"
1175
+ ]
1176
+ }
1177
+ }
1178
+ },
1179
+ {
1180
+ "required": true,
1181
+ "displayName": "Listen Port",
1182
+ "name": "listen_port",
1183
+ "type": "number",
1184
+ "default": 443,
1185
+ "description": "Port the Load Balancer listens on.",
1186
+ "routing": {
1187
+ "send": {
1188
+ "property": "listen_port",
1189
+ "propertyInDotNotation": false,
1190
+ "type": "body",
1191
+ "value": "={{ $value }}"
1192
+ }
1193
+ },
1194
+ "displayOptions": {
1195
+ "show": {
1196
+ "resource": [
1197
+ "Load Balancers"
1198
+ ],
1199
+ "operation": [
1200
+ "Add Service"
1201
+ ]
1202
+ }
1203
+ }
1204
+ },
1205
+ {
1206
+ "required": true,
1207
+ "displayName": "Protocol",
1208
+ "name": "protocol",
1209
+ "type": "options",
1210
+ "default": "https",
1211
+ "description": "Protocol of the Load Balancer.",
1212
+ "options": [
1213
+ {
1214
+ "name": "Http",
1215
+ "value": "http"
1216
+ },
1217
+ {
1218
+ "name": "Https",
1219
+ "value": "https"
1220
+ },
1221
+ {
1222
+ "name": "Tcp",
1223
+ "value": "tcp"
1224
+ }
1225
+ ],
1226
+ "routing": {
1227
+ "send": {
1228
+ "property": "protocol",
1229
+ "propertyInDotNotation": false,
1230
+ "type": "body",
1231
+ "value": "={{ $value }}"
1232
+ }
1233
+ },
1234
+ "displayOptions": {
1235
+ "show": {
1236
+ "resource": [
1237
+ "Load Balancers"
1238
+ ],
1239
+ "operation": [
1240
+ "Add Service"
1241
+ ]
1242
+ }
1243
+ }
1244
+ },
1245
+ {
1246
+ "required": true,
1247
+ "displayName": "Proxyprotocol",
1248
+ "name": "proxyprotocol",
1249
+ "type": "boolean",
1250
+ "default": false,
1251
+ "description": "Is Proxyprotocol enabled or not.",
1252
+ "routing": {
1253
+ "send": {
1254
+ "property": "proxyprotocol",
1255
+ "propertyInDotNotation": false,
1256
+ "type": "body",
1257
+ "value": "={{ $value }}"
1258
+ }
1259
+ },
1260
+ "displayOptions": {
1261
+ "show": {
1262
+ "resource": [
1263
+ "Load Balancers"
1264
+ ],
1265
+ "operation": [
1266
+ "Add Service"
1267
+ ]
1268
+ }
1269
+ }
1270
+ },
1271
+ {
1272
+ "displayName": "POST /load_balancers/{id}/actions/add_target",
1273
+ "name": "operation",
1274
+ "type": "notice",
1275
+ "typeOptions": {
1276
+ "theme": "info"
1277
+ },
1278
+ "default": "",
1279
+ "displayOptions": {
1280
+ "show": {
1281
+ "resource": [
1282
+ "Load Balancers"
1283
+ ],
1284
+ "operation": [
1285
+ "Add Target"
1286
+ ]
1287
+ }
1288
+ }
1289
+ },
1290
+ {
1291
+ "displayName": "Id",
1292
+ "name": "id",
1293
+ "required": true,
1294
+ "description": "ID of the Load Balancer.",
1295
+ "default": 42,
1296
+ "type": "number",
1297
+ "displayOptions": {
1298
+ "show": {
1299
+ "resource": [
1300
+ "Load Balancers"
1301
+ ],
1302
+ "operation": [
1303
+ "Add Target"
1304
+ ]
1305
+ }
1306
+ }
1307
+ },
1308
+ {
1309
+ "displayName": "Ip",
1310
+ "name": "ip",
1311
+ "type": "json",
1312
+ "default": "{\n \"ip\": \"203.0.113.1\"\n}",
1313
+ "description": "IP target where the traffic should be routed to. It is only possible to use the (Public or vSwitch) IPs of Hetzner Online Root Servers belonging to the project owner. IPs belonging to other users are blocked. Additionally IPs belonging to services provided by Hetzner Cloud (Servers, Load Balancers, ...) are blocked as well. Only present for target type `ip`. | Configuration for an IP target. It is only possible to use the (Public or vSwitch) IPs of Hetzner Online Root Servers belonging to the project owner. IPs belonging to other users are blocked. Additionally IPs belonging to services provided by Hetzner Cloud (Servers, Load Balancers, ...) are blocked as well. Only valid and required if type is `ip`.",
1314
+ "routing": {
1315
+ "send": {
1316
+ "property": "ip",
1317
+ "propertyInDotNotation": false,
1318
+ "type": "body",
1319
+ "value": "={{ JSON.parse($value) }}"
1320
+ }
1321
+ },
1322
+ "displayOptions": {
1323
+ "show": {
1324
+ "resource": [
1325
+ "Load Balancers"
1326
+ ],
1327
+ "operation": [
1328
+ "Add Target"
1329
+ ]
1330
+ }
1331
+ }
1332
+ },
1333
+ {
1334
+ "displayName": "Label Selector",
1335
+ "name": "label_selector",
1336
+ "type": "json",
1337
+ "default": "{\n \"selector\": \"env=prod\"\n}",
1338
+ "description": "Configuration for type LabelSelector, required if type is `label_selector`",
1339
+ "routing": {
1340
+ "send": {
1341
+ "property": "label_selector",
1342
+ "propertyInDotNotation": false,
1343
+ "type": "body",
1344
+ "value": "={{ JSON.parse($value) }}"
1345
+ }
1346
+ },
1347
+ "displayOptions": {
1348
+ "show": {
1349
+ "resource": [
1350
+ "Load Balancers"
1351
+ ],
1352
+ "operation": [
1353
+ "Add Target"
1354
+ ]
1355
+ }
1356
+ }
1357
+ },
1358
+ {
1359
+ "displayName": "Server",
1360
+ "name": "server",
1361
+ "type": "json",
1362
+ "default": "{\n \"id\": 42\n}",
1363
+ "description": "ID of the Resource",
1364
+ "routing": {
1365
+ "send": {
1366
+ "property": "server",
1367
+ "propertyInDotNotation": false,
1368
+ "type": "body",
1369
+ "value": "={{ JSON.parse($value) }}"
1370
+ }
1371
+ },
1372
+ "displayOptions": {
1373
+ "show": {
1374
+ "resource": [
1375
+ "Load Balancers"
1376
+ ],
1377
+ "operation": [
1378
+ "Add Target"
1379
+ ]
1380
+ }
1381
+ }
1382
+ },
1383
+ {
1384
+ "required": true,
1385
+ "displayName": "Type",
1386
+ "name": "type",
1387
+ "type": "options",
1388
+ "default": "ip",
1389
+ "description": "Type of the resource.",
1390
+ "options": [
1391
+ {
1392
+ "name": "Ip",
1393
+ "value": "ip"
1394
+ },
1395
+ {
1396
+ "name": "Label Selector",
1397
+ "value": "label_selector"
1398
+ },
1399
+ {
1400
+ "name": "Server",
1401
+ "value": "server"
1402
+ }
1403
+ ],
1404
+ "routing": {
1405
+ "send": {
1406
+ "property": "type",
1407
+ "propertyInDotNotation": false,
1408
+ "type": "body",
1409
+ "value": "={{ $value }}"
1410
+ }
1411
+ },
1412
+ "displayOptions": {
1413
+ "show": {
1414
+ "resource": [
1415
+ "Load Balancers"
1416
+ ],
1417
+ "operation": [
1418
+ "Add Target"
1419
+ ]
1420
+ }
1421
+ }
1422
+ },
1423
+ {
1424
+ "displayName": "Use Private Ip",
1425
+ "name": "use_private_ip",
1426
+ "type": "boolean",
1427
+ "default": true,
1428
+ "description": "Use the private network IP instead of the public IP of the Server, requires the Server and Load Balancer to be in the same network. Only valid for target types `server` and `label_selector`.",
1429
+ "routing": {
1430
+ "send": {
1431
+ "property": "use_private_ip",
1432
+ "propertyInDotNotation": false,
1433
+ "type": "body",
1434
+ "value": "={{ $value }}"
1435
+ }
1436
+ },
1437
+ "displayOptions": {
1438
+ "show": {
1439
+ "resource": [
1440
+ "Load Balancers"
1441
+ ],
1442
+ "operation": [
1443
+ "Add Target"
1444
+ ]
1445
+ }
1446
+ }
1447
+ },
1448
+ {
1449
+ "displayName": "POST /load_balancers/{id}/actions/attach_to_network",
1450
+ "name": "operation",
1451
+ "type": "notice",
1452
+ "typeOptions": {
1453
+ "theme": "info"
1454
+ },
1455
+ "default": "",
1456
+ "displayOptions": {
1457
+ "show": {
1458
+ "resource": [
1459
+ "Load Balancers"
1460
+ ],
1461
+ "operation": [
1462
+ "Attach Load Balancer To Network"
1463
+ ]
1464
+ }
1465
+ }
1466
+ },
1467
+ {
1468
+ "displayName": "Id",
1469
+ "name": "id",
1470
+ "required": true,
1471
+ "description": "ID of the Load Balancer.",
1472
+ "default": 42,
1473
+ "type": "number",
1474
+ "displayOptions": {
1475
+ "show": {
1476
+ "resource": [
1477
+ "Load Balancers"
1478
+ ],
1479
+ "operation": [
1480
+ "Attach Load Balancer To Network"
1481
+ ]
1482
+ }
1483
+ }
1484
+ },
1485
+ {
1486
+ "displayName": "Ip",
1487
+ "name": "ip",
1488
+ "type": "string",
1489
+ "default": "10.0.1.1",
1490
+ "description": "IP to request to be assigned to this Load Balancer; if you do not provide this then you will be auto assigned an IP address.",
1491
+ "routing": {
1492
+ "send": {
1493
+ "property": "ip",
1494
+ "propertyInDotNotation": false,
1495
+ "type": "body",
1496
+ "value": "={{ $value }}"
1497
+ }
1498
+ },
1499
+ "displayOptions": {
1500
+ "show": {
1501
+ "resource": [
1502
+ "Load Balancers"
1503
+ ],
1504
+ "operation": [
1505
+ "Attach Load Balancer To Network"
1506
+ ]
1507
+ }
1508
+ }
1509
+ },
1510
+ {
1511
+ "displayName": "Ip Range",
1512
+ "name": "ip_range",
1513
+ "type": "string",
1514
+ "default": "10.0.1.0/24",
1515
+ "description": "IP range in CIDR block notation of the subnet to attach to.\n\nThis allows for auto assigning an IP address for a specific subnet.\nProviding `ip` that is not part of `ip_range` will result in an error.\n",
1516
+ "routing": {
1517
+ "send": {
1518
+ "property": "ip_range",
1519
+ "propertyInDotNotation": false,
1520
+ "type": "body",
1521
+ "value": "={{ $value }}"
1522
+ }
1523
+ },
1524
+ "displayOptions": {
1525
+ "show": {
1526
+ "resource": [
1527
+ "Load Balancers"
1528
+ ],
1529
+ "operation": [
1530
+ "Attach Load Balancer To Network"
1531
+ ]
1532
+ }
1533
+ }
1534
+ },
1535
+ {
1536
+ "required": true,
1537
+ "displayName": "Network",
1538
+ "name": "network",
1539
+ "type": "number",
1540
+ "default": 4711,
1541
+ "description": "ID of an existing network to attach the Load Balancer to.",
1542
+ "routing": {
1543
+ "send": {
1544
+ "property": "network",
1545
+ "propertyInDotNotation": false,
1546
+ "type": "body",
1547
+ "value": "={{ $value }}"
1548
+ }
1549
+ },
1550
+ "displayOptions": {
1551
+ "show": {
1552
+ "resource": [
1553
+ "Load Balancers"
1554
+ ],
1555
+ "operation": [
1556
+ "Attach Load Balancer To Network"
1557
+ ]
1558
+ }
1559
+ }
1560
+ },
1561
+ {
1562
+ "displayName": "POST /load_balancers/{id}/actions/change_algorithm",
1563
+ "name": "operation",
1564
+ "type": "notice",
1565
+ "typeOptions": {
1566
+ "theme": "info"
1567
+ },
1568
+ "default": "",
1569
+ "displayOptions": {
1570
+ "show": {
1571
+ "resource": [
1572
+ "Load Balancers"
1573
+ ],
1574
+ "operation": [
1575
+ "Change Algorithm"
1576
+ ]
1577
+ }
1578
+ }
1579
+ },
1580
+ {
1581
+ "displayName": "Id",
1582
+ "name": "id",
1583
+ "required": true,
1584
+ "description": "ID of the Load Balancer.",
1585
+ "default": 42,
1586
+ "type": "number",
1587
+ "displayOptions": {
1588
+ "show": {
1589
+ "resource": [
1590
+ "Load Balancers"
1591
+ ],
1592
+ "operation": [
1593
+ "Change Algorithm"
1594
+ ]
1595
+ }
1596
+ }
1597
+ },
1598
+ {
1599
+ "required": true,
1600
+ "displayName": "Type",
1601
+ "name": "type",
1602
+ "type": "options",
1603
+ "default": "round_robin",
1604
+ "description": "Type of the algorithm.",
1605
+ "options": [
1606
+ {
1607
+ "name": "Least Connections",
1608
+ "value": "least_connections"
1609
+ },
1610
+ {
1611
+ "name": "Round Robin",
1612
+ "value": "round_robin"
1613
+ }
1614
+ ],
1615
+ "routing": {
1616
+ "send": {
1617
+ "property": "type",
1618
+ "propertyInDotNotation": false,
1619
+ "type": "body",
1620
+ "value": "={{ $value }}"
1621
+ }
1622
+ },
1623
+ "displayOptions": {
1624
+ "show": {
1625
+ "resource": [
1626
+ "Load Balancers"
1627
+ ],
1628
+ "operation": [
1629
+ "Change Algorithm"
1630
+ ]
1631
+ }
1632
+ }
1633
+ },
1634
+ {
1635
+ "displayName": "POST /load_balancers/{id}/actions/change_dns_ptr",
1636
+ "name": "operation",
1637
+ "type": "notice",
1638
+ "typeOptions": {
1639
+ "theme": "info"
1640
+ },
1641
+ "default": "",
1642
+ "displayOptions": {
1643
+ "show": {
1644
+ "resource": [
1645
+ "Load Balancers"
1646
+ ],
1647
+ "operation": [
1648
+ "Change Reverse Dns Entry For This Load Balancer"
1649
+ ]
1650
+ }
1651
+ }
1652
+ },
1653
+ {
1654
+ "displayName": "Id",
1655
+ "name": "id",
1656
+ "required": true,
1657
+ "description": "ID of the Load Balancer.",
1658
+ "default": 42,
1659
+ "type": "number",
1660
+ "displayOptions": {
1661
+ "show": {
1662
+ "resource": [
1663
+ "Load Balancers"
1664
+ ],
1665
+ "operation": [
1666
+ "Change Reverse Dns Entry For This Load Balancer"
1667
+ ]
1668
+ }
1669
+ }
1670
+ },
1671
+ {
1672
+ "required": true,
1673
+ "displayName": "Dns Ptr",
1674
+ "name": "dns_ptr",
1675
+ "type": "string",
1676
+ "default": "lb1.example.com",
1677
+ "description": "Hostname to set as a reverse DNS PTR entry.",
1678
+ "routing": {
1679
+ "send": {
1680
+ "property": "dns_ptr",
1681
+ "propertyInDotNotation": false,
1682
+ "type": "body",
1683
+ "value": "={{ $value }}"
1684
+ }
1685
+ },
1686
+ "displayOptions": {
1687
+ "show": {
1688
+ "resource": [
1689
+ "Load Balancers"
1690
+ ],
1691
+ "operation": [
1692
+ "Change Reverse Dns Entry For This Load Balancer"
1693
+ ]
1694
+ }
1695
+ }
1696
+ },
1697
+ {
1698
+ "required": true,
1699
+ "displayName": "Ip",
1700
+ "name": "ip",
1701
+ "type": "string",
1702
+ "default": "1.2.3.4",
1703
+ "description": "Public IP address for which the reverse DNS entry should be set.",
1704
+ "routing": {
1705
+ "send": {
1706
+ "property": "ip",
1707
+ "propertyInDotNotation": false,
1708
+ "type": "body",
1709
+ "value": "={{ $value }}"
1710
+ }
1711
+ },
1712
+ "displayOptions": {
1713
+ "show": {
1714
+ "resource": [
1715
+ "Load Balancers"
1716
+ ],
1717
+ "operation": [
1718
+ "Change Reverse Dns Entry For This Load Balancer"
1719
+ ]
1720
+ }
1721
+ }
1722
+ },
1723
+ {
1724
+ "displayName": "POST /load_balancers/{id}/actions/change_protection",
1725
+ "name": "operation",
1726
+ "type": "notice",
1727
+ "typeOptions": {
1728
+ "theme": "info"
1729
+ },
1730
+ "default": "",
1731
+ "displayOptions": {
1732
+ "show": {
1733
+ "resource": [
1734
+ "Load Balancers"
1735
+ ],
1736
+ "operation": [
1737
+ "Change Load Balancer Protection"
1738
+ ]
1739
+ }
1740
+ }
1741
+ },
1742
+ {
1743
+ "displayName": "Id",
1744
+ "name": "id",
1745
+ "required": true,
1746
+ "description": "ID of the Load Balancer.",
1747
+ "default": 42,
1748
+ "type": "number",
1749
+ "displayOptions": {
1750
+ "show": {
1751
+ "resource": [
1752
+ "Load Balancers"
1753
+ ],
1754
+ "operation": [
1755
+ "Change Load Balancer Protection"
1756
+ ]
1757
+ }
1758
+ }
1759
+ },
1760
+ {
1761
+ "displayName": "Delete",
1762
+ "name": "delete",
1763
+ "type": "boolean",
1764
+ "default": true,
1765
+ "description": "If true, prevents the Load Balancer from being deleted.",
1766
+ "routing": {
1767
+ "send": {
1768
+ "property": "delete",
1769
+ "propertyInDotNotation": false,
1770
+ "type": "body",
1771
+ "value": "={{ $value }}"
1772
+ }
1773
+ },
1774
+ "displayOptions": {
1775
+ "show": {
1776
+ "resource": [
1777
+ "Load Balancers"
1778
+ ],
1779
+ "operation": [
1780
+ "Change Load Balancer Protection"
1781
+ ]
1782
+ }
1783
+ }
1784
+ },
1785
+ {
1786
+ "displayName": "POST /load_balancers/{id}/actions/change_type",
1787
+ "name": "operation",
1788
+ "type": "notice",
1789
+ "typeOptions": {
1790
+ "theme": "info"
1791
+ },
1792
+ "default": "",
1793
+ "displayOptions": {
1794
+ "show": {
1795
+ "resource": [
1796
+ "Load Balancers"
1797
+ ],
1798
+ "operation": [
1799
+ "Change Type Of Load Balancer"
1800
+ ]
1801
+ }
1802
+ }
1803
+ },
1804
+ {
1805
+ "displayName": "Id",
1806
+ "name": "id",
1807
+ "required": true,
1808
+ "description": "ID of the Load Balancer.",
1809
+ "default": 42,
1810
+ "type": "number",
1811
+ "displayOptions": {
1812
+ "show": {
1813
+ "resource": [
1814
+ "Load Balancers"
1815
+ ],
1816
+ "operation": [
1817
+ "Change Type Of Load Balancer"
1818
+ ]
1819
+ }
1820
+ }
1821
+ },
1822
+ {
1823
+ "required": true,
1824
+ "displayName": "Load Balancer Type",
1825
+ "name": "load_balancer_type",
1826
+ "type": "string",
1827
+ "default": "lb21",
1828
+ "description": "ID or name of Load Balancer type the Load Balancer should migrate to.",
1829
+ "routing": {
1830
+ "send": {
1831
+ "property": "load_balancer_type",
1832
+ "propertyInDotNotation": false,
1833
+ "type": "body",
1834
+ "value": "={{ $value }}"
1835
+ }
1836
+ },
1837
+ "displayOptions": {
1838
+ "show": {
1839
+ "resource": [
1840
+ "Load Balancers"
1841
+ ],
1842
+ "operation": [
1843
+ "Change Type Of Load Balancer"
1844
+ ]
1845
+ }
1846
+ }
1847
+ },
1848
+ {
1849
+ "displayName": "POST /load_balancers/{id}/actions/delete_service",
1850
+ "name": "operation",
1851
+ "type": "notice",
1852
+ "typeOptions": {
1853
+ "theme": "info"
1854
+ },
1855
+ "default": "",
1856
+ "displayOptions": {
1857
+ "show": {
1858
+ "resource": [
1859
+ "Load Balancers"
1860
+ ],
1861
+ "operation": [
1862
+ "Delete Service"
1863
+ ]
1864
+ }
1865
+ }
1866
+ },
1867
+ {
1868
+ "displayName": "Id",
1869
+ "name": "id",
1870
+ "required": true,
1871
+ "description": "ID of the Load Balancer.",
1872
+ "default": 42,
1873
+ "type": "number",
1874
+ "displayOptions": {
1875
+ "show": {
1876
+ "resource": [
1877
+ "Load Balancers"
1878
+ ],
1879
+ "operation": [
1880
+ "Delete Service"
1881
+ ]
1882
+ }
1883
+ }
1884
+ },
1885
+ {
1886
+ "required": true,
1887
+ "displayName": "Listen Port",
1888
+ "name": "listen_port",
1889
+ "type": "number",
1890
+ "default": 443,
1891
+ "description": "The listen port of the service you want to delete.",
1892
+ "routing": {
1893
+ "send": {
1894
+ "property": "listen_port",
1895
+ "propertyInDotNotation": false,
1896
+ "type": "body",
1897
+ "value": "={{ $value }}"
1898
+ }
1899
+ },
1900
+ "displayOptions": {
1901
+ "show": {
1902
+ "resource": [
1903
+ "Load Balancers"
1904
+ ],
1905
+ "operation": [
1906
+ "Delete Service"
1907
+ ]
1908
+ }
1909
+ }
1910
+ },
1911
+ {
1912
+ "displayName": "POST /load_balancers/{id}/actions/detach_from_network",
1913
+ "name": "operation",
1914
+ "type": "notice",
1915
+ "typeOptions": {
1916
+ "theme": "info"
1917
+ },
1918
+ "default": "",
1919
+ "displayOptions": {
1920
+ "show": {
1921
+ "resource": [
1922
+ "Load Balancers"
1923
+ ],
1924
+ "operation": [
1925
+ "Detach Load Balancer From Network"
1926
+ ]
1927
+ }
1928
+ }
1929
+ },
1930
+ {
1931
+ "displayName": "Id",
1932
+ "name": "id",
1933
+ "required": true,
1934
+ "description": "ID of the Load Balancer.",
1935
+ "default": 42,
1936
+ "type": "number",
1937
+ "displayOptions": {
1938
+ "show": {
1939
+ "resource": [
1940
+ "Load Balancers"
1941
+ ],
1942
+ "operation": [
1943
+ "Detach Load Balancer From Network"
1944
+ ]
1945
+ }
1946
+ }
1947
+ },
1948
+ {
1949
+ "required": true,
1950
+ "displayName": "Network",
1951
+ "name": "network",
1952
+ "type": "number",
1953
+ "default": 4711,
1954
+ "description": "ID of an existing network to detach the Load Balancer from.",
1955
+ "routing": {
1956
+ "send": {
1957
+ "property": "network",
1958
+ "propertyInDotNotation": false,
1959
+ "type": "body",
1960
+ "value": "={{ $value }}"
1961
+ }
1962
+ },
1963
+ "displayOptions": {
1964
+ "show": {
1965
+ "resource": [
1966
+ "Load Balancers"
1967
+ ],
1968
+ "operation": [
1969
+ "Detach Load Balancer From Network"
1970
+ ]
1971
+ }
1972
+ }
1973
+ },
1974
+ {
1975
+ "displayName": "POST /load_balancers/{id}/actions/disable_public_interface",
1976
+ "name": "operation",
1977
+ "type": "notice",
1978
+ "typeOptions": {
1979
+ "theme": "info"
1980
+ },
1981
+ "default": "",
1982
+ "displayOptions": {
1983
+ "show": {
1984
+ "resource": [
1985
+ "Load Balancers"
1986
+ ],
1987
+ "operation": [
1988
+ "Disable Public Interface Of Load Balancer"
1989
+ ]
1990
+ }
1991
+ }
1992
+ },
1993
+ {
1994
+ "displayName": "Id",
1995
+ "name": "id",
1996
+ "required": true,
1997
+ "description": "ID of the Load Balancer.",
1998
+ "default": 42,
1999
+ "type": "number",
2000
+ "displayOptions": {
2001
+ "show": {
2002
+ "resource": [
2003
+ "Load Balancers"
2004
+ ],
2005
+ "operation": [
2006
+ "Disable Public Interface Of Load Balancer"
2007
+ ]
2008
+ }
2009
+ }
2010
+ },
2011
+ {
2012
+ "displayName": "POST /load_balancers/{id}/actions/enable_public_interface",
2013
+ "name": "operation",
2014
+ "type": "notice",
2015
+ "typeOptions": {
2016
+ "theme": "info"
2017
+ },
2018
+ "default": "",
2019
+ "displayOptions": {
2020
+ "show": {
2021
+ "resource": [
2022
+ "Load Balancers"
2023
+ ],
2024
+ "operation": [
2025
+ "Enable Public Interface Of Load Balancer"
2026
+ ]
2027
+ }
2028
+ }
2029
+ },
2030
+ {
2031
+ "displayName": "Id",
2032
+ "name": "id",
2033
+ "required": true,
2034
+ "description": "ID of the Load Balancer.",
2035
+ "default": 42,
2036
+ "type": "number",
2037
+ "displayOptions": {
2038
+ "show": {
2039
+ "resource": [
2040
+ "Load Balancers"
2041
+ ],
2042
+ "operation": [
2043
+ "Enable Public Interface Of Load Balancer"
2044
+ ]
2045
+ }
2046
+ }
2047
+ },
2048
+ {
2049
+ "displayName": "POST /load_balancers/{id}/actions/remove_target",
2050
+ "name": "operation",
2051
+ "type": "notice",
2052
+ "typeOptions": {
2053
+ "theme": "info"
2054
+ },
2055
+ "default": "",
2056
+ "displayOptions": {
2057
+ "show": {
2058
+ "resource": [
2059
+ "Load Balancers"
2060
+ ],
2061
+ "operation": [
2062
+ "Remove Target"
2063
+ ]
2064
+ }
2065
+ }
2066
+ },
2067
+ {
2068
+ "displayName": "Id",
2069
+ "name": "id",
2070
+ "required": true,
2071
+ "description": "ID of the Load Balancer.",
2072
+ "default": 42,
2073
+ "type": "number",
2074
+ "displayOptions": {
2075
+ "show": {
2076
+ "resource": [
2077
+ "Load Balancers"
2078
+ ],
2079
+ "operation": [
2080
+ "Remove Target"
2081
+ ]
2082
+ }
2083
+ }
2084
+ },
2085
+ {
2086
+ "displayName": "Ip",
2087
+ "name": "ip",
2088
+ "type": "json",
2089
+ "default": "{\n \"ip\": \"203.0.113.1\"\n}",
2090
+ "description": "IP target where the traffic should be routed to. It is only possible to use the (Public or vSwitch) IPs of Hetzner Online Root Servers belonging to the project owner. IPs belonging to other users are blocked. Additionally IPs belonging to services provided by Hetzner Cloud (Servers, Load Balancers, ...) are blocked as well. Only present for target type `ip`. | Configuration for an IP target. It is only possible to use the (Public or vSwitch) IPs of Hetzner Online Root Servers belonging to the project owner. IPs belonging to other users are blocked. Additionally IPs belonging to services provided by Hetzner Cloud (Servers, Load Balancers, ...) are blocked as well. Only valid and required if type is `ip`.",
2091
+ "routing": {
2092
+ "send": {
2093
+ "property": "ip",
2094
+ "propertyInDotNotation": false,
2095
+ "type": "body",
2096
+ "value": "={{ JSON.parse($value) }}"
2097
+ }
2098
+ },
2099
+ "displayOptions": {
2100
+ "show": {
2101
+ "resource": [
2102
+ "Load Balancers"
2103
+ ],
2104
+ "operation": [
2105
+ "Remove Target"
2106
+ ]
2107
+ }
2108
+ }
2109
+ },
2110
+ {
2111
+ "displayName": "Label Selector",
2112
+ "name": "label_selector",
2113
+ "type": "json",
2114
+ "default": "{\n \"selector\": \"env=prod\"\n}",
2115
+ "description": "Configuration for type LabelSelector, required if type is `label_selector`",
2116
+ "routing": {
2117
+ "send": {
2118
+ "property": "label_selector",
2119
+ "propertyInDotNotation": false,
2120
+ "type": "body",
2121
+ "value": "={{ JSON.parse($value) }}"
2122
+ }
2123
+ },
2124
+ "displayOptions": {
2125
+ "show": {
2126
+ "resource": [
2127
+ "Load Balancers"
2128
+ ],
2129
+ "operation": [
2130
+ "Remove Target"
2131
+ ]
2132
+ }
2133
+ }
2134
+ },
2135
+ {
2136
+ "displayName": "Server",
2137
+ "name": "server",
2138
+ "type": "json",
2139
+ "default": "{\n \"id\": 42\n}",
2140
+ "description": "ID of the Resource",
2141
+ "routing": {
2142
+ "send": {
2143
+ "property": "server",
2144
+ "propertyInDotNotation": false,
2145
+ "type": "body",
2146
+ "value": "={{ JSON.parse($value) }}"
2147
+ }
2148
+ },
2149
+ "displayOptions": {
2150
+ "show": {
2151
+ "resource": [
2152
+ "Load Balancers"
2153
+ ],
2154
+ "operation": [
2155
+ "Remove Target"
2156
+ ]
2157
+ }
2158
+ }
2159
+ },
2160
+ {
2161
+ "required": true,
2162
+ "displayName": "Type",
2163
+ "name": "type",
2164
+ "type": "options",
2165
+ "default": "ip",
2166
+ "description": "Type of the resource.",
2167
+ "options": [
2168
+ {
2169
+ "name": "Ip",
2170
+ "value": "ip"
2171
+ },
2172
+ {
2173
+ "name": "Label Selector",
2174
+ "value": "label_selector"
2175
+ },
2176
+ {
2177
+ "name": "Server",
2178
+ "value": "server"
2179
+ }
2180
+ ],
2181
+ "routing": {
2182
+ "send": {
2183
+ "property": "type",
2184
+ "propertyInDotNotation": false,
2185
+ "type": "body",
2186
+ "value": "={{ $value }}"
2187
+ }
2188
+ },
2189
+ "displayOptions": {
2190
+ "show": {
2191
+ "resource": [
2192
+ "Load Balancers"
2193
+ ],
2194
+ "operation": [
2195
+ "Remove Target"
2196
+ ]
2197
+ }
2198
+ }
2199
+ },
2200
+ {
2201
+ "displayName": "POST /load_balancers/{id}/actions/update_service",
2202
+ "name": "operation",
2203
+ "type": "notice",
2204
+ "typeOptions": {
2205
+ "theme": "info"
2206
+ },
2207
+ "default": "",
2208
+ "displayOptions": {
2209
+ "show": {
2210
+ "resource": [
2211
+ "Load Balancers"
2212
+ ],
2213
+ "operation": [
2214
+ "Update Service"
2215
+ ]
2216
+ }
2217
+ }
2218
+ },
2219
+ {
2220
+ "displayName": "Id",
2221
+ "name": "id",
2222
+ "required": true,
2223
+ "description": "ID of the Load Balancer.",
2224
+ "default": 42,
2225
+ "type": "number",
2226
+ "displayOptions": {
2227
+ "show": {
2228
+ "resource": [
2229
+ "Load Balancers"
2230
+ ],
2231
+ "operation": [
2232
+ "Update Service"
2233
+ ]
2234
+ }
2235
+ }
2236
+ },
2237
+ {
2238
+ "displayName": "Destination Port",
2239
+ "name": "destination_port",
2240
+ "type": "number",
2241
+ "default": 80,
2242
+ "description": "Port the Load Balancer will balance to.",
2243
+ "routing": {
2244
+ "send": {
2245
+ "property": "destination_port",
2246
+ "propertyInDotNotation": false,
2247
+ "type": "body",
2248
+ "value": "={{ $value }}"
2249
+ }
2250
+ },
2251
+ "displayOptions": {
2252
+ "show": {
2253
+ "resource": [
2254
+ "Load Balancers"
2255
+ ],
2256
+ "operation": [
2257
+ "Update Service"
2258
+ ]
2259
+ }
2260
+ }
2261
+ },
2262
+ {
2263
+ "displayName": "Health Check",
2264
+ "name": "health_check",
2265
+ "type": "json",
2266
+ "default": "{\n \"http\": {\n \"domain\": \"example.com\",\n \"path\": \"/\",\n \"response\": \"{\\\"status\\\": \\\"ok\\\"}\",\n \"status_codes\": [\n \"2??\",\n \"3??\"\n ],\n \"tls\": false\n },\n \"interval\": 15,\n \"port\": 4711,\n \"protocol\": \"http\",\n \"retries\": 3,\n \"timeout\": 10\n}",
2267
+ "description": "Service health check.",
2268
+ "routing": {
2269
+ "send": {
2270
+ "property": "health_check",
2271
+ "propertyInDotNotation": false,
2272
+ "type": "body",
2273
+ "value": "={{ JSON.parse($value) }}"
2274
+ }
2275
+ },
2276
+ "displayOptions": {
2277
+ "show": {
2278
+ "resource": [
2279
+ "Load Balancers"
2280
+ ],
2281
+ "operation": [
2282
+ "Update Service"
2283
+ ]
2284
+ }
2285
+ }
2286
+ },
2287
+ {
2288
+ "displayName": "Http",
2289
+ "name": "http",
2290
+ "type": "json",
2291
+ "default": "{\n \"certificates\": [\n 897\n ],\n \"cookie_lifetime\": 300,\n \"cookie_name\": \"HCLBSTICKY\",\n \"redirect_http\": true,\n \"sticky_sessions\": true\n}",
2292
+ "description": "Configuration option for protocols http and https.",
2293
+ "routing": {
2294
+ "send": {
2295
+ "property": "http",
2296
+ "propertyInDotNotation": false,
2297
+ "type": "body",
2298
+ "value": "={{ JSON.parse($value) }}"
2299
+ }
2300
+ },
2301
+ "displayOptions": {
2302
+ "show": {
2303
+ "resource": [
2304
+ "Load Balancers"
2305
+ ],
2306
+ "operation": [
2307
+ "Update Service"
2308
+ ]
2309
+ }
2310
+ }
2311
+ },
2312
+ {
2313
+ "required": true,
2314
+ "displayName": "Listen Port",
2315
+ "name": "listen_port",
2316
+ "type": "number",
2317
+ "default": 443,
2318
+ "description": "Port the Load Balancer listens on.",
2319
+ "routing": {
2320
+ "send": {
2321
+ "property": "listen_port",
2322
+ "propertyInDotNotation": false,
2323
+ "type": "body",
2324
+ "value": "={{ $value }}"
2325
+ }
2326
+ },
2327
+ "displayOptions": {
2328
+ "show": {
2329
+ "resource": [
2330
+ "Load Balancers"
2331
+ ],
2332
+ "operation": [
2333
+ "Update Service"
2334
+ ]
2335
+ }
2336
+ }
2337
+ },
2338
+ {
2339
+ "displayName": "Protocol",
2340
+ "name": "protocol",
2341
+ "type": "options",
2342
+ "default": "https",
2343
+ "description": "Protocol of the Load Balancer.",
2344
+ "options": [
2345
+ {
2346
+ "name": "Http",
2347
+ "value": "http"
2348
+ },
2349
+ {
2350
+ "name": "Https",
2351
+ "value": "https"
2352
+ },
2353
+ {
2354
+ "name": "Tcp",
2355
+ "value": "tcp"
2356
+ }
2357
+ ],
2358
+ "routing": {
2359
+ "send": {
2360
+ "property": "protocol",
2361
+ "propertyInDotNotation": false,
2362
+ "type": "body",
2363
+ "value": "={{ $value }}"
2364
+ }
2365
+ },
2366
+ "displayOptions": {
2367
+ "show": {
2368
+ "resource": [
2369
+ "Load Balancers"
2370
+ ],
2371
+ "operation": [
2372
+ "Update Service"
2373
+ ]
2374
+ }
2375
+ }
2376
+ },
2377
+ {
2378
+ "displayName": "Proxyprotocol",
2379
+ "name": "proxyprotocol",
2380
+ "type": "boolean",
2381
+ "default": false,
2382
+ "description": "Is Proxyprotocol enabled or not.",
2383
+ "routing": {
2384
+ "send": {
2385
+ "property": "proxyprotocol",
2386
+ "propertyInDotNotation": false,
2387
+ "type": "body",
2388
+ "value": "={{ $value }}"
2389
+ }
2390
+ },
2391
+ "displayOptions": {
2392
+ "show": {
2393
+ "resource": [
2394
+ "Load Balancers"
2395
+ ],
2396
+ "operation": [
2397
+ "Update Service"
2398
+ ]
2399
+ }
2400
+ }
2401
+ },
2402
+ {
2403
+ "displayName": "GET /load_balancers/{id}/metrics",
2404
+ "name": "operation",
2405
+ "type": "notice",
2406
+ "typeOptions": {
2407
+ "theme": "info"
2408
+ },
2409
+ "default": "",
2410
+ "displayOptions": {
2411
+ "show": {
2412
+ "resource": [
2413
+ "Load Balancers"
2414
+ ],
2415
+ "operation": [
2416
+ "Get Metrics For Loadbalancer"
2417
+ ]
2418
+ }
2419
+ }
2420
+ },
2421
+ {
2422
+ "displayName": "Id",
2423
+ "name": "id",
2424
+ "required": true,
2425
+ "description": "ID of the Load Balancer.",
2426
+ "default": 42,
2427
+ "type": "number",
2428
+ "displayOptions": {
2429
+ "show": {
2430
+ "resource": [
2431
+ "Load Balancers"
2432
+ ],
2433
+ "operation": [
2434
+ "Get Metrics For Loadbalancer"
2435
+ ]
2436
+ }
2437
+ }
2438
+ },
2439
+ {
2440
+ "displayName": "Type",
2441
+ "name": "type",
2442
+ "required": true,
2443
+ "description": "Type of metrics to get.",
2444
+ "default": "[\n null\n]",
2445
+ "type": "json",
2446
+ "routing": {
2447
+ "send": {
2448
+ "type": "query",
2449
+ "property": "type",
2450
+ "value": "={{ $value }}",
2451
+ "propertyInDotNotation": false
2452
+ }
2453
+ },
2454
+ "displayOptions": {
2455
+ "show": {
2456
+ "resource": [
2457
+ "Load Balancers"
2458
+ ],
2459
+ "operation": [
2460
+ "Get Metrics For Loadbalancer"
2461
+ ]
2462
+ }
2463
+ }
2464
+ },
2465
+ {
2466
+ "displayName": "Start",
2467
+ "name": "start",
2468
+ "required": true,
2469
+ "description": "Start of period to get Metrics for (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format).",
2470
+ "default": "",
2471
+ "type": "string",
2472
+ "routing": {
2473
+ "send": {
2474
+ "type": "query",
2475
+ "property": "start",
2476
+ "value": "={{ $value }}",
2477
+ "propertyInDotNotation": false
2478
+ }
2479
+ },
2480
+ "displayOptions": {
2481
+ "show": {
2482
+ "resource": [
2483
+ "Load Balancers"
2484
+ ],
2485
+ "operation": [
2486
+ "Get Metrics For Loadbalancer"
2487
+ ]
2488
+ }
2489
+ }
2490
+ },
2491
+ {
2492
+ "displayName": "End",
2493
+ "name": "end",
2494
+ "required": true,
2495
+ "description": "End of period to get Metrics for (in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format).",
2496
+ "default": "",
2497
+ "type": "string",
2498
+ "routing": {
2499
+ "send": {
2500
+ "type": "query",
2501
+ "property": "end",
2502
+ "value": "={{ $value }}",
2503
+ "propertyInDotNotation": false
2504
+ }
2505
+ },
2506
+ "displayOptions": {
2507
+ "show": {
2508
+ "resource": [
2509
+ "Load Balancers"
2510
+ ],
2511
+ "operation": [
2512
+ "Get Metrics For Loadbalancer"
2513
+ ]
2514
+ }
2515
+ }
2516
+ },
2517
+ {
2518
+ "displayName": "Step",
2519
+ "name": "step",
2520
+ "description": "Resolution of results in seconds.",
2521
+ "default": "",
2522
+ "type": "string",
2523
+ "routing": {
2524
+ "send": {
2525
+ "type": "query",
2526
+ "property": "step",
2527
+ "value": "={{ $value }}",
2528
+ "propertyInDotNotation": false
2529
+ }
2530
+ },
2531
+ "displayOptions": {
2532
+ "show": {
2533
+ "resource": [
2534
+ "Load Balancers"
2535
+ ],
2536
+ "operation": [
2537
+ "Get Metrics For Loadbalancer"
2538
+ ]
2539
+ }
2540
+ }
2541
+ },
2542
+ {
2543
+ "displayName": "GET /load_balancers/actions",
2544
+ "name": "operation",
2545
+ "type": "notice",
2546
+ "typeOptions": {
2547
+ "theme": "info"
2548
+ },
2549
+ "default": "",
2550
+ "displayOptions": {
2551
+ "show": {
2552
+ "resource": [
2553
+ "Load Balancers"
2554
+ ],
2555
+ "operation": [
2556
+ "List Load Balancer Actions"
2557
+ ]
2558
+ }
2559
+ }
2560
+ },
2561
+ {
2562
+ "displayName": "Id",
2563
+ "name": "id",
2564
+ "description": "Filter the actions by ID. Can be used multiple times. The response will only contain\nactions matching the specified IDs.\n",
2565
+ "default": "[\n 42\n]",
2566
+ "type": "json",
2567
+ "routing": {
2568
+ "send": {
2569
+ "type": "query",
2570
+ "property": "id",
2571
+ "value": "={{ $value }}",
2572
+ "propertyInDotNotation": false
2573
+ }
2574
+ },
2575
+ "displayOptions": {
2576
+ "show": {
2577
+ "resource": [
2578
+ "Load Balancers"
2579
+ ],
2580
+ "operation": [
2581
+ "List Load Balancer Actions"
2582
+ ]
2583
+ }
2584
+ }
2585
+ },
2586
+ {
2587
+ "displayName": "Sort",
2588
+ "name": "sort",
2589
+ "description": "Sort actions by field and direction. Can be used multiple times. For more\ninformation, see \"Sorting\".\n",
2590
+ "default": "[\n null\n]",
2591
+ "type": "json",
2592
+ "routing": {
2593
+ "send": {
2594
+ "type": "query",
2595
+ "property": "sort",
2596
+ "value": "={{ $value }}",
2597
+ "propertyInDotNotation": false
2598
+ }
2599
+ },
2600
+ "displayOptions": {
2601
+ "show": {
2602
+ "resource": [
2603
+ "Load Balancers"
2604
+ ],
2605
+ "operation": [
2606
+ "List Load Balancer Actions"
2607
+ ]
2608
+ }
2609
+ }
2610
+ },
2611
+ {
2612
+ "displayName": "Status",
2613
+ "name": "status",
2614
+ "description": "Filter the actions by status. Can be used multiple times. The response will only\ncontain actions matching the specified statuses.\n",
2615
+ "default": "[\n null\n]",
2616
+ "type": "json",
2617
+ "routing": {
2618
+ "send": {
2619
+ "type": "query",
2620
+ "property": "status",
2621
+ "value": "={{ $value }}",
2622
+ "propertyInDotNotation": false
2623
+ }
2624
+ },
2625
+ "displayOptions": {
2626
+ "show": {
2627
+ "resource": [
2628
+ "Load Balancers"
2629
+ ],
2630
+ "operation": [
2631
+ "List Load Balancer Actions"
2632
+ ]
2633
+ }
2634
+ }
2635
+ },
2636
+ {
2637
+ "displayName": "Page",
2638
+ "name": "page",
2639
+ "description": "Page number to return. For more information, see \"Pagination\".",
2640
+ "default": 1,
2641
+ "type": "number",
2642
+ "routing": {
2643
+ "send": {
2644
+ "type": "query",
2645
+ "property": "page",
2646
+ "value": "={{ $value }}",
2647
+ "propertyInDotNotation": false
2648
+ }
2649
+ },
2650
+ "displayOptions": {
2651
+ "show": {
2652
+ "resource": [
2653
+ "Load Balancers"
2654
+ ],
2655
+ "operation": [
2656
+ "List Load Balancer Actions"
2657
+ ]
2658
+ }
2659
+ }
2660
+ },
2661
+ {
2662
+ "displayName": "Per Page",
2663
+ "name": "per_page",
2664
+ "description": "Maximum number of entries returned per page. For more information, see \"Pagination\".",
2665
+ "default": 25,
2666
+ "type": "number",
2667
+ "routing": {
2668
+ "send": {
2669
+ "type": "query",
2670
+ "property": "per_page",
2671
+ "value": "={{ $value }}",
2672
+ "propertyInDotNotation": false
2673
+ }
2674
+ },
2675
+ "displayOptions": {
2676
+ "show": {
2677
+ "resource": [
2678
+ "Load Balancers"
2679
+ ],
2680
+ "operation": [
2681
+ "List Load Balancer Actions"
2682
+ ]
2683
+ }
2684
+ }
2685
+ },
2686
+ {
2687
+ "displayName": "GET /load_balancers/actions/{id}",
2688
+ "name": "operation",
2689
+ "type": "notice",
2690
+ "typeOptions": {
2691
+ "theme": "info"
2692
+ },
2693
+ "default": "",
2694
+ "displayOptions": {
2695
+ "show": {
2696
+ "resource": [
2697
+ "Load Balancers"
2698
+ ],
2699
+ "operation": [
2700
+ "Get Load Balancer Action"
2701
+ ]
2702
+ }
2703
+ }
2704
+ },
2705
+ {
2706
+ "displayName": "Id",
2707
+ "name": "id",
2708
+ "required": true,
2709
+ "description": "ID of the Action.",
2710
+ "default": 42,
2711
+ "type": "number",
2712
+ "displayOptions": {
2713
+ "show": {
2714
+ "resource": [
2715
+ "Load Balancers"
2716
+ ],
2717
+ "operation": [
2718
+ "Get Load Balancer Action"
2719
+ ]
2720
+ }
2721
+ }
2722
+ },
2723
+ ];
2724
+ //# sourceMappingURL=index.js.map