@scaleway/sdk-flexibleip 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.
- package/LICENSE +191 -0
- package/dist/index.gen.cjs +4 -0
- package/dist/index.gen.d.ts +5 -0
- package/dist/index.gen.js +4 -0
- package/dist/v1alpha1/api.gen.cjs +212 -0
- package/dist/v1alpha1/api.gen.d.ts +99 -0
- package/dist/v1alpha1/api.gen.js +212 -0
- package/dist/v1alpha1/content.gen.cjs +12 -0
- package/dist/v1alpha1/content.gen.d.ts +5 -0
- package/dist/v1alpha1/content.gen.js +12 -0
- package/dist/v1alpha1/index.gen.cjs +21 -0
- package/dist/v1alpha1/index.gen.d.ts +5 -0
- package/dist/v1alpha1/index.gen.js +21 -0
- package/dist/v1alpha1/marshalling.gen.cjs +114 -0
- package/dist/v1alpha1/marshalling.gen.d.ts +13 -0
- package/dist/v1alpha1/marshalling.gen.js +114 -0
- package/dist/v1alpha1/types.gen.d.ts +304 -0
- package/dist/v1alpha1/validation-rules.gen.cjs +12 -0
- package/dist/v1alpha1/validation-rules.gen.d.ts +9 -0
- package/dist/v1alpha1/validation-rules.gen.js +12 -0
- package/package.json +51 -0
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { API as API$1, validatePathParam, waitForResource, urlParams, enrichForPagination } from "@scaleway/sdk-client";
|
|
2
|
+
import { FLEXIBLE_IP_TRANSIENT_STATUSES } from "./content.gen.js";
|
|
3
|
+
import { marshalCreateFlexibleIPRequest, unmarshalFlexibleIP, unmarshalListFlexibleIPsResponse, marshalUpdateFlexibleIPRequest, marshalAttachFlexibleIPRequest, unmarshalAttachFlexibleIPsResponse, marshalDetachFlexibleIPRequest, unmarshalDetachFlexibleIPsResponse, marshalGenerateMACAddrRequest, marshalDuplicateMACAddrRequest, marshalMoveMACAddrRequest } from "./marshalling.gen.js";
|
|
4
|
+
const jsonContentHeaders = {
|
|
5
|
+
"Content-Type": "application/json; charset=utf-8"
|
|
6
|
+
};
|
|
7
|
+
class API extends API$1 {
|
|
8
|
+
/** Lists the available zones of the API. */
|
|
9
|
+
static LOCALITIES = [
|
|
10
|
+
"fr-par-1",
|
|
11
|
+
"fr-par-2",
|
|
12
|
+
"nl-ams-1",
|
|
13
|
+
"nl-ams-2",
|
|
14
|
+
"pl-waw-2",
|
|
15
|
+
"pl-waw-3"
|
|
16
|
+
];
|
|
17
|
+
/**
|
|
18
|
+
* Create a new flexible IP. Generate a new flexible IP within a given zone, specifying its configuration including Project ID and description.
|
|
19
|
+
*
|
|
20
|
+
* @param request - The request {@link CreateFlexibleIPRequest}
|
|
21
|
+
* @returns A Promise of FlexibleIP
|
|
22
|
+
*/
|
|
23
|
+
createFlexibleIP = (request) => this.client.fetch(
|
|
24
|
+
{
|
|
25
|
+
body: JSON.stringify(
|
|
26
|
+
marshalCreateFlexibleIPRequest(request, this.client.settings)
|
|
27
|
+
),
|
|
28
|
+
headers: jsonContentHeaders,
|
|
29
|
+
method: "POST",
|
|
30
|
+
path: `/flexible-ip/v1alpha1/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/fips`
|
|
31
|
+
},
|
|
32
|
+
unmarshalFlexibleIP
|
|
33
|
+
);
|
|
34
|
+
/**
|
|
35
|
+
* Get an existing flexible IP. Retrieve information about an existing flexible IP, specified by its ID and zone. Its full details, including Project ID, description and status, are returned in the response object.
|
|
36
|
+
*
|
|
37
|
+
* @param request - The request {@link GetFlexibleIPRequest}
|
|
38
|
+
* @returns A Promise of FlexibleIP
|
|
39
|
+
*/
|
|
40
|
+
getFlexibleIP = (request) => this.client.fetch(
|
|
41
|
+
{
|
|
42
|
+
method: "GET",
|
|
43
|
+
path: `/flexible-ip/v1alpha1/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam("fipId", request.fipId)}`
|
|
44
|
+
},
|
|
45
|
+
unmarshalFlexibleIP
|
|
46
|
+
);
|
|
47
|
+
/**
|
|
48
|
+
* Waits for {@link FlexibleIP} to be in a final state.
|
|
49
|
+
*
|
|
50
|
+
* @param request - The request {@link GetFlexibleIPRequest}
|
|
51
|
+
* @param options - The waiting options
|
|
52
|
+
* @returns A Promise of FlexibleIP
|
|
53
|
+
*/
|
|
54
|
+
waitForFlexibleIP = (request, options) => waitForResource(
|
|
55
|
+
options?.stop ?? ((res) => Promise.resolve(
|
|
56
|
+
!FLEXIBLE_IP_TRANSIENT_STATUSES.includes(res.status)
|
|
57
|
+
)),
|
|
58
|
+
this.getFlexibleIP,
|
|
59
|
+
request,
|
|
60
|
+
options
|
|
61
|
+
);
|
|
62
|
+
pageOfListFlexibleIPs = (request = {}) => this.client.fetch(
|
|
63
|
+
{
|
|
64
|
+
method: "GET",
|
|
65
|
+
path: `/flexible-ip/v1alpha1/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/fips`,
|
|
66
|
+
urlParams: urlParams(
|
|
67
|
+
["order_by", request.orderBy],
|
|
68
|
+
["organization_id", request.organizationId],
|
|
69
|
+
["page", request.page],
|
|
70
|
+
[
|
|
71
|
+
"page_size",
|
|
72
|
+
request.pageSize ?? this.client.settings.defaultPageSize
|
|
73
|
+
],
|
|
74
|
+
["project_id", request.projectId],
|
|
75
|
+
["server_ids", request.serverIds],
|
|
76
|
+
["status", request.status],
|
|
77
|
+
["tags", request.tags]
|
|
78
|
+
)
|
|
79
|
+
},
|
|
80
|
+
unmarshalListFlexibleIPsResponse
|
|
81
|
+
);
|
|
82
|
+
/**
|
|
83
|
+
* List flexible IPs. List all flexible IPs within a given zone.
|
|
84
|
+
*
|
|
85
|
+
* @param request - The request {@link ListFlexibleIPsRequest}
|
|
86
|
+
* @returns A Promise of ListFlexibleIPsResponse
|
|
87
|
+
*/
|
|
88
|
+
listFlexibleIPs = (request = {}) => enrichForPagination("flexibleIps", this.pageOfListFlexibleIPs, request);
|
|
89
|
+
/**
|
|
90
|
+
* Update an existing flexible IP. Update the parameters of an existing flexible IP, specified by its ID and zone. These parameters include tags and description.
|
|
91
|
+
*
|
|
92
|
+
* @param request - The request {@link UpdateFlexibleIPRequest}
|
|
93
|
+
* @returns A Promise of FlexibleIP
|
|
94
|
+
*/
|
|
95
|
+
updateFlexibleIP = (request) => this.client.fetch(
|
|
96
|
+
{
|
|
97
|
+
body: JSON.stringify(
|
|
98
|
+
marshalUpdateFlexibleIPRequest(request, this.client.settings)
|
|
99
|
+
),
|
|
100
|
+
headers: jsonContentHeaders,
|
|
101
|
+
method: "PATCH",
|
|
102
|
+
path: `/flexible-ip/v1alpha1/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam("fipId", request.fipId)}`
|
|
103
|
+
},
|
|
104
|
+
unmarshalFlexibleIP
|
|
105
|
+
);
|
|
106
|
+
/**
|
|
107
|
+
* Delete an existing flexible IP. Delete an existing flexible IP, specified by its ID and zone. Note that deleting a flexible IP is permanent and cannot be undone.
|
|
108
|
+
*
|
|
109
|
+
* @param request - The request {@link DeleteFlexibleIPRequest}
|
|
110
|
+
*/
|
|
111
|
+
deleteFlexibleIP = (request) => this.client.fetch({
|
|
112
|
+
method: "DELETE",
|
|
113
|
+
path: `/flexible-ip/v1alpha1/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam("fipId", request.fipId)}`
|
|
114
|
+
});
|
|
115
|
+
/**
|
|
116
|
+
* Attach an existing flexible IP to a server. Attach an existing flexible IP to a specified Elastic Metal server.
|
|
117
|
+
*
|
|
118
|
+
* @param request - The request {@link AttachFlexibleIPRequest}
|
|
119
|
+
* @returns A Promise of AttachFlexibleIPsResponse
|
|
120
|
+
*/
|
|
121
|
+
attachFlexibleIP = (request) => this.client.fetch(
|
|
122
|
+
{
|
|
123
|
+
body: JSON.stringify(
|
|
124
|
+
marshalAttachFlexibleIPRequest(request, this.client.settings)
|
|
125
|
+
),
|
|
126
|
+
headers: jsonContentHeaders,
|
|
127
|
+
method: "POST",
|
|
128
|
+
path: `/flexible-ip/v1alpha1/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/fips/attach`
|
|
129
|
+
},
|
|
130
|
+
unmarshalAttachFlexibleIPsResponse
|
|
131
|
+
);
|
|
132
|
+
/**
|
|
133
|
+
* Detach an existing flexible IP from a server. Detach an existing flexible IP from a specified Elastic Metal server.
|
|
134
|
+
*
|
|
135
|
+
* @param request - The request {@link DetachFlexibleIPRequest}
|
|
136
|
+
* @returns A Promise of DetachFlexibleIPsResponse
|
|
137
|
+
*/
|
|
138
|
+
detachFlexibleIP = (request) => this.client.fetch(
|
|
139
|
+
{
|
|
140
|
+
body: JSON.stringify(
|
|
141
|
+
marshalDetachFlexibleIPRequest(request, this.client.settings)
|
|
142
|
+
),
|
|
143
|
+
headers: jsonContentHeaders,
|
|
144
|
+
method: "POST",
|
|
145
|
+
path: `/flexible-ip/v1alpha1/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/fips/detach`
|
|
146
|
+
},
|
|
147
|
+
unmarshalDetachFlexibleIPsResponse
|
|
148
|
+
);
|
|
149
|
+
/**
|
|
150
|
+
* Generate a virtual MAC address on an existing flexible IP. Generate a virtual MAC (Media Access Control) address on an existing flexible IP.
|
|
151
|
+
*
|
|
152
|
+
* @param request - The request {@link GenerateMACAddrRequest}
|
|
153
|
+
* @returns A Promise of FlexibleIP
|
|
154
|
+
*/
|
|
155
|
+
generateMACAddr = (request) => this.client.fetch(
|
|
156
|
+
{
|
|
157
|
+
body: JSON.stringify(
|
|
158
|
+
marshalGenerateMACAddrRequest(request, this.client.settings)
|
|
159
|
+
),
|
|
160
|
+
headers: jsonContentHeaders,
|
|
161
|
+
method: "POST",
|
|
162
|
+
path: `/flexible-ip/v1alpha1/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam("fipId", request.fipId)}/mac`
|
|
163
|
+
},
|
|
164
|
+
unmarshalFlexibleIP
|
|
165
|
+
);
|
|
166
|
+
/**
|
|
167
|
+
* Duplicate a virtual MAC address to another flexible IP. Duplicate a virtual MAC address from a given flexible IP to another flexible IP attached to the same server.
|
|
168
|
+
*
|
|
169
|
+
* @param request - The request {@link DuplicateMACAddrRequest}
|
|
170
|
+
* @returns A Promise of FlexibleIP
|
|
171
|
+
*/
|
|
172
|
+
duplicateMACAddr = (request) => this.client.fetch(
|
|
173
|
+
{
|
|
174
|
+
body: JSON.stringify(
|
|
175
|
+
marshalDuplicateMACAddrRequest(request, this.client.settings)
|
|
176
|
+
),
|
|
177
|
+
headers: jsonContentHeaders,
|
|
178
|
+
method: "POST",
|
|
179
|
+
path: `/flexible-ip/v1alpha1/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam("fipId", request.fipId)}/mac/duplicate`
|
|
180
|
+
},
|
|
181
|
+
unmarshalFlexibleIP
|
|
182
|
+
);
|
|
183
|
+
/**
|
|
184
|
+
* Relocate an existing virtual MAC address to a different flexible IP. Relocate a virtual MAC (Media Access Control) address from an existing flexible IP to a different flexible IP.
|
|
185
|
+
*
|
|
186
|
+
* @param request - The request {@link MoveMACAddrRequest}
|
|
187
|
+
* @returns A Promise of FlexibleIP
|
|
188
|
+
*/
|
|
189
|
+
moveMACAddr = (request) => this.client.fetch(
|
|
190
|
+
{
|
|
191
|
+
body: JSON.stringify(
|
|
192
|
+
marshalMoveMACAddrRequest(request, this.client.settings)
|
|
193
|
+
),
|
|
194
|
+
headers: jsonContentHeaders,
|
|
195
|
+
method: "POST",
|
|
196
|
+
path: `/flexible-ip/v1alpha1/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam("fipId", request.fipId)}/mac/move`
|
|
197
|
+
},
|
|
198
|
+
unmarshalFlexibleIP
|
|
199
|
+
);
|
|
200
|
+
/**
|
|
201
|
+
* Detach a given virtual MAC address from an existing flexible IP. Detach a given MAC (Media Access Control) address from an existing flexible IP.
|
|
202
|
+
*
|
|
203
|
+
* @param request - The request {@link DeleteMACAddrRequest}
|
|
204
|
+
*/
|
|
205
|
+
deleteMACAddr = (request) => this.client.fetch({
|
|
206
|
+
method: "DELETE",
|
|
207
|
+
path: `/flexible-ip/v1alpha1/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam("fipId", request.fipId)}/mac`
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
export {
|
|
211
|
+
API
|
|
212
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const FLEXIBLE_IP_TRANSIENT_STATUSES = [
|
|
4
|
+
"updating",
|
|
5
|
+
"detaching"
|
|
6
|
+
];
|
|
7
|
+
const MAC_ADDRESS_TRANSIENT_STATUSES = [
|
|
8
|
+
"updating",
|
|
9
|
+
"deleting"
|
|
10
|
+
];
|
|
11
|
+
exports.FLEXIBLE_IP_TRANSIENT_STATUSES = FLEXIBLE_IP_TRANSIENT_STATUSES;
|
|
12
|
+
exports.MAC_ADDRESS_TRANSIENT_STATUSES = MAC_ADDRESS_TRANSIENT_STATUSES;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { FlexibleIPStatus, MACAddressStatus } from './types.gen';
|
|
2
|
+
/** Lists transient statutes of the enum {@link FlexibleIPStatus}. */
|
|
3
|
+
export declare const FLEXIBLE_IP_TRANSIENT_STATUSES: FlexibleIPStatus[];
|
|
4
|
+
/** Lists transient statutes of the enum {@link MACAddressStatus}. */
|
|
5
|
+
export declare const MAC_ADDRESS_TRANSIENT_STATUSES: MACAddressStatus[];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const api_gen = require("./api.gen.cjs");
|
|
4
|
+
const content_gen = require("./content.gen.cjs");
|
|
5
|
+
const marshalling_gen = require("./marshalling.gen.cjs");
|
|
6
|
+
const validationRules_gen = require("./validation-rules.gen.cjs");
|
|
7
|
+
exports.API = api_gen.API;
|
|
8
|
+
exports.FLEXIBLE_IP_TRANSIENT_STATUSES = content_gen.FLEXIBLE_IP_TRANSIENT_STATUSES;
|
|
9
|
+
exports.MAC_ADDRESS_TRANSIENT_STATUSES = content_gen.MAC_ADDRESS_TRANSIENT_STATUSES;
|
|
10
|
+
exports.marshalAttachFlexibleIPRequest = marshalling_gen.marshalAttachFlexibleIPRequest;
|
|
11
|
+
exports.marshalCreateFlexibleIPRequest = marshalling_gen.marshalCreateFlexibleIPRequest;
|
|
12
|
+
exports.marshalDetachFlexibleIPRequest = marshalling_gen.marshalDetachFlexibleIPRequest;
|
|
13
|
+
exports.marshalDuplicateMACAddrRequest = marshalling_gen.marshalDuplicateMACAddrRequest;
|
|
14
|
+
exports.marshalGenerateMACAddrRequest = marshalling_gen.marshalGenerateMACAddrRequest;
|
|
15
|
+
exports.marshalMoveMACAddrRequest = marshalling_gen.marshalMoveMACAddrRequest;
|
|
16
|
+
exports.marshalUpdateFlexibleIPRequest = marshalling_gen.marshalUpdateFlexibleIPRequest;
|
|
17
|
+
exports.unmarshalAttachFlexibleIPsResponse = marshalling_gen.unmarshalAttachFlexibleIPsResponse;
|
|
18
|
+
exports.unmarshalDetachFlexibleIPsResponse = marshalling_gen.unmarshalDetachFlexibleIPsResponse;
|
|
19
|
+
exports.unmarshalFlexibleIP = marshalling_gen.unmarshalFlexibleIP;
|
|
20
|
+
exports.unmarshalListFlexibleIPsResponse = marshalling_gen.unmarshalListFlexibleIPsResponse;
|
|
21
|
+
exports.ValidationRules = validationRules_gen;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { API } from './api.gen';
|
|
2
|
+
export * from './content.gen';
|
|
3
|
+
export * from './marshalling.gen';
|
|
4
|
+
export type { AttachFlexibleIPRequest, AttachFlexibleIPsResponse, CreateFlexibleIPRequest, DeleteFlexibleIPRequest, DeleteMACAddrRequest, DetachFlexibleIPRequest, DetachFlexibleIPsResponse, DuplicateMACAddrRequest, FlexibleIP, FlexibleIPStatus, GenerateMACAddrRequest, GetFlexibleIPRequest, ListFlexibleIPsRequest, ListFlexibleIPsRequestOrderBy, ListFlexibleIPsResponse, MACAddress, MACAddressStatus, MACAddressType, MoveMACAddrRequest, UpdateFlexibleIPRequest, } from './types.gen';
|
|
5
|
+
export * as ValidationRules from './validation-rules.gen';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { API } from "./api.gen.js";
|
|
2
|
+
import { FLEXIBLE_IP_TRANSIENT_STATUSES, MAC_ADDRESS_TRANSIENT_STATUSES } from "./content.gen.js";
|
|
3
|
+
import { marshalAttachFlexibleIPRequest, marshalCreateFlexibleIPRequest, marshalDetachFlexibleIPRequest, marshalDuplicateMACAddrRequest, marshalGenerateMACAddrRequest, marshalMoveMACAddrRequest, marshalUpdateFlexibleIPRequest, unmarshalAttachFlexibleIPsResponse, unmarshalDetachFlexibleIPsResponse, unmarshalFlexibleIP, unmarshalListFlexibleIPsResponse } from "./marshalling.gen.js";
|
|
4
|
+
import * as validationRules_gen from "./validation-rules.gen.js";
|
|
5
|
+
export {
|
|
6
|
+
API,
|
|
7
|
+
FLEXIBLE_IP_TRANSIENT_STATUSES,
|
|
8
|
+
MAC_ADDRESS_TRANSIENT_STATUSES,
|
|
9
|
+
validationRules_gen as ValidationRules,
|
|
10
|
+
marshalAttachFlexibleIPRequest,
|
|
11
|
+
marshalCreateFlexibleIPRequest,
|
|
12
|
+
marshalDetachFlexibleIPRequest,
|
|
13
|
+
marshalDuplicateMACAddrRequest,
|
|
14
|
+
marshalGenerateMACAddrRequest,
|
|
15
|
+
marshalMoveMACAddrRequest,
|
|
16
|
+
marshalUpdateFlexibleIPRequest,
|
|
17
|
+
unmarshalAttachFlexibleIPsResponse,
|
|
18
|
+
unmarshalDetachFlexibleIPsResponse,
|
|
19
|
+
unmarshalFlexibleIP,
|
|
20
|
+
unmarshalListFlexibleIPsResponse
|
|
21
|
+
};
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const sdkClient = require("@scaleway/sdk-client");
|
|
4
|
+
const unmarshalMACAddress = (data) => {
|
|
5
|
+
if (!sdkClient.isJSONObject(data)) {
|
|
6
|
+
throw new TypeError(
|
|
7
|
+
`Unmarshalling the type 'MACAddress' failed as data isn't a dictionary.`
|
|
8
|
+
);
|
|
9
|
+
}
|
|
10
|
+
return {
|
|
11
|
+
createdAt: sdkClient.unmarshalDate(data.created_at),
|
|
12
|
+
id: data.id,
|
|
13
|
+
macAddress: data.mac_address,
|
|
14
|
+
macType: data.mac_type,
|
|
15
|
+
status: data.status,
|
|
16
|
+
updatedAt: sdkClient.unmarshalDate(data.updated_at),
|
|
17
|
+
zone: data.zone
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
const unmarshalFlexibleIP = (data) => {
|
|
21
|
+
if (!sdkClient.isJSONObject(data)) {
|
|
22
|
+
throw new TypeError(
|
|
23
|
+
`Unmarshalling the type 'FlexibleIP' failed as data isn't a dictionary.`
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
createdAt: sdkClient.unmarshalDate(data.created_at),
|
|
28
|
+
description: data.description,
|
|
29
|
+
id: data.id,
|
|
30
|
+
ipAddress: data.ip_address,
|
|
31
|
+
macAddress: data.mac_address ? unmarshalMACAddress(data.mac_address) : void 0,
|
|
32
|
+
organizationId: data.organization_id,
|
|
33
|
+
projectId: data.project_id,
|
|
34
|
+
reverse: data.reverse,
|
|
35
|
+
serverId: data.server_id,
|
|
36
|
+
status: data.status,
|
|
37
|
+
tags: data.tags,
|
|
38
|
+
updatedAt: sdkClient.unmarshalDate(data.updated_at),
|
|
39
|
+
zone: data.zone
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
const unmarshalAttachFlexibleIPsResponse = (data) => {
|
|
43
|
+
if (!sdkClient.isJSONObject(data)) {
|
|
44
|
+
throw new TypeError(
|
|
45
|
+
`Unmarshalling the type 'AttachFlexibleIPsResponse' failed as data isn't a dictionary.`
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
flexibleIps: sdkClient.unmarshalArrayOfObject(data.flexible_ips, unmarshalFlexibleIP),
|
|
50
|
+
totalCount: data.total_count
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
const unmarshalDetachFlexibleIPsResponse = (data) => {
|
|
54
|
+
if (!sdkClient.isJSONObject(data)) {
|
|
55
|
+
throw new TypeError(
|
|
56
|
+
`Unmarshalling the type 'DetachFlexibleIPsResponse' failed as data isn't a dictionary.`
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
flexibleIps: sdkClient.unmarshalArrayOfObject(data.flexible_ips, unmarshalFlexibleIP),
|
|
61
|
+
totalCount: data.total_count
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
const unmarshalListFlexibleIPsResponse = (data) => {
|
|
65
|
+
if (!sdkClient.isJSONObject(data)) {
|
|
66
|
+
throw new TypeError(
|
|
67
|
+
`Unmarshalling the type 'ListFlexibleIPsResponse' failed as data isn't a dictionary.`
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
flexibleIps: sdkClient.unmarshalArrayOfObject(data.flexible_ips, unmarshalFlexibleIP),
|
|
72
|
+
totalCount: data.total_count
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
const marshalAttachFlexibleIPRequest = (request, defaults) => ({
|
|
76
|
+
fips_ids: request.fipsIds,
|
|
77
|
+
server_id: request.serverId
|
|
78
|
+
});
|
|
79
|
+
const marshalCreateFlexibleIPRequest = (request, defaults) => ({
|
|
80
|
+
description: request.description,
|
|
81
|
+
is_ipv6: request.isIpv6,
|
|
82
|
+
project_id: request.projectId ?? defaults.defaultProjectId,
|
|
83
|
+
reverse: request.reverse,
|
|
84
|
+
server_id: request.serverId,
|
|
85
|
+
tags: request.tags
|
|
86
|
+
});
|
|
87
|
+
const marshalDetachFlexibleIPRequest = (request, defaults) => ({
|
|
88
|
+
fips_ids: request.fipsIds
|
|
89
|
+
});
|
|
90
|
+
const marshalDuplicateMACAddrRequest = (request, defaults) => ({
|
|
91
|
+
duplicate_from_fip_id: request.duplicateFromFipId
|
|
92
|
+
});
|
|
93
|
+
const marshalGenerateMACAddrRequest = (request, defaults) => ({
|
|
94
|
+
mac_type: request.macType
|
|
95
|
+
});
|
|
96
|
+
const marshalMoveMACAddrRequest = (request, defaults) => ({
|
|
97
|
+
dst_fip_id: request.dstFipId
|
|
98
|
+
});
|
|
99
|
+
const marshalUpdateFlexibleIPRequest = (request, defaults) => ({
|
|
100
|
+
description: request.description,
|
|
101
|
+
reverse: request.reverse,
|
|
102
|
+
tags: request.tags
|
|
103
|
+
});
|
|
104
|
+
exports.marshalAttachFlexibleIPRequest = marshalAttachFlexibleIPRequest;
|
|
105
|
+
exports.marshalCreateFlexibleIPRequest = marshalCreateFlexibleIPRequest;
|
|
106
|
+
exports.marshalDetachFlexibleIPRequest = marshalDetachFlexibleIPRequest;
|
|
107
|
+
exports.marshalDuplicateMACAddrRequest = marshalDuplicateMACAddrRequest;
|
|
108
|
+
exports.marshalGenerateMACAddrRequest = marshalGenerateMACAddrRequest;
|
|
109
|
+
exports.marshalMoveMACAddrRequest = marshalMoveMACAddrRequest;
|
|
110
|
+
exports.marshalUpdateFlexibleIPRequest = marshalUpdateFlexibleIPRequest;
|
|
111
|
+
exports.unmarshalAttachFlexibleIPsResponse = unmarshalAttachFlexibleIPsResponse;
|
|
112
|
+
exports.unmarshalDetachFlexibleIPsResponse = unmarshalDetachFlexibleIPsResponse;
|
|
113
|
+
exports.unmarshalFlexibleIP = unmarshalFlexibleIP;
|
|
114
|
+
exports.unmarshalListFlexibleIPsResponse = unmarshalListFlexibleIPsResponse;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { DefaultValues } from '@scaleway/sdk-client';
|
|
2
|
+
import type { AttachFlexibleIPRequest, AttachFlexibleIPsResponse, CreateFlexibleIPRequest, DetachFlexibleIPRequest, DetachFlexibleIPsResponse, DuplicateMACAddrRequest, FlexibleIP, GenerateMACAddrRequest, ListFlexibleIPsResponse, MoveMACAddrRequest, UpdateFlexibleIPRequest } from './types.gen';
|
|
3
|
+
export declare const unmarshalFlexibleIP: (data: unknown) => FlexibleIP;
|
|
4
|
+
export declare const unmarshalAttachFlexibleIPsResponse: (data: unknown) => AttachFlexibleIPsResponse;
|
|
5
|
+
export declare const unmarshalDetachFlexibleIPsResponse: (data: unknown) => DetachFlexibleIPsResponse;
|
|
6
|
+
export declare const unmarshalListFlexibleIPsResponse: (data: unknown) => ListFlexibleIPsResponse;
|
|
7
|
+
export declare const marshalAttachFlexibleIPRequest: (request: AttachFlexibleIPRequest, defaults: DefaultValues) => Record<string, unknown>;
|
|
8
|
+
export declare const marshalCreateFlexibleIPRequest: (request: CreateFlexibleIPRequest, defaults: DefaultValues) => Record<string, unknown>;
|
|
9
|
+
export declare const marshalDetachFlexibleIPRequest: (request: DetachFlexibleIPRequest, defaults: DefaultValues) => Record<string, unknown>;
|
|
10
|
+
export declare const marshalDuplicateMACAddrRequest: (request: DuplicateMACAddrRequest, defaults: DefaultValues) => Record<string, unknown>;
|
|
11
|
+
export declare const marshalGenerateMACAddrRequest: (request: GenerateMACAddrRequest, defaults: DefaultValues) => Record<string, unknown>;
|
|
12
|
+
export declare const marshalMoveMACAddrRequest: (request: MoveMACAddrRequest, defaults: DefaultValues) => Record<string, unknown>;
|
|
13
|
+
export declare const marshalUpdateFlexibleIPRequest: (request: UpdateFlexibleIPRequest, defaults: DefaultValues) => Record<string, unknown>;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { isJSONObject, unmarshalDate, unmarshalArrayOfObject } from "@scaleway/sdk-client";
|
|
2
|
+
const unmarshalMACAddress = (data) => {
|
|
3
|
+
if (!isJSONObject(data)) {
|
|
4
|
+
throw new TypeError(
|
|
5
|
+
`Unmarshalling the type 'MACAddress' failed as data isn't a dictionary.`
|
|
6
|
+
);
|
|
7
|
+
}
|
|
8
|
+
return {
|
|
9
|
+
createdAt: unmarshalDate(data.created_at),
|
|
10
|
+
id: data.id,
|
|
11
|
+
macAddress: data.mac_address,
|
|
12
|
+
macType: data.mac_type,
|
|
13
|
+
status: data.status,
|
|
14
|
+
updatedAt: unmarshalDate(data.updated_at),
|
|
15
|
+
zone: data.zone
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
const unmarshalFlexibleIP = (data) => {
|
|
19
|
+
if (!isJSONObject(data)) {
|
|
20
|
+
throw new TypeError(
|
|
21
|
+
`Unmarshalling the type 'FlexibleIP' failed as data isn't a dictionary.`
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
createdAt: unmarshalDate(data.created_at),
|
|
26
|
+
description: data.description,
|
|
27
|
+
id: data.id,
|
|
28
|
+
ipAddress: data.ip_address,
|
|
29
|
+
macAddress: data.mac_address ? unmarshalMACAddress(data.mac_address) : void 0,
|
|
30
|
+
organizationId: data.organization_id,
|
|
31
|
+
projectId: data.project_id,
|
|
32
|
+
reverse: data.reverse,
|
|
33
|
+
serverId: data.server_id,
|
|
34
|
+
status: data.status,
|
|
35
|
+
tags: data.tags,
|
|
36
|
+
updatedAt: unmarshalDate(data.updated_at),
|
|
37
|
+
zone: data.zone
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
const unmarshalAttachFlexibleIPsResponse = (data) => {
|
|
41
|
+
if (!isJSONObject(data)) {
|
|
42
|
+
throw new TypeError(
|
|
43
|
+
`Unmarshalling the type 'AttachFlexibleIPsResponse' failed as data isn't a dictionary.`
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
flexibleIps: unmarshalArrayOfObject(data.flexible_ips, unmarshalFlexibleIP),
|
|
48
|
+
totalCount: data.total_count
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
const unmarshalDetachFlexibleIPsResponse = (data) => {
|
|
52
|
+
if (!isJSONObject(data)) {
|
|
53
|
+
throw new TypeError(
|
|
54
|
+
`Unmarshalling the type 'DetachFlexibleIPsResponse' failed as data isn't a dictionary.`
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
flexibleIps: unmarshalArrayOfObject(data.flexible_ips, unmarshalFlexibleIP),
|
|
59
|
+
totalCount: data.total_count
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
const unmarshalListFlexibleIPsResponse = (data) => {
|
|
63
|
+
if (!isJSONObject(data)) {
|
|
64
|
+
throw new TypeError(
|
|
65
|
+
`Unmarshalling the type 'ListFlexibleIPsResponse' failed as data isn't a dictionary.`
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
flexibleIps: unmarshalArrayOfObject(data.flexible_ips, unmarshalFlexibleIP),
|
|
70
|
+
totalCount: data.total_count
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
const marshalAttachFlexibleIPRequest = (request, defaults) => ({
|
|
74
|
+
fips_ids: request.fipsIds,
|
|
75
|
+
server_id: request.serverId
|
|
76
|
+
});
|
|
77
|
+
const marshalCreateFlexibleIPRequest = (request, defaults) => ({
|
|
78
|
+
description: request.description,
|
|
79
|
+
is_ipv6: request.isIpv6,
|
|
80
|
+
project_id: request.projectId ?? defaults.defaultProjectId,
|
|
81
|
+
reverse: request.reverse,
|
|
82
|
+
server_id: request.serverId,
|
|
83
|
+
tags: request.tags
|
|
84
|
+
});
|
|
85
|
+
const marshalDetachFlexibleIPRequest = (request, defaults) => ({
|
|
86
|
+
fips_ids: request.fipsIds
|
|
87
|
+
});
|
|
88
|
+
const marshalDuplicateMACAddrRequest = (request, defaults) => ({
|
|
89
|
+
duplicate_from_fip_id: request.duplicateFromFipId
|
|
90
|
+
});
|
|
91
|
+
const marshalGenerateMACAddrRequest = (request, defaults) => ({
|
|
92
|
+
mac_type: request.macType
|
|
93
|
+
});
|
|
94
|
+
const marshalMoveMACAddrRequest = (request, defaults) => ({
|
|
95
|
+
dst_fip_id: request.dstFipId
|
|
96
|
+
});
|
|
97
|
+
const marshalUpdateFlexibleIPRequest = (request, defaults) => ({
|
|
98
|
+
description: request.description,
|
|
99
|
+
reverse: request.reverse,
|
|
100
|
+
tags: request.tags
|
|
101
|
+
});
|
|
102
|
+
export {
|
|
103
|
+
marshalAttachFlexibleIPRequest,
|
|
104
|
+
marshalCreateFlexibleIPRequest,
|
|
105
|
+
marshalDetachFlexibleIPRequest,
|
|
106
|
+
marshalDuplicateMACAddrRequest,
|
|
107
|
+
marshalGenerateMACAddrRequest,
|
|
108
|
+
marshalMoveMACAddrRequest,
|
|
109
|
+
marshalUpdateFlexibleIPRequest,
|
|
110
|
+
unmarshalAttachFlexibleIPsResponse,
|
|
111
|
+
unmarshalDetachFlexibleIPsResponse,
|
|
112
|
+
unmarshalFlexibleIP,
|
|
113
|
+
unmarshalListFlexibleIPsResponse
|
|
114
|
+
};
|