@scaleway/sdk-s2s-vpn 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,957 @@
1
+ import type { Region as ScwRegion, Zone as ScwZone } from '@scaleway/sdk-client';
2
+ export type BgpSessionStatus = 'unknown_status' | 'up' | 'down' | 'disabled';
3
+ export type ConnectionDhGroup = 'unknown_dhgroup' | 'modp2048' | 'modp3072' | 'modp4096' | 'ecp256' | 'ecp384' | 'ecp521' | 'curve25519';
4
+ export type ConnectionEncryption = 'unknown_encryption' | 'aes128' | 'aes192' | 'aes256' | 'aes128gcm' | 'aes192gcm' | 'aes256gcm' | 'aes128ccm' | 'aes256ccm' | 'chacha20poly1305';
5
+ export type ConnectionInitiationPolicy = 'unknown_initiation_policy' | 'vpn_gateway' | 'customer_gateway';
6
+ export type ConnectionIntegrity = 'unknown_integrity' | 'sha256' | 'sha384' | 'sha512';
7
+ export type ConnectionStatus = 'unknown_status' | 'active' | 'limited_connectivity' | 'down' | 'locked';
8
+ export type CreateConnectionRequestInitiationPolicy = 'unknown_initiation_policy' | 'vpn_gateway' | 'customer_gateway';
9
+ export type ListConnectionsRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'name_asc' | 'name_desc' | 'status_asc' | 'status_desc';
10
+ export type ListCustomerGatewaysRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'name_asc' | 'name_desc';
11
+ export type ListRoutingPoliciesRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'name_asc' | 'name_desc';
12
+ export type ListVpnGatewaysRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'name_asc' | 'name_desc' | 'type_asc' | 'type_desc' | 'status_asc' | 'status_desc';
13
+ export type TunnelStatus = 'unknown_tunnel_status' | 'up' | 'down';
14
+ export type VpnGatewayStatus = 'unknown_status' | 'configuring' | 'failed' | 'provisioning' | 'active' | 'deprovisioning' | 'locked';
15
+ export interface BgpSession {
16
+ routingPolicyId: string;
17
+ privateIp: string;
18
+ peerPrivateIp: string;
19
+ }
20
+ export interface ConnectionCipher {
21
+ encryption: ConnectionEncryption;
22
+ integrity?: ConnectionIntegrity;
23
+ dhGroup?: ConnectionDhGroup;
24
+ }
25
+ export interface VpnGatewayPrivateConfig {
26
+ }
27
+ export interface VpnGatewayPublicConfig {
28
+ ipamIpv4Id?: string;
29
+ ipamIpv6Id?: string;
30
+ }
31
+ export interface CreateConnectionRequestBgpConfig {
32
+ routingPolicyId: string;
33
+ privateIp?: string;
34
+ peerPrivateIp?: string;
35
+ }
36
+ export interface Connection {
37
+ /**
38
+ * Unique identifier of the connection.
39
+ */
40
+ id: string;
41
+ /**
42
+ * Project ID.
43
+ */
44
+ projectId: string;
45
+ /**
46
+ * Organization ID.
47
+ */
48
+ organizationId: string;
49
+ /**
50
+ * Name of the connection.
51
+ */
52
+ name: string;
53
+ /**
54
+ * List of tags applied to the connection.
55
+ */
56
+ tags: string[];
57
+ /**
58
+ * Creation date of the connection.
59
+ */
60
+ createdAt?: Date;
61
+ /**
62
+ * Last modification date of the connection.
63
+ */
64
+ updatedAt?: Date;
65
+ /**
66
+ * Status of the connection.
67
+ */
68
+ status: ConnectionStatus;
69
+ /**
70
+ * IP version of the IPSec Tunnel.
71
+ */
72
+ isIpv6: boolean;
73
+ /**
74
+ * Who initiates the IPsec tunnel.
75
+ */
76
+ initiationPolicy: ConnectionInitiationPolicy;
77
+ /**
78
+ * List of IKE v2 ciphers proposed for the IPsec tunnel.
79
+ */
80
+ ikev2Ciphers: ConnectionCipher[];
81
+ /**
82
+ * List of ESP ciphers proposed for the IPsec tunnel.
83
+ */
84
+ espCiphers: ConnectionCipher[];
85
+ /**
86
+ * Defines whether route propagation is enabled or not.
87
+ */
88
+ routePropagationEnabled: boolean;
89
+ /**
90
+ * ID of the VPN gateway attached to the connection.
91
+ */
92
+ vpnGatewayId: string;
93
+ /**
94
+ * ID of the customer gateway attached to the connection.
95
+ */
96
+ customerGatewayId: string;
97
+ /**
98
+ * Status of the IPsec tunnel.
99
+ */
100
+ tunnelStatus: TunnelStatus;
101
+ /**
102
+ * @deprecated Status of the IPv4 IPsec tunnel.
103
+ */
104
+ tunnelStatusIpv4?: TunnelStatus;
105
+ /**
106
+ * @deprecated Status of the IPv6 IPsec tunnel.
107
+ */
108
+ tunnelStatusIpv6?: TunnelStatus;
109
+ /**
110
+ * Status of the BGP IPv4 session.
111
+ */
112
+ bgpStatusIpv4: BgpSessionStatus;
113
+ /**
114
+ * Status of the BGP IPv6 session.
115
+ */
116
+ bgpStatusIpv6: BgpSessionStatus;
117
+ /**
118
+ * BGP IPv4 session, including status, interco private IPv4 subnet and attached routing policy.
119
+ */
120
+ bgpSessionIpv4?: BgpSession;
121
+ /**
122
+ * BGP IPv6 session, including status, interco private IPv6 subnet and attached routing policy.
123
+ */
124
+ bgpSessionIpv6?: BgpSession;
125
+ /**
126
+ * Region of the connection.
127
+ */
128
+ region: ScwRegion;
129
+ }
130
+ export interface CreateVpnGatewayRequestPublicConfig {
131
+ ipamIpv4Id?: string;
132
+ ipamIpv6Id?: string;
133
+ }
134
+ export interface CustomerGateway {
135
+ /**
136
+ * Unique identifier of the customer gateway.
137
+ */
138
+ id: string;
139
+ /**
140
+ * Project ID.
141
+ */
142
+ projectId: string;
143
+ /**
144
+ * Organization ID.
145
+ */
146
+ organizationId: string;
147
+ /**
148
+ * Name of the customer gateway.
149
+ */
150
+ name: string;
151
+ /**
152
+ * List of tags applied to the customer gateway.
153
+ */
154
+ tags: string[];
155
+ /**
156
+ * Creation date of the customer gateway.
157
+ */
158
+ createdAt?: Date;
159
+ /**
160
+ * Last modification date of the customer gateway.
161
+ */
162
+ updatedAt?: Date;
163
+ /**
164
+ * Public IPv4 address of the customer gateway.
165
+ */
166
+ publicIpv4?: string;
167
+ /**
168
+ * Public IPv6 address of the customer gateway.
169
+ */
170
+ publicIpv6?: string;
171
+ /**
172
+ * AS Number of the customer gateway.
173
+ */
174
+ asn: number;
175
+ }
176
+ export interface RoutingPolicy {
177
+ /**
178
+ * Unique identifier of the routing policy.
179
+ */
180
+ id: string;
181
+ /**
182
+ * Project ID.
183
+ */
184
+ projectId: string;
185
+ /**
186
+ * Organization ID.
187
+ */
188
+ organizationId: string;
189
+ /**
190
+ * Name of the routing policy.
191
+ */
192
+ name: string;
193
+ /**
194
+ * List of tags associated with the routing policy.
195
+ */
196
+ tags: string[];
197
+ /**
198
+ * Creation date of the routing policy.
199
+ */
200
+ createdAt?: Date;
201
+ /**
202
+ * Last modification date of the routing policy.
203
+ */
204
+ updatedAt?: Date;
205
+ /**
206
+ * IP prefixes version of the routing policy.
207
+ */
208
+ isIpv6: boolean;
209
+ /**
210
+ * IP prefixes to accept from the peer (ranges of route announcements to accept).
211
+ */
212
+ prefixFilterIn: string[];
213
+ /**
214
+ * IP prefix filters to advertise to the peer (ranges of routes to advertise).
215
+ */
216
+ prefixFilterOut: string[];
217
+ /**
218
+ * Region of the routing policy.
219
+ */
220
+ region: ScwRegion;
221
+ }
222
+ export interface GatewayType {
223
+ name: string;
224
+ bandwidth: number;
225
+ allowedConnections: number;
226
+ /**
227
+ * Region to target. If none is passed will use default region from the config.
228
+ */
229
+ region: ScwRegion;
230
+ }
231
+ export interface VpnGateway {
232
+ /**
233
+ * Unique identifier of the VPN gateway.
234
+ */
235
+ id: string;
236
+ /**
237
+ * Project ID.
238
+ */
239
+ projectId: string;
240
+ /**
241
+ * Organization ID.
242
+ */
243
+ organizationId: string;
244
+ /**
245
+ * Name of the VPN gateway.
246
+ */
247
+ name: string;
248
+ /**
249
+ * List of tags applied to the VPN gateway.
250
+ */
251
+ tags: string[];
252
+ /**
253
+ * Creation date of the VPN gateway.
254
+ */
255
+ createdAt?: Date;
256
+ /**
257
+ * Last modification date of the VPN gateway.
258
+ */
259
+ updatedAt?: Date;
260
+ /**
261
+ * Status of the VPN gateway.
262
+ */
263
+ status: VpnGatewayStatus;
264
+ /**
265
+ * Gateway type of the VPN gateway.
266
+ */
267
+ gatewayType: string;
268
+ /**
269
+ * Public endpoint configuration of the VPN gateway.
270
+ *
271
+ * One-of ('endpoint'): at most one of 'publicConfig', 'privateConfig' could be set.
272
+ */
273
+ publicConfig?: VpnGatewayPublicConfig;
274
+ /**
275
+ * ID of the Private Network attached to the VPN gateway.
276
+ */
277
+ privateNetworkId: string;
278
+ /**
279
+ *
280
+ * One-of ('endpoint'): at most one of 'publicConfig', 'privateConfig' could be set.
281
+ */
282
+ privateConfig?: VpnGatewayPrivateConfig;
283
+ /**
284
+ * ID of the IPAM private IPv4 address attached to the VPN gateway.
285
+ */
286
+ ipamPrivateIpv4Id: string;
287
+ /**
288
+ * ID of the IPAM private IPv6 address attached to the VPN gateway.
289
+ */
290
+ ipamPrivateIpv6Id: string;
291
+ /**
292
+ * Autonomous System Number (ASN) of the VPN gateway, used by Border Gateway Protocol (BGP) to exchange routing information with the customer gateway.
293
+ */
294
+ asn: number;
295
+ /**
296
+ * Zone where the VPN gateway resource is currently provisioned.
297
+ */
298
+ zone: ScwZone;
299
+ /**
300
+ * Region of the VPN gateway.
301
+ */
302
+ region: ScwRegion;
303
+ }
304
+ export type CreateConnectionRequest = {
305
+ /**
306
+ * Region to target. If none is passed will use default region from the config.
307
+ */
308
+ region?: ScwRegion;
309
+ /**
310
+ * ID of the Project to create the connection in.
311
+ */
312
+ projectId?: string;
313
+ /**
314
+ * Name of the connection.
315
+ */
316
+ name: string;
317
+ /**
318
+ * List of tags to apply to the connection.
319
+ */
320
+ tags?: string[];
321
+ /**
322
+ * Defines IP version of the IPSec Tunnel.
323
+ */
324
+ isIpv6: boolean;
325
+ /**
326
+ * Who initiates the IPsec tunnel.
327
+ */
328
+ initiationPolicy: CreateConnectionRequestInitiationPolicy;
329
+ /**
330
+ * List of IKE v2 ciphers proposed for the IPsec tunnel.
331
+ */
332
+ ikev2Ciphers: ConnectionCipher[];
333
+ /**
334
+ * List of ESP ciphers proposed for the IPsec tunnel.
335
+ */
336
+ espCiphers: ConnectionCipher[];
337
+ /**
338
+ * Defines whether route propagation is enabled or not.
339
+ */
340
+ enableRoutePropagation: boolean;
341
+ /**
342
+ * ID of the VPN gateway to attach to the connection.
343
+ */
344
+ vpnGatewayId: string;
345
+ /**
346
+ * ID of the customer gateway to attach to the connection.
347
+ */
348
+ customerGatewayId: string;
349
+ /**
350
+ * BGP config of IPv4 session, including interco private IPv4 subnet (first IP assigned to the VPN Gateway, second IP to the Customer Gateway) and attached routing policy.
351
+ */
352
+ bgpConfigIpv4?: CreateConnectionRequestBgpConfig;
353
+ /**
354
+ * BGP config of IPv6 session, including interco private IPv6 subnet (first IP assigned to the VPN Gateway, second IP to the Customer Gateway) and attached routing policy.
355
+ */
356
+ bgpConfigIpv6?: CreateConnectionRequestBgpConfig;
357
+ };
358
+ export interface CreateConnectionResponse {
359
+ /**
360
+ * This connection.
361
+ */
362
+ connection?: Connection;
363
+ /**
364
+ * New PSK generated for this connection.
365
+ */
366
+ preSharedKey: string;
367
+ }
368
+ export type CreateCustomerGatewayRequest = {
369
+ /**
370
+ * Region to target. If none is passed will use default region from the config.
371
+ */
372
+ region?: ScwRegion;
373
+ /**
374
+ * ID of the Project to create the customer gateway in.
375
+ */
376
+ projectId?: string;
377
+ /**
378
+ * Name of the customer gateway.
379
+ */
380
+ name: string;
381
+ /**
382
+ * List of tags to apply to the customer gateway.
383
+ */
384
+ tags?: string[];
385
+ /**
386
+ * Public IPv4 address of the customer gateway.
387
+ */
388
+ ipv4Public?: string;
389
+ /**
390
+ * Public IPv6 address of the customer gateway.
391
+ */
392
+ ipv6Public?: string;
393
+ /**
394
+ * AS Number of the customer gateway.
395
+ */
396
+ asn: number;
397
+ };
398
+ export type CreateRoutingPolicyRequest = {
399
+ /**
400
+ * Region to target. If none is passed will use default region from the config.
401
+ */
402
+ region?: ScwRegion;
403
+ /**
404
+ * ID of the Project to create the routing policy in.
405
+ */
406
+ projectId?: string;
407
+ /**
408
+ * Name of the routing policy.
409
+ */
410
+ name: string;
411
+ /**
412
+ * List of tags to apply to the routing policy.
413
+ */
414
+ tags?: string[];
415
+ /**
416
+ * IP prefixes version of the routing policy.
417
+ */
418
+ isIpv6: boolean;
419
+ /**
420
+ * IP prefixes to accept from the peer (ranges of route announcements to accept).
421
+ */
422
+ prefixFilterIn?: string[];
423
+ /**
424
+ * IP prefix filters to advertise to the peer (ranges of routes to advertise).
425
+ */
426
+ prefixFilterOut?: string[];
427
+ };
428
+ export type CreateVpnGatewayRequest = {
429
+ /**
430
+ * Region to target. If none is passed will use default region from the config.
431
+ */
432
+ region?: ScwRegion;
433
+ /**
434
+ * ID of the Project to create the VPN gateway in.
435
+ */
436
+ projectId?: string;
437
+ /**
438
+ * Name of the VPN gateway.
439
+ */
440
+ name: string;
441
+ /**
442
+ * List of tags to apply to the VPN gateway.
443
+ */
444
+ tags?: string[];
445
+ /**
446
+ * VPN gateway type (commercial offer type).
447
+ */
448
+ gatewayType: string;
449
+ /**
450
+ * Public endpoint configuration of the VPN gateway.
451
+ *
452
+ * One-of ('endpoint'): at most one of 'publicConfig' could be set.
453
+ */
454
+ publicConfig?: CreateVpnGatewayRequestPublicConfig;
455
+ /**
456
+ * ID of the Private Network to attach to the VPN gateway.
457
+ */
458
+ privateNetworkId: string;
459
+ /**
460
+ * ID of the IPAM private IPv4 address to attach to the VPN gateway.
461
+ */
462
+ ipamPrivateIpv4Id?: string;
463
+ /**
464
+ * ID of the IPAM private IPv6 address to attach to the VPN gateway.
465
+ */
466
+ ipamPrivateIpv6Id?: string;
467
+ /**
468
+ * Availability Zone where the VPN gateway should be provisioned. If no zone is specified, the VPN gateway will be automatically placed.
469
+ */
470
+ zone?: ScwZone;
471
+ };
472
+ export type DeleteConnectionRequest = {
473
+ /**
474
+ * Region to target. If none is passed will use default region from the config.
475
+ */
476
+ region?: ScwRegion;
477
+ /**
478
+ * ID of the connection to delete.
479
+ */
480
+ connectionId: string;
481
+ };
482
+ export type DeleteCustomerGatewayRequest = {
483
+ /**
484
+ * Region to target. If none is passed will use default region from the config.
485
+ */
486
+ region?: ScwRegion;
487
+ /**
488
+ * ID of the customer gateway to delete.
489
+ */
490
+ gatewayId: string;
491
+ };
492
+ export type DeleteRoutingPolicyRequest = {
493
+ /**
494
+ * Region to target. If none is passed will use default region from the config.
495
+ */
496
+ region?: ScwRegion;
497
+ /**
498
+ * ID of the routing policy to delete.
499
+ */
500
+ routingPolicyId: string;
501
+ };
502
+ export type DeleteVpnGatewayRequest = {
503
+ /**
504
+ * Region to target. If none is passed will use default region from the config.
505
+ */
506
+ region?: ScwRegion;
507
+ /**
508
+ * ID of the VPN gateway to delete.
509
+ */
510
+ gatewayId: string;
511
+ };
512
+ export type DetachRoutingPolicyRequest = {
513
+ /**
514
+ * Region to target. If none is passed will use default region from the config.
515
+ */
516
+ region?: ScwRegion;
517
+ /**
518
+ * ID of the connection from which routing policy is being detached.
519
+ */
520
+ connectionId: string;
521
+ /**
522
+ * ID of the routing policy to detach from the BGP IPv4 session.
523
+ *
524
+ * One-of ('routingPolicy'): at most one of 'routingPolicyV4', 'routingPolicyV6' could be set.
525
+ */
526
+ routingPolicyV4?: string;
527
+ /**
528
+ * ID of the routing policy to detach from the BGP IPv6 session.
529
+ *
530
+ * One-of ('routingPolicy'): at most one of 'routingPolicyV4', 'routingPolicyV6' could be set.
531
+ */
532
+ routingPolicyV6?: string;
533
+ };
534
+ export type DisableRoutePropagationRequest = {
535
+ /**
536
+ * Region to target. If none is passed will use default region from the config.
537
+ */
538
+ region?: ScwRegion;
539
+ /**
540
+ * ID of the connection on which to disable route propagation.
541
+ */
542
+ connectionId: string;
543
+ };
544
+ export type EnableRoutePropagationRequest = {
545
+ /**
546
+ * Region to target. If none is passed will use default region from the config.
547
+ */
548
+ region?: ScwRegion;
549
+ /**
550
+ * ID of the connection on which to enable route propagation.
551
+ */
552
+ connectionId: string;
553
+ };
554
+ export type GetConnectionRequest = {
555
+ /**
556
+ * Region to target. If none is passed will use default region from the config.
557
+ */
558
+ region?: ScwRegion;
559
+ /**
560
+ * ID of the requested connection.
561
+ */
562
+ connectionId: string;
563
+ };
564
+ export type GetCustomerGatewayRequest = {
565
+ /**
566
+ * Region to target. If none is passed will use default region from the config.
567
+ */
568
+ region?: ScwRegion;
569
+ /**
570
+ * ID of the requested customer gateway.
571
+ */
572
+ gatewayId: string;
573
+ };
574
+ export type GetRoutingPolicyRequest = {
575
+ /**
576
+ * Region to target. If none is passed will use default region from the config.
577
+ */
578
+ region?: ScwRegion;
579
+ /**
580
+ * ID of the routing policy to get.
581
+ */
582
+ routingPolicyId: string;
583
+ };
584
+ export type GetVpnGatewayRequest = {
585
+ /**
586
+ * Region to target. If none is passed will use default region from the config.
587
+ */
588
+ region?: ScwRegion;
589
+ /**
590
+ * ID of the requested VPN gateway.
591
+ */
592
+ gatewayId: string;
593
+ };
594
+ export type ListConnectionsRequest = {
595
+ /**
596
+ * Region to target. If none is passed will use default region from the config.
597
+ */
598
+ region?: ScwRegion;
599
+ /**
600
+ * Page number to return.
601
+ */
602
+ page?: number;
603
+ /**
604
+ * Maximum number of connections to return per page.
605
+ */
606
+ pageSize?: number;
607
+ /**
608
+ * Order in which to return results.
609
+ */
610
+ orderBy?: ListConnectionsRequestOrderBy;
611
+ /**
612
+ * Project ID to filter for.
613
+ */
614
+ projectId?: string;
615
+ /**
616
+ * Connection name to filter for.
617
+ */
618
+ name?: string;
619
+ /**
620
+ * Tags to filter for.
621
+ */
622
+ tags?: string[];
623
+ /**
624
+ * Connection statuses to filter for.
625
+ */
626
+ statuses?: ConnectionStatus[];
627
+ /**
628
+ * Filter connections with IP version of IPSec tunnel.
629
+ */
630
+ isIpv6?: boolean;
631
+ /**
632
+ * Filter for connections using these routing policies.
633
+ */
634
+ routingPolicyIds?: string[];
635
+ /**
636
+ * Filter for connections with route propagation enabled.
637
+ */
638
+ routePropagationEnabled?: boolean;
639
+ /**
640
+ * Filter for connections attached to these VPN gateways.
641
+ */
642
+ vpnGatewayIds?: string[];
643
+ /**
644
+ * Filter for connections attached to these customer gateways.
645
+ */
646
+ customerGatewayIds?: string[];
647
+ };
648
+ export interface ListConnectionsResponse {
649
+ /**
650
+ * List of connections on the current page.
651
+ */
652
+ connections: Connection[];
653
+ /**
654
+ * Total number of connections.
655
+ */
656
+ totalCount: number;
657
+ }
658
+ export type ListCustomerGatewaysRequest = {
659
+ /**
660
+ * Region to target. If none is passed will use default region from the config.
661
+ */
662
+ region?: ScwRegion;
663
+ /**
664
+ * Page number to return.
665
+ */
666
+ page?: number;
667
+ /**
668
+ * Maximum number of customer gateways to return per page.
669
+ */
670
+ pageSize?: number;
671
+ /**
672
+ * Order in which to return results.
673
+ */
674
+ orderBy?: ListCustomerGatewaysRequestOrderBy;
675
+ /**
676
+ * Project ID to filter for.
677
+ */
678
+ projectId?: string;
679
+ /**
680
+ * Customer gateway name to filter for.
681
+ */
682
+ name?: string;
683
+ /**
684
+ * Tags to filter for.
685
+ */
686
+ tags?: string[];
687
+ };
688
+ export interface ListCustomerGatewaysResponse {
689
+ /**
690
+ * List of customer gateways on the current page.
691
+ */
692
+ gateways: CustomerGateway[];
693
+ /**
694
+ * Total number of customer gateways.
695
+ */
696
+ totalCount: number;
697
+ }
698
+ export type ListRoutingPoliciesRequest = {
699
+ /**
700
+ * Region to target. If none is passed will use default region from the config.
701
+ */
702
+ region?: ScwRegion;
703
+ /**
704
+ * Page number to return.
705
+ */
706
+ page?: number;
707
+ /**
708
+ * Maximum number of routing policies to return per page.
709
+ */
710
+ pageSize?: number;
711
+ /**
712
+ * Order in which to return results.
713
+ */
714
+ orderBy?: ListRoutingPoliciesRequestOrderBy;
715
+ /**
716
+ * Project ID to filter for.
717
+ */
718
+ projectId?: string;
719
+ /**
720
+ * Routing policy name to filter for.
721
+ */
722
+ name?: string;
723
+ /**
724
+ * Tags to filter for.
725
+ */
726
+ tags?: string[];
727
+ /**
728
+ * Filter for the routing policies based on IP prefixes version.
729
+ */
730
+ ipv6?: boolean;
731
+ };
732
+ export interface ListRoutingPoliciesResponse {
733
+ routingPolicies: RoutingPolicy[];
734
+ totalCount: number;
735
+ }
736
+ export type ListVpnGatewayTypesRequest = {
737
+ /**
738
+ * Region to target. If none is passed will use default region from the config.
739
+ */
740
+ region?: ScwRegion;
741
+ /**
742
+ * Page number to return.
743
+ */
744
+ page?: number;
745
+ /**
746
+ * Maximum number of VPN gateway types to return per page.
747
+ */
748
+ pageSize?: number;
749
+ };
750
+ export interface ListVpnGatewayTypesResponse {
751
+ /**
752
+ * List of VPN gateway types on the current page.
753
+ */
754
+ gatewayTypes: GatewayType[];
755
+ /**
756
+ * Total number of gateway types.
757
+ */
758
+ totalCount: number;
759
+ }
760
+ export type ListVpnGatewaysRequest = {
761
+ /**
762
+ * Region to target. If none is passed will use default region from the config.
763
+ */
764
+ region?: ScwRegion;
765
+ /**
766
+ * Page number to return.
767
+ */
768
+ page?: number;
769
+ /**
770
+ * Maximum number of VPN gateways to return per page.
771
+ */
772
+ pageSize?: number;
773
+ /**
774
+ * Order in which to return results.
775
+ */
776
+ orderBy?: ListVpnGatewaysRequestOrderBy;
777
+ /**
778
+ * Project ID to filter for.
779
+ */
780
+ projectId?: string;
781
+ /**
782
+ * VPN gateway name to filter for.
783
+ */
784
+ name?: string;
785
+ /**
786
+ * Tags to filter for.
787
+ */
788
+ tags?: string[];
789
+ /**
790
+ * VPN gateway statuses to filter for.
791
+ */
792
+ statuses?: VpnGatewayStatus[];
793
+ /**
794
+ * Filter for VPN gateways of these types.
795
+ */
796
+ gatewayTypes?: string[];
797
+ /**
798
+ * Filter for VPN gateways attached to these private networks.
799
+ */
800
+ privateNetworkIds?: string[];
801
+ };
802
+ export interface ListVpnGatewaysResponse {
803
+ /**
804
+ * List of VPN gateways on the current page.
805
+ */
806
+ gateways: VpnGateway[];
807
+ /**
808
+ * Total number of VPN gateways.
809
+ */
810
+ totalCount: number;
811
+ }
812
+ export type RenewConnectionPskRequest = {
813
+ /**
814
+ * Region to target. If none is passed will use default region from the config.
815
+ */
816
+ region?: ScwRegion;
817
+ /**
818
+ * ID of the connection to renew the PSK.
819
+ */
820
+ connectionId: string;
821
+ };
822
+ export interface RenewConnectionPskResponse {
823
+ /**
824
+ * This connection.
825
+ */
826
+ connection?: Connection;
827
+ /**
828
+ * New PSK generated for this connection.
829
+ */
830
+ preSharedKey: string;
831
+ }
832
+ export type SetRoutingPolicyRequest = {
833
+ /**
834
+ * Region to target. If none is passed will use default region from the config.
835
+ */
836
+ region?: ScwRegion;
837
+ /**
838
+ * ID of the connection whose routing policy is being updated.
839
+ */
840
+ connectionId: string;
841
+ /**
842
+ * ID of the routing policy to set for the BGP IPv4 session.
843
+ *
844
+ * One-of ('routingPolicy'): at most one of 'routingPolicyV4', 'routingPolicyV6' could be set.
845
+ */
846
+ routingPolicyV4?: string;
847
+ /**
848
+ * ID of the routing policy to set for the BGP IPv6 session.
849
+ *
850
+ * One-of ('routingPolicy'): at most one of 'routingPolicyV4', 'routingPolicyV6' could be set.
851
+ */
852
+ routingPolicyV6?: string;
853
+ };
854
+ export type UpdateConnectionRequest = {
855
+ /**
856
+ * Region to target. If none is passed will use default region from the config.
857
+ */
858
+ region?: ScwRegion;
859
+ /**
860
+ * ID of the connection to update.
861
+ */
862
+ connectionId: string;
863
+ /**
864
+ * Name of the connection.
865
+ */
866
+ name?: string;
867
+ /**
868
+ * List of tags to apply to the connection.
869
+ */
870
+ tags?: string[];
871
+ /**
872
+ * Who initiates the IPsec tunnel.
873
+ */
874
+ initiationPolicy?: CreateConnectionRequestInitiationPolicy;
875
+ /**
876
+ * List of IKE v2 ciphers proposed for the IPsec tunnel.
877
+ */
878
+ ikev2Ciphers?: ConnectionCipher[];
879
+ /**
880
+ * List of ESP ciphers proposed for the IPsec tunnel.
881
+ */
882
+ espCiphers?: ConnectionCipher[];
883
+ };
884
+ export type UpdateCustomerGatewayRequest = {
885
+ /**
886
+ * Region to target. If none is passed will use default region from the config.
887
+ */
888
+ region?: ScwRegion;
889
+ /**
890
+ * ID of the customer gateway to update.
891
+ */
892
+ gatewayId: string;
893
+ /**
894
+ * Name of the customer gateway.
895
+ */
896
+ name?: string;
897
+ /**
898
+ * List of tags to apply to the customer gateway.
899
+ */
900
+ tags?: string[];
901
+ /**
902
+ * Public IPv4 address of the customer gateway.
903
+ */
904
+ ipv4Public?: string;
905
+ /**
906
+ * Public IPv6 address of the customer gateway.
907
+ */
908
+ ipv6Public?: string;
909
+ /**
910
+ * AS Number of the customer gateway.
911
+ */
912
+ asn?: number;
913
+ };
914
+ export type UpdateRoutingPolicyRequest = {
915
+ /**
916
+ * Region to target. If none is passed will use default region from the config.
917
+ */
918
+ region?: ScwRegion;
919
+ /**
920
+ * ID of the routing policy to update.
921
+ */
922
+ routingPolicyId: string;
923
+ /**
924
+ * Name of the routing policy.
925
+ */
926
+ name?: string;
927
+ /**
928
+ * List of tags to apply to the routing policy.
929
+ */
930
+ tags?: string[];
931
+ /**
932
+ * IP prefixes to accept from the peer (ranges of route announcements to accept).
933
+ */
934
+ prefixFilterIn?: string[];
935
+ /**
936
+ * IP prefix filters for routes to advertise to the peer (ranges of routes to advertise).
937
+ */
938
+ prefixFilterOut?: string[];
939
+ };
940
+ export type UpdateVpnGatewayRequest = {
941
+ /**
942
+ * Region to target. If none is passed will use default region from the config.
943
+ */
944
+ region?: ScwRegion;
945
+ /**
946
+ * ID of the VPN gateway to update.
947
+ */
948
+ gatewayId: string;
949
+ /**
950
+ * Name of the VPN gateway.
951
+ */
952
+ name?: string;
953
+ /**
954
+ * List of tags to apply to the VPN Gateway.
955
+ */
956
+ tags?: string[];
957
+ };