@scaleway/sdk 2.49.0 → 2.50.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.
Files changed (47) hide show
  1. package/dist/api/baremetal/index.gen.cjs +2 -0
  2. package/dist/api/baremetal/index.gen.d.ts +1 -0
  3. package/dist/api/baremetal/index.gen.js +3 -1
  4. package/dist/api/baremetal/v3/api.gen.cjs +109 -0
  5. package/dist/api/baremetal/v3/api.gen.d.ts +46 -0
  6. package/dist/api/baremetal/v3/api.gen.js +109 -0
  7. package/dist/api/baremetal/v3/content.gen.cjs +4 -0
  8. package/dist/api/baremetal/v3/content.gen.d.ts +3 -0
  9. package/dist/api/baremetal/v3/content.gen.js +4 -0
  10. package/dist/api/baremetal/v3/index.gen.cjs +6 -0
  11. package/dist/api/baremetal/v3/index.gen.d.ts +3 -0
  12. package/dist/api/baremetal/v3/index.gen.js +6 -0
  13. package/dist/api/baremetal/v3/marshalling.gen.cjs +62 -0
  14. package/dist/api/baremetal/v3/marshalling.gen.d.ts +7 -0
  15. package/dist/api/baremetal/v3/marshalling.gen.js +62 -0
  16. package/dist/api/baremetal/v3/types.gen.d.ts +82 -0
  17. package/dist/api/dedibox/v1/types.gen.d.ts +1 -1
  18. package/dist/api/edge_services/v1alpha1/api.gen.cjs +14 -0
  19. package/dist/api/edge_services/v1alpha1/api.gen.d.ts +9 -1
  20. package/dist/api/edge_services/v1alpha1/api.gen.js +15 -1
  21. package/dist/api/edge_services/v1alpha1/index.gen.d.ts +1 -1
  22. package/dist/api/edge_services/v1alpha1/marshalling.gen.cjs +31 -13
  23. package/dist/api/edge_services/v1alpha1/marshalling.gen.d.ts +2 -1
  24. package/dist/api/edge_services/v1alpha1/marshalling.gen.js +31 -13
  25. package/dist/api/edge_services/v1alpha1/types.gen.d.ts +28 -1
  26. package/dist/api/iam/v1alpha1/marshalling.gen.cjs +8 -0
  27. package/dist/api/iam/v1alpha1/marshalling.gen.js +8 -0
  28. package/dist/api/iam/v1alpha1/types.gen.d.ts +16 -0
  29. package/dist/api/jobs/v1alpha1/api.gen.cjs +46 -0
  30. package/dist/api/jobs/v1alpha1/api.gen.d.ts +6 -1
  31. package/dist/api/jobs/v1alpha1/api.gen.js +47 -1
  32. package/dist/api/jobs/v1alpha1/index.gen.d.ts +1 -1
  33. package/dist/api/jobs/v1alpha1/marshalling.gen.cjs +80 -0
  34. package/dist/api/jobs/v1alpha1/marshalling.gen.d.ts +6 -1
  35. package/dist/api/jobs/v1alpha1/marshalling.gen.js +81 -1
  36. package/dist/api/jobs/v1alpha1/types.gen.d.ts +81 -0
  37. package/dist/api/jobs/v1alpha1/validation-rules.gen.cjs +12 -0
  38. package/dist/api/jobs/v1alpha1/validation-rules.gen.d.ts +10 -0
  39. package/dist/api/jobs/v1alpha1/validation-rules.gen.js +13 -1
  40. package/dist/api/tem/v1alpha1/index.gen.d.ts +1 -1
  41. package/dist/api/tem/v1alpha1/marshalling.gen.cjs +13 -0
  42. package/dist/api/tem/v1alpha1/marshalling.gen.js +13 -0
  43. package/dist/api/tem/v1alpha1/types.gen.d.ts +13 -2
  44. package/dist/scw/constants.cjs +1 -1
  45. package/dist/scw/constants.d.ts +2 -2
  46. package/dist/scw/constants.js +1 -1
  47. package/package.json +2 -2
@@ -1,4 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const index = require("./v1/index.cjs");
4
+ const index_gen = require("./v3/index.gen.cjs");
4
5
  exports.v1 = index;
6
+ exports.v3 = index_gen;
@@ -3,3 +3,4 @@
3
3
  * EDIT HERE
4
4
  */
5
5
  export * as v1 from './v1/index';
6
+ export * as v3 from './v3/index.gen';
@@ -1,4 +1,6 @@
1
1
  import * as index from "./v1/index.js";
2
+ import * as index_gen from "./v3/index.gen.js";
2
3
  export {
3
- index as v1
4
+ index as v1,
5
+ index_gen as v3
4
6
  };
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const api = require("../../../scw/api.cjs");
4
+ const marshalling = require("../../../helpers/marshalling.cjs");
5
+ require("../../../vendor/base64/index.cjs");
6
+ const resourcePaginator = require("../../../scw/fetch/resource-paginator.cjs");
7
+ const marshalling_gen = require("./marshalling.gen.cjs");
8
+ const jsonContentHeaders = {
9
+ "Content-Type": "application/json; charset=utf-8"
10
+ };
11
+ class PrivateNetworkAPI extends api.API {
12
+ /** Lists the available zones of the API. */
13
+ static LOCALITIES = [
14
+ "fr-par-1",
15
+ "fr-par-2",
16
+ "nl-ams-1",
17
+ "nl-ams-2",
18
+ "pl-waw-2",
19
+ "pl-waw-3"
20
+ ];
21
+ /**
22
+ * Add a server to a Private Network. Add an Elastic Metal server to a Private
23
+ * Network.
24
+ *
25
+ * @param request - The request
26
+ * {@link PrivateNetworkApiAddServerPrivateNetworkRequest}
27
+ * @returns A Promise of ServerPrivateNetwork
28
+ */
29
+ addServerPrivateNetwork = (request) => this.client.fetch(
30
+ {
31
+ body: JSON.stringify(
32
+ marshalling_gen.marshalPrivateNetworkApiAddServerPrivateNetworkRequest(
33
+ request,
34
+ this.client.settings
35
+ )
36
+ ),
37
+ headers: jsonContentHeaders,
38
+ method: "POST",
39
+ path: `/baremetal/v3/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/servers/${marshalling.validatePathParam("serverId", request.serverId)}/private-networks`
40
+ },
41
+ marshalling_gen.unmarshalServerPrivateNetwork
42
+ );
43
+ /**
44
+ * Set multiple Private Networks on a server. Configure multiple Private
45
+ * Networks on an Elastic Metal server.
46
+ *
47
+ * @param request - The request
48
+ * {@link PrivateNetworkApiSetServerPrivateNetworksRequest}
49
+ * @returns A Promise of SetServerPrivateNetworksResponse
50
+ */
51
+ setServerPrivateNetworks = (request) => this.client.fetch(
52
+ {
53
+ body: JSON.stringify(
54
+ marshalling_gen.marshalPrivateNetworkApiSetServerPrivateNetworksRequest(
55
+ request,
56
+ this.client.settings
57
+ )
58
+ ),
59
+ headers: jsonContentHeaders,
60
+ method: "PUT",
61
+ path: `/baremetal/v3/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/servers/${marshalling.validatePathParam("serverId", request.serverId)}/private-networks`
62
+ },
63
+ marshalling_gen.unmarshalSetServerPrivateNetworksResponse
64
+ );
65
+ pageOfListServerPrivateNetworks = (request = {}) => this.client.fetch(
66
+ {
67
+ method: "GET",
68
+ path: `/baremetal/v3/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/server-private-networks`,
69
+ urlParams: marshalling.urlParams(
70
+ ["ipam_ip_ids", request.ipamIpIds],
71
+ ["order_by", request.orderBy],
72
+ ["organization_id", request.organizationId],
73
+ ["page", request.page],
74
+ [
75
+ "page_size",
76
+ request.pageSize ?? this.client.settings.defaultPageSize
77
+ ],
78
+ ["private_network_id", request.privateNetworkId],
79
+ ["project_id", request.projectId],
80
+ ["server_id", request.serverId]
81
+ )
82
+ },
83
+ marshalling_gen.unmarshalListServerPrivateNetworksResponse
84
+ );
85
+ /**
86
+ * List the Private Networks of a server. List the Private Networks of an
87
+ * Elastic Metal server.
88
+ *
89
+ * @param request - The request
90
+ * {@link PrivateNetworkApiListServerPrivateNetworksRequest}
91
+ * @returns A Promise of ListServerPrivateNetworksResponse
92
+ */
93
+ listServerPrivateNetworks = (request = {}) => resourcePaginator.enrichForPagination(
94
+ "serverPrivateNetworks",
95
+ this.pageOfListServerPrivateNetworks,
96
+ request
97
+ );
98
+ /**
99
+ * Delete a Private Network.
100
+ *
101
+ * @param request - The request
102
+ * {@link PrivateNetworkApiDeleteServerPrivateNetworkRequest}
103
+ */
104
+ deleteServerPrivateNetwork = (request) => this.client.fetch({
105
+ method: "DELETE",
106
+ path: `/baremetal/v3/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/servers/${marshalling.validatePathParam("serverId", request.serverId)}/private-networks/${marshalling.validatePathParam("privateNetworkId", request.privateNetworkId)}`
107
+ });
108
+ }
109
+ exports.PrivateNetworkAPI = PrivateNetworkAPI;
@@ -0,0 +1,46 @@
1
+ import { API as ParentAPI } from '../../../bridge';
2
+ import type { Zone } from '../../../bridge';
3
+ import type { ListServerPrivateNetworksResponse, PrivateNetworkApiAddServerPrivateNetworkRequest, PrivateNetworkApiDeleteServerPrivateNetworkRequest, PrivateNetworkApiListServerPrivateNetworksRequest, PrivateNetworkApiSetServerPrivateNetworksRequest, ServerPrivateNetwork, SetServerPrivateNetworksResponse } from './types.gen';
4
+ /** Elastic Metal - Private Networks API. */
5
+ export declare class PrivateNetworkAPI extends ParentAPI {
6
+ /** Lists the available zones of the API. */
7
+ static readonly LOCALITIES: Zone[];
8
+ /**
9
+ * Add a server to a Private Network. Add an Elastic Metal server to a Private
10
+ * Network.
11
+ *
12
+ * @param request - The request
13
+ * {@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
19
+ * Networks on an Elastic Metal server.
20
+ *
21
+ * @param request - The request
22
+ * {@link PrivateNetworkApiSetServerPrivateNetworksRequest}
23
+ * @returns A Promise of SetServerPrivateNetworksResponse
24
+ */
25
+ setServerPrivateNetworks: (request: Readonly<PrivateNetworkApiSetServerPrivateNetworksRequest>) => Promise<SetServerPrivateNetworksResponse>;
26
+ protected pageOfListServerPrivateNetworks: (request?: Readonly<PrivateNetworkApiListServerPrivateNetworksRequest>) => Promise<ListServerPrivateNetworksResponse>;
27
+ /**
28
+ * List the Private Networks of a server. List the Private Networks of an
29
+ * Elastic Metal server.
30
+ *
31
+ * @param request - The request
32
+ * {@link PrivateNetworkApiListServerPrivateNetworksRequest}
33
+ * @returns A Promise of ListServerPrivateNetworksResponse
34
+ */
35
+ listServerPrivateNetworks: (request?: Readonly<PrivateNetworkApiListServerPrivateNetworksRequest>) => Promise<ListServerPrivateNetworksResponse> & {
36
+ all: () => Promise<ServerPrivateNetwork[]>;
37
+ [Symbol.asyncIterator]: () => AsyncGenerator<ServerPrivateNetwork[], void, void>;
38
+ };
39
+ /**
40
+ * Delete a Private Network.
41
+ *
42
+ * @param request - The request
43
+ * {@link PrivateNetworkApiDeleteServerPrivateNetworkRequest}
44
+ */
45
+ deleteServerPrivateNetwork: (request: Readonly<PrivateNetworkApiDeleteServerPrivateNetworkRequest>) => Promise<void>;
46
+ }
@@ -0,0 +1,109 @@
1
+ import { API as API$1 } from "../../../scw/api.js";
2
+ import { validatePathParam, urlParams } from "../../../helpers/marshalling.js";
3
+ import "../../../vendor/base64/index.js";
4
+ import { enrichForPagination } from "../../../scw/fetch/resource-paginator.js";
5
+ import { marshalPrivateNetworkApiAddServerPrivateNetworkRequest, unmarshalServerPrivateNetwork, marshalPrivateNetworkApiSetServerPrivateNetworksRequest, unmarshalSetServerPrivateNetworksResponse, unmarshalListServerPrivateNetworksResponse } from "./marshalling.gen.js";
6
+ const jsonContentHeaders = {
7
+ "Content-Type": "application/json; charset=utf-8"
8
+ };
9
+ class PrivateNetworkAPI extends API$1 {
10
+ /** Lists the available zones of the API. */
11
+ static LOCALITIES = [
12
+ "fr-par-1",
13
+ "fr-par-2",
14
+ "nl-ams-1",
15
+ "nl-ams-2",
16
+ "pl-waw-2",
17
+ "pl-waw-3"
18
+ ];
19
+ /**
20
+ * Add a server to a Private Network. Add an Elastic Metal server to a Private
21
+ * Network.
22
+ *
23
+ * @param request - The request
24
+ * {@link PrivateNetworkApiAddServerPrivateNetworkRequest}
25
+ * @returns A Promise of ServerPrivateNetwork
26
+ */
27
+ addServerPrivateNetwork = (request) => this.client.fetch(
28
+ {
29
+ body: JSON.stringify(
30
+ marshalPrivateNetworkApiAddServerPrivateNetworkRequest(
31
+ request,
32
+ this.client.settings
33
+ )
34
+ ),
35
+ headers: jsonContentHeaders,
36
+ method: "POST",
37
+ path: `/baremetal/v3/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam("serverId", request.serverId)}/private-networks`
38
+ },
39
+ unmarshalServerPrivateNetwork
40
+ );
41
+ /**
42
+ * Set multiple Private Networks on a server. Configure multiple Private
43
+ * Networks on an Elastic Metal server.
44
+ *
45
+ * @param request - The request
46
+ * {@link PrivateNetworkApiSetServerPrivateNetworksRequest}
47
+ * @returns A Promise of SetServerPrivateNetworksResponse
48
+ */
49
+ setServerPrivateNetworks = (request) => this.client.fetch(
50
+ {
51
+ body: JSON.stringify(
52
+ marshalPrivateNetworkApiSetServerPrivateNetworksRequest(
53
+ request,
54
+ this.client.settings
55
+ )
56
+ ),
57
+ headers: jsonContentHeaders,
58
+ method: "PUT",
59
+ path: `/baremetal/v3/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam("serverId", request.serverId)}/private-networks`
60
+ },
61
+ unmarshalSetServerPrivateNetworksResponse
62
+ );
63
+ pageOfListServerPrivateNetworks = (request = {}) => this.client.fetch(
64
+ {
65
+ method: "GET",
66
+ path: `/baremetal/v3/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/server-private-networks`,
67
+ urlParams: urlParams(
68
+ ["ipam_ip_ids", request.ipamIpIds],
69
+ ["order_by", request.orderBy],
70
+ ["organization_id", request.organizationId],
71
+ ["page", request.page],
72
+ [
73
+ "page_size",
74
+ request.pageSize ?? this.client.settings.defaultPageSize
75
+ ],
76
+ ["private_network_id", request.privateNetworkId],
77
+ ["project_id", request.projectId],
78
+ ["server_id", request.serverId]
79
+ )
80
+ },
81
+ unmarshalListServerPrivateNetworksResponse
82
+ );
83
+ /**
84
+ * List the Private Networks of a server. List the Private Networks of an
85
+ * Elastic Metal server.
86
+ *
87
+ * @param request - The request
88
+ * {@link PrivateNetworkApiListServerPrivateNetworksRequest}
89
+ * @returns A Promise of ListServerPrivateNetworksResponse
90
+ */
91
+ listServerPrivateNetworks = (request = {}) => enrichForPagination(
92
+ "serverPrivateNetworks",
93
+ this.pageOfListServerPrivateNetworks,
94
+ request
95
+ );
96
+ /**
97
+ * Delete a Private Network.
98
+ *
99
+ * @param request - The request
100
+ * {@link PrivateNetworkApiDeleteServerPrivateNetworkRequest}
101
+ */
102
+ deleteServerPrivateNetwork = (request) => this.client.fetch({
103
+ method: "DELETE",
104
+ path: `/baremetal/v3/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam("serverId", request.serverId)}/private-networks/${validatePathParam("privateNetworkId", request.privateNetworkId)}`
105
+ });
106
+ }
107
+ export {
108
+ PrivateNetworkAPI
109
+ };
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES = ["attaching", "detaching"];
4
+ exports.SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES = SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES;
@@ -0,0 +1,3 @@
1
+ import type { ServerPrivateNetworkStatus } from './types.gen';
2
+ /** Lists transient statutes of the enum {@link ServerPrivateNetworkStatus}. */
3
+ export declare const SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES: ServerPrivateNetworkStatus[];
@@ -0,0 +1,4 @@
1
+ const SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES = ["attaching", "detaching"];
2
+ export {
3
+ SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES
4
+ };
@@ -0,0 +1,6 @@
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
+ exports.PrivateNetworkAPI = api_gen.PrivateNetworkAPI;
6
+ exports.SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES = content_gen.SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES;
@@ -0,0 +1,3 @@
1
+ export { PrivateNetworkAPI } from './api.gen';
2
+ export * from './content.gen';
3
+ export type { ListServerPrivateNetworksRequestOrderBy, ListServerPrivateNetworksResponse, PrivateNetworkApiAddServerPrivateNetworkRequest, PrivateNetworkApiDeleteServerPrivateNetworkRequest, PrivateNetworkApiListServerPrivateNetworksRequest, PrivateNetworkApiSetServerPrivateNetworksRequest, ServerPrivateNetwork, ServerPrivateNetworkStatus, SetServerPrivateNetworksResponse, } from './types.gen';
@@ -0,0 +1,6 @@
1
+ import { PrivateNetworkAPI } from "./api.gen.js";
2
+ import { SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES } from "./content.gen.js";
3
+ export {
4
+ PrivateNetworkAPI,
5
+ SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES
6
+ };
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const json = require("../../../helpers/json.cjs");
4
+ const marshalling = require("../../../helpers/marshalling.cjs");
5
+ require("../../../vendor/base64/index.cjs");
6
+ const unmarshalServerPrivateNetwork = (data) => {
7
+ if (!json.isJSONObject(data)) {
8
+ throw new TypeError(
9
+ `Unmarshalling the type 'ServerPrivateNetwork' failed as data isn't a dictionary.`
10
+ );
11
+ }
12
+ return {
13
+ createdAt: marshalling.unmarshalDate(data.created_at),
14
+ id: data.id,
15
+ ipamIpIds: data.ipam_ip_ids,
16
+ privateNetworkId: data.private_network_id,
17
+ projectId: data.project_id,
18
+ serverId: data.server_id,
19
+ status: data.status,
20
+ updatedAt: marshalling.unmarshalDate(data.updated_at),
21
+ vlan: data.vlan
22
+ };
23
+ };
24
+ const unmarshalListServerPrivateNetworksResponse = (data) => {
25
+ if (!json.isJSONObject(data)) {
26
+ throw new TypeError(
27
+ `Unmarshalling the type 'ListServerPrivateNetworksResponse' failed as data isn't a dictionary.`
28
+ );
29
+ }
30
+ return {
31
+ serverPrivateNetworks: marshalling.unmarshalArrayOfObject(
32
+ data.server_private_networks,
33
+ unmarshalServerPrivateNetwork
34
+ ),
35
+ totalCount: data.total_count
36
+ };
37
+ };
38
+ const unmarshalSetServerPrivateNetworksResponse = (data) => {
39
+ if (!json.isJSONObject(data)) {
40
+ throw new TypeError(
41
+ `Unmarshalling the type 'SetServerPrivateNetworksResponse' failed as data isn't a dictionary.`
42
+ );
43
+ }
44
+ return {
45
+ serverPrivateNetworks: marshalling.unmarshalArrayOfObject(
46
+ data.server_private_networks,
47
+ unmarshalServerPrivateNetwork
48
+ )
49
+ };
50
+ };
51
+ const marshalPrivateNetworkApiAddServerPrivateNetworkRequest = (request, defaults) => ({
52
+ ipam_ip_ids: request.ipamIpIds,
53
+ private_network_id: request.privateNetworkId
54
+ });
55
+ const marshalPrivateNetworkApiSetServerPrivateNetworksRequest = (request, defaults) => ({
56
+ per_private_network_ipam_ip_ids: request.perPrivateNetworkIpamIpIds
57
+ });
58
+ exports.marshalPrivateNetworkApiAddServerPrivateNetworkRequest = marshalPrivateNetworkApiAddServerPrivateNetworkRequest;
59
+ exports.marshalPrivateNetworkApiSetServerPrivateNetworksRequest = marshalPrivateNetworkApiSetServerPrivateNetworksRequest;
60
+ exports.unmarshalListServerPrivateNetworksResponse = unmarshalListServerPrivateNetworksResponse;
61
+ exports.unmarshalServerPrivateNetwork = unmarshalServerPrivateNetwork;
62
+ exports.unmarshalSetServerPrivateNetworksResponse = unmarshalSetServerPrivateNetworksResponse;
@@ -0,0 +1,7 @@
1
+ import type { DefaultValues } from '../../../bridge';
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>;
@@ -0,0 +1,62 @@
1
+ import { isJSONObject } from "../../../helpers/json.js";
2
+ import { unmarshalDate, unmarshalArrayOfObject } from "../../../helpers/marshalling.js";
3
+ import "../../../vendor/base64/index.js";
4
+ const unmarshalServerPrivateNetwork = (data) => {
5
+ if (!isJSONObject(data)) {
6
+ throw new TypeError(
7
+ `Unmarshalling the type 'ServerPrivateNetwork' failed as data isn't a dictionary.`
8
+ );
9
+ }
10
+ return {
11
+ createdAt: 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: unmarshalDate(data.updated_at),
19
+ vlan: data.vlan
20
+ };
21
+ };
22
+ const unmarshalListServerPrivateNetworksResponse = (data) => {
23
+ if (!isJSONObject(data)) {
24
+ throw new TypeError(
25
+ `Unmarshalling the type 'ListServerPrivateNetworksResponse' failed as data isn't a dictionary.`
26
+ );
27
+ }
28
+ return {
29
+ serverPrivateNetworks: unmarshalArrayOfObject(
30
+ data.server_private_networks,
31
+ unmarshalServerPrivateNetwork
32
+ ),
33
+ totalCount: data.total_count
34
+ };
35
+ };
36
+ const unmarshalSetServerPrivateNetworksResponse = (data) => {
37
+ if (!isJSONObject(data)) {
38
+ throw new TypeError(
39
+ `Unmarshalling the type 'SetServerPrivateNetworksResponse' failed as data isn't a dictionary.`
40
+ );
41
+ }
42
+ return {
43
+ serverPrivateNetworks: 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
+ export {
57
+ marshalPrivateNetworkApiAddServerPrivateNetworkRequest,
58
+ marshalPrivateNetworkApiSetServerPrivateNetworksRequest,
59
+ unmarshalListServerPrivateNetworksResponse,
60
+ unmarshalServerPrivateNetwork,
61
+ unmarshalSetServerPrivateNetworksResponse
62
+ };
@@ -0,0 +1,82 @@
1
+ import type { Zone } from '../../../bridge';
2
+ export type ListServerPrivateNetworksRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'updated_at_asc' | 'updated_at_desc';
3
+ export type ServerPrivateNetworkStatus = 'unknown_status' | 'attaching' | 'attached' | 'error' | 'detaching' | 'locked';
4
+ export interface ServerPrivateNetwork {
5
+ /** UUID of the Server-to-Private Network mapping. */
6
+ id: string;
7
+ /** Private Network Project UUID. */
8
+ projectId: string;
9
+ /** Server UUID. */
10
+ serverId: string;
11
+ /** Private Network UUID. */
12
+ privateNetworkId: string;
13
+ /** VLAN UUID associated with the Private Network. */
14
+ vlan?: number;
15
+ /** Configuration status of the Private Network. */
16
+ status: ServerPrivateNetworkStatus;
17
+ /** Private Network creation date. */
18
+ createdAt?: Date;
19
+ /** Date the Private Network was last modified. */
20
+ updatedAt?: Date;
21
+ /** IPAM IP IDs of the server, if it has any. */
22
+ ipamIpIds: string[];
23
+ }
24
+ export interface ListServerPrivateNetworksResponse {
25
+ serverPrivateNetworks: ServerPrivateNetwork[];
26
+ totalCount: number;
27
+ }
28
+ export type PrivateNetworkApiAddServerPrivateNetworkRequest = {
29
+ /** Zone to target. If none is passed will use default zone from the config. */
30
+ zone?: Zone;
31
+ /** UUID of the server. */
32
+ serverId: string;
33
+ /** UUID of the Private Network. */
34
+ privateNetworkId: string;
35
+ /** IPAM IDs of an IPs to attach to the server. */
36
+ ipamIpIds?: string[];
37
+ };
38
+ export type PrivateNetworkApiDeleteServerPrivateNetworkRequest = {
39
+ /** Zone to target. If none is passed will use default zone from the config. */
40
+ zone?: Zone;
41
+ /** UUID of the server. */
42
+ serverId: string;
43
+ /** UUID of the Private Network. */
44
+ privateNetworkId: string;
45
+ };
46
+ export type PrivateNetworkApiListServerPrivateNetworksRequest = {
47
+ /** Zone to target. If none is passed will use default zone from the config. */
48
+ zone?: Zone;
49
+ /** Sort order for the returned Private Networks. */
50
+ orderBy?: ListServerPrivateNetworksRequestOrderBy;
51
+ /** Page number for the returned Private Networks. */
52
+ page?: number;
53
+ /** Maximum number of Private Networks per page. */
54
+ pageSize?: number;
55
+ /** Filter Private Networks by server UUID. */
56
+ serverId?: string;
57
+ /** Filter Private Networks by Private Network UUID. */
58
+ privateNetworkId?: string;
59
+ /** Filter Private Networks by organization UUID. */
60
+ organizationId?: string;
61
+ /** Filter Private Networks by project UUID. */
62
+ projectId?: string;
63
+ /** Filter Private Networks by IPAM IP UUIDs. */
64
+ ipamIpIds?: string[];
65
+ };
66
+ export type PrivateNetworkApiSetServerPrivateNetworksRequest = {
67
+ /** Zone to target. If none is passed will use default zone from the config. */
68
+ zone?: Zone;
69
+ /** UUID of the server. */
70
+ serverId: string;
71
+ /**
72
+ * Object where the keys are the UUIDs of Private Networks and the values are
73
+ * arrays of IPAM IDs representing the IPs to assign to this Elastic Metal
74
+ * server on the Private Network. If the array supplied for a Private Network
75
+ * is empty, the next available IP from the Private Network's CIDR block will
76
+ * automatically be used for attachment.
77
+ */
78
+ perPrivateNetworkIpamIpIds: Record<string, string[]>;
79
+ };
80
+ export interface SetServerPrivateNetworksResponse {
81
+ serverPrivateNetworks: ServerPrivateNetwork[];
82
+ }
@@ -36,7 +36,7 @@ export type ListServersRequestOrderBy = 'created_at_asc' | 'created_at_desc';
36
36
  export type ListServicesRequestOrderBy = 'created_at_asc' | 'created_at_desc';
37
37
  export type LogAction = 'unknown_log_action' | 'group_created' | 'group_deleted' | 'members_added' | 'members_deleted' | 'description_updated' | 'rpnv1_members_added' | 'rpnv1_members_deleted' | 'vlan_updated' | 'vlan_updated_on_all_servers';
38
38
  export type LogStatus = 'unknown_log_status' | 'success' | 'in_progress' | 'error';
39
- export type MemoryType = 'ddr2' | 'ddr3' | 'ddr4';
39
+ export type MemoryType = 'ddr2' | 'ddr3' | 'ddr4' | 'ddr5';
40
40
  export type NetworkInterfaceInterfaceType = 'unknown' | 'normal' | 'ipmi' | 'virtual';
41
41
  export type OSArch = 'unknown_arch' | 'amd64' | 'x86' | 'arm' | 'arm64';
42
42
  export type OSType = 'unknown_type' | 'server' | 'virtu' | 'panel' | 'desktop' | 'custom' | 'rescue';
@@ -624,5 +624,19 @@ class API extends api.API {
624
624
  method: "DELETE",
625
625
  path: `/edge-services/v1alpha1/current-plan/${marshalling.validatePathParam("projectId", request.projectId ?? this.client.settings.defaultProjectId)}`
626
626
  });
627
+ /**
628
+ * Gives information on current edge-services subscription plan and used
629
+ * resources with associated price.
630
+ *
631
+ * @param request - The request {@link GetBillingRequest}
632
+ * @returns A Promise of GetBillingResponse
633
+ */
634
+ getBilling = (request = {}) => this.client.fetch(
635
+ {
636
+ method: "GET",
637
+ path: `/edge-services/v1alpha1/billing/${marshalling.validatePathParam("projectId", request.projectId ?? this.client.settings.defaultProjectId)}`
638
+ },
639
+ marshalling_gen.unmarshalGetBillingResponse
640
+ );
627
641
  }
628
642
  exports.API = API;
@@ -1,6 +1,6 @@
1
1
  import { API as ParentAPI } from '../../../bridge';
2
2
  import type { WaitForOptions } from '../../../bridge';
3
- import type { BackendStage, CacheStage, CheckDomainRequest, CheckDomainResponse, CheckLbOriginRequest, CheckLbOriginResponse, CheckPEMChainRequest, CheckPEMChainResponse, CreateBackendStageRequest, CreateCacheStageRequest, CreateDNSStageRequest, CreatePipelineRequest, CreatePurgeRequestRequest, CreateTLSStageRequest, DNSStage, DeleteBackendStageRequest, DeleteCacheStageRequest, DeleteCurrentPlanRequest, DeleteDNSStageRequest, DeletePipelineRequest, DeleteTLSStageRequest, GetBackendStageRequest, GetCacheStageRequest, GetCurrentPlanRequest, GetDNSStageRequest, GetPipelineRequest, GetPurgeRequestRequest, GetTLSStageRequest, ListBackendStagesRequest, ListBackendStagesResponse, ListCacheStagesRequest, ListCacheStagesResponse, ListDNSStagesRequest, ListDNSStagesResponse, ListPipelinesRequest, ListPipelinesResponse, ListPlansResponse, ListPurgeRequestsRequest, ListPurgeRequestsResponse, ListTLSStagesRequest, ListTLSStagesResponse, Pipeline, Plan, PurgeRequest, SelectPlanRequest, TLSStage, UpdateBackendStageRequest, UpdateCacheStageRequest, UpdateDNSStageRequest, UpdatePipelineRequest, UpdateTLSStageRequest } from './types.gen';
3
+ import type { BackendStage, CacheStage, CheckDomainRequest, CheckDomainResponse, CheckLbOriginRequest, CheckLbOriginResponse, CheckPEMChainRequest, CheckPEMChainResponse, CreateBackendStageRequest, CreateCacheStageRequest, CreateDNSStageRequest, CreatePipelineRequest, CreatePurgeRequestRequest, CreateTLSStageRequest, DNSStage, DeleteBackendStageRequest, DeleteCacheStageRequest, DeleteCurrentPlanRequest, DeleteDNSStageRequest, DeletePipelineRequest, DeleteTLSStageRequest, GetBackendStageRequest, GetBillingRequest, GetBillingResponse, GetCacheStageRequest, GetCurrentPlanRequest, GetDNSStageRequest, GetPipelineRequest, GetPurgeRequestRequest, GetTLSStageRequest, ListBackendStagesRequest, ListBackendStagesResponse, ListCacheStagesRequest, ListCacheStagesResponse, ListDNSStagesRequest, ListDNSStagesResponse, ListPipelinesRequest, ListPipelinesResponse, ListPlansResponse, ListPurgeRequestsRequest, ListPurgeRequestsResponse, ListTLSStagesRequest, ListTLSStagesResponse, Pipeline, Plan, PurgeRequest, SelectPlanRequest, TLSStage, UpdateBackendStageRequest, UpdateCacheStageRequest, UpdateDNSStageRequest, UpdatePipelineRequest, UpdateTLSStageRequest } from './types.gen';
4
4
  /** Edge Services API. */
5
5
  export declare class API extends ParentAPI {
6
6
  protected pageOfListPipelines: (request?: Readonly<ListPipelinesRequest>) => Promise<ListPipelinesResponse>;
@@ -301,4 +301,12 @@ export declare class API extends ParentAPI {
301
301
  selectPlan: (request?: Readonly<SelectPlanRequest>) => Promise<Plan>;
302
302
  getCurrentPlan: (request?: Readonly<GetCurrentPlanRequest>) => Promise<Plan>;
303
303
  deleteCurrentPlan: (request?: Readonly<DeleteCurrentPlanRequest>) => Promise<void>;
304
+ /**
305
+ * Gives information on current edge-services subscription plan and used
306
+ * resources with associated price.
307
+ *
308
+ * @param request - The request {@link GetBillingRequest}
309
+ * @returns A Promise of GetBillingResponse
310
+ */
311
+ getBilling: (request?: Readonly<GetBillingRequest>) => Promise<GetBillingResponse>;
304
312
  }
@@ -4,7 +4,7 @@ import { urlParams, validatePathParam } from "../../../helpers/marshalling.js";
4
4
  import "../../../vendor/base64/index.js";
5
5
  import { enrichForPagination } from "../../../scw/fetch/resource-paginator.js";
6
6
  import { PIPELINE_TRANSIENT_STATUSES, PURGE_REQUEST_TRANSIENT_STATUSES } from "./content.gen.js";
7
- import { unmarshalListPipelinesResponse, marshalCreatePipelineRequest, unmarshalPipeline, marshalUpdatePipelineRequest, unmarshalListDNSStagesResponse, marshalCreateDNSStageRequest, unmarshalDNSStage, marshalUpdateDNSStageRequest, unmarshalListTLSStagesResponse, marshalCreateTLSStageRequest, unmarshalTLSStage, marshalUpdateTLSStageRequest, unmarshalListCacheStagesResponse, marshalCreateCacheStageRequest, unmarshalCacheStage, marshalUpdateCacheStageRequest, unmarshalListBackendStagesResponse, marshalCreateBackendStageRequest, unmarshalBackendStage, marshalUpdateBackendStageRequest, marshalCheckDomainRequest, unmarshalCheckDomainResponse, marshalCheckPEMChainRequest, unmarshalCheckPEMChainResponse, unmarshalListPurgeRequestsResponse, marshalCreatePurgeRequestRequest, unmarshalPurgeRequest, marshalCheckLbOriginRequest, unmarshalCheckLbOriginResponse, unmarshalListPlansResponse, marshalSelectPlanRequest, unmarshalPlan } from "./marshalling.gen.js";
7
+ import { unmarshalListPipelinesResponse, marshalCreatePipelineRequest, unmarshalPipeline, marshalUpdatePipelineRequest, unmarshalListDNSStagesResponse, marshalCreateDNSStageRequest, unmarshalDNSStage, marshalUpdateDNSStageRequest, unmarshalListTLSStagesResponse, marshalCreateTLSStageRequest, unmarshalTLSStage, marshalUpdateTLSStageRequest, unmarshalListCacheStagesResponse, marshalCreateCacheStageRequest, unmarshalCacheStage, marshalUpdateCacheStageRequest, unmarshalListBackendStagesResponse, marshalCreateBackendStageRequest, unmarshalBackendStage, marshalUpdateBackendStageRequest, marshalCheckDomainRequest, unmarshalCheckDomainResponse, marshalCheckPEMChainRequest, unmarshalCheckPEMChainResponse, unmarshalListPurgeRequestsResponse, marshalCreatePurgeRequestRequest, unmarshalPurgeRequest, marshalCheckLbOriginRequest, unmarshalCheckLbOriginResponse, unmarshalListPlansResponse, marshalSelectPlanRequest, unmarshalPlan, unmarshalGetBillingResponse } from "./marshalling.gen.js";
8
8
  const jsonContentHeaders = {
9
9
  "Content-Type": "application/json; charset=utf-8"
10
10
  };
@@ -622,6 +622,20 @@ class API extends API$1 {
622
622
  method: "DELETE",
623
623
  path: `/edge-services/v1alpha1/current-plan/${validatePathParam("projectId", request.projectId ?? this.client.settings.defaultProjectId)}`
624
624
  });
625
+ /**
626
+ * Gives information on current edge-services subscription plan and used
627
+ * resources with associated price.
628
+ *
629
+ * @param request - The request {@link GetBillingRequest}
630
+ * @returns A Promise of GetBillingResponse
631
+ */
632
+ getBilling = (request = {}) => this.client.fetch(
633
+ {
634
+ method: "GET",
635
+ path: `/edge-services/v1alpha1/billing/${validatePathParam("projectId", request.projectId ?? this.client.settings.defaultProjectId)}`
636
+ },
637
+ unmarshalGetBillingResponse
638
+ );
625
639
  }
626
640
  export {
627
641
  API
@@ -1,3 +1,3 @@
1
1
  export { API } from './api.gen';
2
2
  export * from './content.gen';
3
- export type { BackendStage, CacheStage, CheckDomainRequest, CheckDomainResponse, CheckLbOriginRequest, CheckLbOriginResponse, CheckPEMChainRequest, CheckPEMChainRequestSecretChain, CheckPEMChainResponse, CreateBackendStageRequest, CreateCacheStageRequest, CreateDNSStageRequest, CreatePipelineRequest, CreatePurgeRequestRequest, CreateTLSStageRequest, DNSStage, DNSStageType, DeleteBackendStageRequest, DeleteCacheStageRequest, DeleteCurrentPlanRequest, DeleteDNSStageRequest, DeletePipelineRequest, DeleteTLSStageRequest, GetBackendStageRequest, GetCacheStageRequest, GetCurrentPlanRequest, GetDNSStageRequest, GetPipelineRequest, GetPurgeRequestRequest, GetTLSStageRequest, LbOriginError, ListBackendStagesRequest, ListBackendStagesRequestOrderBy, ListBackendStagesResponse, ListCacheStagesRequest, ListCacheStagesRequestOrderBy, ListCacheStagesResponse, ListDNSStagesRequest, ListDNSStagesRequestOrderBy, ListDNSStagesResponse, ListPipelinesRequest, ListPipelinesRequestOrderBy, ListPipelinesResponse, ListPlansResponse, ListPurgeRequestsRequest, ListPurgeRequestsRequestOrderBy, ListPurgeRequestsResponse, ListTLSStagesRequest, ListTLSStagesRequestOrderBy, ListTLSStagesResponse, Pipeline, PipelineError, PipelineErrorCode, PipelineErrorSeverity, PipelineErrorStage, PipelineErrorType, PipelineStatus, Plan, PlanDetails, PlanName, PurgeRequest, PurgeRequestStatus, ScalewayLb, ScalewayLbBackendConfig, ScalewayS3BackendConfig, SelectPlanRequest, TLSSecret, TLSSecretsConfig, TLSStage, UpdateBackendStageRequest, UpdateCacheStageRequest, UpdateDNSStageRequest, UpdatePipelineRequest, UpdateTLSStageRequest, } from './types.gen';
3
+ export type { BackendStage, CacheStage, CheckDomainRequest, CheckDomainResponse, CheckLbOriginRequest, CheckLbOriginResponse, CheckPEMChainRequest, CheckPEMChainRequestSecretChain, CheckPEMChainResponse, CreateBackendStageRequest, CreateCacheStageRequest, CreateDNSStageRequest, CreatePipelineRequest, CreatePurgeRequestRequest, CreateTLSStageRequest, DNSStage, DNSStageType, DeleteBackendStageRequest, DeleteCacheStageRequest, DeleteCurrentPlanRequest, DeleteDNSStageRequest, DeletePipelineRequest, DeleteTLSStageRequest, GetBackendStageRequest, GetBillingRequest, GetBillingResponse, GetCacheStageRequest, GetCurrentPlanRequest, GetDNSStageRequest, GetPipelineRequest, GetPurgeRequestRequest, GetTLSStageRequest, LbOriginError, ListBackendStagesRequest, ListBackendStagesRequestOrderBy, ListBackendStagesResponse, ListCacheStagesRequest, ListCacheStagesRequestOrderBy, ListCacheStagesResponse, ListDNSStagesRequest, ListDNSStagesRequestOrderBy, ListDNSStagesResponse, ListPipelinesRequest, ListPipelinesRequestOrderBy, ListPipelinesResponse, ListPlansResponse, ListPurgeRequestsRequest, ListPurgeRequestsRequestOrderBy, ListPurgeRequestsResponse, ListTLSStagesRequest, ListTLSStagesRequestOrderBy, ListTLSStagesResponse, Pipeline, PipelineError, PipelineErrorCode, PipelineErrorSeverity, PipelineErrorStage, PipelineErrorType, PipelineStatus, Plan, PlanDetails, PlanName, PurgeRequest, PurgeRequestStatus, ScalewayLb, ScalewayLbBackendConfig, ScalewayS3BackendConfig, SelectPlanRequest, TLSSecret, TLSSecretsConfig, TLSStage, UpdateBackendStageRequest, UpdateCacheStageRequest, UpdateDNSStageRequest, UpdatePipelineRequest, UpdateTLSStageRequest, } from './types.gen';