@scaleway/sdk-dedibox 1.0.1

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,3020 @@
1
+ import type { Money, Zone as ScwZone } from '@scaleway/sdk-client';
2
+ export type AttachFailoverIPToMacAddressRequestMacType = 'mac_type_unknown' | 'vmware' | 'kvm' | 'xen';
3
+ export type BMCAccessStatus = 'unknown' | 'creating' | 'created' | 'deleting';
4
+ export type BackupStatus = 'unknown_backup_status' | 'uninitialized' | 'inactive' | 'ready';
5
+ export type FailoverBlockVersion = 'unknown_version' | 'ipv4' | 'ipv6';
6
+ export type FailoverIPInterfaceType = 'unknown' | 'normal' | 'ipmi' | 'virtual';
7
+ export type FailoverIPStatus = 'unknown_status' | 'ready' | 'busy' | 'locked';
8
+ export type FailoverIPVersion = 'unknown_version' | 'ipv4' | 'ipv6';
9
+ export type GetRpnStatusResponseStatus = 'unknown_status' | 'busy' | 'operational';
10
+ export type IPSemantic = 'unknown' | 'proxad' | 'ext' | 'public' | 'private' | 'ipmi' | 'adm' | 'redirect' | 'migration';
11
+ export type IPStatus = 'unknown_status' | 'ready' | 'busy' | 'locked';
12
+ export type IPVersion = 'ipv4' | 'ipv6';
13
+ export type IPv6BlockDelegationStatus = 'unknown_status' | 'updating' | 'done';
14
+ export type InvoicePaymentMethod = 'unknown_payment_method' | 'credit_card' | 'amex' | 'paypal' | 'transfer' | 'direct_debit';
15
+ export type InvoiceStatus = 'unknown_invoice_status' | 'unpaid' | 'paid' | 'errored';
16
+ export type ListFailoverIPsRequestOrderBy = 'ip_asc' | 'ip_desc';
17
+ export type ListInvoicesRequestOrderBy = 'created_at_asc' | 'created_at_desc';
18
+ export type ListOSRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'released_at_asc' | 'released_at_desc';
19
+ export type ListOffersRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'name_asc' | 'name_desc' | 'price_asc' | 'price_desc';
20
+ export type ListRefundsRequestOrderBy = 'created_at_asc' | 'created_at_desc';
21
+ export type ListRpnCapableSanServersRequestOrderBy = 'created_at_asc' | 'created_at_desc';
22
+ export type ListRpnCapableServersRequestOrderBy = 'created_at_asc' | 'created_at_desc';
23
+ export type ListRpnGroupMembersRequestOrderBy = 'created_at_asc' | 'created_at_desc';
24
+ export type ListRpnGroupsRequestOrderBy = 'created_at_asc' | 'created_at_desc';
25
+ export type ListRpnInvitesRequestOrderBy = 'created_at_asc' | 'created_at_desc';
26
+ export type ListRpnSansRequestOrderBy = 'created_at_asc' | 'created_at_desc';
27
+ export type ListRpnServerCapabilitiesRequestOrderBy = 'created_at_asc' | 'created_at_desc';
28
+ export type ListRpnV2CapableResourcesRequestOrderBy = 'created_at_asc' | 'created_at_desc';
29
+ export type ListRpnV2GroupLogsRequestOrderBy = 'created_at_asc' | 'created_at_desc';
30
+ export type ListRpnV2GroupsRequestOrderBy = 'created_at_asc' | 'created_at_desc';
31
+ export type ListRpnV2MembersRequestOrderBy = 'created_at_asc' | 'created_at_desc';
32
+ export type ListRpnV2MembersRequestType = 'unknown_type' | 'rpnv1_group' | 'server';
33
+ export type ListServerDisksRequestOrderBy = 'created_at_asc' | 'created_at_desc';
34
+ export type ListServerEventsRequestOrderBy = 'created_at_asc' | 'created_at_desc';
35
+ export type ListServersRequestOrderBy = 'created_at_asc' | 'created_at_desc';
36
+ export type ListServicesRequestOrderBy = 'created_at_asc' | 'created_at_desc';
37
+ export type LogAction = 'unknown_log_action' | 'group_created' | 'group_deleted' | 'members_added' | 'members_deleted' | 'description_updated' | 'rpnv1_members_added' | 'rpnv1_members_deleted' | 'vlan_updated' | 'vlan_updated_on_all_servers';
38
+ export type LogStatus = 'unknown_log_status' | 'success' | 'in_progress' | 'error';
39
+ export type MemoryType = 'ddr2' | 'ddr3' | 'ddr4' | 'ddr5';
40
+ export type NetworkInterfaceInterfaceType = 'unknown' | 'normal' | 'ipmi' | 'virtual';
41
+ export type OSArch = 'unknown_arch' | 'amd64' | 'x86' | 'arm' | 'arm64';
42
+ export type OSType = 'unknown_type' | 'server' | 'virtu' | 'panel' | 'desktop' | 'custom' | 'rescue';
43
+ export type OfferAntiDosInfoType = 'minimal' | 'preventive' | 'curative';
44
+ export type OfferCatalog = 'all' | 'default' | 'beta' | 'reseller' | 'premium' | 'volume' | 'admin' | 'inactive';
45
+ export type OfferPaymentFrequency = 'monthly' | 'oneshot';
46
+ export type OfferSANInfoType = 'hdd' | 'ssd';
47
+ export type OfferServerInfoStock = 'empty' | 'low' | 'available';
48
+ export type PartitionFileSystem = 'unknown' | 'efi' | 'swap' | 'ext4' | 'ext3' | 'ext2' | 'xfs' | 'ntfs' | 'fat32' | 'ufs';
49
+ export type PartitionType = 'primary' | 'extended' | 'logical';
50
+ export type RaidArrayRaidLevel = 'no_raid' | 'raid0' | 'raid1' | 'raid5' | 'raid6' | 'raid10';
51
+ export type RefundMethod = 'unknown_refund_method' | 'credit_card' | 'amex' | 'paypal' | 'transfer';
52
+ export type RefundStatus = 'unknown_refund_status' | 'unpaid' | 'paid' | 'errored';
53
+ export type RescueProtocol = 'vnc' | 'ssh';
54
+ export type RpnGroupMemberStatus = 'unknown_rpn_member_status' | 'pending_invitation' | 'active' | 'creating' | 'deleting' | 'deleted';
55
+ export type RpnGroupType = 'unknown' | 'local' | 'shared';
56
+ export type RpnSanIpType = 'unknown' | 'server_ip' | 'rpnv2_subnet';
57
+ export type RpnSanStatus = 'unknown_status' | 'creating' | 'active' | 'deleting' | 'maintenance';
58
+ export type RpnV2GroupStatus = 'unknown_group_status' | 'creating' | 'active' | 'updating' | 'deleting';
59
+ export type RpnV2GroupType = 'unknown_type' | 'standard' | 'qinq';
60
+ export type RpnV2MemberStatus = 'unknown_member_status' | 'creating' | 'active' | 'updating' | 'deleting';
61
+ export type ServerDiskType = 'sata' | 'ssd' | 'sas' | 'sshd' | 'usb' | 'nvme';
62
+ export type ServerInstallStatus = 'unknown' | 'booting' | 'setting_up_raid' | 'partitioning' | 'formatting' | 'installing' | 'configuring' | 'configuring_bootloader' | 'rebooting' | 'installed';
63
+ export type ServerStatus = 'unknown' | 'delivering' | 'installing' | 'ready' | 'stopped' | 'error' | 'locked' | 'rescue' | 'busy';
64
+ export type ServiceLevelLevel = 'unknown' | 'basic' | 'business';
65
+ export type ServiceProvisioningStatus = 'unknown' | 'delivering' | 'ready' | 'error' | 'expiring' | 'expired';
66
+ export type ServiceType = 'unknown_type' | 'service' | 'order';
67
+ export interface OfferAntiDosInfo {
68
+ type: OfferAntiDosInfoType;
69
+ }
70
+ export interface OfferBackupInfo {
71
+ size: number;
72
+ }
73
+ export interface OfferBandwidthInfo {
74
+ speed: number;
75
+ }
76
+ export interface OfferLicenseInfo {
77
+ boundToIp: boolean;
78
+ }
79
+ export interface OfferRPNInfo {
80
+ speed: number;
81
+ }
82
+ export interface OfferSANInfo {
83
+ /**
84
+ * SAN size (in bytes).
85
+ */
86
+ size: number;
87
+ /**
88
+ * High availability offer.
89
+ */
90
+ ha: boolean;
91
+ /**
92
+ * Type of SAN device (hdd / ssd).
93
+ */
94
+ deviceType: OfferSANInfoType;
95
+ }
96
+ export interface OfferStorageInfo {
97
+ maxQuota: number;
98
+ size: number;
99
+ }
100
+ export interface IP {
101
+ /**
102
+ * ID of the IP.
103
+ */
104
+ ipId: number;
105
+ /**
106
+ * Address of the IP.
107
+ */
108
+ address: string;
109
+ /**
110
+ * Reverse IP value.
111
+ */
112
+ reverse: string;
113
+ /**
114
+ * Version of IP (v4 or v6).
115
+ */
116
+ version: IPVersion;
117
+ /**
118
+ * Classless InterDomain Routing notation of the IP.
119
+ */
120
+ cidr: number;
121
+ /**
122
+ * Network mask of IP.
123
+ */
124
+ netmask: string;
125
+ /**
126
+ * Semantic of IP.
127
+ */
128
+ semantic: IPSemantic;
129
+ /**
130
+ * Gateway of IP.
131
+ */
132
+ gateway: string;
133
+ /**
134
+ * Status of the IP.
135
+ */
136
+ status: IPStatus;
137
+ }
138
+ export interface Offer {
139
+ /**
140
+ * ID of the offer.
141
+ */
142
+ id: number;
143
+ /**
144
+ * Name of the offer.
145
+ */
146
+ name: string;
147
+ /**
148
+ * Catalog of the offer.
149
+ */
150
+ catalog: OfferCatalog;
151
+ /**
152
+ * Payment frequency of the offer.
153
+ */
154
+ paymentFrequency: OfferPaymentFrequency;
155
+ /**
156
+ * Price of the offer.
157
+ */
158
+ pricing?: Money;
159
+ /**
160
+ * Server info if it is a server offer.
161
+ *
162
+ * One-of ('offerInfo'): at most one of 'serverInfo', 'serviceLevelInfo', 'rpnInfo', 'sanInfo', 'antidosInfo', 'backupInfo', 'usbStorageInfo', 'storageInfo', 'licenseInfo', 'failoverIpInfo', 'failoverBlockInfo', 'bandwidthInfo' could be set.
163
+ */
164
+ serverInfo?: OfferServerInfo;
165
+ /**
166
+ * Service level info if it is a service level offer.
167
+ *
168
+ * One-of ('offerInfo'): at most one of 'serverInfo', 'serviceLevelInfo', 'rpnInfo', 'sanInfo', 'antidosInfo', 'backupInfo', 'usbStorageInfo', 'storageInfo', 'licenseInfo', 'failoverIpInfo', 'failoverBlockInfo', 'bandwidthInfo' could be set.
169
+ */
170
+ serviceLevelInfo?: OfferServiceLevelInfo;
171
+ /**
172
+ * RPN info if it is a RPN offer.
173
+ *
174
+ * One-of ('offerInfo'): at most one of 'serverInfo', 'serviceLevelInfo', 'rpnInfo', 'sanInfo', 'antidosInfo', 'backupInfo', 'usbStorageInfo', 'storageInfo', 'licenseInfo', 'failoverIpInfo', 'failoverBlockInfo', 'bandwidthInfo' could be set.
175
+ */
176
+ rpnInfo?: OfferRPNInfo;
177
+ /**
178
+ * SAN info if it is a SAN offer.
179
+ *
180
+ * One-of ('offerInfo'): at most one of 'serverInfo', 'serviceLevelInfo', 'rpnInfo', 'sanInfo', 'antidosInfo', 'backupInfo', 'usbStorageInfo', 'storageInfo', 'licenseInfo', 'failoverIpInfo', 'failoverBlockInfo', 'bandwidthInfo' could be set.
181
+ */
182
+ sanInfo?: OfferSANInfo;
183
+ /**
184
+ * AntiDOS info if it is a antiDOS offer.
185
+ *
186
+ * One-of ('offerInfo'): at most one of 'serverInfo', 'serviceLevelInfo', 'rpnInfo', 'sanInfo', 'antidosInfo', 'backupInfo', 'usbStorageInfo', 'storageInfo', 'licenseInfo', 'failoverIpInfo', 'failoverBlockInfo', 'bandwidthInfo' could be set.
187
+ */
188
+ antidosInfo?: OfferAntiDosInfo;
189
+ /**
190
+ * Backup info if it is a backup offer.
191
+ *
192
+ * One-of ('offerInfo'): at most one of 'serverInfo', 'serviceLevelInfo', 'rpnInfo', 'sanInfo', 'antidosInfo', 'backupInfo', 'usbStorageInfo', 'storageInfo', 'licenseInfo', 'failoverIpInfo', 'failoverBlockInfo', 'bandwidthInfo' could be set.
193
+ */
194
+ backupInfo?: OfferBackupInfo;
195
+ /**
196
+ * USB storage info if it is a USB storage offer.
197
+ *
198
+ * One-of ('offerInfo'): at most one of 'serverInfo', 'serviceLevelInfo', 'rpnInfo', 'sanInfo', 'antidosInfo', 'backupInfo', 'usbStorageInfo', 'storageInfo', 'licenseInfo', 'failoverIpInfo', 'failoverBlockInfo', 'bandwidthInfo' could be set.
199
+ */
200
+ usbStorageInfo?: OfferStorageInfo;
201
+ /**
202
+ * Storage info if it is a storage offer.
203
+ *
204
+ * One-of ('offerInfo'): at most one of 'serverInfo', 'serviceLevelInfo', 'rpnInfo', 'sanInfo', 'antidosInfo', 'backupInfo', 'usbStorageInfo', 'storageInfo', 'licenseInfo', 'failoverIpInfo', 'failoverBlockInfo', 'bandwidthInfo' could be set.
205
+ */
206
+ storageInfo?: OfferStorageInfo;
207
+ /**
208
+ * License info if it is a license offer.
209
+ *
210
+ * One-of ('offerInfo'): at most one of 'serverInfo', 'serviceLevelInfo', 'rpnInfo', 'sanInfo', 'antidosInfo', 'backupInfo', 'usbStorageInfo', 'storageInfo', 'licenseInfo', 'failoverIpInfo', 'failoverBlockInfo', 'bandwidthInfo' could be set.
211
+ */
212
+ licenseInfo?: OfferLicenseInfo;
213
+ /**
214
+ * Failover IP info if it is a failover IP offer.
215
+ *
216
+ * One-of ('offerInfo'): at most one of 'serverInfo', 'serviceLevelInfo', 'rpnInfo', 'sanInfo', 'antidosInfo', 'backupInfo', 'usbStorageInfo', 'storageInfo', 'licenseInfo', 'failoverIpInfo', 'failoverBlockInfo', 'bandwidthInfo' could be set.
217
+ */
218
+ failoverIpInfo?: OfferFailoverIpInfo;
219
+ /**
220
+ * Failover block info if it is a failover block offer.
221
+ *
222
+ * One-of ('offerInfo'): at most one of 'serverInfo', 'serviceLevelInfo', 'rpnInfo', 'sanInfo', 'antidosInfo', 'backupInfo', 'usbStorageInfo', 'storageInfo', 'licenseInfo', 'failoverIpInfo', 'failoverBlockInfo', 'bandwidthInfo' could be set.
223
+ */
224
+ failoverBlockInfo?: OfferFailoverBlockInfo;
225
+ /**
226
+ * Bandwidth info if it is a bandwidth offer.
227
+ *
228
+ * One-of ('offerInfo'): at most one of 'serverInfo', 'serviceLevelInfo', 'rpnInfo', 'sanInfo', 'antidosInfo', 'backupInfo', 'usbStorageInfo', 'storageInfo', 'licenseInfo', 'failoverIpInfo', 'failoverBlockInfo', 'bandwidthInfo' could be set.
229
+ */
230
+ bandwidthInfo?: OfferBandwidthInfo;
231
+ }
232
+ export interface NetworkInterface {
233
+ /**
234
+ * Card ID of the network interface.
235
+ */
236
+ cardId: number;
237
+ /**
238
+ * Device ID of the network interface.
239
+ */
240
+ deviceId: number;
241
+ /**
242
+ * MAC address of the network interface.
243
+ */
244
+ mac: string;
245
+ /**
246
+ * Network interface type.
247
+ */
248
+ type: NetworkInterfaceInterfaceType;
249
+ /**
250
+ * IPs of the network interface.
251
+ */
252
+ ips: IP[];
253
+ }
254
+ export interface OS {
255
+ /**
256
+ * ID of the OS.
257
+ */
258
+ id: number;
259
+ /**
260
+ * Name of the OS.
261
+ */
262
+ name: string;
263
+ /**
264
+ * Type of the OS.
265
+ */
266
+ type: OSType;
267
+ /**
268
+ * Version of the OS.
269
+ */
270
+ version: string;
271
+ /**
272
+ * Architecture of the OS.
273
+ */
274
+ arch: OSArch;
275
+ /**
276
+ * True if the OS allow custom partitioning.
277
+ */
278
+ allowCustomPartitioning: boolean;
279
+ /**
280
+ * True if the OS allow SSH Keys.
281
+ */
282
+ allowSshKeys: boolean;
283
+ /**
284
+ * True if the OS requires user.
285
+ */
286
+ requiresUser: boolean;
287
+ /**
288
+ * True if the OS requires admin password.
289
+ */
290
+ requiresAdminPassword: boolean;
291
+ /**
292
+ * True if the OS requires panel password.
293
+ */
294
+ requiresPanelPassword: boolean;
295
+ /**
296
+ * True if the OS allow file systems.
297
+ */
298
+ allowedFilesystems: PartitionFileSystem[];
299
+ /**
300
+ * True if the OS requires license.
301
+ */
302
+ requiresLicense: boolean;
303
+ /**
304
+ * License offers available with the OS.
305
+ */
306
+ licenseOffers: Offer[];
307
+ /**
308
+ * Maximum number of partitions which can be created.
309
+ */
310
+ maxPartitions?: number;
311
+ /**
312
+ * Display name of the OS.
313
+ */
314
+ displayName: string;
315
+ /**
316
+ * Regex used to validate the installation passwords.
317
+ */
318
+ passwordRegex: string;
319
+ /**
320
+ * Regex used to validate the panel installation password.
321
+ */
322
+ panelPasswordRegex?: string;
323
+ /**
324
+ * If both requires_valid_hostname & hostname_regex are set, it means that at least one of the criteria must be valid.
325
+ */
326
+ requiresValidHostname?: boolean;
327
+ /**
328
+ * If both requires_valid_hostname & hostname_regex are set, it means that at least one of the criteria must be valid.
329
+ */
330
+ hostnameRegex?: string;
331
+ /**
332
+ * Hostname max length.
333
+ */
334
+ hostnameMaxLength: number;
335
+ /**
336
+ * OS release date.
337
+ */
338
+ releasedAt?: Date;
339
+ }
340
+ export interface ServerLocation {
341
+ rack: string;
342
+ room: string;
343
+ datacenterName: string;
344
+ }
345
+ export interface ServerOption {
346
+ offer?: Offer;
347
+ createdAt?: Date;
348
+ updatedAt?: Date;
349
+ expiredAt?: Date;
350
+ options: ServerOption[];
351
+ }
352
+ export interface ServiceLevel {
353
+ /**
354
+ * Offer ID of service level.
355
+ */
356
+ offerId: number;
357
+ /**
358
+ * Level type of service level.
359
+ */
360
+ level: ServiceLevelLevel;
361
+ }
362
+ export interface RpnSan {
363
+ /**
364
+ * RPN SAN ID.
365
+ */
366
+ id: number;
367
+ /**
368
+ * Datacenter location.
369
+ */
370
+ datacenterName: string;
371
+ /**
372
+ * Organization ID.
373
+ */
374
+ organizationId: string;
375
+ /**
376
+ * Project ID.
377
+ */
378
+ projectId: string;
379
+ /**
380
+ * RPN SAN server hostname.
381
+ */
382
+ serverHostname: string;
383
+ /**
384
+ * IQN suffix.
385
+ */
386
+ iqnSuffix: string;
387
+ /**
388
+ * Date of creation of the RPN SAN.
389
+ */
390
+ createdAt?: Date;
391
+ /**
392
+ * Offer ID.
393
+ */
394
+ offerId: number;
395
+ /**
396
+ * Offer description.
397
+ */
398
+ offerName: string;
399
+ /**
400
+ * Status.
401
+ */
402
+ status: RpnSanStatus;
403
+ /**
404
+ * RPN SAN storage size.
405
+ */
406
+ storageSize: number;
407
+ iqn: string;
408
+ offer?: Offer;
409
+ /**
410
+ * True if the SAN is compatible with the RPNv1 technology.
411
+ */
412
+ rpnv1Compatible: boolean;
413
+ /**
414
+ * True if the offer supports the RPNv1 implicitly, false if it must to be added to a group to support RPNv1.
415
+ */
416
+ rpnv1Implicit: boolean;
417
+ /**
418
+ * RPN SAN delivery date.
419
+ */
420
+ deliveredAt?: Date;
421
+ /**
422
+ * RPN SAN termination date.
423
+ */
424
+ terminatedAt?: Date;
425
+ /**
426
+ * RPN SAN expiration date.
427
+ */
428
+ expiresAt?: Date;
429
+ }
430
+ export interface RpnGroup {
431
+ /**
432
+ * Rpn group member ID.
433
+ */
434
+ id: number;
435
+ /**
436
+ * Rpn group name.
437
+ */
438
+ name: string;
439
+ /**
440
+ * Rpn group type (local or shared).
441
+ */
442
+ type: RpnGroupType;
443
+ /**
444
+ * Whether the group is active or not.
445
+ */
446
+ active: boolean;
447
+ /**
448
+ * Rpn group creation date.
449
+ */
450
+ createdAt?: Date;
451
+ /**
452
+ * RPN group owner.
453
+ */
454
+ owner: string;
455
+ /**
456
+ * Total number of members.
457
+ */
458
+ membersCount: number;
459
+ /**
460
+ * Rpn group organization ID.
461
+ */
462
+ organizationId: string;
463
+ /**
464
+ * Rpn group project ID.
465
+ */
466
+ projectId: string;
467
+ }
468
+ export interface RpnV2GroupSubnet {
469
+ address: string;
470
+ cidr: number;
471
+ }
472
+ export interface Server {
473
+ /**
474
+ * ID of the server.
475
+ */
476
+ id: number;
477
+ /**
478
+ * Organization ID the server is attached to.
479
+ */
480
+ organizationId: string;
481
+ /**
482
+ * Project ID the server is attached to.
483
+ */
484
+ projectId: string;
485
+ /**
486
+ * Hostname of the server.
487
+ */
488
+ hostname: string;
489
+ /**
490
+ * Date of last reboot of the server.
491
+ */
492
+ rebootedAt?: Date;
493
+ /**
494
+ * Date of creation of the server.
495
+ */
496
+ createdAt?: Date;
497
+ /**
498
+ * Date of last modification of the server.
499
+ */
500
+ updatedAt?: Date;
501
+ /**
502
+ * Date of release of the server.
503
+ */
504
+ expiredAt?: Date;
505
+ /**
506
+ * Offer of the server.
507
+ */
508
+ offer?: Offer;
509
+ /**
510
+ * Status of the server.
511
+ */
512
+ status: ServerStatus;
513
+ /**
514
+ * Location of the server.
515
+ */
516
+ location?: ServerLocation;
517
+ /**
518
+ * Abuse contact of the server.
519
+ */
520
+ abuseContact: string;
521
+ /**
522
+ * OS installed on the server.
523
+ */
524
+ os?: OS;
525
+ /**
526
+ * Network interfaces of the server.
527
+ */
528
+ interfaces: NetworkInterface[];
529
+ /**
530
+ * The zone in which is the server.
531
+ */
532
+ zone: ScwZone;
533
+ /**
534
+ * Options subscribe on the server.
535
+ */
536
+ options: ServerOption[];
537
+ /**
538
+ * Service level of the server.
539
+ */
540
+ level?: ServiceLevel;
541
+ /**
542
+ * Boolean if the server has a BMC.
543
+ */
544
+ hasBmc: boolean;
545
+ /**
546
+ * Rescue OS of the server.
547
+ */
548
+ rescueOs?: OS;
549
+ /**
550
+ * Array of customs tags attached to the server.
551
+ */
552
+ tags: string[];
553
+ /**
554
+ * Whether the server is outsourced or not.
555
+ */
556
+ isOutsourced: boolean;
557
+ /**
558
+ * Whether or not you can enable/disable the IPv6.
559
+ */
560
+ ipv6Slaac: boolean;
561
+ /**
562
+ * Whether the server is compatible with QinQ.
563
+ */
564
+ qinq: boolean;
565
+ /**
566
+ * Whether or not the server is already part of an rpnv2 group.
567
+ */
568
+ isRpnv2Member: boolean;
569
+ }
570
+ export interface FailoverBlock {
571
+ /**
572
+ * ID of the failover block.
573
+ */
574
+ id: number;
575
+ /**
576
+ * IP of the failover block.
577
+ */
578
+ address: string;
579
+ /**
580
+ * Name servers.
581
+ */
582
+ nameservers: string[];
583
+ /**
584
+ * IP version of the failover block.
585
+ */
586
+ ipVersion: FailoverBlockVersion;
587
+ /**
588
+ * Classless InterDomain Routing notation of the failover block.
589
+ */
590
+ cidr: number;
591
+ /**
592
+ * Netmask of the failover block.
593
+ */
594
+ netmask: string;
595
+ /**
596
+ * Gateway IP of the failover block.
597
+ */
598
+ gatewayIp: string;
599
+ }
600
+ export interface RpnSanIpRpnV2Group {
601
+ id: number;
602
+ name: string;
603
+ }
604
+ export interface RpnSanIpServer {
605
+ id: number;
606
+ hostname: string;
607
+ datacenterName: string;
608
+ }
609
+ export interface RpnSanServer {
610
+ /**
611
+ * The RPN SAN server ID.
612
+ */
613
+ id: number;
614
+ /**
615
+ * The RPN SAN server datacenter name.
616
+ */
617
+ datacenterName: string;
618
+ /**
619
+ * The RPN SAN server hostname.
620
+ */
621
+ hostname: string;
622
+ /**
623
+ * RPN SANs linked to the RPN SAN server.
624
+ */
625
+ sans: RpnSan[];
626
+ /**
627
+ * The RPN SAN server zone.
628
+ */
629
+ zone: ScwZone;
630
+ }
631
+ export interface RpnV2Group {
632
+ /**
633
+ * RPN V2 group ID.
634
+ */
635
+ id: number;
636
+ /**
637
+ * RPN V2 group name.
638
+ */
639
+ name: string;
640
+ /**
641
+ * Whether or not the RPN V1 compatibility was enabled.
642
+ */
643
+ compatibleRpnv1: boolean;
644
+ /**
645
+ * Organization ID of the RPN V2 group.
646
+ */
647
+ organizationId: string;
648
+ /**
649
+ * Project ID of the RPN V2 group.
650
+ */
651
+ projectId: string;
652
+ /**
653
+ * RPN V2 group type (qing / standard).
654
+ */
655
+ type: RpnV2GroupType;
656
+ /**
657
+ * RPN V2 group status.
658
+ */
659
+ status: RpnV2GroupStatus;
660
+ /**
661
+ * RPN V2 group owner.
662
+ */
663
+ owner: string;
664
+ /**
665
+ * Total number of members.
666
+ */
667
+ membersCount: number;
668
+ /**
669
+ * RPN V2 subnet.
670
+ */
671
+ subnet?: RpnV2GroupSubnet;
672
+ /**
673
+ * RPN V2 gateway.
674
+ */
675
+ gateway: string;
676
+ /**
677
+ * The RPNv1 group (if the compatibility was enabled).
678
+ */
679
+ rpnv1Group?: RpnGroup;
680
+ }
681
+ export interface RpnV2Member {
682
+ /**
683
+ * RPN V2 member ID.
684
+ */
685
+ id: number;
686
+ /**
687
+ * RPN V2 member status.
688
+ */
689
+ status: RpnV2MemberStatus;
690
+ /**
691
+ * RPN V2 member VLAN.
692
+ */
693
+ vlan: string;
694
+ /**
695
+ * Server behind the member (may be empty).
696
+ *
697
+ * One-of ('resource'): at most one of 'server', 'rpnv1Group' could be set.
698
+ */
699
+ server?: Server;
700
+ /**
701
+ * RPN V1 group member.
702
+ *
703
+ * One-of ('resource'): at most one of 'server', 'rpnv1Group' could be set.
704
+ */
705
+ rpnv1Group?: RpnGroup;
706
+ /**
707
+ * RPN speed.
708
+ */
709
+ speed?: number;
710
+ }
711
+ export interface ServerDisk {
712
+ id: number;
713
+ connector: string;
714
+ type: ServerDiskType;
715
+ capacity: number;
716
+ isAddon: boolean;
717
+ }
718
+ export interface Service {
719
+ /**
720
+ * ID of the service.
721
+ */
722
+ id: number;
723
+ /**
724
+ * Resource ID of the service.
725
+ */
726
+ resourceId?: number;
727
+ /**
728
+ * Provisioning status of the service.
729
+ */
730
+ provisioningStatus: ServiceProvisioningStatus;
731
+ /**
732
+ * Offer of the service.
733
+ */
734
+ offer?: Offer;
735
+ /**
736
+ * Creation date of the service.
737
+ */
738
+ createdAt?: Date;
739
+ /**
740
+ * Delivery date of the service.
741
+ */
742
+ deliveredAt?: Date;
743
+ /**
744
+ * Terminatation date of the service.
745
+ */
746
+ terminatedAt?: Date;
747
+ /**
748
+ * Expiration date of the service.
749
+ */
750
+ expiresAt?: Date;
751
+ /**
752
+ * Service type, either order or service.
753
+ */
754
+ type: ServiceType;
755
+ }
756
+ export interface GetIPv6BlockQuotasResponseQuota {
757
+ quota: number;
758
+ cidr: number;
759
+ }
760
+ export interface InstallPartition {
761
+ /**
762
+ * File system of the installation partition.
763
+ */
764
+ fileSystem: PartitionFileSystem;
765
+ /**
766
+ * Mount point of the installation partition.
767
+ */
768
+ mountPoint?: string;
769
+ /**
770
+ * RAID level of the installation partition.
771
+ */
772
+ raidLevel: RaidArrayRaidLevel;
773
+ /**
774
+ * Capacity of the installation partition.
775
+ */
776
+ capacity: number;
777
+ /**
778
+ * Connectors of the installation partition.
779
+ */
780
+ connectors: string[];
781
+ }
782
+ export interface FailoverIP {
783
+ /**
784
+ * ID of the failover IP.
785
+ */
786
+ id: number;
787
+ /**
788
+ * IP of the failover IP.
789
+ */
790
+ address: string;
791
+ /**
792
+ * Reverse IP value.
793
+ */
794
+ reverse: string;
795
+ /**
796
+ * IP version of the failover IP.
797
+ */
798
+ ipVersion: FailoverIPVersion;
799
+ /**
800
+ * Classless InterDomain Routing notation of the failover IP.
801
+ */
802
+ cidr: number;
803
+ /**
804
+ * Netmask of the failover IP.
805
+ */
806
+ netmask: string;
807
+ /**
808
+ * Gateway IP of the failover IP.
809
+ */
810
+ gatewayIp: string;
811
+ /**
812
+ * MAC address of the IP failover.
813
+ */
814
+ mac?: string;
815
+ /**
816
+ * Server ID linked to the IP failover.
817
+ */
818
+ serverId?: number;
819
+ /**
820
+ * Status of the IP failover.
821
+ */
822
+ status: FailoverIPStatus;
823
+ /**
824
+ * Block of the IP failover.
825
+ */
826
+ block?: FailoverBlock;
827
+ /**
828
+ * The interface type.
829
+ */
830
+ type: FailoverIPInterfaceType;
831
+ /**
832
+ * The server zone (if assigned).
833
+ */
834
+ serverZone?: string;
835
+ }
836
+ export interface ListIPv6BlockSubnetsAvailableResponseSubnet {
837
+ address: string;
838
+ cidr: number;
839
+ }
840
+ export interface InvoiceSummary {
841
+ id: number;
842
+ totalWithTaxes?: Money;
843
+ totalWithoutTaxes?: Money;
844
+ createdAt?: Date;
845
+ paidAt?: Date;
846
+ status: InvoiceStatus;
847
+ paymentMethod: InvoicePaymentMethod;
848
+ transactionId: number;
849
+ }
850
+ export interface RpnSanIp {
851
+ /**
852
+ * Basic server information behind the IP.
853
+ *
854
+ * One-of ('rpnSanIp'): at most one of 'server', 'rpnv2Group' could be set.
855
+ */
856
+ server?: RpnSanIpServer;
857
+ /**
858
+ * Basic RPNv2 group information behind the IP.
859
+ *
860
+ * One-of ('rpnSanIp'): at most one of 'server', 'rpnv2Group' could be set.
861
+ */
862
+ rpnv2Group?: RpnSanIpRpnV2Group;
863
+ /**
864
+ * An IP object.
865
+ */
866
+ ip?: IP;
867
+ /**
868
+ * IP type (server | rpnv2_subnet).
869
+ */
870
+ type: RpnSanIpType;
871
+ }
872
+ export interface RefundSummary {
873
+ id: number;
874
+ totalWithTaxes?: Money;
875
+ totalWithoutTaxes?: Money;
876
+ createdAt?: Date;
877
+ refundedAt?: Date;
878
+ status: RefundStatus;
879
+ method: RefundMethod;
880
+ }
881
+ export interface RpnGroupMember {
882
+ /**
883
+ * Rpn group member ID.
884
+ */
885
+ id: number;
886
+ /**
887
+ * RPN group member status.
888
+ */
889
+ status: RpnGroupMemberStatus;
890
+ /**
891
+ * Authorized RPN SAN server.
892
+ */
893
+ sanServer?: RpnSanServer;
894
+ /**
895
+ * Authorized rpn v1 capable server.
896
+ */
897
+ server?: Server;
898
+ /**
899
+ * RPN group ID.
900
+ */
901
+ groupId: number;
902
+ /**
903
+ * RPN group name.
904
+ */
905
+ groupName: string;
906
+ /**
907
+ * RPN group owner.
908
+ */
909
+ groupOwner: string;
910
+ /**
911
+ * RPN speed.
912
+ */
913
+ speed?: number;
914
+ /**
915
+ * RPN member owner.
916
+ */
917
+ owner: string;
918
+ }
919
+ export interface RpnSanSummary {
920
+ /**
921
+ * RPN SAN ID.
922
+ */
923
+ id: number;
924
+ /**
925
+ * Datacenter location.
926
+ */
927
+ datacenterName: string;
928
+ /**
929
+ * Organization ID.
930
+ */
931
+ organizationId: string;
932
+ /**
933
+ * Project ID.
934
+ */
935
+ projectId: string;
936
+ /**
937
+ * RPN SAN server hostname.
938
+ */
939
+ serverHostname: string;
940
+ /**
941
+ * IQN suffix.
942
+ */
943
+ iqnSuffix: string;
944
+ /**
945
+ * Date of creation of the RPN SAN.
946
+ */
947
+ createdAt?: Date;
948
+ /**
949
+ * Offer ID.
950
+ */
951
+ offerId: number;
952
+ /**
953
+ * Offer description.
954
+ */
955
+ offerName: string;
956
+ /**
957
+ * Status.
958
+ */
959
+ status: RpnSanStatus;
960
+ /**
961
+ * RPN SAN storage size.
962
+ */
963
+ storageSize: number;
964
+ /**
965
+ * True if the SAN is compatible with the RPNv1 technology.
966
+ */
967
+ rpnv1Compatible: boolean;
968
+ /**
969
+ * True if the offer supports the RPNv1 implicitly, false if it must to be added to a group to support RPNv1.
970
+ */
971
+ rpnv1Implicit: boolean;
972
+ /**
973
+ * RPN SAN delivery date.
974
+ */
975
+ deliveredAt?: Date;
976
+ /**
977
+ * RPN SAN termination date.
978
+ */
979
+ terminatedAt?: Date;
980
+ /**
981
+ * RPN SAN expiration date.
982
+ */
983
+ expiresAt?: Date;
984
+ }
985
+ export interface RpnServerCapability {
986
+ /**
987
+ * Server ID.
988
+ */
989
+ id: number;
990
+ /**
991
+ * Server hostname.
992
+ */
993
+ hostname: string;
994
+ /**
995
+ * Server datacenter name.
996
+ */
997
+ datacenterName: string;
998
+ /**
999
+ * Server zone.
1000
+ */
1001
+ zone: ScwZone;
1002
+ /**
1003
+ * Private IP address (if rpn compatiblle).
1004
+ */
1005
+ ipAddress?: string;
1006
+ /**
1007
+ * Supported rpn version.
1008
+ */
1009
+ rpnVersion?: number;
1010
+ /**
1011
+ * True if server is compatible with QinQ protocol (rpn v2).
1012
+ */
1013
+ compatibleQinq: boolean;
1014
+ /**
1015
+ * True if server can join a QinQ group.
1016
+ */
1017
+ canJoinQinqGroup: boolean;
1018
+ /**
1019
+ * Times server is linked in a rpnv1 group.
1020
+ */
1021
+ rpnv1GroupCount: number;
1022
+ /**
1023
+ * Times server is linked in a rpnv2 group.
1024
+ */
1025
+ rpnv2GroupCount: number;
1026
+ /**
1027
+ * True if server can join an rpnv2 group.
1028
+ */
1029
+ canJoinRpnv2Group: boolean;
1030
+ }
1031
+ export interface Log {
1032
+ /**
1033
+ * RPN V2 log ID.
1034
+ */
1035
+ id: number;
1036
+ /**
1037
+ * RPN V2 group.
1038
+ */
1039
+ group?: RpnV2Group;
1040
+ /**
1041
+ * RPN V2 member (if appliable).
1042
+ */
1043
+ member?: RpnV2Member;
1044
+ /**
1045
+ * Which action was performed.
1046
+ */
1047
+ action: LogAction;
1048
+ /**
1049
+ * Action status.
1050
+ */
1051
+ status: LogStatus;
1052
+ /**
1053
+ * Creation date.
1054
+ */
1055
+ createdAt?: Date;
1056
+ /**
1057
+ * Completion date.
1058
+ */
1059
+ finishedAt?: Date;
1060
+ }
1061
+ export interface ServerEvent {
1062
+ /**
1063
+ * ID of the event.
1064
+ */
1065
+ eventId: number;
1066
+ /**
1067
+ * Description of the event.
1068
+ */
1069
+ description: string;
1070
+ /**
1071
+ * Date of the event.
1072
+ */
1073
+ date?: Date;
1074
+ }
1075
+ export interface ServerSummary {
1076
+ /**
1077
+ * ID of the server.
1078
+ */
1079
+ id: number;
1080
+ /**
1081
+ * Datacenter of the server.
1082
+ */
1083
+ datacenterName: string;
1084
+ /**
1085
+ * Organization ID the server is attached to.
1086
+ */
1087
+ organizationId: string;
1088
+ /**
1089
+ * Project ID the server is attached to.
1090
+ */
1091
+ projectId: string;
1092
+ /**
1093
+ * Hostname of the server.
1094
+ */
1095
+ hostname: string;
1096
+ /**
1097
+ * Date of creation of the server.
1098
+ */
1099
+ createdAt?: Date;
1100
+ /**
1101
+ * Date of last modification of the server.
1102
+ */
1103
+ updatedAt?: Date;
1104
+ /**
1105
+ * Date of release of the server.
1106
+ */
1107
+ expiredAt?: Date;
1108
+ /**
1109
+ * Offer ID of the server.
1110
+ */
1111
+ offerId: number;
1112
+ /**
1113
+ * Offer name of the server.
1114
+ */
1115
+ offerName: string;
1116
+ /**
1117
+ * Status of the server.
1118
+ */
1119
+ status: ServerStatus;
1120
+ /**
1121
+ * OS ID installed on server.
1122
+ */
1123
+ osId?: number;
1124
+ /**
1125
+ * Network interfaces of the server.
1126
+ */
1127
+ interfaces: NetworkInterface[];
1128
+ /**
1129
+ * The zone in which is the server.
1130
+ */
1131
+ zone: ScwZone;
1132
+ /**
1133
+ * Service level of the server.
1134
+ */
1135
+ level?: ServiceLevel;
1136
+ /**
1137
+ * Whether the server is outsourced or not.
1138
+ */
1139
+ isOutsourced: boolean;
1140
+ /**
1141
+ * Whether the server is compatible with QinQ.
1142
+ */
1143
+ qinq: boolean;
1144
+ /**
1145
+ * Supported RPN version.
1146
+ */
1147
+ rpnVersion?: number;
1148
+ }
1149
+ export interface CPU {
1150
+ /**
1151
+ * Name of CPU.
1152
+ */
1153
+ name: string;
1154
+ /**
1155
+ * Number of cores of the CPU.
1156
+ */
1157
+ coreCount: number;
1158
+ /**
1159
+ * Number of threads of the CPU.
1160
+ */
1161
+ threadCount: number;
1162
+ /**
1163
+ * Frequency of the CPU.
1164
+ */
1165
+ frequency: number;
1166
+ }
1167
+ export interface Disk {
1168
+ /**
1169
+ * Capacity of the disk.
1170
+ */
1171
+ capacity: number;
1172
+ /**
1173
+ * Type of the disk.
1174
+ */
1175
+ type: ServerDiskType;
1176
+ }
1177
+ export interface Memory {
1178
+ /**
1179
+ * Capacity of the memory.
1180
+ */
1181
+ capacity: number;
1182
+ /**
1183
+ * Type of the memory.
1184
+ */
1185
+ type: MemoryType;
1186
+ /**
1187
+ * Frequency of the memory.
1188
+ */
1189
+ frequency: number;
1190
+ /**
1191
+ * True if the memory is an error-correcting code memory.
1192
+ */
1193
+ isEcc: boolean;
1194
+ }
1195
+ export interface PersistentMemory {
1196
+ /**
1197
+ * Capacity of the persistent memory.
1198
+ */
1199
+ capacity: number;
1200
+ /**
1201
+ * Frequency of the persistent memory.
1202
+ */
1203
+ frequency: number;
1204
+ /**
1205
+ * Model of the persistent memory.
1206
+ */
1207
+ model: string;
1208
+ }
1209
+ export interface RaidController {
1210
+ /**
1211
+ * Model of the RAID controller.
1212
+ */
1213
+ model: string;
1214
+ /**
1215
+ * RAID level of the RAID controller.
1216
+ */
1217
+ raidLevel: string[];
1218
+ }
1219
+ export interface RaidArray {
1220
+ /**
1221
+ * The RAID level.
1222
+ */
1223
+ raidLevel: RaidArrayRaidLevel;
1224
+ /**
1225
+ * Disks on the RAID controller.
1226
+ */
1227
+ disks: ServerDisk[];
1228
+ }
1229
+ export interface Partition {
1230
+ /**
1231
+ * Type of the partition.
1232
+ */
1233
+ type: PartitionType;
1234
+ /**
1235
+ * File system of the partition.
1236
+ */
1237
+ fileSystem: PartitionFileSystem;
1238
+ /**
1239
+ * Mount point of the partition.
1240
+ */
1241
+ mountPoint?: string;
1242
+ /**
1243
+ * Raid level of the partition.
1244
+ */
1245
+ raidLevel: RaidArrayRaidLevel;
1246
+ /**
1247
+ * Capacity of the partition.
1248
+ */
1249
+ capacity: number;
1250
+ /**
1251
+ * Connectors of the partition.
1252
+ */
1253
+ connectors: string[];
1254
+ }
1255
+ export interface UpdatableRaidArray {
1256
+ /**
1257
+ * The RAID level.
1258
+ */
1259
+ raidLevel: RaidArrayRaidLevel;
1260
+ /**
1261
+ * The list of Disk ID of the updatable RAID.
1262
+ */
1263
+ diskIds: number[];
1264
+ }
1265
+ export type AttachFailoverIPToMacAddressRequest = {
1266
+ /**
1267
+ * Zone to target. If none is passed will use default zone from the config.
1268
+ */
1269
+ zone?: ScwZone;
1270
+ /**
1271
+ * ID of the failover IP.
1272
+ */
1273
+ ipId: number;
1274
+ /**
1275
+ * A mac type.
1276
+ */
1277
+ type?: AttachFailoverIPToMacAddressRequestMacType;
1278
+ /**
1279
+ * A valid mac address (existing or not).
1280
+ */
1281
+ mac?: string;
1282
+ };
1283
+ export type AttachFailoverIPsRequest = {
1284
+ /**
1285
+ * Zone to target. If none is passed will use default zone from the config.
1286
+ */
1287
+ zone?: ScwZone;
1288
+ /**
1289
+ * ID of the server.
1290
+ */
1291
+ serverId: number;
1292
+ /**
1293
+ * List of ID of failovers IP to attach.
1294
+ */
1295
+ fipsIds: number[];
1296
+ };
1297
+ export interface BMCAccess {
1298
+ /**
1299
+ * URL to access to the server console.
1300
+ */
1301
+ url: string;
1302
+ /**
1303
+ * The login to use for the BMC (Baseboard Management Controller) access authentification.
1304
+ */
1305
+ login: string;
1306
+ /**
1307
+ * The password to use for the BMC (Baseboard Management Controller) access authentification.
1308
+ */
1309
+ password: string;
1310
+ /**
1311
+ * The date after which the BMC (Baseboard Management Controller) access will be closed.
1312
+ */
1313
+ expiresAt?: Date;
1314
+ /**
1315
+ * Status of the connection.
1316
+ */
1317
+ status: BMCAccessStatus;
1318
+ }
1319
+ export interface Backup {
1320
+ /**
1321
+ * ID of the backup.
1322
+ */
1323
+ id: number;
1324
+ /**
1325
+ * Login of the backup.
1326
+ */
1327
+ login: string;
1328
+ /**
1329
+ * Server of the backup.
1330
+ */
1331
+ server: string;
1332
+ /**
1333
+ * Status of the backup.
1334
+ */
1335
+ status: BackupStatus;
1336
+ /**
1337
+ * ACL enable boolean of the backup.
1338
+ */
1339
+ aclEnabled: boolean;
1340
+ /**
1341
+ * Autologin boolean of the backup.
1342
+ */
1343
+ autologin: boolean;
1344
+ /**
1345
+ * Total quota space of the backup.
1346
+ */
1347
+ quotaSpace: number;
1348
+ /**
1349
+ * Quota space used of the backup.
1350
+ */
1351
+ quotaSpaceUsed: number;
1352
+ /**
1353
+ * Total quota files of the backup.
1354
+ */
1355
+ quotaFiles: number;
1356
+ /**
1357
+ * Quota files used of the backup.
1358
+ */
1359
+ quotaFilesUsed: number;
1360
+ }
1361
+ export type BillingApiCanOrderRequest = {
1362
+ projectId?: string;
1363
+ };
1364
+ export type BillingApiDownloadInvoiceRequest = {
1365
+ invoiceId: number;
1366
+ };
1367
+ export type BillingApiDownloadRefundRequest = {
1368
+ refundId: number;
1369
+ };
1370
+ export type BillingApiGetInvoiceRequest = {
1371
+ invoiceId: number;
1372
+ };
1373
+ export type BillingApiGetRefundRequest = {
1374
+ refundId: number;
1375
+ };
1376
+ export type BillingApiListInvoicesRequest = {
1377
+ page?: number;
1378
+ pageSize?: number;
1379
+ orderBy?: ListInvoicesRequestOrderBy;
1380
+ projectId?: string;
1381
+ };
1382
+ export type BillingApiListRefundsRequest = {
1383
+ page?: number;
1384
+ pageSize?: number;
1385
+ orderBy?: ListRefundsRequestOrderBy;
1386
+ projectId?: string;
1387
+ };
1388
+ export interface CanOrderResponse {
1389
+ canOrder: boolean;
1390
+ message?: string;
1391
+ quotaOk: boolean;
1392
+ phoneConfirmed: boolean;
1393
+ emailConfirmed: boolean;
1394
+ userConfirmed: boolean;
1395
+ paymentMode: boolean;
1396
+ billingOk: boolean;
1397
+ }
1398
+ export type CancelServerInstallRequest = {
1399
+ /**
1400
+ * Zone to target. If none is passed will use default zone from the config.
1401
+ */
1402
+ zone?: ScwZone;
1403
+ /**
1404
+ * Server ID of the server to cancel install.
1405
+ */
1406
+ serverId: number;
1407
+ };
1408
+ export type CreateFailoverIPsRequest = {
1409
+ /**
1410
+ * Zone to target. If none is passed will use default zone from the config.
1411
+ */
1412
+ zone?: ScwZone;
1413
+ /**
1414
+ * Failover IP offer ID.
1415
+ */
1416
+ offerId: number;
1417
+ /**
1418
+ * Project ID.
1419
+ */
1420
+ projectId?: string;
1421
+ /**
1422
+ * Quantity.
1423
+ */
1424
+ quantity: number;
1425
+ };
1426
+ export interface CreateFailoverIPsResponse {
1427
+ totalCount: number;
1428
+ services: Service[];
1429
+ }
1430
+ export type CreateServerRequest = {
1431
+ /**
1432
+ * Zone to target. If none is passed will use default zone from the config.
1433
+ */
1434
+ zone?: ScwZone;
1435
+ /**
1436
+ * Offer ID of the new server.
1437
+ */
1438
+ offerId: number;
1439
+ /**
1440
+ * Server option IDs of the new server.
1441
+ */
1442
+ serverOptionIds: number[];
1443
+ /**
1444
+ * Project ID of the new server.
1445
+ */
1446
+ projectId?: string;
1447
+ /**
1448
+ * Datacenter name of the new server.
1449
+ */
1450
+ datacenterName?: string;
1451
+ };
1452
+ export type DeleteFailoverIPRequest = {
1453
+ /**
1454
+ * Zone to target. If none is passed will use default zone from the config.
1455
+ */
1456
+ zone?: ScwZone;
1457
+ /**
1458
+ * ID of the failover IP to delete.
1459
+ */
1460
+ ipId: number;
1461
+ };
1462
+ export type DeleteServerRequest = {
1463
+ /**
1464
+ * Zone to target. If none is passed will use default zone from the config.
1465
+ */
1466
+ zone?: ScwZone;
1467
+ /**
1468
+ * Server ID to delete.
1469
+ */
1470
+ serverId: number;
1471
+ };
1472
+ export type DeleteServiceRequest = {
1473
+ /**
1474
+ * Zone to target. If none is passed will use default zone from the config.
1475
+ */
1476
+ zone?: ScwZone;
1477
+ /**
1478
+ * ID of the service.
1479
+ */
1480
+ serviceId: number;
1481
+ };
1482
+ export type DetachFailoverIPFromMacAddressRequest = {
1483
+ /**
1484
+ * Zone to target. If none is passed will use default zone from the config.
1485
+ */
1486
+ zone?: ScwZone;
1487
+ /**
1488
+ * ID of the failover IP.
1489
+ */
1490
+ ipId: number;
1491
+ };
1492
+ export type DetachFailoverIPsRequest = {
1493
+ /**
1494
+ * Zone to target. If none is passed will use default zone from the config.
1495
+ */
1496
+ zone?: ScwZone;
1497
+ /**
1498
+ * List of IDs of failovers IP to detach.
1499
+ */
1500
+ fipsIds: number[];
1501
+ };
1502
+ export type GetBMCAccessRequest = {
1503
+ /**
1504
+ * Zone to target. If none is passed will use default zone from the config.
1505
+ */
1506
+ zone?: ScwZone;
1507
+ /**
1508
+ * ID of the server to get BMC access.
1509
+ */
1510
+ serverId: number;
1511
+ };
1512
+ export type GetFailoverIPRequest = {
1513
+ /**
1514
+ * Zone to target. If none is passed will use default zone from the config.
1515
+ */
1516
+ zone?: ScwZone;
1517
+ /**
1518
+ * ID of the failover IP.
1519
+ */
1520
+ ipId: number;
1521
+ };
1522
+ export interface GetIPv6BlockQuotasResponse {
1523
+ /**
1524
+ * Quota for each CIDR of IPv6 block.
1525
+ */
1526
+ quotas: GetIPv6BlockQuotasResponseQuota[];
1527
+ /**
1528
+ * Total count of quotas.
1529
+ */
1530
+ totalCount: number;
1531
+ }
1532
+ export type GetOSRequest = {
1533
+ /**
1534
+ * Zone to target. If none is passed will use default zone from the config.
1535
+ */
1536
+ zone?: ScwZone;
1537
+ /**
1538
+ * ID of the OS.
1539
+ */
1540
+ osId: number;
1541
+ /**
1542
+ * ID of the server.
1543
+ */
1544
+ serverId: number;
1545
+ /**
1546
+ * Project ID.
1547
+ */
1548
+ projectId?: string;
1549
+ };
1550
+ export type GetOfferRequest = {
1551
+ /**
1552
+ * Zone to target. If none is passed will use default zone from the config.
1553
+ */
1554
+ zone?: ScwZone;
1555
+ /**
1556
+ * ID of offer.
1557
+ */
1558
+ offerId: number;
1559
+ /**
1560
+ * Project ID.
1561
+ */
1562
+ projectId?: string;
1563
+ };
1564
+ export type GetOrderedServiceRequest = {
1565
+ /**
1566
+ * Zone to target. If none is passed will use default zone from the config.
1567
+ */
1568
+ zone?: ScwZone;
1569
+ orderedServiceId: number;
1570
+ };
1571
+ export type GetRaidRequest = {
1572
+ /**
1573
+ * Zone to target. If none is passed will use default zone from the config.
1574
+ */
1575
+ zone?: ScwZone;
1576
+ /**
1577
+ * ID of the server.
1578
+ */
1579
+ serverId: number;
1580
+ };
1581
+ export type GetRemainingQuotaRequest = {
1582
+ /**
1583
+ * Zone to target. If none is passed will use default zone from the config.
1584
+ */
1585
+ zone?: ScwZone;
1586
+ /**
1587
+ * Project ID.
1588
+ */
1589
+ projectId?: string;
1590
+ };
1591
+ export interface GetRemainingQuotaResponse {
1592
+ /**
1593
+ * Current failover IP quota.
1594
+ */
1595
+ failoverIpQuota: number;
1596
+ /**
1597
+ * Remaining failover IP quota.
1598
+ */
1599
+ failoverIpRemainingQuota: number;
1600
+ /**
1601
+ * Current failover block quota.
1602
+ */
1603
+ failoverBlockQuota: number;
1604
+ /**
1605
+ * Remaining failover block quota.
1606
+ */
1607
+ failoverBlockRemainingQuota: number;
1608
+ }
1609
+ export type GetRescueRequest = {
1610
+ /**
1611
+ * Zone to target. If none is passed will use default zone from the config.
1612
+ */
1613
+ zone?: ScwZone;
1614
+ /**
1615
+ * ID of the server to get rescue.
1616
+ */
1617
+ serverId: number;
1618
+ };
1619
+ export interface GetRpnStatusResponse {
1620
+ /**
1621
+ * If status = 'operational', you can perform rpn actions in write.
1622
+ */
1623
+ status: GetRpnStatusResponseStatus;
1624
+ /**
1625
+ * Number of operations left to perform before being operational.
1626
+ */
1627
+ operationsLeft?: number;
1628
+ }
1629
+ export type GetServerBackupRequest = {
1630
+ /**
1631
+ * Zone to target. If none is passed will use default zone from the config.
1632
+ */
1633
+ zone?: ScwZone;
1634
+ /**
1635
+ * Server ID of the backup.
1636
+ */
1637
+ serverId: number;
1638
+ };
1639
+ export type GetServerDefaultPartitioningRequest = {
1640
+ /**
1641
+ * Zone to target. If none is passed will use default zone from the config.
1642
+ */
1643
+ zone?: ScwZone;
1644
+ /**
1645
+ * ID of the server.
1646
+ */
1647
+ serverId: number;
1648
+ /**
1649
+ * OS ID of the default partitioning.
1650
+ */
1651
+ osId: number;
1652
+ };
1653
+ export type GetServerInstallRequest = {
1654
+ /**
1655
+ * Zone to target. If none is passed will use default zone from the config.
1656
+ */
1657
+ zone?: ScwZone;
1658
+ /**
1659
+ * Server ID of the server to install.
1660
+ */
1661
+ serverId: number;
1662
+ };
1663
+ export type GetServerRequest = {
1664
+ /**
1665
+ * Zone to target. If none is passed will use default zone from the config.
1666
+ */
1667
+ zone?: ScwZone;
1668
+ /**
1669
+ * ID of the server.
1670
+ */
1671
+ serverId: number;
1672
+ };
1673
+ export type GetServiceRequest = {
1674
+ /**
1675
+ * Zone to target. If none is passed will use default zone from the config.
1676
+ */
1677
+ zone?: ScwZone;
1678
+ /**
1679
+ * ID of the service.
1680
+ */
1681
+ serviceId: number;
1682
+ };
1683
+ export interface IPv6Block {
1684
+ /**
1685
+ * ID of the IPv6.
1686
+ */
1687
+ id: number;
1688
+ /**
1689
+ * Address of the IPv6.
1690
+ */
1691
+ address: string;
1692
+ /**
1693
+ * DUID of the IPv6.
1694
+ */
1695
+ duid: string;
1696
+ /**
1697
+ * DNS linked to the IPv6.
1698
+ */
1699
+ nameservers: string[];
1700
+ /**
1701
+ * Classless InterDomain Routing notation of the IPv6.
1702
+ */
1703
+ cidr: number;
1704
+ /**
1705
+ * All IPv6 subnets.
1706
+ */
1707
+ subnets: IPv6Block[];
1708
+ /**
1709
+ * The nameservers delegation status.
1710
+ */
1711
+ delegationStatus: IPv6BlockDelegationStatus;
1712
+ }
1713
+ export type IPv6BlockApiCreateIPv6BlockRequest = {
1714
+ /**
1715
+ * ID of the project.
1716
+ */
1717
+ projectId?: string;
1718
+ };
1719
+ export type IPv6BlockApiCreateIPv6BlockSubnetRequest = {
1720
+ /**
1721
+ * ID of the IPv6 block.
1722
+ */
1723
+ blockId: number;
1724
+ /**
1725
+ * Address of the IPv6.
1726
+ */
1727
+ address: string;
1728
+ /**
1729
+ * Classless InterDomain Routing notation of the IPv6.
1730
+ */
1731
+ cidr: number;
1732
+ };
1733
+ export type IPv6BlockApiDeleteIPv6BlockRequest = {
1734
+ /**
1735
+ * ID of the IPv6 block to delete.
1736
+ */
1737
+ blockId: number;
1738
+ };
1739
+ export type IPv6BlockApiGetIPv6BlockQuotasRequest = {
1740
+ /**
1741
+ * ID of the project.
1742
+ */
1743
+ projectId?: string;
1744
+ };
1745
+ export type IPv6BlockApiGetIPv6BlockRequest = {
1746
+ /**
1747
+ * ID of the project.
1748
+ */
1749
+ projectId?: string;
1750
+ };
1751
+ export type IPv6BlockApiListIPv6BlockSubnetsAvailableRequest = {
1752
+ /**
1753
+ * ID of the IPv6 block.
1754
+ */
1755
+ blockId: number;
1756
+ };
1757
+ export type IPv6BlockApiUpdateIPv6BlockRequest = {
1758
+ /**
1759
+ * ID of the IPv6 block.
1760
+ */
1761
+ blockId: number;
1762
+ /**
1763
+ * DNS to link to the IPv6.
1764
+ */
1765
+ nameservers?: string[];
1766
+ };
1767
+ export type InstallServerRequest = {
1768
+ /**
1769
+ * Zone to target. If none is passed will use default zone from the config.
1770
+ */
1771
+ zone?: ScwZone;
1772
+ /**
1773
+ * Server ID to install.
1774
+ */
1775
+ serverId: number;
1776
+ /**
1777
+ * OS ID to install on the server.
1778
+ */
1779
+ osId: number;
1780
+ /**
1781
+ * Hostname of the server.
1782
+ */
1783
+ hostname: string;
1784
+ /**
1785
+ * User to install on the server.
1786
+ */
1787
+ userLogin?: string;
1788
+ /**
1789
+ * User password to install on the server.
1790
+ */
1791
+ userPassword?: string;
1792
+ /**
1793
+ * Panel password to install on the server.
1794
+ */
1795
+ panelPassword?: string;
1796
+ /**
1797
+ * Root password to install on the server.
1798
+ */
1799
+ rootPassword?: string;
1800
+ /**
1801
+ * Partitions to install on the server.
1802
+ */
1803
+ partitions?: InstallPartition[];
1804
+ /**
1805
+ * SSH key IDs authorized on the server.
1806
+ */
1807
+ sshKeyIds?: string[];
1808
+ /**
1809
+ * Offer ID of license to install on server.
1810
+ */
1811
+ licenseOfferId?: number;
1812
+ /**
1813
+ * IP to link at the license to install on server.
1814
+ */
1815
+ ipId?: number;
1816
+ };
1817
+ export interface Invoice {
1818
+ id: number;
1819
+ totalWithTaxes?: Money;
1820
+ totalWithoutTaxes?: Money;
1821
+ createdAt?: Date;
1822
+ paidAt?: Date;
1823
+ status: InvoiceStatus;
1824
+ paymentMethod: InvoicePaymentMethod;
1825
+ content: string;
1826
+ transactionId: number;
1827
+ }
1828
+ export type ListFailoverIPsRequest = {
1829
+ /**
1830
+ * Zone to target. If none is passed will use default zone from the config.
1831
+ */
1832
+ zone?: ScwZone;
1833
+ /**
1834
+ * Page number.
1835
+ */
1836
+ page?: number;
1837
+ /**
1838
+ * Number of failovers IP per page.
1839
+ */
1840
+ pageSize?: number;
1841
+ /**
1842
+ * Order of the failovers IP.
1843
+ */
1844
+ orderBy?: ListFailoverIPsRequestOrderBy;
1845
+ /**
1846
+ * Filter failovers IP by project ID.
1847
+ */
1848
+ projectId?: string;
1849
+ /**
1850
+ * Filter failovers IP which matching with this field.
1851
+ */
1852
+ search?: string;
1853
+ /**
1854
+ * True: return all failovers IP not attached on server
1855
+ false: return all failovers IP attached on server.
1856
+ */
1857
+ onlyAvailable?: boolean;
1858
+ };
1859
+ export interface ListFailoverIPsResponse {
1860
+ /**
1861
+ * Total count of matching failovers IP.
1862
+ */
1863
+ totalCount: number;
1864
+ /**
1865
+ * List of failover IPs that match filters.
1866
+ */
1867
+ failoverIps: FailoverIP[];
1868
+ }
1869
+ export interface ListIPv6BlockSubnetsAvailableResponse {
1870
+ /**
1871
+ * All available address and CIDR available in subnet.
1872
+ */
1873
+ subnetAvailables: ListIPv6BlockSubnetsAvailableResponseSubnet[];
1874
+ /**
1875
+ * Total count of available subnets.
1876
+ */
1877
+ totalCount: number;
1878
+ }
1879
+ export interface ListInvoicesResponse {
1880
+ totalCount: number;
1881
+ invoices: InvoiceSummary[];
1882
+ }
1883
+ export interface ListIpsResponse {
1884
+ /**
1885
+ * Total count of authorized IPs.
1886
+ */
1887
+ totalCount: number;
1888
+ /**
1889
+ * List of authorized IPs.
1890
+ */
1891
+ ips: RpnSanIp[];
1892
+ }
1893
+ export type ListOSRequest = {
1894
+ /**
1895
+ * Zone to target. If none is passed will use default zone from the config.
1896
+ */
1897
+ zone?: ScwZone;
1898
+ /**
1899
+ * Page number.
1900
+ */
1901
+ page?: number;
1902
+ /**
1903
+ * Number of OS per page.
1904
+ */
1905
+ pageSize?: number;
1906
+ /**
1907
+ * Order of the OS.
1908
+ */
1909
+ orderBy?: ListOSRequestOrderBy;
1910
+ /**
1911
+ * Type of the OS.
1912
+ */
1913
+ type?: OSType;
1914
+ /**
1915
+ * Filter OS by compatible server ID.
1916
+ */
1917
+ serverId: number;
1918
+ /**
1919
+ * Project ID.
1920
+ */
1921
+ projectId?: string;
1922
+ };
1923
+ export interface ListOSResponse {
1924
+ /**
1925
+ * Total count of matching OS.
1926
+ */
1927
+ totalCount: number;
1928
+ /**
1929
+ * OS that match filters.
1930
+ */
1931
+ os: OS[];
1932
+ }
1933
+ export type ListOffersRequest = {
1934
+ /**
1935
+ * Zone to target. If none is passed will use default zone from the config.
1936
+ */
1937
+ zone?: ScwZone;
1938
+ /**
1939
+ * Page number.
1940
+ */
1941
+ page?: number;
1942
+ /**
1943
+ * Number of offer per page.
1944
+ */
1945
+ pageSize?: number;
1946
+ /**
1947
+ * Order of the offers.
1948
+ */
1949
+ orderBy?: ListOffersRequestOrderBy;
1950
+ /**
1951
+ * Filter on commercial range.
1952
+ */
1953
+ commercialRange?: string;
1954
+ /**
1955
+ * Filter on catalog.
1956
+ */
1957
+ catalog?: OfferCatalog;
1958
+ /**
1959
+ * Project ID.
1960
+ */
1961
+ projectId?: string;
1962
+ /**
1963
+ * Get the current failover IP offer.
1964
+ */
1965
+ isFailoverIp?: boolean;
1966
+ /**
1967
+ * Get the current failover IP block offer.
1968
+ */
1969
+ isFailoverBlock?: boolean;
1970
+ /**
1971
+ * Filter offers depending on their datacenter.
1972
+ */
1973
+ soldIn?: string[];
1974
+ /**
1975
+ * Set this filter to true to only return available offers.
1976
+ */
1977
+ availableOnly?: boolean;
1978
+ /**
1979
+ * Get the RPN SAN offers.
1980
+ */
1981
+ isRpnSan?: boolean;
1982
+ };
1983
+ export interface ListOffersResponse {
1984
+ /**
1985
+ * Total count of matching offers.
1986
+ */
1987
+ totalCount: number;
1988
+ /**
1989
+ * Offers that match filters.
1990
+ */
1991
+ offers: Offer[];
1992
+ }
1993
+ export interface ListRefundsResponse {
1994
+ totalCount: number;
1995
+ refunds: RefundSummary[];
1996
+ }
1997
+ export interface ListRpnCapableSanServersResponse {
1998
+ /**
1999
+ * Total count of rpn capable san servers.
2000
+ */
2001
+ totalCount: number;
2002
+ /**
2003
+ * List of san servers.
2004
+ */
2005
+ sanServers: RpnSanServer[];
2006
+ }
2007
+ export interface ListRpnCapableServersResponse {
2008
+ /**
2009
+ * Total count of rpn capable servers.
2010
+ */
2011
+ totalCount: number;
2012
+ /**
2013
+ * List of servers.
2014
+ */
2015
+ servers: Server[];
2016
+ }
2017
+ export interface ListRpnGroupMembersResponse {
2018
+ /**
2019
+ * Total count of rpn v1 group members.
2020
+ */
2021
+ totalCount: number;
2022
+ /**
2023
+ * List of rpn v1 group members.
2024
+ */
2025
+ members: RpnGroupMember[];
2026
+ }
2027
+ export interface ListRpnGroupsResponse {
2028
+ /**
2029
+ * Total count of rpn groups.
2030
+ */
2031
+ totalCount: number;
2032
+ /**
2033
+ * List of rpn v1 groups.
2034
+ */
2035
+ rpnGroups: RpnGroup[];
2036
+ }
2037
+ export interface ListRpnInvitesResponse {
2038
+ /**
2039
+ * Total count of invites.
2040
+ */
2041
+ totalCount: number;
2042
+ /**
2043
+ * List of invites.
2044
+ */
2045
+ members: RpnGroupMember[];
2046
+ }
2047
+ export interface ListRpnSansResponse {
2048
+ /**
2049
+ * Total count of matching RPN SANs.
2050
+ */
2051
+ totalCount: number;
2052
+ /**
2053
+ * List of RPN SANs that match filters.
2054
+ */
2055
+ rpnSans: RpnSanSummary[];
2056
+ }
2057
+ export interface ListRpnServerCapabilitiesResponse {
2058
+ /**
2059
+ * Total count of servers.
2060
+ */
2061
+ totalCount: number;
2062
+ /**
2063
+ * List of servers and their RPN capabilities.
2064
+ */
2065
+ servers: RpnServerCapability[];
2066
+ }
2067
+ export interface ListRpnV2CapableResourcesResponse {
2068
+ /**
2069
+ * Total count of matching rpn v2 capable resources.
2070
+ */
2071
+ totalCount: number;
2072
+ /**
2073
+ * List of rpn v2 capable resources that match filters.
2074
+ */
2075
+ servers: Server[];
2076
+ }
2077
+ export interface ListRpnV2GroupLogsResponse {
2078
+ /**
2079
+ * Total count of matching rpn v2 logs.
2080
+ */
2081
+ totalCount: number;
2082
+ /**
2083
+ * List of rpn v2 logs that match filters.
2084
+ */
2085
+ logs: Log[];
2086
+ }
2087
+ export interface ListRpnV2GroupsResponse {
2088
+ /**
2089
+ * Total count of matching rpn v2 groups.
2090
+ */
2091
+ totalCount: number;
2092
+ /**
2093
+ * List of rpn v2 groups that match filters.
2094
+ */
2095
+ rpnGroups: RpnV2Group[];
2096
+ }
2097
+ export interface ListRpnV2MembersResponse {
2098
+ /**
2099
+ * Total count of matching rpn v2 group members.
2100
+ */
2101
+ totalCount: number;
2102
+ /**
2103
+ * List of rpn v2 group members that match filters.
2104
+ */
2105
+ members: RpnV2Member[];
2106
+ }
2107
+ export type ListServerDisksRequest = {
2108
+ /**
2109
+ * Zone to target. If none is passed will use default zone from the config.
2110
+ */
2111
+ zone?: ScwZone;
2112
+ /**
2113
+ * Server ID of the server disks.
2114
+ */
2115
+ serverId: number;
2116
+ /**
2117
+ * Page number.
2118
+ */
2119
+ page?: number;
2120
+ /**
2121
+ * Number of server disk per page.
2122
+ */
2123
+ pageSize?: number;
2124
+ /**
2125
+ * Order of the server disks.
2126
+ */
2127
+ orderBy?: ListServerDisksRequestOrderBy;
2128
+ };
2129
+ export interface ListServerDisksResponse {
2130
+ /**
2131
+ * Total count of matching server disks.
2132
+ */
2133
+ totalCount: number;
2134
+ /**
2135
+ * Server disks that match filters.
2136
+ */
2137
+ disks: ServerDisk[];
2138
+ }
2139
+ export type ListServerEventsRequest = {
2140
+ /**
2141
+ * Zone to target. If none is passed will use default zone from the config.
2142
+ */
2143
+ zone?: ScwZone;
2144
+ /**
2145
+ * Server ID of the server events.
2146
+ */
2147
+ serverId: number;
2148
+ /**
2149
+ * Page number.
2150
+ */
2151
+ page?: number;
2152
+ /**
2153
+ * Number of server event per page.
2154
+ */
2155
+ pageSize?: number;
2156
+ /**
2157
+ * Order of the server events.
2158
+ */
2159
+ orderBy?: ListServerEventsRequestOrderBy;
2160
+ };
2161
+ export interface ListServerEventsResponse {
2162
+ /**
2163
+ * Total count of matching server events.
2164
+ */
2165
+ totalCount: number;
2166
+ /**
2167
+ * Server events that match filters.
2168
+ */
2169
+ events: ServerEvent[];
2170
+ }
2171
+ export type ListServersRequest = {
2172
+ /**
2173
+ * Zone to target. If none is passed will use default zone from the config.
2174
+ */
2175
+ zone?: ScwZone;
2176
+ /**
2177
+ * Page number.
2178
+ */
2179
+ page?: number;
2180
+ /**
2181
+ * Number of server per page.
2182
+ */
2183
+ pageSize?: number;
2184
+ /**
2185
+ * Order of the servers.
2186
+ */
2187
+ orderBy?: ListServersRequestOrderBy;
2188
+ /**
2189
+ * Filter servers by project ID.
2190
+ */
2191
+ projectId?: string;
2192
+ /**
2193
+ * Filter servers by hostname.
2194
+ */
2195
+ search?: string;
2196
+ };
2197
+ export interface ListServersResponse {
2198
+ /**
2199
+ * Total count of matching servers.
2200
+ */
2201
+ totalCount: number;
2202
+ /**
2203
+ * Servers that match filters.
2204
+ */
2205
+ servers: ServerSummary[];
2206
+ }
2207
+ export type ListServicesRequest = {
2208
+ /**
2209
+ * Zone to target. If none is passed will use default zone from the config.
2210
+ */
2211
+ zone?: ScwZone;
2212
+ /**
2213
+ * Page number.
2214
+ */
2215
+ page?: number;
2216
+ /**
2217
+ * Number of service per page.
2218
+ */
2219
+ pageSize?: number;
2220
+ /**
2221
+ * Order of the services.
2222
+ */
2223
+ orderBy?: ListServicesRequestOrderBy;
2224
+ /**
2225
+ * Project ID.
2226
+ */
2227
+ projectId?: string;
2228
+ };
2229
+ export interface ListServicesResponse {
2230
+ /**
2231
+ * Total count of matching services.
2232
+ */
2233
+ totalCount: number;
2234
+ /**
2235
+ * Services that match filters.
2236
+ */
2237
+ services: Service[];
2238
+ }
2239
+ export type ListSubscribableServerOptionsRequest = {
2240
+ /**
2241
+ * Zone to target. If none is passed will use default zone from the config.
2242
+ */
2243
+ zone?: ScwZone;
2244
+ /**
2245
+ * Server ID of the subscribable server options.
2246
+ */
2247
+ serverId: number;
2248
+ /**
2249
+ * Page number.
2250
+ */
2251
+ page?: number;
2252
+ /**
2253
+ * Number of subscribable server option per page.
2254
+ */
2255
+ pageSize?: number;
2256
+ };
2257
+ export interface ListSubscribableServerOptionsResponse {
2258
+ /**
2259
+ * Total count of matching subscribable server options.
2260
+ */
2261
+ totalCount: number;
2262
+ /**
2263
+ * Server options that match filters.
2264
+ */
2265
+ serverOptions: Offer[];
2266
+ }
2267
+ export interface OfferFailoverBlockInfo {
2268
+ onetimeFees?: Offer;
2269
+ }
2270
+ export interface OfferFailoverIpInfo {
2271
+ onetimeFees?: Offer;
2272
+ }
2273
+ export interface OfferServerInfo {
2274
+ bandwidth: number;
2275
+ stock: OfferServerInfoStock;
2276
+ commercialRange: string;
2277
+ disks: Disk[];
2278
+ cpus: CPU[];
2279
+ memories: Memory[];
2280
+ persistentMemories: PersistentMemory[];
2281
+ raidControllers: RaidController[];
2282
+ availableOptions: Offer[];
2283
+ rpnVersion?: number;
2284
+ connectivity: number;
2285
+ onetimeFees?: Offer;
2286
+ stockByDatacenter: Record<string, OfferServerInfoStock>;
2287
+ }
2288
+ export interface OfferServiceLevelInfo {
2289
+ supportTicket: boolean;
2290
+ supportPhone: boolean;
2291
+ salesSupport: boolean;
2292
+ git: string;
2293
+ sla: number;
2294
+ prioritySupport: boolean;
2295
+ highRpnBandwidth: boolean;
2296
+ customization: boolean;
2297
+ antidos: boolean;
2298
+ extraFailoverQuota: number;
2299
+ availableOptions: Offer[];
2300
+ }
2301
+ export interface Raid {
2302
+ /**
2303
+ * Details about the RAID controller.
2304
+ */
2305
+ raidArrays: RaidArray[];
2306
+ }
2307
+ export type RebootServerRequest = {
2308
+ /**
2309
+ * Zone to target. If none is passed will use default zone from the config.
2310
+ */
2311
+ zone?: ScwZone;
2312
+ /**
2313
+ * Server ID to reboot.
2314
+ */
2315
+ serverId: number;
2316
+ };
2317
+ export interface Refund {
2318
+ id: number;
2319
+ totalWithTaxes?: Money;
2320
+ totalWithoutTaxes?: Money;
2321
+ createdAt?: Date;
2322
+ refundedAt?: Date;
2323
+ status: RefundStatus;
2324
+ method: RefundMethod;
2325
+ content: string;
2326
+ }
2327
+ export interface Rescue {
2328
+ /**
2329
+ * OS ID of the rescue.
2330
+ */
2331
+ osId: number;
2332
+ /**
2333
+ * Login of the rescue.
2334
+ */
2335
+ login: string;
2336
+ /**
2337
+ * Password of the rescue.
2338
+ */
2339
+ password: string;
2340
+ /**
2341
+ * Protocol of the resuce.
2342
+ */
2343
+ protocol: RescueProtocol;
2344
+ }
2345
+ export type RpnApiGetRpnStatusRequest = {
2346
+ /**
2347
+ * A project ID.
2348
+ */
2349
+ projectId?: string;
2350
+ /**
2351
+ * An RPN v1 group ID.
2352
+ */
2353
+ rpnv1GroupId?: number;
2354
+ /**
2355
+ * An RPN v2 group ID.
2356
+ */
2357
+ rpnv2GroupId?: number;
2358
+ };
2359
+ export type RpnApiListRpnServerCapabilitiesRequest = {
2360
+ /**
2361
+ * Page number.
2362
+ */
2363
+ page?: number;
2364
+ /**
2365
+ * Number of servers per page.
2366
+ */
2367
+ pageSize?: number;
2368
+ /**
2369
+ * Order of the servers.
2370
+ */
2371
+ orderBy?: ListRpnServerCapabilitiesRequestOrderBy;
2372
+ /**
2373
+ * Filter servers by project ID.
2374
+ */
2375
+ projectId?: string;
2376
+ };
2377
+ export type RpnSanApiAddIpRequest = {
2378
+ /**
2379
+ * RPN SAN ID.
2380
+ */
2381
+ rpnSanId: number;
2382
+ /**
2383
+ * An array of IP ID.
2384
+ */
2385
+ ipIds: number[];
2386
+ };
2387
+ export type RpnSanApiCreateRpnSanRequest = {
2388
+ /**
2389
+ * Offer ID.
2390
+ */
2391
+ offerId: number;
2392
+ /**
2393
+ * Your project ID.
2394
+ */
2395
+ projectId?: string;
2396
+ };
2397
+ export type RpnSanApiDeleteRpnSanRequest = {
2398
+ /**
2399
+ * RPN SAN ID.
2400
+ */
2401
+ rpnSanId: number;
2402
+ };
2403
+ export type RpnSanApiGetRpnSanRequest = {
2404
+ /**
2405
+ * RPN SAN ID.
2406
+ */
2407
+ rpnSanId: number;
2408
+ };
2409
+ export type RpnSanApiListAvailableIpsRequest = {
2410
+ /**
2411
+ * RPN SAN ID.
2412
+ */
2413
+ rpnSanId: number;
2414
+ /**
2415
+ * Filter by IP type (server | rpnv2_subnet).
2416
+ */
2417
+ type?: RpnSanIpType;
2418
+ };
2419
+ export type RpnSanApiListIpsRequest = {
2420
+ /**
2421
+ * RPN SAN ID.
2422
+ */
2423
+ rpnSanId: number;
2424
+ /**
2425
+ * Filter by IP type (server | rpnv2_subnet).
2426
+ */
2427
+ type?: RpnSanIpType;
2428
+ };
2429
+ export type RpnSanApiListRpnSansRequest = {
2430
+ /**
2431
+ * Page number.
2432
+ */
2433
+ page?: number;
2434
+ /**
2435
+ * Number of RPN SANs per page.
2436
+ */
2437
+ pageSize?: number;
2438
+ /**
2439
+ * Order of the RPN SANs.
2440
+ */
2441
+ orderBy?: ListRpnSansRequestOrderBy;
2442
+ /**
2443
+ * Filter RPN SANs by project ID.
2444
+ */
2445
+ projectId?: string;
2446
+ };
2447
+ export type RpnSanApiRemoveIpRequest = {
2448
+ /**
2449
+ * RPN SAN ID.
2450
+ */
2451
+ rpnSanId: number;
2452
+ /**
2453
+ * An array of IP ID.
2454
+ */
2455
+ ipIds: number[];
2456
+ };
2457
+ export type RpnV1ApiAcceptRpnInviteRequest = {
2458
+ /**
2459
+ * The member ID.
2460
+ */
2461
+ memberId: number;
2462
+ };
2463
+ export type RpnV1ApiAddRpnGroupMembersRequest = {
2464
+ /**
2465
+ * The rpn v1 group ID.
2466
+ */
2467
+ groupId: number;
2468
+ /**
2469
+ * A collection of rpn v1 capable server IDs.
2470
+ */
2471
+ serverIds?: number[];
2472
+ /**
2473
+ * A collection of rpn v1 capable RPN SAN server IDs.
2474
+ */
2475
+ sanServerIds?: number[];
2476
+ };
2477
+ export type RpnV1ApiCreateRpnGroupRequest = {
2478
+ /**
2479
+ * Rpn v1 group name.
2480
+ */
2481
+ name: string;
2482
+ /**
2483
+ * A collection of rpn v1 capable servers.
2484
+ */
2485
+ serverIds?: number[];
2486
+ /**
2487
+ * A collection of rpn v1 capable rpn sans servers.
2488
+ */
2489
+ sanServerIds?: number[];
2490
+ /**
2491
+ * A project ID.
2492
+ */
2493
+ projectId?: string;
2494
+ };
2495
+ export type RpnV1ApiDeleteRpnGroupMembersRequest = {
2496
+ /**
2497
+ * The rpn v1 group ID.
2498
+ */
2499
+ groupId: number;
2500
+ /**
2501
+ * A collection of rpn v1 group members IDs.
2502
+ */
2503
+ memberIds: number[];
2504
+ };
2505
+ export type RpnV1ApiDeleteRpnGroupRequest = {
2506
+ /**
2507
+ * Rpn v1 group ID.
2508
+ */
2509
+ groupId: number;
2510
+ };
2511
+ export type RpnV1ApiGetRpnGroupRequest = {
2512
+ /**
2513
+ * Rpn v1 group ID.
2514
+ */
2515
+ groupId: number;
2516
+ };
2517
+ export type RpnV1ApiLeaveRpnGroupRequest = {
2518
+ /**
2519
+ * The RPN V1 group ID.
2520
+ */
2521
+ groupId: number;
2522
+ /**
2523
+ * A project ID.
2524
+ */
2525
+ projectId?: string;
2526
+ /**
2527
+ * A collection of rpn v1 group members IDs.
2528
+ */
2529
+ memberIds: number[];
2530
+ };
2531
+ export type RpnV1ApiListRpnCapableSanServersRequest = {
2532
+ /**
2533
+ * Page number.
2534
+ */
2535
+ page?: number;
2536
+ /**
2537
+ * Number of rpn capable resources per page.
2538
+ */
2539
+ pageSize?: number;
2540
+ /**
2541
+ * Order of the rpn capable resources.
2542
+ */
2543
+ orderBy?: ListRpnCapableSanServersRequestOrderBy;
2544
+ /**
2545
+ * Filter rpn capable resources by project ID.
2546
+ */
2547
+ projectId?: string;
2548
+ };
2549
+ export type RpnV1ApiListRpnCapableServersRequest = {
2550
+ /**
2551
+ * Page number.
2552
+ */
2553
+ page?: number;
2554
+ /**
2555
+ * Number of rpn capable resources per page.
2556
+ */
2557
+ pageSize?: number;
2558
+ /**
2559
+ * Order of the rpn capable resources.
2560
+ */
2561
+ orderBy?: ListRpnCapableServersRequestOrderBy;
2562
+ /**
2563
+ * Filter rpn capable resources by project ID.
2564
+ */
2565
+ projectId?: string;
2566
+ };
2567
+ export type RpnV1ApiListRpnGroupMembersRequest = {
2568
+ /**
2569
+ * Filter rpn v1 group members by group ID.
2570
+ */
2571
+ groupId: number;
2572
+ /**
2573
+ * Page number.
2574
+ */
2575
+ page?: number;
2576
+ /**
2577
+ * Number of rpn v1 group members per page.
2578
+ */
2579
+ pageSize?: number;
2580
+ /**
2581
+ * Order of the rpn v1 group members.
2582
+ */
2583
+ orderBy?: ListRpnGroupMembersRequestOrderBy;
2584
+ /**
2585
+ * A project ID.
2586
+ */
2587
+ projectId?: string;
2588
+ };
2589
+ export type RpnV1ApiListRpnGroupsRequest = {
2590
+ /**
2591
+ * Page number.
2592
+ */
2593
+ page?: number;
2594
+ /**
2595
+ * Number of rpn v1 groups per page.
2596
+ */
2597
+ pageSize?: number;
2598
+ /**
2599
+ * Order of the rpn v1 groups.
2600
+ */
2601
+ orderBy?: ListRpnGroupsRequestOrderBy;
2602
+ /**
2603
+ * Filter rpn v1 groups by project ID.
2604
+ */
2605
+ projectId?: string;
2606
+ };
2607
+ export type RpnV1ApiListRpnInvitesRequest = {
2608
+ /**
2609
+ * Page number.
2610
+ */
2611
+ page?: number;
2612
+ /**
2613
+ * Number of rpn capable resources per page.
2614
+ */
2615
+ pageSize?: number;
2616
+ /**
2617
+ * Order of the rpn capable resources.
2618
+ */
2619
+ orderBy?: ListRpnInvitesRequestOrderBy;
2620
+ /**
2621
+ * Filter rpn capable resources by project ID.
2622
+ */
2623
+ projectId?: string;
2624
+ };
2625
+ export type RpnV1ApiRefuseRpnInviteRequest = {
2626
+ /**
2627
+ * The member ID.
2628
+ */
2629
+ memberId: number;
2630
+ };
2631
+ export type RpnV1ApiRpnGroupInviteRequest = {
2632
+ /**
2633
+ * The RPN V1 group ID.
2634
+ */
2635
+ groupId: number;
2636
+ /**
2637
+ * A collection of external server IDs.
2638
+ */
2639
+ serverIds: number[];
2640
+ /**
2641
+ * A project ID.
2642
+ */
2643
+ projectId?: string;
2644
+ };
2645
+ export type RpnV1ApiUpdateRpnGroupNameRequest = {
2646
+ /**
2647
+ * Rpn v1 group ID.
2648
+ */
2649
+ groupId: number;
2650
+ /**
2651
+ * New rpn v1 group name.
2652
+ */
2653
+ name?: string;
2654
+ };
2655
+ export type RpnV2ApiAddRpnV2MembersRequest = {
2656
+ /**
2657
+ * RPN V2 group ID.
2658
+ */
2659
+ groupId: number;
2660
+ /**
2661
+ * A collection of server IDs.
2662
+ */
2663
+ servers: number[];
2664
+ };
2665
+ export type RpnV2ApiCreateRpnV2GroupRequest = {
2666
+ /**
2667
+ * Project ID of the RPN V2 group.
2668
+ */
2669
+ projectId?: string;
2670
+ /**
2671
+ * RPN V2 group type (qing / standard).
2672
+ */
2673
+ type?: RpnV2GroupType;
2674
+ /**
2675
+ * RPN V2 group name.
2676
+ */
2677
+ name: string;
2678
+ /**
2679
+ * A collection of server IDs.
2680
+ */
2681
+ servers: number[];
2682
+ };
2683
+ export type RpnV2ApiDeleteRpnV2GroupRequest = {
2684
+ /**
2685
+ * RPN V2 group ID.
2686
+ */
2687
+ groupId: number;
2688
+ };
2689
+ export type RpnV2ApiDeleteRpnV2MembersRequest = {
2690
+ /**
2691
+ * RPN V2 group ID.
2692
+ */
2693
+ groupId: number;
2694
+ /**
2695
+ * A collection of member IDs.
2696
+ */
2697
+ memberIds: number[];
2698
+ };
2699
+ export type RpnV2ApiDisableRpnV2GroupCompatibilityRequest = {
2700
+ /**
2701
+ * RPN V2 group ID.
2702
+ */
2703
+ groupId: number;
2704
+ };
2705
+ export type RpnV2ApiEnableRpnV2GroupCompatibilityRequest = {
2706
+ /**
2707
+ * RPN V2 group ID.
2708
+ */
2709
+ groupId: number;
2710
+ /**
2711
+ * RPN V1 group ID.
2712
+ */
2713
+ rpnv1GroupId: number;
2714
+ };
2715
+ export type RpnV2ApiGetRpnV2GroupRequest = {
2716
+ /**
2717
+ * RPN V2 group ID.
2718
+ */
2719
+ groupId: number;
2720
+ };
2721
+ export type RpnV2ApiListRpnV2CapableResourcesRequest = {
2722
+ /**
2723
+ * Page number.
2724
+ */
2725
+ page?: number;
2726
+ /**
2727
+ * Number of rpn v2 capable resources per page.
2728
+ */
2729
+ pageSize?: number;
2730
+ /**
2731
+ * Order of the rpn v2 capable resources.
2732
+ */
2733
+ orderBy?: ListRpnV2CapableResourcesRequestOrderBy;
2734
+ /**
2735
+ * Filter rpn v2 capable resources by project ID.
2736
+ */
2737
+ projectId?: string;
2738
+ };
2739
+ export type RpnV2ApiListRpnV2GroupLogsRequest = {
2740
+ /**
2741
+ * RPN V2 group ID.
2742
+ */
2743
+ groupId: number;
2744
+ /**
2745
+ * Page number.
2746
+ */
2747
+ page?: number;
2748
+ /**
2749
+ * Number of rpn v2 group logs per page.
2750
+ */
2751
+ pageSize?: number;
2752
+ /**
2753
+ * Order of the rpn v2 group logs.
2754
+ */
2755
+ orderBy?: ListRpnV2GroupLogsRequestOrderBy;
2756
+ };
2757
+ export type RpnV2ApiListRpnV2GroupsRequest = {
2758
+ /**
2759
+ * Page number.
2760
+ */
2761
+ page?: number;
2762
+ /**
2763
+ * Number of rpn v2 groups per page.
2764
+ */
2765
+ pageSize?: number;
2766
+ /**
2767
+ * Order of the rpn v2 groups.
2768
+ */
2769
+ orderBy?: ListRpnV2GroupsRequestOrderBy;
2770
+ /**
2771
+ * Filter rpn v2 groups by project ID.
2772
+ */
2773
+ projectId?: string;
2774
+ };
2775
+ export type RpnV2ApiListRpnV2MembersRequest = {
2776
+ /**
2777
+ * RPN V2 group ID.
2778
+ */
2779
+ groupId: number;
2780
+ /**
2781
+ * Page number.
2782
+ */
2783
+ page?: number;
2784
+ /**
2785
+ * Number of rpn v2 group members per page.
2786
+ */
2787
+ pageSize?: number;
2788
+ /**
2789
+ * Order of the rpn v2 group members.
2790
+ */
2791
+ orderBy?: ListRpnV2MembersRequestOrderBy;
2792
+ /**
2793
+ * Filter members by type.
2794
+ */
2795
+ type?: ListRpnV2MembersRequestType;
2796
+ };
2797
+ export type RpnV2ApiUpdateRpnV2GroupNameRequest = {
2798
+ /**
2799
+ * RPN V2 group ID.
2800
+ */
2801
+ groupId: number;
2802
+ /**
2803
+ * RPN V2 group name.
2804
+ */
2805
+ name?: string;
2806
+ };
2807
+ export type RpnV2ApiUpdateRpnV2VlanForMembersRequest = {
2808
+ /**
2809
+ * RPN V2 group ID.
2810
+ */
2811
+ groupId: number;
2812
+ /**
2813
+ * RPN V2 member IDs.
2814
+ */
2815
+ memberIds: number[];
2816
+ /**
2817
+ * Min: 0.
2818
+ Max: 3967.
2819
+ */
2820
+ vlan?: number;
2821
+ };
2822
+ export interface ServerDefaultPartitioning {
2823
+ /**
2824
+ * Default partitions.
2825
+ */
2826
+ partitions: Partition[];
2827
+ }
2828
+ export interface ServerInstall {
2829
+ osId: number;
2830
+ hostname: string;
2831
+ userLogin?: string;
2832
+ partitions: Partition[];
2833
+ sshKeyIds: string[];
2834
+ status: ServerInstallStatus;
2835
+ panelUrl?: string;
2836
+ }
2837
+ export type StartBMCAccessRequest = {
2838
+ /**
2839
+ * Zone to target. If none is passed will use default zone from the config.
2840
+ */
2841
+ zone?: ScwZone;
2842
+ /**
2843
+ * ID of the server to start the BMC access.
2844
+ */
2845
+ serverId: number;
2846
+ /**
2847
+ * The IP authorized to connect to the given server.
2848
+ */
2849
+ ip: string;
2850
+ };
2851
+ export type StartRescueRequest = {
2852
+ /**
2853
+ * Zone to target. If none is passed will use default zone from the config.
2854
+ */
2855
+ zone?: ScwZone;
2856
+ /**
2857
+ * ID of the server to start rescue.
2858
+ */
2859
+ serverId: number;
2860
+ /**
2861
+ * OS ID to use to start rescue.
2862
+ */
2863
+ osId: number;
2864
+ };
2865
+ export type StartServerRequest = {
2866
+ /**
2867
+ * Zone to target. If none is passed will use default zone from the config.
2868
+ */
2869
+ zone?: ScwZone;
2870
+ /**
2871
+ * Server ID to start.
2872
+ */
2873
+ serverId: number;
2874
+ };
2875
+ export type StopBMCAccessRequest = {
2876
+ /**
2877
+ * Zone to target. If none is passed will use default zone from the config.
2878
+ */
2879
+ zone?: ScwZone;
2880
+ /**
2881
+ * ID of the server to stop BMC access.
2882
+ */
2883
+ serverId: number;
2884
+ };
2885
+ export type StopRescueRequest = {
2886
+ /**
2887
+ * Zone to target. If none is passed will use default zone from the config.
2888
+ */
2889
+ zone?: ScwZone;
2890
+ /**
2891
+ * ID of the server to stop rescue.
2892
+ */
2893
+ serverId: number;
2894
+ };
2895
+ export type StopServerRequest = {
2896
+ /**
2897
+ * Zone to target. If none is passed will use default zone from the config.
2898
+ */
2899
+ zone?: ScwZone;
2900
+ /**
2901
+ * Server ID to stop.
2902
+ */
2903
+ serverId: number;
2904
+ };
2905
+ export type SubscribeServerOptionRequest = {
2906
+ /**
2907
+ * Zone to target. If none is passed will use default zone from the config.
2908
+ */
2909
+ zone?: ScwZone;
2910
+ /**
2911
+ * Server ID to subscribe server option.
2912
+ */
2913
+ serverId: number;
2914
+ /**
2915
+ * Option ID to subscribe.
2916
+ */
2917
+ optionId: number;
2918
+ };
2919
+ export type SubscribeStorageOptionsRequest = {
2920
+ /**
2921
+ * Zone to target. If none is passed will use default zone from the config.
2922
+ */
2923
+ zone?: ScwZone;
2924
+ /**
2925
+ * Server ID of the storage options to subscribe.
2926
+ */
2927
+ serverId: number;
2928
+ /**
2929
+ * Option IDs of the storage options to subscribe.
2930
+ */
2931
+ optionsIds: number[];
2932
+ };
2933
+ export interface SubscribeStorageOptionsResponse {
2934
+ /**
2935
+ * Services subscribe storage options.
2936
+ */
2937
+ services: Service[];
2938
+ }
2939
+ export type UpdateRaidRequest = {
2940
+ /**
2941
+ * Zone to target. If none is passed will use default zone from the config.
2942
+ */
2943
+ zone?: ScwZone;
2944
+ /**
2945
+ * ID of the server.
2946
+ */
2947
+ serverId: number;
2948
+ /**
2949
+ * RAIDs to update.
2950
+ */
2951
+ raidArrays: UpdatableRaidArray[];
2952
+ };
2953
+ export type UpdateReverseRequest = {
2954
+ /**
2955
+ * Zone to target. If none is passed will use default zone from the config.
2956
+ */
2957
+ zone?: ScwZone;
2958
+ /**
2959
+ * ID of the IP.
2960
+ */
2961
+ ipId: number;
2962
+ /**
2963
+ * Reverse to apply on the IP.
2964
+ */
2965
+ reverse: string;
2966
+ };
2967
+ export type UpdateServerBackupRequest = {
2968
+ /**
2969
+ * Zone to target. If none is passed will use default zone from the config.
2970
+ */
2971
+ zone?: ScwZone;
2972
+ /**
2973
+ * Server ID to update backup.
2974
+ */
2975
+ serverId: number;
2976
+ /**
2977
+ * Password of the server backup.
2978
+ */
2979
+ password?: string;
2980
+ /**
2981
+ * Autologin of the server backup.
2982
+ */
2983
+ autologin?: boolean;
2984
+ /**
2985
+ * Boolean to enable or disable ACL.
2986
+ */
2987
+ aclEnabled?: boolean;
2988
+ };
2989
+ export type UpdateServerRequest = {
2990
+ /**
2991
+ * Zone to target. If none is passed will use default zone from the config.
2992
+ */
2993
+ zone?: ScwZone;
2994
+ /**
2995
+ * Server ID to update.
2996
+ */
2997
+ serverId: number;
2998
+ /**
2999
+ * Hostname of the server to update.
3000
+ */
3001
+ hostname?: string;
3002
+ /**
3003
+ * Flag to enable or not the IPv6 of server.
3004
+ */
3005
+ enableIpv6?: boolean;
3006
+ };
3007
+ export type UpdateServerTagsRequest = {
3008
+ /**
3009
+ * Zone to target. If none is passed will use default zone from the config.
3010
+ */
3011
+ zone?: ScwZone;
3012
+ /**
3013
+ * Server ID to update the tags.
3014
+ */
3015
+ serverId: number;
3016
+ /**
3017
+ * Tags of server to update.
3018
+ */
3019
+ tags?: string[];
3020
+ };