@scaleway/sdk-baremetal 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 +6 -0
- package/dist/index.gen.d.ts +6 -0
- package/dist/index.gen.js +6 -0
- package/dist/v1/api.gen.cjs +590 -0
- package/dist/v1/api.gen.d.ts +279 -0
- package/dist/v1/api.gen.js +590 -0
- package/dist/v1/content.gen.cjs +19 -0
- package/dist/v1/content.gen.d.ts +7 -0
- package/dist/v1/content.gen.js +19 -0
- package/dist/v1/index.gen.cjs +43 -0
- package/dist/v1/index.gen.d.ts +5 -0
- package/dist/v1/index.gen.js +43 -0
- package/dist/v1/marshalling.gen.cjs +718 -0
- package/dist/v1/marshalling.gen.d.ts +33 -0
- package/dist/v1/marshalling.gen.js +718 -0
- package/dist/v1/types.gen.d.ts +1376 -0
- package/dist/v1/validation-rules.gen.cjs +116 -0
- package/dist/v1/validation-rules.gen.d.ts +104 -0
- package/dist/v1/validation-rules.gen.js +116 -0
- package/dist/v3/api.gen.cjs +99 -0
- package/dist/v3/api.gen.d.ts +41 -0
- package/dist/v3/api.gen.js +99 -0
- package/dist/v3/content.gen.cjs +4 -0
- package/dist/v3/content.gen.d.ts +3 -0
- package/dist/v3/content.gen.js +4 -0
- package/dist/v3/index.gen.cjs +12 -0
- package/dist/v3/index.gen.d.ts +4 -0
- package/dist/v3/index.gen.js +12 -0
- package/dist/v3/marshalling.gen.cjs +60 -0
- package/dist/v3/marshalling.gen.d.ts +7 -0
- package/dist/v3/marshalling.gen.js +60 -0
- package/dist/v3/types.gen.d.ts +132 -0
- package/package.json +51 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const CreateServerRequest = {
|
|
4
|
+
description: {
|
|
5
|
+
maxLength: 255
|
|
6
|
+
},
|
|
7
|
+
name: {
|
|
8
|
+
minLength: 1
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
const CreateServerRequestInstall = {
|
|
12
|
+
hostname: {
|
|
13
|
+
maxLength: 255
|
|
14
|
+
},
|
|
15
|
+
password: {
|
|
16
|
+
maxLength: 255
|
|
17
|
+
},
|
|
18
|
+
servicePassword: {
|
|
19
|
+
maxLength: 255
|
|
20
|
+
},
|
|
21
|
+
serviceUser: {
|
|
22
|
+
maxLength: 255
|
|
23
|
+
},
|
|
24
|
+
user: {
|
|
25
|
+
maxLength: 255
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const InstallServerRequest = {
|
|
29
|
+
hostname: {
|
|
30
|
+
maxLength: 255
|
|
31
|
+
},
|
|
32
|
+
password: {
|
|
33
|
+
maxLength: 255
|
|
34
|
+
},
|
|
35
|
+
servicePassword: {
|
|
36
|
+
maxLength: 255
|
|
37
|
+
},
|
|
38
|
+
serviceUser: {
|
|
39
|
+
maxLength: 255
|
|
40
|
+
},
|
|
41
|
+
user: {
|
|
42
|
+
maxLength: 255
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
const ListOSRequest = {
|
|
46
|
+
page: {
|
|
47
|
+
greaterThan: 0
|
|
48
|
+
},
|
|
49
|
+
pageSize: {
|
|
50
|
+
greaterThan: 0,
|
|
51
|
+
lessThanOrEqual: 100
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
const ListOffersRequest = {
|
|
55
|
+
page: {
|
|
56
|
+
greaterThan: 0
|
|
57
|
+
},
|
|
58
|
+
pageSize: {
|
|
59
|
+
greaterThan: 0,
|
|
60
|
+
lessThanOrEqual: 100
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
const ListOptionsRequest = {
|
|
64
|
+
page: {
|
|
65
|
+
greaterThan: 0
|
|
66
|
+
},
|
|
67
|
+
pageSize: {
|
|
68
|
+
greaterThan: 0,
|
|
69
|
+
lessThanOrEqual: 100
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const ListServerEventsRequest = {
|
|
73
|
+
page: {
|
|
74
|
+
greaterThan: 0
|
|
75
|
+
},
|
|
76
|
+
pageSize: {
|
|
77
|
+
greaterThan: 0,
|
|
78
|
+
lessThanOrEqual: 100
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
const ListServersRequest = {
|
|
82
|
+
page: {
|
|
83
|
+
greaterThan: 0
|
|
84
|
+
},
|
|
85
|
+
pageSize: {
|
|
86
|
+
greaterThan: 0,
|
|
87
|
+
lessThanOrEqual: 100
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
const ListSettingsRequest = {
|
|
91
|
+
page: {
|
|
92
|
+
greaterThan: 0
|
|
93
|
+
},
|
|
94
|
+
pageSize: {
|
|
95
|
+
greaterThan: 0,
|
|
96
|
+
lessThanOrEqual: 100
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
const UpdateServerRequest = {
|
|
100
|
+
description: {
|
|
101
|
+
maxLength: 255
|
|
102
|
+
},
|
|
103
|
+
name: {
|
|
104
|
+
maxLength: 255
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
exports.CreateServerRequest = CreateServerRequest;
|
|
108
|
+
exports.CreateServerRequestInstall = CreateServerRequestInstall;
|
|
109
|
+
exports.InstallServerRequest = InstallServerRequest;
|
|
110
|
+
exports.ListOSRequest = ListOSRequest;
|
|
111
|
+
exports.ListOffersRequest = ListOffersRequest;
|
|
112
|
+
exports.ListOptionsRequest = ListOptionsRequest;
|
|
113
|
+
exports.ListServerEventsRequest = ListServerEventsRequest;
|
|
114
|
+
exports.ListServersRequest = ListServersRequest;
|
|
115
|
+
exports.ListSettingsRequest = ListSettingsRequest;
|
|
116
|
+
exports.UpdateServerRequest = UpdateServerRequest;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
export declare const CreateServerRequest: {
|
|
2
|
+
description: {
|
|
3
|
+
maxLength: number;
|
|
4
|
+
};
|
|
5
|
+
name: {
|
|
6
|
+
minLength: number;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
export declare const CreateServerRequestInstall: {
|
|
10
|
+
hostname: {
|
|
11
|
+
maxLength: number;
|
|
12
|
+
};
|
|
13
|
+
password: {
|
|
14
|
+
maxLength: number;
|
|
15
|
+
};
|
|
16
|
+
servicePassword: {
|
|
17
|
+
maxLength: number;
|
|
18
|
+
};
|
|
19
|
+
serviceUser: {
|
|
20
|
+
maxLength: number;
|
|
21
|
+
};
|
|
22
|
+
user: {
|
|
23
|
+
maxLength: number;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export declare const InstallServerRequest: {
|
|
27
|
+
hostname: {
|
|
28
|
+
maxLength: number;
|
|
29
|
+
};
|
|
30
|
+
password: {
|
|
31
|
+
maxLength: number;
|
|
32
|
+
};
|
|
33
|
+
servicePassword: {
|
|
34
|
+
maxLength: number;
|
|
35
|
+
};
|
|
36
|
+
serviceUser: {
|
|
37
|
+
maxLength: number;
|
|
38
|
+
};
|
|
39
|
+
user: {
|
|
40
|
+
maxLength: number;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
export declare const ListOSRequest: {
|
|
44
|
+
page: {
|
|
45
|
+
greaterThan: number;
|
|
46
|
+
};
|
|
47
|
+
pageSize: {
|
|
48
|
+
greaterThan: number;
|
|
49
|
+
lessThanOrEqual: number;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
export declare const ListOffersRequest: {
|
|
53
|
+
page: {
|
|
54
|
+
greaterThan: number;
|
|
55
|
+
};
|
|
56
|
+
pageSize: {
|
|
57
|
+
greaterThan: number;
|
|
58
|
+
lessThanOrEqual: number;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
export declare const ListOptionsRequest: {
|
|
62
|
+
page: {
|
|
63
|
+
greaterThan: number;
|
|
64
|
+
};
|
|
65
|
+
pageSize: {
|
|
66
|
+
greaterThan: number;
|
|
67
|
+
lessThanOrEqual: number;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
export declare const ListServerEventsRequest: {
|
|
71
|
+
page: {
|
|
72
|
+
greaterThan: number;
|
|
73
|
+
};
|
|
74
|
+
pageSize: {
|
|
75
|
+
greaterThan: number;
|
|
76
|
+
lessThanOrEqual: number;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
export declare const ListServersRequest: {
|
|
80
|
+
page: {
|
|
81
|
+
greaterThan: number;
|
|
82
|
+
};
|
|
83
|
+
pageSize: {
|
|
84
|
+
greaterThan: number;
|
|
85
|
+
lessThanOrEqual: number;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
export declare const ListSettingsRequest: {
|
|
89
|
+
page: {
|
|
90
|
+
greaterThan: number;
|
|
91
|
+
};
|
|
92
|
+
pageSize: {
|
|
93
|
+
greaterThan: number;
|
|
94
|
+
lessThanOrEqual: number;
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
export declare const UpdateServerRequest: {
|
|
98
|
+
description: {
|
|
99
|
+
maxLength: number;
|
|
100
|
+
};
|
|
101
|
+
name: {
|
|
102
|
+
maxLength: number;
|
|
103
|
+
};
|
|
104
|
+
};
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
const CreateServerRequest = {
|
|
2
|
+
description: {
|
|
3
|
+
maxLength: 255
|
|
4
|
+
},
|
|
5
|
+
name: {
|
|
6
|
+
minLength: 1
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
const CreateServerRequestInstall = {
|
|
10
|
+
hostname: {
|
|
11
|
+
maxLength: 255
|
|
12
|
+
},
|
|
13
|
+
password: {
|
|
14
|
+
maxLength: 255
|
|
15
|
+
},
|
|
16
|
+
servicePassword: {
|
|
17
|
+
maxLength: 255
|
|
18
|
+
},
|
|
19
|
+
serviceUser: {
|
|
20
|
+
maxLength: 255
|
|
21
|
+
},
|
|
22
|
+
user: {
|
|
23
|
+
maxLength: 255
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
const InstallServerRequest = {
|
|
27
|
+
hostname: {
|
|
28
|
+
maxLength: 255
|
|
29
|
+
},
|
|
30
|
+
password: {
|
|
31
|
+
maxLength: 255
|
|
32
|
+
},
|
|
33
|
+
servicePassword: {
|
|
34
|
+
maxLength: 255
|
|
35
|
+
},
|
|
36
|
+
serviceUser: {
|
|
37
|
+
maxLength: 255
|
|
38
|
+
},
|
|
39
|
+
user: {
|
|
40
|
+
maxLength: 255
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const ListOSRequest = {
|
|
44
|
+
page: {
|
|
45
|
+
greaterThan: 0
|
|
46
|
+
},
|
|
47
|
+
pageSize: {
|
|
48
|
+
greaterThan: 0,
|
|
49
|
+
lessThanOrEqual: 100
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const ListOffersRequest = {
|
|
53
|
+
page: {
|
|
54
|
+
greaterThan: 0
|
|
55
|
+
},
|
|
56
|
+
pageSize: {
|
|
57
|
+
greaterThan: 0,
|
|
58
|
+
lessThanOrEqual: 100
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const ListOptionsRequest = {
|
|
62
|
+
page: {
|
|
63
|
+
greaterThan: 0
|
|
64
|
+
},
|
|
65
|
+
pageSize: {
|
|
66
|
+
greaterThan: 0,
|
|
67
|
+
lessThanOrEqual: 100
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
const ListServerEventsRequest = {
|
|
71
|
+
page: {
|
|
72
|
+
greaterThan: 0
|
|
73
|
+
},
|
|
74
|
+
pageSize: {
|
|
75
|
+
greaterThan: 0,
|
|
76
|
+
lessThanOrEqual: 100
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
const ListServersRequest = {
|
|
80
|
+
page: {
|
|
81
|
+
greaterThan: 0
|
|
82
|
+
},
|
|
83
|
+
pageSize: {
|
|
84
|
+
greaterThan: 0,
|
|
85
|
+
lessThanOrEqual: 100
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
const ListSettingsRequest = {
|
|
89
|
+
page: {
|
|
90
|
+
greaterThan: 0
|
|
91
|
+
},
|
|
92
|
+
pageSize: {
|
|
93
|
+
greaterThan: 0,
|
|
94
|
+
lessThanOrEqual: 100
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
const UpdateServerRequest = {
|
|
98
|
+
description: {
|
|
99
|
+
maxLength: 255
|
|
100
|
+
},
|
|
101
|
+
name: {
|
|
102
|
+
maxLength: 255
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
export {
|
|
106
|
+
CreateServerRequest,
|
|
107
|
+
CreateServerRequestInstall,
|
|
108
|
+
InstallServerRequest,
|
|
109
|
+
ListOSRequest,
|
|
110
|
+
ListOffersRequest,
|
|
111
|
+
ListOptionsRequest,
|
|
112
|
+
ListServerEventsRequest,
|
|
113
|
+
ListServersRequest,
|
|
114
|
+
ListSettingsRequest,
|
|
115
|
+
UpdateServerRequest
|
|
116
|
+
};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const sdkClient = require("@scaleway/sdk-client");
|
|
4
|
+
const marshalling_gen = require("./marshalling.gen.cjs");
|
|
5
|
+
const jsonContentHeaders = {
|
|
6
|
+
"Content-Type": "application/json; charset=utf-8"
|
|
7
|
+
};
|
|
8
|
+
class PrivateNetworkAPI extends sdkClient.API {
|
|
9
|
+
/** Lists the available zones of the API. */
|
|
10
|
+
static LOCALITIES = [
|
|
11
|
+
"fr-par-1",
|
|
12
|
+
"fr-par-2",
|
|
13
|
+
"nl-ams-1",
|
|
14
|
+
"nl-ams-2",
|
|
15
|
+
"pl-waw-2",
|
|
16
|
+
"pl-waw-3"
|
|
17
|
+
];
|
|
18
|
+
/**
|
|
19
|
+
* Add a server to a Private Network. Add an Elastic Metal server to a Private Network.
|
|
20
|
+
*
|
|
21
|
+
* @param request - The request {@link PrivateNetworkApiAddServerPrivateNetworkRequest}
|
|
22
|
+
* @returns A Promise of ServerPrivateNetwork
|
|
23
|
+
*/
|
|
24
|
+
addServerPrivateNetwork = (request) => this.client.fetch(
|
|
25
|
+
{
|
|
26
|
+
body: JSON.stringify(
|
|
27
|
+
marshalling_gen.marshalPrivateNetworkApiAddServerPrivateNetworkRequest(
|
|
28
|
+
request,
|
|
29
|
+
this.client.settings
|
|
30
|
+
)
|
|
31
|
+
),
|
|
32
|
+
headers: jsonContentHeaders,
|
|
33
|
+
method: "POST",
|
|
34
|
+
path: `/baremetal/v3/zones/${sdkClient.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/servers/${sdkClient.validatePathParam("serverId", request.serverId)}/private-networks`
|
|
35
|
+
},
|
|
36
|
+
marshalling_gen.unmarshalServerPrivateNetwork
|
|
37
|
+
);
|
|
38
|
+
/**
|
|
39
|
+
* Set multiple Private Networks on a server. Configure multiple Private Networks on an Elastic Metal server.
|
|
40
|
+
*
|
|
41
|
+
* @param request - The request {@link PrivateNetworkApiSetServerPrivateNetworksRequest}
|
|
42
|
+
* @returns A Promise of SetServerPrivateNetworksResponse
|
|
43
|
+
*/
|
|
44
|
+
setServerPrivateNetworks = (request) => this.client.fetch(
|
|
45
|
+
{
|
|
46
|
+
body: JSON.stringify(
|
|
47
|
+
marshalling_gen.marshalPrivateNetworkApiSetServerPrivateNetworksRequest(
|
|
48
|
+
request,
|
|
49
|
+
this.client.settings
|
|
50
|
+
)
|
|
51
|
+
),
|
|
52
|
+
headers: jsonContentHeaders,
|
|
53
|
+
method: "PUT",
|
|
54
|
+
path: `/baremetal/v3/zones/${sdkClient.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/servers/${sdkClient.validatePathParam("serverId", request.serverId)}/private-networks`
|
|
55
|
+
},
|
|
56
|
+
marshalling_gen.unmarshalSetServerPrivateNetworksResponse
|
|
57
|
+
);
|
|
58
|
+
pageOfListServerPrivateNetworks = (request = {}) => this.client.fetch(
|
|
59
|
+
{
|
|
60
|
+
method: "GET",
|
|
61
|
+
path: `/baremetal/v3/zones/${sdkClient.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/server-private-networks`,
|
|
62
|
+
urlParams: sdkClient.urlParams(
|
|
63
|
+
["ipam_ip_ids", request.ipamIpIds],
|
|
64
|
+
["order_by", request.orderBy],
|
|
65
|
+
["organization_id", request.organizationId],
|
|
66
|
+
["page", request.page],
|
|
67
|
+
[
|
|
68
|
+
"page_size",
|
|
69
|
+
request.pageSize ?? this.client.settings.defaultPageSize
|
|
70
|
+
],
|
|
71
|
+
["private_network_id", request.privateNetworkId],
|
|
72
|
+
["project_id", request.projectId],
|
|
73
|
+
["server_id", request.serverId]
|
|
74
|
+
)
|
|
75
|
+
},
|
|
76
|
+
marshalling_gen.unmarshalListServerPrivateNetworksResponse
|
|
77
|
+
);
|
|
78
|
+
/**
|
|
79
|
+
* List the Private Networks of a server. List the Private Networks of an Elastic Metal server.
|
|
80
|
+
*
|
|
81
|
+
* @param request - The request {@link PrivateNetworkApiListServerPrivateNetworksRequest}
|
|
82
|
+
* @returns A Promise of ListServerPrivateNetworksResponse
|
|
83
|
+
*/
|
|
84
|
+
listServerPrivateNetworks = (request = {}) => sdkClient.enrichForPagination(
|
|
85
|
+
"serverPrivateNetworks",
|
|
86
|
+
this.pageOfListServerPrivateNetworks,
|
|
87
|
+
request
|
|
88
|
+
);
|
|
89
|
+
/**
|
|
90
|
+
* Delete a Private Network.
|
|
91
|
+
*
|
|
92
|
+
* @param request - The request {@link PrivateNetworkApiDeleteServerPrivateNetworkRequest}
|
|
93
|
+
*/
|
|
94
|
+
deleteServerPrivateNetwork = (request) => this.client.fetch({
|
|
95
|
+
method: "DELETE",
|
|
96
|
+
path: `/baremetal/v3/zones/${sdkClient.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/servers/${sdkClient.validatePathParam("serverId", request.serverId)}/private-networks/${sdkClient.validatePathParam("privateNetworkId", request.privateNetworkId)}`
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
exports.PrivateNetworkAPI = PrivateNetworkAPI;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { API as ParentAPI } from '@scaleway/sdk-client';
|
|
2
|
+
import type { Zone as ScwZone } from '@scaleway/sdk-client';
|
|
3
|
+
import type { ListServerPrivateNetworksResponse, PrivateNetworkApiAddServerPrivateNetworkRequest, PrivateNetworkApiDeleteServerPrivateNetworkRequest, PrivateNetworkApiListServerPrivateNetworksRequest, PrivateNetworkApiSetServerPrivateNetworksRequest, ServerPrivateNetwork, SetServerPrivateNetworksResponse } from './types.gen';
|
|
4
|
+
/**
|
|
5
|
+
* Elastic Metal - Private Networks API.
|
|
6
|
+
*/
|
|
7
|
+
export declare class PrivateNetworkAPI extends ParentAPI {
|
|
8
|
+
/** Lists the available zones of the API. */
|
|
9
|
+
static readonly LOCALITIES: ScwZone[];
|
|
10
|
+
/**
|
|
11
|
+
* Add a server to a Private Network. Add an Elastic Metal server to a Private Network.
|
|
12
|
+
*
|
|
13
|
+
* @param request - The request {@link PrivateNetworkApiAddServerPrivateNetworkRequest}
|
|
14
|
+
* @returns A Promise of ServerPrivateNetwork
|
|
15
|
+
*/
|
|
16
|
+
addServerPrivateNetwork: (request: Readonly<PrivateNetworkApiAddServerPrivateNetworkRequest>) => Promise<ServerPrivateNetwork>;
|
|
17
|
+
/**
|
|
18
|
+
* Set multiple Private Networks on a server. Configure multiple Private Networks on an Elastic Metal server.
|
|
19
|
+
*
|
|
20
|
+
* @param request - The request {@link PrivateNetworkApiSetServerPrivateNetworksRequest}
|
|
21
|
+
* @returns A Promise of SetServerPrivateNetworksResponse
|
|
22
|
+
*/
|
|
23
|
+
setServerPrivateNetworks: (request: Readonly<PrivateNetworkApiSetServerPrivateNetworksRequest>) => Promise<SetServerPrivateNetworksResponse>;
|
|
24
|
+
protected pageOfListServerPrivateNetworks: (request?: Readonly<PrivateNetworkApiListServerPrivateNetworksRequest>) => Promise<ListServerPrivateNetworksResponse>;
|
|
25
|
+
/**
|
|
26
|
+
* List the Private Networks of a server. List the Private Networks of an Elastic Metal server.
|
|
27
|
+
*
|
|
28
|
+
* @param request - The request {@link PrivateNetworkApiListServerPrivateNetworksRequest}
|
|
29
|
+
* @returns A Promise of ListServerPrivateNetworksResponse
|
|
30
|
+
*/
|
|
31
|
+
listServerPrivateNetworks: (request?: Readonly<PrivateNetworkApiListServerPrivateNetworksRequest>) => Promise<ListServerPrivateNetworksResponse> & {
|
|
32
|
+
all: () => Promise<ServerPrivateNetwork[]>;
|
|
33
|
+
[Symbol.asyncIterator]: () => AsyncGenerator<ServerPrivateNetwork[], void, void>;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Delete a Private Network.
|
|
37
|
+
*
|
|
38
|
+
* @param request - The request {@link PrivateNetworkApiDeleteServerPrivateNetworkRequest}
|
|
39
|
+
*/
|
|
40
|
+
deleteServerPrivateNetwork: (request: Readonly<PrivateNetworkApiDeleteServerPrivateNetworkRequest>) => Promise<void>;
|
|
41
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { API as API$1, validatePathParam, urlParams, enrichForPagination } from "@scaleway/sdk-client";
|
|
2
|
+
import { marshalPrivateNetworkApiAddServerPrivateNetworkRequest, unmarshalServerPrivateNetwork, marshalPrivateNetworkApiSetServerPrivateNetworksRequest, unmarshalSetServerPrivateNetworksResponse, unmarshalListServerPrivateNetworksResponse } from "./marshalling.gen.js";
|
|
3
|
+
const jsonContentHeaders = {
|
|
4
|
+
"Content-Type": "application/json; charset=utf-8"
|
|
5
|
+
};
|
|
6
|
+
class PrivateNetworkAPI extends API$1 {
|
|
7
|
+
/** Lists the available zones of the API. */
|
|
8
|
+
static LOCALITIES = [
|
|
9
|
+
"fr-par-1",
|
|
10
|
+
"fr-par-2",
|
|
11
|
+
"nl-ams-1",
|
|
12
|
+
"nl-ams-2",
|
|
13
|
+
"pl-waw-2",
|
|
14
|
+
"pl-waw-3"
|
|
15
|
+
];
|
|
16
|
+
/**
|
|
17
|
+
* Add a server to a Private Network. Add an Elastic Metal server to a Private Network.
|
|
18
|
+
*
|
|
19
|
+
* @param request - The request {@link PrivateNetworkApiAddServerPrivateNetworkRequest}
|
|
20
|
+
* @returns A Promise of ServerPrivateNetwork
|
|
21
|
+
*/
|
|
22
|
+
addServerPrivateNetwork = (request) => this.client.fetch(
|
|
23
|
+
{
|
|
24
|
+
body: JSON.stringify(
|
|
25
|
+
marshalPrivateNetworkApiAddServerPrivateNetworkRequest(
|
|
26
|
+
request,
|
|
27
|
+
this.client.settings
|
|
28
|
+
)
|
|
29
|
+
),
|
|
30
|
+
headers: jsonContentHeaders,
|
|
31
|
+
method: "POST",
|
|
32
|
+
path: `/baremetal/v3/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam("serverId", request.serverId)}/private-networks`
|
|
33
|
+
},
|
|
34
|
+
unmarshalServerPrivateNetwork
|
|
35
|
+
);
|
|
36
|
+
/**
|
|
37
|
+
* Set multiple Private Networks on a server. Configure multiple Private Networks on an Elastic Metal server.
|
|
38
|
+
*
|
|
39
|
+
* @param request - The request {@link PrivateNetworkApiSetServerPrivateNetworksRequest}
|
|
40
|
+
* @returns A Promise of SetServerPrivateNetworksResponse
|
|
41
|
+
*/
|
|
42
|
+
setServerPrivateNetworks = (request) => this.client.fetch(
|
|
43
|
+
{
|
|
44
|
+
body: JSON.stringify(
|
|
45
|
+
marshalPrivateNetworkApiSetServerPrivateNetworksRequest(
|
|
46
|
+
request,
|
|
47
|
+
this.client.settings
|
|
48
|
+
)
|
|
49
|
+
),
|
|
50
|
+
headers: jsonContentHeaders,
|
|
51
|
+
method: "PUT",
|
|
52
|
+
path: `/baremetal/v3/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam("serverId", request.serverId)}/private-networks`
|
|
53
|
+
},
|
|
54
|
+
unmarshalSetServerPrivateNetworksResponse
|
|
55
|
+
);
|
|
56
|
+
pageOfListServerPrivateNetworks = (request = {}) => this.client.fetch(
|
|
57
|
+
{
|
|
58
|
+
method: "GET",
|
|
59
|
+
path: `/baremetal/v3/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/server-private-networks`,
|
|
60
|
+
urlParams: urlParams(
|
|
61
|
+
["ipam_ip_ids", request.ipamIpIds],
|
|
62
|
+
["order_by", request.orderBy],
|
|
63
|
+
["organization_id", request.organizationId],
|
|
64
|
+
["page", request.page],
|
|
65
|
+
[
|
|
66
|
+
"page_size",
|
|
67
|
+
request.pageSize ?? this.client.settings.defaultPageSize
|
|
68
|
+
],
|
|
69
|
+
["private_network_id", request.privateNetworkId],
|
|
70
|
+
["project_id", request.projectId],
|
|
71
|
+
["server_id", request.serverId]
|
|
72
|
+
)
|
|
73
|
+
},
|
|
74
|
+
unmarshalListServerPrivateNetworksResponse
|
|
75
|
+
);
|
|
76
|
+
/**
|
|
77
|
+
* List the Private Networks of a server. List the Private Networks of an Elastic Metal server.
|
|
78
|
+
*
|
|
79
|
+
* @param request - The request {@link PrivateNetworkApiListServerPrivateNetworksRequest}
|
|
80
|
+
* @returns A Promise of ListServerPrivateNetworksResponse
|
|
81
|
+
*/
|
|
82
|
+
listServerPrivateNetworks = (request = {}) => enrichForPagination(
|
|
83
|
+
"serverPrivateNetworks",
|
|
84
|
+
this.pageOfListServerPrivateNetworks,
|
|
85
|
+
request
|
|
86
|
+
);
|
|
87
|
+
/**
|
|
88
|
+
* Delete a Private Network.
|
|
89
|
+
*
|
|
90
|
+
* @param request - The request {@link PrivateNetworkApiDeleteServerPrivateNetworkRequest}
|
|
91
|
+
*/
|
|
92
|
+
deleteServerPrivateNetwork = (request) => this.client.fetch({
|
|
93
|
+
method: "DELETE",
|
|
94
|
+
path: `/baremetal/v3/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam("serverId", request.serverId)}/private-networks/${validatePathParam("privateNetworkId", request.privateNetworkId)}`
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
export {
|
|
98
|
+
PrivateNetworkAPI
|
|
99
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
exports.PrivateNetworkAPI = api_gen.PrivateNetworkAPI;
|
|
7
|
+
exports.SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES = content_gen.SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES;
|
|
8
|
+
exports.marshalPrivateNetworkApiAddServerPrivateNetworkRequest = marshalling_gen.marshalPrivateNetworkApiAddServerPrivateNetworkRequest;
|
|
9
|
+
exports.marshalPrivateNetworkApiSetServerPrivateNetworksRequest = marshalling_gen.marshalPrivateNetworkApiSetServerPrivateNetworksRequest;
|
|
10
|
+
exports.unmarshalListServerPrivateNetworksResponse = marshalling_gen.unmarshalListServerPrivateNetworksResponse;
|
|
11
|
+
exports.unmarshalServerPrivateNetwork = marshalling_gen.unmarshalServerPrivateNetwork;
|
|
12
|
+
exports.unmarshalSetServerPrivateNetworksResponse = marshalling_gen.unmarshalSetServerPrivateNetworksResponse;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { PrivateNetworkAPI } from './api.gen';
|
|
2
|
+
export * from './content.gen';
|
|
3
|
+
export * from './marshalling.gen';
|
|
4
|
+
export type { ListServerPrivateNetworksRequestOrderBy, ListServerPrivateNetworksResponse, PrivateNetworkApiAddServerPrivateNetworkRequest, PrivateNetworkApiDeleteServerPrivateNetworkRequest, PrivateNetworkApiListServerPrivateNetworksRequest, PrivateNetworkApiSetServerPrivateNetworksRequest, ServerPrivateNetwork, ServerPrivateNetworkStatus, SetServerPrivateNetworksResponse, } from './types.gen';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PrivateNetworkAPI } from "./api.gen.js";
|
|
2
|
+
import { SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES } from "./content.gen.js";
|
|
3
|
+
import { marshalPrivateNetworkApiAddServerPrivateNetworkRequest, marshalPrivateNetworkApiSetServerPrivateNetworksRequest, unmarshalListServerPrivateNetworksResponse, unmarshalServerPrivateNetwork, unmarshalSetServerPrivateNetworksResponse } from "./marshalling.gen.js";
|
|
4
|
+
export {
|
|
5
|
+
PrivateNetworkAPI,
|
|
6
|
+
SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES,
|
|
7
|
+
marshalPrivateNetworkApiAddServerPrivateNetworkRequest,
|
|
8
|
+
marshalPrivateNetworkApiSetServerPrivateNetworksRequest,
|
|
9
|
+
unmarshalListServerPrivateNetworksResponse,
|
|
10
|
+
unmarshalServerPrivateNetwork,
|
|
11
|
+
unmarshalSetServerPrivateNetworksResponse
|
|
12
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const sdkClient = require("@scaleway/sdk-client");
|
|
4
|
+
const unmarshalServerPrivateNetwork = (data) => {
|
|
5
|
+
if (!sdkClient.isJSONObject(data)) {
|
|
6
|
+
throw new TypeError(
|
|
7
|
+
`Unmarshalling the type 'ServerPrivateNetwork' failed as data isn't a dictionary.`
|
|
8
|
+
);
|
|
9
|
+
}
|
|
10
|
+
return {
|
|
11
|
+
createdAt: sdkClient.unmarshalDate(data.created_at),
|
|
12
|
+
id: data.id,
|
|
13
|
+
ipamIpIds: data.ipam_ip_ids,
|
|
14
|
+
privateNetworkId: data.private_network_id,
|
|
15
|
+
projectId: data.project_id,
|
|
16
|
+
serverId: data.server_id,
|
|
17
|
+
status: data.status,
|
|
18
|
+
updatedAt: sdkClient.unmarshalDate(data.updated_at),
|
|
19
|
+
vlan: data.vlan
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
const unmarshalListServerPrivateNetworksResponse = (data) => {
|
|
23
|
+
if (!sdkClient.isJSONObject(data)) {
|
|
24
|
+
throw new TypeError(
|
|
25
|
+
`Unmarshalling the type 'ListServerPrivateNetworksResponse' failed as data isn't a dictionary.`
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
serverPrivateNetworks: sdkClient.unmarshalArrayOfObject(
|
|
30
|
+
data.server_private_networks,
|
|
31
|
+
unmarshalServerPrivateNetwork
|
|
32
|
+
),
|
|
33
|
+
totalCount: data.total_count
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
const unmarshalSetServerPrivateNetworksResponse = (data) => {
|
|
37
|
+
if (!sdkClient.isJSONObject(data)) {
|
|
38
|
+
throw new TypeError(
|
|
39
|
+
`Unmarshalling the type 'SetServerPrivateNetworksResponse' failed as data isn't a dictionary.`
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
serverPrivateNetworks: sdkClient.unmarshalArrayOfObject(
|
|
44
|
+
data.server_private_networks,
|
|
45
|
+
unmarshalServerPrivateNetwork
|
|
46
|
+
)
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
const marshalPrivateNetworkApiAddServerPrivateNetworkRequest = (request, defaults) => ({
|
|
50
|
+
ipam_ip_ids: request.ipamIpIds,
|
|
51
|
+
private_network_id: request.privateNetworkId
|
|
52
|
+
});
|
|
53
|
+
const marshalPrivateNetworkApiSetServerPrivateNetworksRequest = (request, defaults) => ({
|
|
54
|
+
per_private_network_ipam_ip_ids: request.perPrivateNetworkIpamIpIds
|
|
55
|
+
});
|
|
56
|
+
exports.marshalPrivateNetworkApiAddServerPrivateNetworkRequest = marshalPrivateNetworkApiAddServerPrivateNetworkRequest;
|
|
57
|
+
exports.marshalPrivateNetworkApiSetServerPrivateNetworksRequest = marshalPrivateNetworkApiSetServerPrivateNetworksRequest;
|
|
58
|
+
exports.unmarshalListServerPrivateNetworksResponse = unmarshalListServerPrivateNetworksResponse;
|
|
59
|
+
exports.unmarshalServerPrivateNetwork = unmarshalServerPrivateNetwork;
|
|
60
|
+
exports.unmarshalSetServerPrivateNetworksResponse = unmarshalSetServerPrivateNetworksResponse;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DefaultValues } from '@scaleway/sdk-client';
|
|
2
|
+
import type { ListServerPrivateNetworksResponse, PrivateNetworkApiAddServerPrivateNetworkRequest, PrivateNetworkApiSetServerPrivateNetworksRequest, ServerPrivateNetwork, SetServerPrivateNetworksResponse } from './types.gen';
|
|
3
|
+
export declare const unmarshalServerPrivateNetwork: (data: unknown) => ServerPrivateNetwork;
|
|
4
|
+
export declare const unmarshalListServerPrivateNetworksResponse: (data: unknown) => ListServerPrivateNetworksResponse;
|
|
5
|
+
export declare const unmarshalSetServerPrivateNetworksResponse: (data: unknown) => SetServerPrivateNetworksResponse;
|
|
6
|
+
export declare const marshalPrivateNetworkApiAddServerPrivateNetworkRequest: (request: PrivateNetworkApiAddServerPrivateNetworkRequest, defaults: DefaultValues) => Record<string, unknown>;
|
|
7
|
+
export declare const marshalPrivateNetworkApiSetServerPrivateNetworksRequest: (request: PrivateNetworkApiSetServerPrivateNetworksRequest, defaults: DefaultValues) => Record<string, unknown>;
|