@rollupdate/hctl 0.0.0-stage → 3.1.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 (143) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1071 -2
  3. package/dist/auction/cache.d.ts +6 -0
  4. package/dist/auction/cache.js +55 -0
  5. package/dist/auction/client.d.ts +24 -0
  6. package/dist/auction/client.js +236 -0
  7. package/dist/auction/commands.d.ts +2 -0
  8. package/dist/auction/commands.js +440 -0
  9. package/dist/auction/diff-formatter.d.ts +3 -0
  10. package/dist/auction/diff-formatter.js +61 -0
  11. package/dist/auction/diff.d.ts +11 -0
  12. package/dist/auction/diff.js +28 -0
  13. package/dist/auction/formatter.d.ts +21 -0
  14. package/dist/auction/formatter.js +182 -0
  15. package/dist/auction/store.d.ts +24 -0
  16. package/dist/auction/store.js +177 -0
  17. package/dist/auction/types.d.ts +74 -0
  18. package/dist/auction/types.js +5 -0
  19. package/dist/cli.d.ts +2 -0
  20. package/dist/cli.js +74 -0
  21. package/dist/client.d.ts +2 -0
  22. package/dist/client.js +4 -0
  23. package/dist/cloud/browser-bootstrap.d.ts +28 -0
  24. package/dist/cloud/browser-bootstrap.js +480 -0
  25. package/dist/cloud/client.d.ts +520 -0
  26. package/dist/cloud/client.js +755 -0
  27. package/dist/cloud/commands/certificate.d.ts +2 -0
  28. package/dist/cloud/commands/certificate.js +108 -0
  29. package/dist/cloud/commands/context.d.ts +2 -0
  30. package/dist/cloud/commands/context.js +133 -0
  31. package/dist/cloud/commands/datacenter.d.ts +2 -0
  32. package/dist/cloud/commands/datacenter.js +24 -0
  33. package/dist/cloud/commands/firewall.d.ts +2 -0
  34. package/dist/cloud/commands/firewall.js +142 -0
  35. package/dist/cloud/commands/floating-ip.d.ts +2 -0
  36. package/dist/cloud/commands/floating-ip.js +138 -0
  37. package/dist/cloud/commands/image.d.ts +2 -0
  38. package/dist/cloud/commands/image.js +98 -0
  39. package/dist/cloud/commands/index.d.ts +2 -0
  40. package/dist/cloud/commands/index.js +47 -0
  41. package/dist/cloud/commands/inventory.d.ts +2 -0
  42. package/dist/cloud/commands/inventory.js +13 -0
  43. package/dist/cloud/commands/iso.d.ts +2 -0
  44. package/dist/cloud/commands/iso.js +27 -0
  45. package/dist/cloud/commands/load-balancer-type.d.ts +2 -0
  46. package/dist/cloud/commands/load-balancer-type.js +24 -0
  47. package/dist/cloud/commands/load-balancer.d.ts +2 -0
  48. package/dist/cloud/commands/load-balancer.js +269 -0
  49. package/dist/cloud/commands/location.d.ts +2 -0
  50. package/dist/cloud/commands/location.js +24 -0
  51. package/dist/cloud/commands/network.d.ts +2 -0
  52. package/dist/cloud/commands/network.js +157 -0
  53. package/dist/cloud/commands/placement-group.d.ts +2 -0
  54. package/dist/cloud/commands/placement-group.js +79 -0
  55. package/dist/cloud/commands/pricing.d.ts +2 -0
  56. package/dist/cloud/commands/pricing.js +15 -0
  57. package/dist/cloud/commands/primary-ip.d.ts +2 -0
  58. package/dist/cloud/commands/primary-ip.js +139 -0
  59. package/dist/cloud/commands/server-type.d.ts +2 -0
  60. package/dist/cloud/commands/server-type.js +24 -0
  61. package/dist/cloud/commands/server.d.ts +2 -0
  62. package/dist/cloud/commands/server.js +346 -0
  63. package/dist/cloud/commands/ssh-key.d.ts +2 -0
  64. package/dist/cloud/commands/ssh-key.js +94 -0
  65. package/dist/cloud/commands/volume.d.ts +2 -0
  66. package/dist/cloud/commands/volume.js +138 -0
  67. package/dist/cloud/context.d.ts +34 -0
  68. package/dist/cloud/context.js +215 -0
  69. package/dist/cloud/formatter.d.ts +40 -0
  70. package/dist/cloud/formatter.js +824 -0
  71. package/dist/cloud/helpers.d.ts +27 -0
  72. package/dist/cloud/helpers.js +67 -0
  73. package/dist/cloud/inventory.d.ts +100 -0
  74. package/dist/cloud/inventory.js +229 -0
  75. package/dist/cloud/pricing.d.ts +27 -0
  76. package/dist/cloud/pricing.js +103 -0
  77. package/dist/cloud/token-instructions.d.ts +2 -0
  78. package/dist/cloud/token-instructions.js +21 -0
  79. package/dist/cloud/types.d.ts +437 -0
  80. package/dist/cloud/types.js +5 -0
  81. package/dist/config.d.ts +1 -0
  82. package/dist/config.js +2 -0
  83. package/dist/formatter.d.ts +3 -0
  84. package/dist/formatter.js +6 -0
  85. package/dist/index.d.ts +12 -0
  86. package/dist/index.js +21 -0
  87. package/dist/robot/client.d.ts +256 -0
  88. package/dist/robot/client.js +745 -0
  89. package/dist/robot/commands/auth.d.ts +2 -0
  90. package/dist/robot/commands/auth.js +54 -0
  91. package/dist/robot/commands/boot.d.ts +2 -0
  92. package/dist/robot/commands/boot.js +76 -0
  93. package/dist/robot/commands/cancel.d.ts +2 -0
  94. package/dist/robot/commands/cancel.js +37 -0
  95. package/dist/robot/commands/failover.d.ts +2 -0
  96. package/dist/robot/commands/failover.js +46 -0
  97. package/dist/robot/commands/firewall.d.ts +2 -0
  98. package/dist/robot/commands/firewall.js +72 -0
  99. package/dist/robot/commands/index.d.ts +2 -0
  100. package/dist/robot/commands/index.js +36 -0
  101. package/dist/robot/commands/interactive.d.ts +2 -0
  102. package/dist/robot/commands/interactive.js +152 -0
  103. package/dist/robot/commands/ip.d.ts +2 -0
  104. package/dist/robot/commands/ip.js +55 -0
  105. package/dist/robot/commands/key.d.ts +2 -0
  106. package/dist/robot/commands/key.js +68 -0
  107. package/dist/robot/commands/order.d.ts +2 -0
  108. package/dist/robot/commands/order.js +33 -0
  109. package/dist/robot/commands/rdns.d.ts +2 -0
  110. package/dist/robot/commands/rdns.js +41 -0
  111. package/dist/robot/commands/reset.d.ts +2 -0
  112. package/dist/robot/commands/reset.js +77 -0
  113. package/dist/robot/commands/server.d.ts +2 -0
  114. package/dist/robot/commands/server.js +32 -0
  115. package/dist/robot/commands/storagebox.d.ts +2 -0
  116. package/dist/robot/commands/storagebox.js +126 -0
  117. package/dist/robot/commands/subnet.d.ts +2 -0
  118. package/dist/robot/commands/subnet.js +24 -0
  119. package/dist/robot/commands/traffic.d.ts +2 -0
  120. package/dist/robot/commands/traffic.js +23 -0
  121. package/dist/robot/commands/vswitch.d.ts +2 -0
  122. package/dist/robot/commands/vswitch.js +81 -0
  123. package/dist/robot/commands/wol.d.ts +2 -0
  124. package/dist/robot/commands/wol.js +20 -0
  125. package/dist/robot/formatter.d.ts +57 -0
  126. package/dist/robot/formatter.js +582 -0
  127. package/dist/robot/types.d.ts +359 -0
  128. package/dist/robot/types.js +5 -0
  129. package/dist/shared/config.d.ts +86 -0
  130. package/dist/shared/config.js +289 -0
  131. package/dist/shared/formatter.d.ts +29 -0
  132. package/dist/shared/formatter.js +121 -0
  133. package/dist/shared/helpers.d.ts +39 -0
  134. package/dist/shared/helpers.js +86 -0
  135. package/dist/shared/init.d.ts +2 -0
  136. package/dist/shared/init.js +107 -0
  137. package/dist/shared/reference.d.ts +5 -0
  138. package/dist/shared/reference.js +689 -0
  139. package/dist/shared/schemas.d.ts +1 -0
  140. package/dist/shared/schemas.js +1031 -0
  141. package/dist/types.d.ts +2 -0
  142. package/dist/types.js +2 -0
  143. package/package.json +127 -4
@@ -0,0 +1,520 @@
1
+ import type { Certificate, CloudAction, CloudFirewall, CloudFirewallRule, CloudPricing, CloudServer, CloudSshKey, Datacenter, FloatingIp, Image, ISO, Labels, LoadBalancer, LoadBalancerType, Location, Network, NetworkRoute, NetworkSubnet, PlacementGroup, PrimaryIp, ServerType, Volume } from "./types.js";
2
+ export declare class HetznerCloudClient {
3
+ private readonly token;
4
+ constructor(token: string);
5
+ private request;
6
+ private buildQuery;
7
+ /**
8
+ * Fetch all pages of a paginated endpoint.
9
+ */
10
+ listAll<T>(endpoint: string, key: string, params?: Record<string, string | number | boolean | undefined>): Promise<T[]>;
11
+ /**
12
+ * Poll an action until it completes.
13
+ */
14
+ waitForAction(actionId: number, timeoutMs?: number): Promise<CloudAction>;
15
+ getPricing(): Promise<CloudPricing>;
16
+ listDatacenters(params?: {
17
+ name?: string;
18
+ }): Promise<Datacenter[]>;
19
+ getDatacenter(id: number): Promise<Datacenter>;
20
+ listLocations(params?: {
21
+ name?: string;
22
+ }): Promise<Location[]>;
23
+ getLocation(id: number): Promise<Location>;
24
+ listServerTypes(params?: {
25
+ name?: string;
26
+ }): Promise<ServerType[]>;
27
+ getServerType(id: number): Promise<ServerType>;
28
+ listLoadBalancerTypes(params?: {
29
+ name?: string;
30
+ }): Promise<LoadBalancerType[]>;
31
+ getLoadBalancerType(id: number): Promise<LoadBalancerType>;
32
+ listIsos(params?: {
33
+ name?: string;
34
+ architecture?: string;
35
+ }): Promise<ISO[]>;
36
+ getIso(id: number): Promise<ISO>;
37
+ listServers(params?: {
38
+ label_selector?: string;
39
+ name?: string;
40
+ sort?: string;
41
+ status?: string;
42
+ }): Promise<CloudServer[]>;
43
+ getServer(id: number): Promise<CloudServer>;
44
+ createServer(opts: {
45
+ name: string;
46
+ server_type: string;
47
+ image: string;
48
+ location?: string;
49
+ ssh_keys?: (string | number)[];
50
+ user_data?: string;
51
+ labels?: Labels;
52
+ automount?: boolean;
53
+ volumes?: number[];
54
+ networks?: number[];
55
+ firewalls?: {
56
+ firewall: number;
57
+ }[];
58
+ placement_group?: number;
59
+ public_net?: {
60
+ enable_ipv4?: boolean;
61
+ enable_ipv6?: boolean;
62
+ ipv4?: number;
63
+ ipv6?: number;
64
+ };
65
+ start_after_create?: boolean;
66
+ }): Promise<{
67
+ server: CloudServer;
68
+ action: CloudAction;
69
+ root_password: string | null;
70
+ }>;
71
+ deleteServer(id: number): Promise<{
72
+ action: CloudAction;
73
+ }>;
74
+ updateServer(id: number, opts: {
75
+ name?: string;
76
+ labels?: Labels;
77
+ }): Promise<{
78
+ server: CloudServer;
79
+ }>;
80
+ powerOnServer(id: number): Promise<{
81
+ action: CloudAction;
82
+ }>;
83
+ powerOffServer(id: number): Promise<{
84
+ action: CloudAction;
85
+ }>;
86
+ rebootServer(id: number): Promise<{
87
+ action: CloudAction;
88
+ }>;
89
+ resetServer(id: number): Promise<{
90
+ action: CloudAction;
91
+ }>;
92
+ shutdownServer(id: number): Promise<{
93
+ action: CloudAction;
94
+ }>;
95
+ rebuildServer(id: number, image: string): Promise<{
96
+ action: CloudAction;
97
+ root_password: string | null;
98
+ }>;
99
+ changeServerType(id: number, serverType: string, upgradeDisk: boolean): Promise<{
100
+ action: CloudAction;
101
+ }>;
102
+ enableServerRescue(id: number, type?: string, sshKeys?: number[]): Promise<{
103
+ action: CloudAction;
104
+ root_password: string;
105
+ }>;
106
+ disableServerRescue(id: number): Promise<{
107
+ action: CloudAction;
108
+ }>;
109
+ enableServerBackup(id: number): Promise<{
110
+ action: CloudAction;
111
+ }>;
112
+ disableServerBackup(id: number): Promise<{
113
+ action: CloudAction;
114
+ }>;
115
+ createServerImage(id: number, opts: {
116
+ description?: string;
117
+ type?: "snapshot" | "backup";
118
+ labels?: Labels;
119
+ }): Promise<{
120
+ image: Image;
121
+ action: CloudAction;
122
+ }>;
123
+ attachIsoToServer(id: number, iso: string): Promise<{
124
+ action: CloudAction;
125
+ }>;
126
+ detachIsoFromServer(id: number): Promise<{
127
+ action: CloudAction;
128
+ }>;
129
+ resetServerPassword(id: number): Promise<{
130
+ action: CloudAction;
131
+ root_password: string;
132
+ }>;
133
+ setServerRdns(id: number, ip: string, dnsPtr: string): Promise<{
134
+ action: CloudAction;
135
+ }>;
136
+ enableServerProtection(id: number, opts: {
137
+ delete?: boolean;
138
+ rebuild?: boolean;
139
+ }): Promise<{
140
+ action: CloudAction;
141
+ }>;
142
+ requestServerConsole(id: number): Promise<{
143
+ wss_url: string;
144
+ password: string;
145
+ action: CloudAction;
146
+ }>;
147
+ attachServerToNetwork(id: number, network: number, ip?: string, aliasIps?: string[]): Promise<{
148
+ action: CloudAction;
149
+ }>;
150
+ detachServerFromNetwork(id: number, network: number): Promise<{
151
+ action: CloudAction;
152
+ }>;
153
+ addServerToPlacementGroup(id: number, placementGroup: number): Promise<{
154
+ action: CloudAction;
155
+ }>;
156
+ removeServerFromPlacementGroup(id: number): Promise<{
157
+ action: CloudAction;
158
+ }>;
159
+ getServerMetrics(id: number, type: string, start: string, end: string): Promise<unknown>;
160
+ listNetworks(params?: {
161
+ label_selector?: string;
162
+ name?: string;
163
+ }): Promise<Network[]>;
164
+ getNetwork(id: number): Promise<Network>;
165
+ createNetwork(opts: {
166
+ name: string;
167
+ ip_range: string;
168
+ subnets?: Omit<NetworkSubnet, "gateway">[];
169
+ routes?: NetworkRoute[];
170
+ labels?: Labels;
171
+ expose_routes_to_vswitch?: boolean;
172
+ }): Promise<{
173
+ network: Network;
174
+ }>;
175
+ deleteNetwork(id: number): Promise<void>;
176
+ updateNetwork(id: number, opts: {
177
+ name?: string;
178
+ labels?: Labels;
179
+ expose_routes_to_vswitch?: boolean;
180
+ }): Promise<{
181
+ network: Network;
182
+ }>;
183
+ addSubnetToNetwork(id: number, subnet: Omit<NetworkSubnet, "gateway">): Promise<{
184
+ action: CloudAction;
185
+ }>;
186
+ deleteSubnetFromNetwork(id: number, ipRange: string): Promise<{
187
+ action: CloudAction;
188
+ }>;
189
+ addRouteToNetwork(id: number, route: NetworkRoute): Promise<{
190
+ action: CloudAction;
191
+ }>;
192
+ deleteRouteFromNetwork(id: number, route: NetworkRoute): Promise<{
193
+ action: CloudAction;
194
+ }>;
195
+ changeNetworkIpRange(id: number, ipRange: string): Promise<{
196
+ action: CloudAction;
197
+ }>;
198
+ changeNetworkProtection(id: number, deleteProtection: boolean): Promise<{
199
+ action: CloudAction;
200
+ }>;
201
+ listFirewalls(params?: {
202
+ label_selector?: string;
203
+ name?: string;
204
+ sort?: string;
205
+ }): Promise<CloudFirewall[]>;
206
+ getFirewall(id: number): Promise<CloudFirewall>;
207
+ createFirewall(opts: {
208
+ name: string;
209
+ rules?: CloudFirewallRule[];
210
+ labels?: Labels;
211
+ apply_to?: CloudFirewallRule[];
212
+ }): Promise<{
213
+ firewall: CloudFirewall;
214
+ actions: CloudAction[];
215
+ }>;
216
+ deleteFirewall(id: number): Promise<void>;
217
+ updateFirewall(id: number, opts: {
218
+ name?: string;
219
+ labels?: Labels;
220
+ }): Promise<{
221
+ firewall: CloudFirewall;
222
+ }>;
223
+ setFirewallRules(id: number, rules: CloudFirewallRule[]): Promise<{
224
+ actions: CloudAction[];
225
+ }>;
226
+ applyFirewall(id: number, applyTo: {
227
+ type: "server" | "label_selector";
228
+ server?: {
229
+ id: number;
230
+ };
231
+ label_selector?: {
232
+ selector: string;
233
+ };
234
+ }[]): Promise<{
235
+ actions: CloudAction[];
236
+ }>;
237
+ removeFirewallFromResources(id: number, removeFrom: {
238
+ type: "server" | "label_selector";
239
+ server?: {
240
+ id: number;
241
+ };
242
+ label_selector?: {
243
+ selector: string;
244
+ };
245
+ }[]): Promise<{
246
+ actions: CloudAction[];
247
+ }>;
248
+ listFloatingIps(params?: {
249
+ label_selector?: string;
250
+ sort?: string;
251
+ name?: string;
252
+ }): Promise<FloatingIp[]>;
253
+ getFloatingIp(id: number): Promise<FloatingIp>;
254
+ createFloatingIp(opts: {
255
+ type: "ipv4" | "ipv6";
256
+ name?: string;
257
+ description?: string;
258
+ home_location?: string;
259
+ server?: number;
260
+ labels?: Labels;
261
+ }): Promise<{
262
+ floating_ip: FloatingIp;
263
+ action: CloudAction;
264
+ }>;
265
+ deleteFloatingIp(id: number): Promise<void>;
266
+ updateFloatingIp(id: number, opts: {
267
+ name?: string;
268
+ description?: string;
269
+ labels?: Labels;
270
+ }): Promise<{
271
+ floating_ip: FloatingIp;
272
+ }>;
273
+ assignFloatingIp(id: number, serverId: number): Promise<{
274
+ action: CloudAction;
275
+ }>;
276
+ unassignFloatingIp(id: number): Promise<{
277
+ action: CloudAction;
278
+ }>;
279
+ changeFloatingIpProtection(id: number, deleteProtection: boolean): Promise<{
280
+ action: CloudAction;
281
+ }>;
282
+ changeFloatingIpDnsPtr(id: number, ip: string, dnsPtr: string | null): Promise<{
283
+ action: CloudAction;
284
+ }>;
285
+ listPrimaryIps(params?: {
286
+ label_selector?: string;
287
+ sort?: string;
288
+ name?: string;
289
+ }): Promise<PrimaryIp[]>;
290
+ getPrimaryIp(id: number): Promise<PrimaryIp>;
291
+ createPrimaryIp(opts: {
292
+ type: "ipv4" | "ipv6";
293
+ name: string;
294
+ assignee_type: "server";
295
+ assignee_id?: number;
296
+ location?: string;
297
+ auto_delete?: boolean;
298
+ labels?: Labels;
299
+ }): Promise<{
300
+ primary_ip: PrimaryIp;
301
+ action: CloudAction;
302
+ }>;
303
+ deletePrimaryIp(id: number): Promise<void>;
304
+ updatePrimaryIp(id: number, opts: {
305
+ name?: string;
306
+ auto_delete?: boolean;
307
+ labels?: Labels;
308
+ }): Promise<{
309
+ primary_ip: PrimaryIp;
310
+ }>;
311
+ assignPrimaryIp(id: number, assigneeId: number, assigneeType?: string): Promise<{
312
+ action: CloudAction;
313
+ }>;
314
+ unassignPrimaryIp(id: number): Promise<{
315
+ action: CloudAction;
316
+ }>;
317
+ changePrimaryIpProtection(id: number, deleteProtection: boolean): Promise<{
318
+ action: CloudAction;
319
+ }>;
320
+ changePrimaryIpDnsPtr(id: number, ip: string, dnsPtr: string | null): Promise<{
321
+ action: CloudAction;
322
+ }>;
323
+ listVolumes(params?: {
324
+ label_selector?: string;
325
+ sort?: string;
326
+ name?: string;
327
+ status?: string;
328
+ }): Promise<Volume[]>;
329
+ getVolume(id: number): Promise<Volume>;
330
+ createVolume(opts: {
331
+ name: string;
332
+ size: number;
333
+ location?: string;
334
+ server?: number;
335
+ format?: string;
336
+ automount?: boolean;
337
+ labels?: Labels;
338
+ }): Promise<{
339
+ volume: Volume;
340
+ action: CloudAction;
341
+ next_actions: CloudAction[];
342
+ }>;
343
+ deleteVolume(id: number): Promise<void>;
344
+ updateVolume(id: number, opts: {
345
+ name?: string;
346
+ labels?: Labels;
347
+ }): Promise<{
348
+ volume: Volume;
349
+ }>;
350
+ attachVolume(id: number, serverId: number, automount?: boolean): Promise<{
351
+ action: CloudAction;
352
+ }>;
353
+ detachVolume(id: number): Promise<{
354
+ action: CloudAction;
355
+ }>;
356
+ resizeVolume(id: number, size: number): Promise<{
357
+ action: CloudAction;
358
+ }>;
359
+ changeVolumeProtection(id: number, deleteProtection: boolean): Promise<{
360
+ action: CloudAction;
361
+ }>;
362
+ listLoadBalancers(params?: {
363
+ label_selector?: string;
364
+ sort?: string;
365
+ name?: string;
366
+ }): Promise<LoadBalancer[]>;
367
+ getLoadBalancer(id: number): Promise<LoadBalancer>;
368
+ createLoadBalancer(opts: {
369
+ name: string;
370
+ load_balancer_type: string;
371
+ location?: string;
372
+ network_zone?: string;
373
+ algorithm?: {
374
+ type: string;
375
+ };
376
+ services?: unknown[];
377
+ targets?: unknown[];
378
+ labels?: Labels;
379
+ network?: number;
380
+ public_interface?: boolean;
381
+ }): Promise<{
382
+ load_balancer: LoadBalancer;
383
+ action: CloudAction;
384
+ }>;
385
+ deleteLoadBalancer(id: number): Promise<void>;
386
+ updateLoadBalancer(id: number, opts: {
387
+ name?: string;
388
+ labels?: Labels;
389
+ }): Promise<{
390
+ load_balancer: LoadBalancer;
391
+ }>;
392
+ addTargetToLoadBalancer(id: number, target: unknown): Promise<{
393
+ action: CloudAction;
394
+ }>;
395
+ removeTargetFromLoadBalancer(id: number, target: unknown): Promise<{
396
+ action: CloudAction;
397
+ }>;
398
+ addServiceToLoadBalancer(id: number, service: unknown): Promise<{
399
+ action: CloudAction;
400
+ }>;
401
+ updateServiceOnLoadBalancer(id: number, service: unknown): Promise<{
402
+ action: CloudAction;
403
+ }>;
404
+ deleteServiceFromLoadBalancer(id: number, listenPort: number): Promise<{
405
+ action: CloudAction;
406
+ }>;
407
+ changeLoadBalancerAlgorithm(id: number, type: string): Promise<{
408
+ action: CloudAction;
409
+ }>;
410
+ changeLoadBalancerType(id: number, loadBalancerType: string): Promise<{
411
+ action: CloudAction;
412
+ }>;
413
+ attachLoadBalancerToNetwork(id: number, network: number, ip?: string): Promise<{
414
+ action: CloudAction;
415
+ }>;
416
+ detachLoadBalancerFromNetwork(id: number, network: number): Promise<{
417
+ action: CloudAction;
418
+ }>;
419
+ enableLoadBalancerPublicInterface(id: number): Promise<{
420
+ action: CloudAction;
421
+ }>;
422
+ disableLoadBalancerPublicInterface(id: number): Promise<{
423
+ action: CloudAction;
424
+ }>;
425
+ changeLoadBalancerProtection(id: number, deleteProtection: boolean): Promise<{
426
+ action: CloudAction;
427
+ }>;
428
+ listImages(params?: {
429
+ label_selector?: string;
430
+ sort?: string;
431
+ type?: string;
432
+ architecture?: string;
433
+ name?: string;
434
+ status?: string;
435
+ }): Promise<Image[]>;
436
+ getImage(id: number): Promise<Image>;
437
+ updateImage(id: number, opts: {
438
+ description?: string;
439
+ type?: string;
440
+ labels?: Labels;
441
+ }): Promise<{
442
+ image: Image;
443
+ }>;
444
+ deleteImage(id: number): Promise<void>;
445
+ changeImageProtection(id: number, deleteProtection: boolean): Promise<{
446
+ action: CloudAction;
447
+ }>;
448
+ listSshKeys(params?: {
449
+ label_selector?: string;
450
+ sort?: string;
451
+ name?: string;
452
+ fingerprint?: string;
453
+ }): Promise<CloudSshKey[]>;
454
+ getSshKey(id: number): Promise<CloudSshKey>;
455
+ createSshKey(opts: {
456
+ name: string;
457
+ public_key: string;
458
+ labels?: Labels;
459
+ }): Promise<{
460
+ ssh_key: CloudSshKey;
461
+ }>;
462
+ updateSshKey(id: number, opts: {
463
+ name?: string;
464
+ labels?: Labels;
465
+ }): Promise<{
466
+ ssh_key: CloudSshKey;
467
+ }>;
468
+ deleteSshKey(id: number): Promise<void>;
469
+ listCertificates(params?: {
470
+ label_selector?: string;
471
+ sort?: string;
472
+ name?: string;
473
+ type?: string;
474
+ }): Promise<Certificate[]>;
475
+ getCertificate(id: number): Promise<Certificate>;
476
+ createCertificate(opts: {
477
+ name: string;
478
+ type?: "uploaded" | "managed";
479
+ certificate?: string;
480
+ private_key?: string;
481
+ domain_names?: string[];
482
+ labels?: Labels;
483
+ }): Promise<{
484
+ certificate: Certificate;
485
+ action?: CloudAction;
486
+ }>;
487
+ updateCertificate(id: number, opts: {
488
+ name?: string;
489
+ labels?: Labels;
490
+ }): Promise<{
491
+ certificate: Certificate;
492
+ }>;
493
+ deleteCertificate(id: number): Promise<void>;
494
+ listPlacementGroups(params?: {
495
+ label_selector?: string;
496
+ sort?: string;
497
+ name?: string;
498
+ type?: string;
499
+ }): Promise<PlacementGroup[]>;
500
+ getPlacementGroup(id: number): Promise<PlacementGroup>;
501
+ createPlacementGroup(opts: {
502
+ name: string;
503
+ type: "spread";
504
+ labels?: Labels;
505
+ }): Promise<{
506
+ placement_group: PlacementGroup;
507
+ }>;
508
+ updatePlacementGroup(id: number, opts: {
509
+ name?: string;
510
+ labels?: Labels;
511
+ }): Promise<{
512
+ placement_group: PlacementGroup;
513
+ }>;
514
+ deletePlacementGroup(id: number): Promise<void>;
515
+ getAction(id: number): Promise<CloudAction>;
516
+ listActions(params?: {
517
+ sort?: string;
518
+ status?: string;
519
+ }): Promise<CloudAction[]>;
520
+ }