@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,222 @@
1
+ import { API as ParentAPI } from '@scaleway/sdk-client';
2
+ import type { ApiLocality, WaitForOptions } from '@scaleway/sdk-client';
3
+ import type { Connection, CreateConnectionRequest, CreateConnectionResponse, CreateCustomerGatewayRequest, CreateRoutingPolicyRequest, CreateVpnGatewayRequest, CustomerGateway, DeleteConnectionRequest, DeleteCustomerGatewayRequest, DeleteRoutingPolicyRequest, DeleteVpnGatewayRequest, DetachRoutingPolicyRequest, DisableRoutePropagationRequest, EnableRoutePropagationRequest, GetConnectionRequest, GetCustomerGatewayRequest, GetRoutingPolicyRequest, GetVpnGatewayRequest, ListConnectionsRequest, ListConnectionsResponse, ListCustomerGatewaysRequest, ListCustomerGatewaysResponse, ListRoutingPoliciesRequest, ListRoutingPoliciesResponse, ListVpnGatewayTypesRequest, ListVpnGatewayTypesResponse, ListVpnGatewaysRequest, ListVpnGatewaysResponse, RenewConnectionPskRequest, RenewConnectionPskResponse, RoutingPolicy, SetRoutingPolicyRequest, UpdateConnectionRequest, UpdateCustomerGatewayRequest, UpdateRoutingPolicyRequest, UpdateVpnGatewayRequest, VpnGateway } from './types.gen.js';
4
+ /**
5
+ * Site-to-Site VPN.
6
+
7
+ This API allows you to manage your Site-to-Site VPN.
8
+ */
9
+ export declare class API extends ParentAPI {
10
+ /**
11
+ * Locality of this API.
12
+ * type ∈ {'zone','region','global','unspecified'}
13
+ */
14
+ static readonly LOCALITY: ApiLocality;
15
+ protected pageOfListVpnGatewayTypes: (request?: Readonly<ListVpnGatewayTypesRequest>) => Promise<ListVpnGatewayTypesResponse>;
16
+ /**
17
+ * List VPN gateway types. List the different VPN gateway commercial offer types available at Scaleway. The response is an array of objects describing the name and technical details of each available VPN gateway type.
18
+ *
19
+ * @param request - The request {@link ListVpnGatewayTypesRequest}
20
+ * @returns A Promise of ListVpnGatewayTypesResponse
21
+ */
22
+ listVpnGatewayTypes: (request?: Readonly<ListVpnGatewayTypesRequest>) => Promise<ListVpnGatewayTypesResponse> & {
23
+ all: () => Promise<import("./types.gen.js").GatewayType[]>;
24
+ [Symbol.asyncIterator]: () => AsyncGenerator<import("./types.gen.js").GatewayType[], void, void>;
25
+ };
26
+ protected pageOfListVpnGateways: (request?: Readonly<ListVpnGatewaysRequest>) => Promise<ListVpnGatewaysResponse>;
27
+ /**
28
+ * List VPN gateways. List all your VPN gateways. A number of filters are available, including Project ID, name, tags and status.
29
+ *
30
+ * @param request - The request {@link ListVpnGatewaysRequest}
31
+ * @returns A Promise of ListVpnGatewaysResponse
32
+ */
33
+ listVpnGateways: (request?: Readonly<ListVpnGatewaysRequest>) => Promise<ListVpnGatewaysResponse> & {
34
+ all: () => Promise<VpnGateway[]>;
35
+ [Symbol.asyncIterator]: () => AsyncGenerator<VpnGateway[], void, void>;
36
+ };
37
+ /**
38
+ * Get a VPN gateway. Get a VPN gateway for the given VPN gateway ID.
39
+ *
40
+ * @param request - The request {@link GetVpnGatewayRequest}
41
+ * @returns A Promise of VpnGateway
42
+ */
43
+ getVpnGateway: (request: Readonly<GetVpnGatewayRequest>) => Promise<VpnGateway>;
44
+ /**
45
+ * Waits for {@link VpnGateway} to be in a final state.
46
+ *
47
+ * @param request - The request {@link GetVpnGatewayRequest}
48
+ * @param options - The waiting options
49
+ * @returns A Promise of VpnGateway
50
+ */
51
+ waitForVpnGateway: (request: Readonly<GetVpnGatewayRequest>, options?: Readonly<WaitForOptions<VpnGateway>>) => Promise<VpnGateway>;
52
+ /**
53
+ * Create VPN gateway.
54
+ *
55
+ * @param request - The request {@link CreateVpnGatewayRequest}
56
+ * @returns A Promise of VpnGateway
57
+ */
58
+ createVpnGateway: (request: Readonly<CreateVpnGatewayRequest>) => Promise<VpnGateway>;
59
+ /**
60
+ * Update a VPN gateway. Update an existing VPN gateway, specified by its VPN gateway ID. Only its name and tags can be updated.
61
+ *
62
+ * @param request - The request {@link UpdateVpnGatewayRequest}
63
+ * @returns A Promise of VpnGateway
64
+ */
65
+ updateVpnGateway: (request: Readonly<UpdateVpnGatewayRequest>) => Promise<VpnGateway>;
66
+ /**
67
+ * Delete a VPN gateway. Delete an existing VPN gateway, specified by its VPN gateway ID.
68
+ *
69
+ * @param request - The request {@link DeleteVpnGatewayRequest}
70
+ * @returns A Promise of VpnGateway
71
+ */
72
+ deleteVpnGateway: (request: Readonly<DeleteVpnGatewayRequest>) => Promise<VpnGateway>;
73
+ protected pageOfListConnections: (request?: Readonly<ListConnectionsRequest>) => Promise<ListConnectionsResponse>;
74
+ /**
75
+ * List connections. List all your connections. A number of filters are available, including Project ID, name, tags and status.
76
+ *
77
+ * @param request - The request {@link ListConnectionsRequest}
78
+ * @returns A Promise of ListConnectionsResponse
79
+ */
80
+ listConnections: (request?: Readonly<ListConnectionsRequest>) => Promise<ListConnectionsResponse> & {
81
+ all: () => Promise<Connection[]>;
82
+ [Symbol.asyncIterator]: () => AsyncGenerator<Connection[], void, void>;
83
+ };
84
+ /**
85
+ * Get a connection. Get a connection for the given connection ID. The response object includes information about the connection's various configuration details.
86
+ *
87
+ * @param request - The request {@link GetConnectionRequest}
88
+ * @returns A Promise of Connection
89
+ */
90
+ getConnection: (request: Readonly<GetConnectionRequest>) => Promise<Connection>;
91
+ /**
92
+ * Create a connection.
93
+ *
94
+ * @param request - The request {@link CreateConnectionRequest}
95
+ * @returns A Promise of CreateConnectionResponse
96
+ */
97
+ createConnection: (request: Readonly<CreateConnectionRequest>) => Promise<CreateConnectionResponse>;
98
+ /**
99
+ * Update a connection. Update an existing connection, specified by its connection ID.
100
+ *
101
+ * @param request - The request {@link UpdateConnectionRequest}
102
+ * @returns A Promise of Connection
103
+ */
104
+ updateConnection: (request: Readonly<UpdateConnectionRequest>) => Promise<Connection>;
105
+ /**
106
+ * Delete a connection. Delete an existing connection, specified by its connection ID.
107
+ *
108
+ * @param request - The request {@link DeleteConnectionRequest}
109
+ */
110
+ deleteConnection: (request: Readonly<DeleteConnectionRequest>) => Promise<void>;
111
+ /**
112
+ * Renew pre-shared key. Renew pre-shared key for a given connection.
113
+ *
114
+ * @param request - The request {@link RenewConnectionPskRequest}
115
+ * @returns A Promise of RenewConnectionPskResponse
116
+ */
117
+ renewConnectionPsk: (request: Readonly<RenewConnectionPskRequest>) => Promise<RenewConnectionPskResponse>;
118
+ /**
119
+ * Set a new routing policy. Set a new routing policy on a connection, overriding the existing one if present, specified by its connection ID.
120
+ *
121
+ * @param request - The request {@link SetRoutingPolicyRequest}
122
+ * @returns A Promise of Connection
123
+ */
124
+ setRoutingPolicy: (request: Readonly<SetRoutingPolicyRequest>) => Promise<Connection>;
125
+ /**
126
+ * Detach a routing policy. Detach an existing routing policy from a connection, specified by its connection ID.
127
+ *
128
+ * @param request - The request {@link DetachRoutingPolicyRequest}
129
+ * @returns A Promise of Connection
130
+ */
131
+ detachRoutingPolicy: (request: Readonly<DetachRoutingPolicyRequest>) => Promise<Connection>;
132
+ /**
133
+ * Enable route propagation. Enable all allowed prefixes (defined in a routing policy) to be announced in the BGP session. This allows traffic to flow between the attached VPC and the on-premises infrastructure along the announced routes. Note that by default, even when route propagation is enabled, all routes are blocked. It is essential to attach a routing policy to define the ranges of routes to announce.
134
+ *
135
+ * @param request - The request {@link EnableRoutePropagationRequest}
136
+ * @returns A Promise of Connection
137
+ */
138
+ enableRoutePropagation: (request: Readonly<EnableRoutePropagationRequest>) => Promise<Connection>;
139
+ /**
140
+ * Disable route propagation. Prevent any prefixes from being announced in the BGP session. Traffic will not be able to flow over the VPN Gateway until route propagation is re-enabled.
141
+ *
142
+ * @param request - The request {@link DisableRoutePropagationRequest}
143
+ * @returns A Promise of Connection
144
+ */
145
+ disableRoutePropagation: (request: Readonly<DisableRoutePropagationRequest>) => Promise<Connection>;
146
+ protected pageOfListCustomerGateways: (request?: Readonly<ListCustomerGatewaysRequest>) => Promise<ListCustomerGatewaysResponse>;
147
+ /**
148
+ * List customer gateways. List all your customer gateways. A number of filters are available, including Project ID, name, and tags.
149
+ *
150
+ * @param request - The request {@link ListCustomerGatewaysRequest}
151
+ * @returns A Promise of ListCustomerGatewaysResponse
152
+ */
153
+ listCustomerGateways: (request?: Readonly<ListCustomerGatewaysRequest>) => Promise<ListCustomerGatewaysResponse> & {
154
+ all: () => Promise<CustomerGateway[]>;
155
+ [Symbol.asyncIterator]: () => AsyncGenerator<CustomerGateway[], void, void>;
156
+ };
157
+ /**
158
+ * Get a customer gateway. Get a customer gateway for the given customer gateway ID.
159
+ *
160
+ * @param request - The request {@link GetCustomerGatewayRequest}
161
+ * @returns A Promise of CustomerGateway
162
+ */
163
+ getCustomerGateway: (request: Readonly<GetCustomerGatewayRequest>) => Promise<CustomerGateway>;
164
+ /**
165
+ * Create a customer gateway.
166
+ *
167
+ * @param request - The request {@link CreateCustomerGatewayRequest}
168
+ * @returns A Promise of CustomerGateway
169
+ */
170
+ createCustomerGateway: (request: Readonly<CreateCustomerGatewayRequest>) => Promise<CustomerGateway>;
171
+ /**
172
+ * Update a customer gateway. Update an existing customer gateway, specified by its customer gateway ID. You can update its name, tags, public IPv4 & IPv6 address and AS Number.
173
+ *
174
+ * @param request - The request {@link UpdateCustomerGatewayRequest}
175
+ * @returns A Promise of CustomerGateway
176
+ */
177
+ updateCustomerGateway: (request: Readonly<UpdateCustomerGatewayRequest>) => Promise<CustomerGateway>;
178
+ /**
179
+ * Delete a customer gateway. Delete an existing customer gateway, specified by its customer gateway ID.
180
+ *
181
+ * @param request - The request {@link DeleteCustomerGatewayRequest}
182
+ */
183
+ deleteCustomerGateway: (request: Readonly<DeleteCustomerGatewayRequest>) => Promise<void>;
184
+ protected pageOfListRoutingPolicies: (request?: Readonly<ListRoutingPoliciesRequest>) => Promise<ListRoutingPoliciesResponse>;
185
+ /**
186
+ * List routing policies. List all routing policies in a given region. A routing policy can be attached to one or multiple connections (S2S VPN connections).
187
+ *
188
+ * @param request - The request {@link ListRoutingPoliciesRequest}
189
+ * @returns A Promise of ListRoutingPoliciesResponse
190
+ */
191
+ listRoutingPolicies: (request?: Readonly<ListRoutingPoliciesRequest>) => Promise<ListRoutingPoliciesResponse> & {
192
+ all: () => Promise<RoutingPolicy[]>;
193
+ [Symbol.asyncIterator]: () => AsyncGenerator<RoutingPolicy[], void, void>;
194
+ };
195
+ /**
196
+ * Get routing policy. Get a routing policy for the given routing policy ID. The response object gives information including the policy's name, tags and prefix filters.
197
+ *
198
+ * @param request - The request {@link GetRoutingPolicyRequest}
199
+ * @returns A Promise of RoutingPolicy
200
+ */
201
+ getRoutingPolicy: (request: Readonly<GetRoutingPolicyRequest>) => Promise<RoutingPolicy>;
202
+ /**
203
+ * Create a routing policy. Create a routing policy. Routing policies allow you to set IP prefix filters to define the incoming route announcements to accept from the customer gateway, and the outgoing routes to announce to the customer gateway.
204
+ *
205
+ * @param request - The request {@link CreateRoutingPolicyRequest}
206
+ * @returns A Promise of RoutingPolicy
207
+ */
208
+ createRoutingPolicy: (request: Readonly<CreateRoutingPolicyRequest>) => Promise<RoutingPolicy>;
209
+ /**
210
+ * Update a routing policy. Update an existing routing policy, specified by its routing policy ID. Its name, tags and incoming/outgoing prefix filters can be updated.
211
+ *
212
+ * @param request - The request {@link UpdateRoutingPolicyRequest}
213
+ * @returns A Promise of RoutingPolicy
214
+ */
215
+ updateRoutingPolicy: (request: Readonly<UpdateRoutingPolicyRequest>) => Promise<RoutingPolicy>;
216
+ /**
217
+ * Delete a routing policy. Delete an existing routing policy, specified by its routing policy ID.
218
+ *
219
+ * @param request - The request {@link DeleteRoutingPolicyRequest}
220
+ */
221
+ deleteRoutingPolicy: (request: Readonly<DeleteRoutingPolicyRequest>) => Promise<void>;
222
+ }