hetzner-cli 2.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 (117) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +907 -0
  3. package/dist/auction/client.d.ts +4 -0
  4. package/dist/auction/client.js +103 -0
  5. package/dist/auction/commands.d.ts +2 -0
  6. package/dist/auction/commands.js +138 -0
  7. package/dist/auction/formatter.d.ts +3 -0
  8. package/dist/auction/formatter.js +87 -0
  9. package/dist/cli.d.ts +2 -0
  10. package/dist/cli.js +39 -0
  11. package/dist/client.d.ts +2 -0
  12. package/dist/client.js +4 -0
  13. package/dist/cloud/client.d.ts +511 -0
  14. package/dist/cloud/client.js +706 -0
  15. package/dist/cloud/commands/certificate.d.ts +2 -0
  16. package/dist/cloud/commands/certificate.js +77 -0
  17. package/dist/cloud/commands/context.d.ts +2 -0
  18. package/dist/cloud/commands/context.js +78 -0
  19. package/dist/cloud/commands/datacenter.d.ts +2 -0
  20. package/dist/cloud/commands/datacenter.js +20 -0
  21. package/dist/cloud/commands/firewall.d.ts +2 -0
  22. package/dist/cloud/commands/firewall.js +77 -0
  23. package/dist/cloud/commands/floating-ip.d.ts +2 -0
  24. package/dist/cloud/commands/floating-ip.js +83 -0
  25. package/dist/cloud/commands/image.d.ts +2 -0
  26. package/dist/cloud/commands/image.js +60 -0
  27. package/dist/cloud/commands/index.d.ts +2 -0
  28. package/dist/cloud/commands/index.js +41 -0
  29. package/dist/cloud/commands/iso.d.ts +2 -0
  30. package/dist/cloud/commands/iso.js +22 -0
  31. package/dist/cloud/commands/load-balancer-type.d.ts +2 -0
  32. package/dist/cloud/commands/load-balancer-type.js +20 -0
  33. package/dist/cloud/commands/load-balancer.d.ts +2 -0
  34. package/dist/cloud/commands/load-balancer.js +177 -0
  35. package/dist/cloud/commands/location.d.ts +2 -0
  36. package/dist/cloud/commands/location.js +20 -0
  37. package/dist/cloud/commands/network.d.ts +2 -0
  38. package/dist/cloud/commands/network.js +96 -0
  39. package/dist/cloud/commands/placement-group.d.ts +2 -0
  40. package/dist/cloud/commands/placement-group.js +53 -0
  41. package/dist/cloud/commands/primary-ip.d.ts +2 -0
  42. package/dist/cloud/commands/primary-ip.js +83 -0
  43. package/dist/cloud/commands/server-type.d.ts +2 -0
  44. package/dist/cloud/commands/server-type.js +20 -0
  45. package/dist/cloud/commands/server.d.ts +2 -0
  46. package/dist/cloud/commands/server.js +260 -0
  47. package/dist/cloud/commands/ssh-key.d.ts +2 -0
  48. package/dist/cloud/commands/ssh-key.js +63 -0
  49. package/dist/cloud/commands/volume.d.ts +2 -0
  50. package/dist/cloud/commands/volume.js +92 -0
  51. package/dist/cloud/context.d.ts +28 -0
  52. package/dist/cloud/context.js +172 -0
  53. package/dist/cloud/formatter.d.ts +37 -0
  54. package/dist/cloud/formatter.js +413 -0
  55. package/dist/cloud/helpers.d.ts +18 -0
  56. package/dist/cloud/helpers.js +48 -0
  57. package/dist/cloud/types.d.ts +398 -0
  58. package/dist/cloud/types.js +5 -0
  59. package/dist/config.d.ts +1 -0
  60. package/dist/config.js +2 -0
  61. package/dist/formatter.d.ts +3 -0
  62. package/dist/formatter.js +6 -0
  63. package/dist/index.d.ts +10 -0
  64. package/dist/index.js +17 -0
  65. package/dist/robot/client.d.ts +256 -0
  66. package/dist/robot/client.js +656 -0
  67. package/dist/robot/commands/auth.d.ts +2 -0
  68. package/dist/robot/commands/auth.js +54 -0
  69. package/dist/robot/commands/boot.d.ts +2 -0
  70. package/dist/robot/commands/boot.js +72 -0
  71. package/dist/robot/commands/cancel.d.ts +2 -0
  72. package/dist/robot/commands/cancel.js +36 -0
  73. package/dist/robot/commands/failover.d.ts +2 -0
  74. package/dist/robot/commands/failover.js +42 -0
  75. package/dist/robot/commands/firewall.d.ts +2 -0
  76. package/dist/robot/commands/firewall.js +66 -0
  77. package/dist/robot/commands/index.d.ts +2 -0
  78. package/dist/robot/commands/index.js +36 -0
  79. package/dist/robot/commands/interactive.d.ts +2 -0
  80. package/dist/robot/commands/interactive.js +134 -0
  81. package/dist/robot/commands/ip.d.ts +2 -0
  82. package/dist/robot/commands/ip.js +52 -0
  83. package/dist/robot/commands/key.d.ts +2 -0
  84. package/dist/robot/commands/key.js +64 -0
  85. package/dist/robot/commands/order.d.ts +2 -0
  86. package/dist/robot/commands/order.js +33 -0
  87. package/dist/robot/commands/rdns.d.ts +2 -0
  88. package/dist/robot/commands/rdns.js +41 -0
  89. package/dist/robot/commands/reset.d.ts +2 -0
  90. package/dist/robot/commands/reset.js +77 -0
  91. package/dist/robot/commands/server.d.ts +2 -0
  92. package/dist/robot/commands/server.js +29 -0
  93. package/dist/robot/commands/storagebox.d.ts +2 -0
  94. package/dist/robot/commands/storagebox.js +116 -0
  95. package/dist/robot/commands/subnet.d.ts +2 -0
  96. package/dist/robot/commands/subnet.js +21 -0
  97. package/dist/robot/commands/traffic.d.ts +2 -0
  98. package/dist/robot/commands/traffic.js +20 -0
  99. package/dist/robot/commands/vswitch.d.ts +2 -0
  100. package/dist/robot/commands/vswitch.js +64 -0
  101. package/dist/robot/commands/wol.d.ts +2 -0
  102. package/dist/robot/commands/wol.js +20 -0
  103. package/dist/robot/formatter.d.ts +58 -0
  104. package/dist/robot/formatter.js +500 -0
  105. package/dist/robot/types.d.ts +352 -0
  106. package/dist/robot/types.js +5 -0
  107. package/dist/shared/config.d.ts +86 -0
  108. package/dist/shared/config.js +273 -0
  109. package/dist/shared/formatter.d.ts +29 -0
  110. package/dist/shared/formatter.js +118 -0
  111. package/dist/shared/helpers.d.ts +17 -0
  112. package/dist/shared/helpers.js +72 -0
  113. package/dist/shared/reference.d.ts +2 -0
  114. package/dist/shared/reference.js +626 -0
  115. package/dist/types.d.ts +75 -0
  116. package/dist/types.js +1 -0
  117. package/package.json +112 -0
@@ -0,0 +1,256 @@
1
+ import type { Server, ServerDetails, Reset, ResetType, BootConfig, RescueConfig, LinuxConfig, VncConfig, WindowsConfig, IP, Mac, Subnet, Failover, Rdns, SshKey, Firewall, FirewallTemplate, FirewallRule, VSwitch, StorageBox, StorageBoxSnapshot, StorageBoxSnapshotPlan, StorageBoxSubaccount, Traffic, Wol, ServerProduct, ServerMarketProduct, ServerTransaction, Cancellation } from './types.js';
2
+ export declare class HetznerRobotClient {
3
+ private auth;
4
+ constructor(username: string, password: string);
5
+ private request;
6
+ private encodeParams;
7
+ private buildTrafficParams;
8
+ listServers(): Promise<{
9
+ server: Server;
10
+ }[]>;
11
+ getServer(serverIpOrNumber: string | number): Promise<{
12
+ server: ServerDetails;
13
+ }>;
14
+ updateServerName(serverIpOrNumber: string | number, name: string): Promise<{
15
+ server: Server;
16
+ }>;
17
+ getCancellation(serverIpOrNumber: string | number): Promise<{
18
+ cancellation: Cancellation;
19
+ }>;
20
+ cancelServer(serverIpOrNumber: string | number, cancellationDate?: string, cancellationReason?: string[]): Promise<{
21
+ cancellation: Cancellation;
22
+ }>;
23
+ revokeCancellation(serverIpOrNumber: string | number): Promise<void>;
24
+ listResetOptions(): Promise<{
25
+ reset: Reset;
26
+ }[]>;
27
+ getResetOptions(serverIpOrNumber: string | number): Promise<{
28
+ reset: Reset;
29
+ }>;
30
+ resetServer(serverIpOrNumber: string | number, type?: ResetType): Promise<{
31
+ reset: Reset;
32
+ }>;
33
+ getBootConfig(serverIpOrNumber: string | number): Promise<{
34
+ boot: BootConfig;
35
+ }>;
36
+ getRescue(serverIpOrNumber: string | number): Promise<{
37
+ rescue: RescueConfig;
38
+ }>;
39
+ activateRescue(serverIpOrNumber: string | number, os: string, arch?: number, authorizedKeys?: string[]): Promise<{
40
+ rescue: RescueConfig;
41
+ }>;
42
+ deactivateRescue(serverIpOrNumber: string | number): Promise<{
43
+ rescue: RescueConfig;
44
+ }>;
45
+ getLastRescue(serverIpOrNumber: string | number): Promise<{
46
+ rescue: RescueConfig;
47
+ }>;
48
+ getLinux(serverIpOrNumber: string | number): Promise<{
49
+ linux: LinuxConfig;
50
+ }>;
51
+ activateLinux(serverIpOrNumber: string | number, dist: string, arch?: number, lang?: string, authorizedKeys?: string[]): Promise<{
52
+ linux: LinuxConfig;
53
+ }>;
54
+ deactivateLinux(serverIpOrNumber: string | number): Promise<{
55
+ linux: LinuxConfig;
56
+ }>;
57
+ getLastLinux(serverIpOrNumber: string | number): Promise<{
58
+ linux: LinuxConfig;
59
+ }>;
60
+ getVnc(serverIpOrNumber: string | number): Promise<{
61
+ vnc: VncConfig;
62
+ }>;
63
+ activateVnc(serverIpOrNumber: string | number, dist: string, arch?: number, lang?: string): Promise<{
64
+ vnc: VncConfig;
65
+ }>;
66
+ deactivateVnc(serverIpOrNumber: string | number): Promise<{
67
+ vnc: VncConfig;
68
+ }>;
69
+ getWindows(serverIpOrNumber: string | number): Promise<{
70
+ windows: WindowsConfig;
71
+ }>;
72
+ activateWindows(serverIpOrNumber: string | number, dist: string, lang?: string): Promise<{
73
+ windows: WindowsConfig;
74
+ }>;
75
+ deactivateWindows(serverIpOrNumber: string | number): Promise<{
76
+ windows: WindowsConfig;
77
+ }>;
78
+ listIps(): Promise<{
79
+ ip: IP;
80
+ }[]>;
81
+ getIp(ip: string): Promise<{
82
+ ip: IP;
83
+ }>;
84
+ updateIp(ip: string, trafficWarnings?: boolean, trafficHourly?: number, trafficDaily?: number, trafficMonthly?: number): Promise<{
85
+ ip: IP;
86
+ }>;
87
+ getIpMac(ip: string): Promise<{
88
+ mac: Mac;
89
+ }>;
90
+ generateIpMac(ip: string): Promise<{
91
+ mac: Mac;
92
+ }>;
93
+ deleteIpMac(ip: string): Promise<void>;
94
+ listSubnets(): Promise<{
95
+ subnet: Subnet;
96
+ }[]>;
97
+ getSubnet(netIp: string): Promise<{
98
+ subnet: Subnet;
99
+ }>;
100
+ updateSubnet(netIp: string, trafficWarnings?: boolean, trafficHourly?: number, trafficDaily?: number, trafficMonthly?: number): Promise<{
101
+ subnet: Subnet;
102
+ }>;
103
+ getSubnetMac(netIp: string): Promise<{
104
+ mac: Mac;
105
+ }>;
106
+ generateSubnetMac(netIp: string): Promise<{
107
+ mac: Mac;
108
+ }>;
109
+ deleteSubnetMac(netIp: string): Promise<void>;
110
+ listFailovers(): Promise<{
111
+ failover: Failover;
112
+ }[]>;
113
+ getFailover(failoverIp: string): Promise<{
114
+ failover: Failover;
115
+ }>;
116
+ switchFailover(failoverIp: string, activeServerIp: string): Promise<{
117
+ failover: Failover;
118
+ }>;
119
+ deleteFailoverRouting(failoverIp: string): Promise<void>;
120
+ listRdns(): Promise<{
121
+ rdns: Rdns;
122
+ }[]>;
123
+ getRdns(ip: string): Promise<{
124
+ rdns: Rdns;
125
+ }>;
126
+ createRdns(ip: string, ptr: string): Promise<{
127
+ rdns: Rdns;
128
+ }>;
129
+ updateRdns(ip: string, ptr: string): Promise<{
130
+ rdns: Rdns;
131
+ }>;
132
+ deleteRdns(ip: string): Promise<void>;
133
+ listSshKeys(): Promise<{
134
+ key: SshKey;
135
+ }[]>;
136
+ getSshKey(fingerprint: string): Promise<{
137
+ key: SshKey;
138
+ }>;
139
+ createSshKey(name: string, data: string): Promise<{
140
+ key: SshKey;
141
+ }>;
142
+ updateSshKey(fingerprint: string, name: string): Promise<{
143
+ key: SshKey;
144
+ }>;
145
+ deleteSshKey(fingerprint: string): Promise<void>;
146
+ getFirewall(serverIpOrNumber: string | number): Promise<{
147
+ firewall: Firewall;
148
+ }>;
149
+ updateFirewall(serverIpOrNumber: string | number, status: 'active' | 'disabled', rules?: {
150
+ input: FirewallRule[];
151
+ }): Promise<{
152
+ firewall: Firewall;
153
+ }>;
154
+ deleteFirewall(serverIpOrNumber: string | number): Promise<void>;
155
+ listFirewallTemplates(): Promise<{
156
+ firewall_template: FirewallTemplate;
157
+ }[]>;
158
+ getFirewallTemplate(templateId: number): Promise<{
159
+ firewall_template: FirewallTemplate;
160
+ }>;
161
+ createFirewallTemplate(name: string, filterIpv6?: boolean, whitelistHos?: boolean, isDefault?: boolean, rules?: {
162
+ input: FirewallRule[];
163
+ }): Promise<{
164
+ firewall_template: FirewallTemplate;
165
+ }>;
166
+ updateFirewallTemplate(templateId: number, name?: string, filterIpv6?: boolean, whitelistHos?: boolean, isDefault?: boolean, rules?: {
167
+ input: FirewallRule[];
168
+ }): Promise<{
169
+ firewall_template: FirewallTemplate;
170
+ }>;
171
+ deleteFirewallTemplate(templateId: number): Promise<void>;
172
+ listVSwitches(): Promise<{
173
+ vswitch: VSwitch;
174
+ }[]>;
175
+ getVSwitch(id: number): Promise<{
176
+ vswitch: VSwitch;
177
+ }>;
178
+ createVSwitch(name: string, vlan: number): Promise<{
179
+ vswitch: VSwitch;
180
+ }>;
181
+ updateVSwitch(id: number, name?: string, vlan?: number): Promise<{
182
+ vswitch: VSwitch;
183
+ }>;
184
+ deleteVSwitch(id: number, cancellationDate?: string): Promise<void>;
185
+ addServerToVSwitch(vswitchId: number, serverIpOrNumber: string | number): Promise<{
186
+ vswitch: VSwitch;
187
+ }>;
188
+ removeServerFromVSwitch(vswitchId: number, serverIpOrNumber: string | number): Promise<void>;
189
+ listStorageBoxes(): Promise<{
190
+ storagebox: StorageBox;
191
+ }[]>;
192
+ getStorageBox(id: number): Promise<{
193
+ storagebox: StorageBox;
194
+ }>;
195
+ updateStorageBox(id: number, name?: string, webdav?: boolean, samba?: boolean, ssh?: boolean, externalReachability?: boolean, zfs?: boolean): Promise<{
196
+ storagebox: StorageBox;
197
+ }>;
198
+ resetStorageBoxPassword(id: number): Promise<{
199
+ password: string;
200
+ }>;
201
+ listStorageBoxSnapshots(id: number): Promise<{
202
+ snapshot: StorageBoxSnapshot;
203
+ }[]>;
204
+ createStorageBoxSnapshot(id: number): Promise<{
205
+ snapshot: StorageBoxSnapshot;
206
+ }>;
207
+ deleteStorageBoxSnapshot(id: number, snapshotName: string): Promise<void>;
208
+ revertStorageBoxSnapshot(id: number, snapshotName: string): Promise<void>;
209
+ getStorageBoxSnapshotPlan(id: number): Promise<{
210
+ snapshotplan: StorageBoxSnapshotPlan;
211
+ }>;
212
+ updateStorageBoxSnapshotPlan(id: number, status: 'enabled' | 'disabled', minute?: number, hour?: number, dayOfWeek?: number, dayOfMonth?: number, maxSnapshots?: number): Promise<{
213
+ snapshotplan: StorageBoxSnapshotPlan;
214
+ }>;
215
+ listStorageBoxSubaccounts(id: number): Promise<{
216
+ subaccount: StorageBoxSubaccount;
217
+ }[]>;
218
+ createStorageBoxSubaccount(id: number, homedirectory: string, samba?: boolean, ssh?: boolean, externalReachability?: boolean, webdav?: boolean, readonly?: boolean, comment?: string): Promise<{
219
+ subaccount: StorageBoxSubaccount;
220
+ }>;
221
+ updateStorageBoxSubaccount(id: number, username: string, samba?: boolean, ssh?: boolean, externalReachability?: boolean, webdav?: boolean, readonly?: boolean, comment?: string): Promise<{
222
+ subaccount: StorageBoxSubaccount;
223
+ }>;
224
+ deleteStorageBoxSubaccount(id: number, username: string): Promise<void>;
225
+ resetStorageBoxSubaccountPassword(id: number, username: string): Promise<{
226
+ password: string;
227
+ }>;
228
+ getTraffic(ips: string[], subnets: string[], from: string, to: string, type?: 'day' | 'month' | 'year'): Promise<{
229
+ traffic: Traffic;
230
+ }>;
231
+ getWol(serverIpOrNumber: string | number): Promise<{
232
+ wol: Wol;
233
+ }>;
234
+ sendWol(serverIpOrNumber: string | number): Promise<{
235
+ wol: Wol;
236
+ }>;
237
+ listServerProducts(): Promise<{
238
+ product: ServerProduct;
239
+ }[]>;
240
+ listServerMarketProducts(): Promise<{
241
+ product: ServerMarketProduct;
242
+ }[]>;
243
+ listServerTransactions(): Promise<{
244
+ transaction: ServerTransaction;
245
+ }[]>;
246
+ getServerTransaction(transactionId: string): Promise<{
247
+ transaction: ServerTransaction;
248
+ }>;
249
+ orderServer(productId: string, authorizedKeys?: string[], password?: string, dist?: string, arch?: number, lang?: string, location?: string, addons?: string[], test?: boolean): Promise<{
250
+ transaction: ServerTransaction;
251
+ }>;
252
+ orderServerMarket(productId: number, authorizedKeys?: string[], password?: string, dist?: string, arch?: number, lang?: string, addons?: string[], test?: boolean): Promise<{
253
+ transaction: ServerTransaction;
254
+ }>;
255
+ private buildOrderParams;
256
+ }