hetzner-robot-cli 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.
@@ -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
+ }