@scaleway/sdk 2.61.0 → 2.63.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 (175) hide show
  1. package/dist/api/account/index.gen.d.ts +2 -2
  2. package/dist/api/account/v2/index.gen.d.ts +1 -1
  3. package/dist/api/account/v3/api.gen.cjs +106 -0
  4. package/dist/api/account/v3/api.gen.d.ts +53 -1
  5. package/dist/api/account/v3/api.gen.js +108 -2
  6. package/dist/api/account/v3/index.gen.cjs +1 -0
  7. package/dist/api/account/v3/index.gen.d.ts +3 -3
  8. package/dist/api/account/v3/index.gen.js +2 -1
  9. package/dist/api/account/v3/marshalling.gen.cjs +71 -0
  10. package/dist/api/account/v3/marshalling.gen.d.ts +6 -1
  11. package/dist/api/account/v3/marshalling.gen.js +71 -0
  12. package/dist/api/account/v3/types.gen.d.ts +81 -0
  13. package/dist/api/account/v3/validation-rules.gen.cjs +22 -0
  14. package/dist/api/account/v3/validation-rules.gen.d.ts +19 -0
  15. package/dist/api/account/v3/validation-rules.gen.js +22 -0
  16. package/dist/api/applesilicon/index.gen.d.ts +1 -1
  17. package/dist/api/applesilicon/v1alpha1/index.gen.d.ts +2 -2
  18. package/dist/api/audit_trail/index.gen.d.ts +1 -1
  19. package/dist/api/audit_trail/v1alpha1/index.gen.d.ts +2 -2
  20. package/dist/api/baremetal/index.gen.d.ts +2 -2
  21. package/dist/api/baremetal/v1/api.utils.d.ts +2 -2
  22. package/dist/api/baremetal/v1/index.d.ts +4 -4
  23. package/dist/api/baremetal/v1/index.gen.d.ts +3 -3
  24. package/dist/api/baremetal/v3/index.gen.d.ts +2 -2
  25. package/dist/api/billing/index.gen.d.ts +2 -2
  26. package/dist/api/billing/v2alpha1/index.gen.d.ts +1 -1
  27. package/dist/api/billing/v2beta1/index.gen.d.ts +1 -1
  28. package/dist/api/block/index.gen.d.ts +1 -1
  29. package/dist/api/block/v1alpha1/index.gen.d.ts +3 -3
  30. package/dist/api/cockpit/index.gen.d.ts +2 -2
  31. package/dist/api/cockpit/v1/index.gen.d.ts +2 -2
  32. package/dist/api/cockpit/v1beta1/index.gen.d.ts +2 -2
  33. package/dist/api/container/index.gen.d.ts +1 -1
  34. package/dist/api/container/v1beta1/index.gen.d.ts +3 -3
  35. package/dist/api/dedibox/index.gen.d.ts +1 -1
  36. package/dist/api/dedibox/v1/index.gen.d.ts +3 -3
  37. package/dist/api/document_db/index.gen.d.ts +1 -1
  38. package/dist/api/document_db/v1beta1/index.gen.d.ts +3 -3
  39. package/dist/api/domain/index.gen.d.ts +1 -1
  40. package/dist/api/domain/v2beta1/index.gen.d.ts +2 -2
  41. package/dist/api/edge_services/index.gen.d.ts +1 -1
  42. package/dist/api/edge_services/v1alpha1/index.gen.d.ts +2 -2
  43. package/dist/api/flexibleip/index.gen.d.ts +1 -1
  44. package/dist/api/flexibleip/v1alpha1/index.gen.d.ts +3 -3
  45. package/dist/api/function/index.gen.d.ts +1 -1
  46. package/dist/api/function/v1beta1/index.gen.d.ts +3 -3
  47. package/dist/api/iam/index.gen.d.ts +1 -1
  48. package/dist/api/iam/v1alpha1/api.gen.cjs +46 -0
  49. package/dist/api/iam/v1alpha1/api.gen.d.ts +24 -1
  50. package/dist/api/iam/v1alpha1/api.gen.js +47 -1
  51. package/dist/api/iam/v1alpha1/index.gen.d.ts +3 -3
  52. package/dist/api/iam/v1alpha1/marshalling.gen.cjs +27 -2
  53. package/dist/api/iam/v1alpha1/marshalling.gen.d.ts +4 -1
  54. package/dist/api/iam/v1alpha1/marshalling.gen.js +28 -3
  55. package/dist/api/iam/v1alpha1/types.gen.d.ts +21 -5
  56. package/dist/api/iam/v1alpha1/validation-rules.gen.cjs +6 -0
  57. package/dist/api/iam/v1alpha1/validation-rules.gen.d.ts +5 -0
  58. package/dist/api/iam/v1alpha1/validation-rules.gen.js +7 -1
  59. package/dist/api/index.d.ts +16 -16
  60. package/dist/api/index.gen.d.ts +41 -41
  61. package/dist/api/inference/index.gen.d.ts +1 -1
  62. package/dist/api/inference/v1beta1/index.gen.d.ts +3 -3
  63. package/dist/api/instance/index.gen.d.ts +1 -1
  64. package/dist/api/instance/v1/api.utils.d.ts +2 -2
  65. package/dist/api/instance/v1/index.d.ts +2 -2
  66. package/dist/api/instance/v1/index.gen.d.ts +2 -2
  67. package/dist/api/interlink/index.gen.d.ts +1 -1
  68. package/dist/api/interlink/v1beta1/index.gen.d.ts +2 -2
  69. package/dist/api/iot/index.gen.d.ts +1 -1
  70. package/dist/api/iot/v1/index.gen.d.ts +2 -2
  71. package/dist/api/ipam/index.gen.d.ts +1 -1
  72. package/dist/api/ipam/v1/index.gen.d.ts +2 -2
  73. package/dist/api/ipfs/index.gen.d.ts +1 -1
  74. package/dist/api/ipfs/v1alpha1/index.gen.d.ts +2 -2
  75. package/dist/api/jobs/index.gen.d.ts +1 -1
  76. package/dist/api/jobs/v1alpha1/api.gen.cjs +2 -1
  77. package/dist/api/jobs/v1alpha1/api.gen.js +2 -1
  78. package/dist/api/jobs/v1alpha1/index.gen.d.ts +3 -3
  79. package/dist/api/jobs/v1alpha1/types.gen.d.ts +1 -0
  80. package/dist/api/k8s/index.gen.d.ts +1 -1
  81. package/dist/api/k8s/v1/api.utils.d.ts +1 -1
  82. package/dist/api/k8s/v1/index.d.ts +3 -3
  83. package/dist/api/k8s/v1/index.gen.d.ts +3 -3
  84. package/dist/api/key_manager/index.gen.d.ts +1 -1
  85. package/dist/api/key_manager/v1alpha1/index.gen.d.ts +1 -1
  86. package/dist/api/lb/index.gen.d.ts +1 -1
  87. package/dist/api/lb/v1/api.utils.d.ts +2 -2
  88. package/dist/api/lb/v1/index.d.ts +2 -2
  89. package/dist/api/lb/v1/index.gen.d.ts +2 -2
  90. package/dist/api/llm_inference/index.gen.d.ts +1 -1
  91. package/dist/api/llm_inference/v1beta1/index.gen.d.ts +3 -3
  92. package/dist/api/marketplace/index.gen.d.ts +1 -1
  93. package/dist/api/marketplace/v2/index.gen.d.ts +1 -1
  94. package/dist/api/mnq/index.gen.d.ts +1 -1
  95. package/dist/api/mnq/v1beta1/index.gen.d.ts +2 -2
  96. package/dist/api/mongodb/index.gen.d.ts +1 -1
  97. package/dist/api/mongodb/v1alpha1/index.gen.d.ts +3 -3
  98. package/dist/api/qaas/index.gen.d.ts +1 -1
  99. package/dist/api/qaas/v1alpha1/index.gen.d.ts +3 -3
  100. package/dist/api/rdb/index.gen.d.ts +1 -1
  101. package/dist/api/rdb/v1/index.gen.d.ts +3 -3
  102. package/dist/api/redis/index.gen.d.ts +1 -1
  103. package/dist/api/redis/v1/index.gen.d.ts +2 -2
  104. package/dist/api/registry/index.gen.d.ts +1 -1
  105. package/dist/api/registry/v1/index.gen.d.ts +2 -2
  106. package/dist/api/secret/index.gen.d.ts +2 -2
  107. package/dist/api/secret/v1alpha1/index.gen.d.ts +1 -1
  108. package/dist/api/secret/v1beta1/index.gen.d.ts +2 -2
  109. package/dist/api/serverless_sqldb/index.gen.d.ts +1 -1
  110. package/dist/api/serverless_sqldb/v1alpha1/index.gen.d.ts +3 -3
  111. package/dist/api/tem/index.gen.d.ts +1 -1
  112. package/dist/api/tem/v1alpha1/api.gen.cjs +54 -0
  113. package/dist/api/tem/v1alpha1/api.gen.d.ts +27 -1
  114. package/dist/api/tem/v1alpha1/api.gen.js +55 -1
  115. package/dist/api/tem/v1alpha1/index.gen.d.ts +4 -4
  116. package/dist/api/tem/v1alpha1/marshalling.gen.cjs +48 -0
  117. package/dist/api/tem/v1alpha1/marshalling.gen.d.ts +4 -1
  118. package/dist/api/tem/v1alpha1/marshalling.gen.js +48 -0
  119. package/dist/api/tem/v1alpha1/types.gen.d.ts +84 -1
  120. package/dist/api/tem/v1alpha1/validation-rules.gen.cjs +16 -0
  121. package/dist/api/tem/v1alpha1/validation-rules.gen.d.ts +14 -0
  122. package/dist/api/tem/v1alpha1/validation-rules.gen.js +16 -0
  123. package/dist/api/test/index.gen.d.ts +1 -1
  124. package/dist/api/test/v1/index.gen.d.ts +2 -2
  125. package/dist/api/vpc/index.gen.d.ts +2 -2
  126. package/dist/api/vpc/v1/index.gen.d.ts +1 -1
  127. package/dist/api/vpc/v2/index.gen.d.ts +2 -2
  128. package/dist/api/vpcgw/index.gen.d.ts +2 -2
  129. package/dist/api/vpcgw/v1/index.gen.d.ts +2 -2
  130. package/dist/api/vpcgw/v2/index.gen.d.ts +2 -2
  131. package/dist/api/webhosting/index.gen.d.ts +2 -2
  132. package/dist/api/webhosting/v1/index.gen.d.ts +3 -3
  133. package/dist/api/webhosting/v1/marshalling.gen.cjs +1 -0
  134. package/dist/api/webhosting/v1/marshalling.gen.js +1 -0
  135. package/dist/api/webhosting/v1/types.gen.d.ts +5 -0
  136. package/dist/api/webhosting/v1alpha1/index.gen.d.ts +3 -3
  137. package/dist/bridge.d.ts +10 -10
  138. package/dist/index.d.ts +11 -11
  139. package/dist/internal/logger/console-logger.d.ts +1 -1
  140. package/dist/internal/logger/index.d.ts +1 -1
  141. package/dist/internal/logger/logger.d.ts +1 -1
  142. package/dist/internals.d.ts +10 -10
  143. package/dist/scw/api.d.ts +1 -1
  144. package/dist/scw/auth.d.ts +1 -1
  145. package/dist/scw/client-ini-factory.d.ts +3 -3
  146. package/dist/scw/client-settings.d.ts +1 -1
  147. package/dist/scw/client.d.ts +3 -3
  148. package/dist/scw/constants.cjs +1 -1
  149. package/dist/scw/constants.d.ts +2 -2
  150. package/dist/scw/constants.js +1 -1
  151. package/dist/scw/custom-marshalling.d.ts +2 -2
  152. package/dist/scw/errors/error-parser.d.ts +2 -2
  153. package/dist/scw/errors/non-standard/invalid-request-mapper.d.ts +4 -4
  154. package/dist/scw/errors/non-standard/unknown-resource-mapper.d.ts +3 -3
  155. package/dist/scw/errors/scw-error-from-json.d.ts +2 -2
  156. package/dist/scw/errors/scw-error.d.ts +1 -1
  157. package/dist/scw/errors/standard/already-exists-error.d.ts +2 -2
  158. package/dist/scw/errors/standard/denied-authentication-error.d.ts +2 -2
  159. package/dist/scw/errors/standard/index.d.ts +17 -17
  160. package/dist/scw/errors/standard/invalid-arguments-error.d.ts +2 -2
  161. package/dist/scw/errors/standard/out-of-stock-error.d.ts +2 -2
  162. package/dist/scw/errors/standard/permissions-denied-error.d.ts +2 -2
  163. package/dist/scw/errors/standard/precondition-failed-error.d.ts +2 -2
  164. package/dist/scw/errors/standard/quotas-exceeded-error.d.ts +2 -2
  165. package/dist/scw/errors/standard/resource-expired-error.d.ts +2 -2
  166. package/dist/scw/errors/standard/resource-locked-error.d.ts +2 -2
  167. package/dist/scw/errors/standard/resource-not-found-error.d.ts +2 -2
  168. package/dist/scw/errors/standard/too-many-requests-error.d.ts +2 -2
  169. package/dist/scw/errors/standard/transient-state-error.d.ts +2 -2
  170. package/dist/scw/fetch/build-fetcher.d.ts +1 -1
  171. package/node_modules/@scaleway/random-name/CHANGELOG.md +6 -0
  172. package/node_modules/@scaleway/random-name/dist/index.cjs +0 -2
  173. package/node_modules/@scaleway/random-name/dist/index.js +0 -2
  174. package/node_modules/@scaleway/random-name/package.json +2 -1
  175. package/package.json +4 -4
@@ -2,5 +2,5 @@
2
2
  * This file is automatically generated from /scripts/generate.js PLEASE DO NOT
3
3
  * EDIT HERE
4
4
  */
5
- export * as v2 from './v2/index.gen';
6
- export * as v3 from './v3/index.gen';
5
+ export * as v2 from './v2/index.gen.js';
6
+ export * as v3 from './v3/index.gen.js';
@@ -1,2 +1,2 @@
1
- export { API } from './api.gen';
1
+ export { API } from './api.gen.js';
2
2
  export type { CreateProjectRequest, DeleteProjectRequest, GetProjectRequest, ListProjectsRequest, ListProjectsRequestOrderBy, ListProjectsResponse, Project, UpdateProjectRequest, } from './types.gen';
@@ -8,6 +8,111 @@ const marshalling_gen = require("./marshalling.gen.cjs");
8
8
  const jsonContentHeaders = {
9
9
  "Content-Type": "application/json; charset=utf-8"
10
10
  };
11
+ class ContractAPI extends api.API {
12
+ /**
13
+ * Download a contract content.
14
+ *
15
+ * @param request - The request
16
+ * {@link ContractApiDownloadContractSignatureRequest}
17
+ * @returns A Promise of Blob
18
+ */
19
+ downloadContractSignature = (request) => this.client.fetch({
20
+ method: "GET",
21
+ path: `/account/v3/contract-signatures/${marshalling.validatePathParam("contractSignatureId", request.contractSignatureId)}/download`,
22
+ urlParams: marshalling.urlParams(["dl", 1], ["locale", request.locale]),
23
+ responseType: "blob"
24
+ });
25
+ /**
26
+ * Create a signature for your Organization for the latest version of the
27
+ * requested contract.
28
+ *
29
+ * @param request - The request
30
+ * {@link ContractApiCreateContractSignatureRequest}
31
+ * @returns A Promise of ContractSignature
32
+ */
33
+ createContractSignature = (request) => this.client.fetch(
34
+ {
35
+ body: JSON.stringify(
36
+ marshalling_gen.marshalContractApiCreateContractSignatureRequest(
37
+ request,
38
+ this.client.settings
39
+ )
40
+ ),
41
+ headers: jsonContentHeaders,
42
+ method: "POST",
43
+ path: `/account/v3/contract-signatures`
44
+ },
45
+ marshalling_gen.unmarshalContractSignature
46
+ );
47
+ /**
48
+ * Sign a contract for your Organization.
49
+ *
50
+ * @param request - The request
51
+ * {@link ContractApiValidateContractSignatureRequest}
52
+ * @returns A Promise of ContractSignature
53
+ */
54
+ validateContractSignature = (request) => this.client.fetch(
55
+ {
56
+ body: "{}",
57
+ headers: jsonContentHeaders,
58
+ method: "POST",
59
+ path: `/account/v3/contract-signatures/${marshalling.validatePathParam("contractSignatureId", request.contractSignatureId)}/validate`
60
+ },
61
+ marshalling_gen.unmarshalContractSignature
62
+ );
63
+ /**
64
+ * Check if a contract is signed for your Organization.
65
+ *
66
+ * @param request - The request
67
+ * {@link ContractApiCheckContractSignatureRequest}
68
+ * @returns A Promise of CheckContractSignatureResponse
69
+ */
70
+ checkContractSignature = (request) => this.client.fetch(
71
+ {
72
+ body: JSON.stringify(
73
+ marshalling_gen.marshalContractApiCheckContractSignatureRequest(
74
+ request,
75
+ this.client.settings
76
+ )
77
+ ),
78
+ headers: jsonContentHeaders,
79
+ method: "POST",
80
+ path: `/account/v3/contract-signatures/check`
81
+ },
82
+ marshalling_gen.unmarshalCheckContractSignatureResponse
83
+ );
84
+ pageOfListContractSignatures = (request = {}) => this.client.fetch(
85
+ {
86
+ method: "GET",
87
+ path: `/account/v3/contract-signatures`,
88
+ urlParams: marshalling.urlParams(
89
+ ["order_by", request.orderBy],
90
+ [
91
+ "organization_id",
92
+ request.organizationId ?? this.client.settings.defaultOrganizationId
93
+ ],
94
+ ["page", request.page],
95
+ [
96
+ "page_size",
97
+ request.pageSize ?? this.client.settings.defaultPageSize
98
+ ]
99
+ )
100
+ },
101
+ marshalling_gen.unmarshalListContractSignaturesResponse
102
+ );
103
+ /**
104
+ * List contract signatures for an Organization.
105
+ *
106
+ * @param request - The request
107
+ * {@link ContractApiListContractSignaturesRequest}
108
+ * @returns A Promise of ListContractSignaturesResponse
109
+ */
110
+ listContractSignatures = (request = {}) => resourcePaginator.enrichForPagination(
111
+ "contractSignatures",
112
+ this.pageOfListContractSignatures,
113
+ request
114
+ );
115
+ }
11
116
  class ProjectAPI extends api.API {
12
117
  /**
13
118
  * Create a new Project for an Organization. Generate a new Project for an
@@ -104,4 +209,5 @@ class ProjectAPI extends api.API {
104
209
  marshalling_gen.unmarshalProject
105
210
  );
106
211
  }
212
+ exports.ContractAPI = ContractAPI;
107
213
  exports.ProjectAPI = ProjectAPI;
@@ -1,5 +1,57 @@
1
1
  import { API as ParentAPI } from '../../../bridge';
2
- import type { ListProjectsResponse, Project, ProjectApiCreateProjectRequest, ProjectApiDeleteProjectRequest, ProjectApiGetProjectRequest, ProjectApiListProjectsRequest, ProjectApiUpdateProjectRequest } from './types.gen';
2
+ import type { CheckContractSignatureResponse, ContractApiCheckContractSignatureRequest, ContractApiCreateContractSignatureRequest, ContractApiDownloadContractSignatureRequest, ContractApiListContractSignaturesRequest, ContractApiValidateContractSignatureRequest, ContractSignature, ListContractSignaturesResponse, ListProjectsResponse, Project, ProjectApiCreateProjectRequest, ProjectApiDeleteProjectRequest, ProjectApiGetProjectRequest, ProjectApiListProjectsRequest, ProjectApiUpdateProjectRequest } from './types.gen';
3
+ /**
4
+ * Contract API.
5
+ *
6
+ * The Contract API allows you to manage contracts.
7
+ */
8
+ export declare class ContractAPI extends ParentAPI {
9
+ /**
10
+ * Download a contract content.
11
+ *
12
+ * @param request - The request
13
+ * {@link ContractApiDownloadContractSignatureRequest}
14
+ * @returns A Promise of Blob
15
+ */
16
+ downloadContractSignature: (request: Readonly<ContractApiDownloadContractSignatureRequest>) => Promise<Blob>;
17
+ /**
18
+ * Create a signature for your Organization for the latest version of the
19
+ * requested contract.
20
+ *
21
+ * @param request - The request
22
+ * {@link ContractApiCreateContractSignatureRequest}
23
+ * @returns A Promise of ContractSignature
24
+ */
25
+ createContractSignature: (request: Readonly<ContractApiCreateContractSignatureRequest>) => Promise<ContractSignature>;
26
+ /**
27
+ * Sign a contract for your Organization.
28
+ *
29
+ * @param request - The request
30
+ * {@link ContractApiValidateContractSignatureRequest}
31
+ * @returns A Promise of ContractSignature
32
+ */
33
+ validateContractSignature: (request: Readonly<ContractApiValidateContractSignatureRequest>) => Promise<ContractSignature>;
34
+ /**
35
+ * Check if a contract is signed for your Organization.
36
+ *
37
+ * @param request - The request
38
+ * {@link ContractApiCheckContractSignatureRequest}
39
+ * @returns A Promise of CheckContractSignatureResponse
40
+ */
41
+ checkContractSignature: (request: Readonly<ContractApiCheckContractSignatureRequest>) => Promise<CheckContractSignatureResponse>;
42
+ protected pageOfListContractSignatures: (request?: Readonly<ContractApiListContractSignaturesRequest>) => Promise<ListContractSignaturesResponse>;
43
+ /**
44
+ * List contract signatures for an Organization.
45
+ *
46
+ * @param request - The request
47
+ * {@link ContractApiListContractSignaturesRequest}
48
+ * @returns A Promise of ListContractSignaturesResponse
49
+ */
50
+ listContractSignatures: (request?: Readonly<ContractApiListContractSignaturesRequest>) => Promise<ListContractSignaturesResponse> & {
51
+ all: () => Promise<ContractSignature[]>;
52
+ [Symbol.asyncIterator]: () => AsyncGenerator<ContractSignature[], void, void>;
53
+ };
54
+ }
3
55
  /**
4
56
  * Account API.
5
57
  *
@@ -1,11 +1,116 @@
1
1
  import { API as API$1 } from "../../../scw/api.js";
2
- import { urlParams, validatePathParam } from "../../../helpers/marshalling.js";
2
+ import { validatePathParam, urlParams } from "../../../helpers/marshalling.js";
3
3
  import "../../../vendor/base64/index.js";
4
4
  import { enrichForPagination } from "../../../scw/fetch/resource-paginator.js";
5
- import { marshalProjectApiCreateProjectRequest, unmarshalProject, unmarshalListProjectsResponse, marshalProjectApiUpdateProjectRequest } from "./marshalling.gen.js";
5
+ import { marshalContractApiCreateContractSignatureRequest, unmarshalContractSignature, marshalContractApiCheckContractSignatureRequest, unmarshalCheckContractSignatureResponse, unmarshalListContractSignaturesResponse, marshalProjectApiCreateProjectRequest, unmarshalProject, unmarshalListProjectsResponse, marshalProjectApiUpdateProjectRequest } from "./marshalling.gen.js";
6
6
  const jsonContentHeaders = {
7
7
  "Content-Type": "application/json; charset=utf-8"
8
8
  };
9
+ class ContractAPI extends API$1 {
10
+ /**
11
+ * Download a contract content.
12
+ *
13
+ * @param request - The request
14
+ * {@link ContractApiDownloadContractSignatureRequest}
15
+ * @returns A Promise of Blob
16
+ */
17
+ downloadContractSignature = (request) => this.client.fetch({
18
+ method: "GET",
19
+ path: `/account/v3/contract-signatures/${validatePathParam("contractSignatureId", request.contractSignatureId)}/download`,
20
+ urlParams: urlParams(["dl", 1], ["locale", request.locale]),
21
+ responseType: "blob"
22
+ });
23
+ /**
24
+ * Create a signature for your Organization for the latest version of the
25
+ * requested contract.
26
+ *
27
+ * @param request - The request
28
+ * {@link ContractApiCreateContractSignatureRequest}
29
+ * @returns A Promise of ContractSignature
30
+ */
31
+ createContractSignature = (request) => this.client.fetch(
32
+ {
33
+ body: JSON.stringify(
34
+ marshalContractApiCreateContractSignatureRequest(
35
+ request,
36
+ this.client.settings
37
+ )
38
+ ),
39
+ headers: jsonContentHeaders,
40
+ method: "POST",
41
+ path: `/account/v3/contract-signatures`
42
+ },
43
+ unmarshalContractSignature
44
+ );
45
+ /**
46
+ * Sign a contract for your Organization.
47
+ *
48
+ * @param request - The request
49
+ * {@link ContractApiValidateContractSignatureRequest}
50
+ * @returns A Promise of ContractSignature
51
+ */
52
+ validateContractSignature = (request) => this.client.fetch(
53
+ {
54
+ body: "{}",
55
+ headers: jsonContentHeaders,
56
+ method: "POST",
57
+ path: `/account/v3/contract-signatures/${validatePathParam("contractSignatureId", request.contractSignatureId)}/validate`
58
+ },
59
+ unmarshalContractSignature
60
+ );
61
+ /**
62
+ * Check if a contract is signed for your Organization.
63
+ *
64
+ * @param request - The request
65
+ * {@link ContractApiCheckContractSignatureRequest}
66
+ * @returns A Promise of CheckContractSignatureResponse
67
+ */
68
+ checkContractSignature = (request) => this.client.fetch(
69
+ {
70
+ body: JSON.stringify(
71
+ marshalContractApiCheckContractSignatureRequest(
72
+ request,
73
+ this.client.settings
74
+ )
75
+ ),
76
+ headers: jsonContentHeaders,
77
+ method: "POST",
78
+ path: `/account/v3/contract-signatures/check`
79
+ },
80
+ unmarshalCheckContractSignatureResponse
81
+ );
82
+ pageOfListContractSignatures = (request = {}) => this.client.fetch(
83
+ {
84
+ method: "GET",
85
+ path: `/account/v3/contract-signatures`,
86
+ urlParams: urlParams(
87
+ ["order_by", request.orderBy],
88
+ [
89
+ "organization_id",
90
+ request.organizationId ?? this.client.settings.defaultOrganizationId
91
+ ],
92
+ ["page", request.page],
93
+ [
94
+ "page_size",
95
+ request.pageSize ?? this.client.settings.defaultPageSize
96
+ ]
97
+ )
98
+ },
99
+ unmarshalListContractSignaturesResponse
100
+ );
101
+ /**
102
+ * List contract signatures for an Organization.
103
+ *
104
+ * @param request - The request
105
+ * {@link ContractApiListContractSignaturesRequest}
106
+ * @returns A Promise of ListContractSignaturesResponse
107
+ */
108
+ listContractSignatures = (request = {}) => enrichForPagination(
109
+ "contractSignatures",
110
+ this.pageOfListContractSignatures,
111
+ request
112
+ );
113
+ }
9
114
  class ProjectAPI extends API$1 {
10
115
  /**
11
116
  * Create a new Project for an Organization. Generate a new Project for an
@@ -103,5 +208,6 @@ class ProjectAPI extends API$1 {
103
208
  );
104
209
  }
105
210
  export {
211
+ ContractAPI,
106
212
  ProjectAPI
107
213
  };
@@ -2,5 +2,6 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const api_gen = require("./api.gen.cjs");
4
4
  const validationRules_gen = require("./validation-rules.gen.cjs");
5
+ exports.ContractAPI = api_gen.ContractAPI;
5
6
  exports.ProjectAPI = api_gen.ProjectAPI;
6
7
  exports.ValidationRules = validationRules_gen;
@@ -1,3 +1,3 @@
1
- export { ProjectAPI } from './api.gen';
2
- export type { ListProjectsRequestOrderBy, ListProjectsResponse, Project, ProjectApiCreateProjectRequest, ProjectApiDeleteProjectRequest, ProjectApiGetProjectRequest, ProjectApiListProjectsRequest, ProjectApiUpdateProjectRequest, } from './types.gen';
3
- export * as ValidationRules from './validation-rules.gen';
1
+ export { ContractAPI, ProjectAPI } from './api.gen.js';
2
+ export type { CheckContractSignatureResponse, Contract, ContractApiCheckContractSignatureRequest, ContractApiCreateContractSignatureRequest, ContractApiDownloadContractSignatureRequest, ContractApiListContractSignaturesRequest, ContractApiValidateContractSignatureRequest, ContractSignature, ContractType, ListContractSignaturesRequestOrderBy, ListContractSignaturesResponse, ListProjectsRequestOrderBy, ListProjectsResponse, Project, ProjectApiCreateProjectRequest, ProjectApiDeleteProjectRequest, ProjectApiGetProjectRequest, ProjectApiListProjectsRequest, ProjectApiUpdateProjectRequest, } from './types.gen';
3
+ export * as ValidationRules from './validation-rules.gen.js';
@@ -1,6 +1,7 @@
1
- import { ProjectAPI } from "./api.gen.js";
1
+ import { ContractAPI, ProjectAPI } from "./api.gen.js";
2
2
  import * as validationRules_gen from "./validation-rules.gen.js";
3
3
  export {
4
+ ContractAPI,
4
5
  ProjectAPI,
5
6
  validationRules_gen as ValidationRules
6
7
  };
@@ -4,6 +4,36 @@ const randomName = require("@scaleway/random-name");
4
4
  const json = require("../../../helpers/json.cjs");
5
5
  const marshalling = require("../../../helpers/marshalling.cjs");
6
6
  require("../../../vendor/base64/index.cjs");
7
+ const unmarshalContract = (data) => {
8
+ if (!json.isJSONObject(data)) {
9
+ throw new TypeError(
10
+ `Unmarshalling the type 'Contract' failed as data isn't a dictionary.`
11
+ );
12
+ }
13
+ return {
14
+ createdAt: marshalling.unmarshalDate(data.created_at),
15
+ id: data.id,
16
+ name: data.name,
17
+ type: data.type,
18
+ updatedAt: marshalling.unmarshalDate(data.updated_at),
19
+ version: data.version
20
+ };
21
+ };
22
+ const unmarshalContractSignature = (data) => {
23
+ if (!json.isJSONObject(data)) {
24
+ throw new TypeError(
25
+ `Unmarshalling the type 'ContractSignature' failed as data isn't a dictionary.`
26
+ );
27
+ }
28
+ return {
29
+ contract: data.contract ? unmarshalContract(data.contract) : void 0,
30
+ createdAt: marshalling.unmarshalDate(data.created_at),
31
+ expiresAt: marshalling.unmarshalDate(data.expires_at),
32
+ id: data.id,
33
+ organizationId: data.organization_id,
34
+ signedAt: marshalling.unmarshalDate(data.signed_at)
35
+ };
36
+ };
7
37
  const unmarshalProject = (data) => {
8
38
  if (!json.isJSONObject(data)) {
9
39
  throw new TypeError(
@@ -19,6 +49,31 @@ const unmarshalProject = (data) => {
19
49
  updatedAt: marshalling.unmarshalDate(data.updated_at)
20
50
  };
21
51
  };
52
+ const unmarshalCheckContractSignatureResponse = (data) => {
53
+ if (!json.isJSONObject(data)) {
54
+ throw new TypeError(
55
+ `Unmarshalling the type 'CheckContractSignatureResponse' failed as data isn't a dictionary.`
56
+ );
57
+ }
58
+ return {
59
+ created: data.created,
60
+ validated: data.validated
61
+ };
62
+ };
63
+ const unmarshalListContractSignaturesResponse = (data) => {
64
+ if (!json.isJSONObject(data)) {
65
+ throw new TypeError(
66
+ `Unmarshalling the type 'ListContractSignaturesResponse' failed as data isn't a dictionary.`
67
+ );
68
+ }
69
+ return {
70
+ contractSignatures: marshalling.unmarshalArrayOfObject(
71
+ data.contract_signatures,
72
+ unmarshalContractSignature
73
+ ),
74
+ totalCount: data.total_count
75
+ };
76
+ };
22
77
  const unmarshalListProjectsResponse = (data) => {
23
78
  if (!json.isJSONObject(data)) {
24
79
  throw new TypeError(
@@ -30,6 +85,17 @@ const unmarshalListProjectsResponse = (data) => {
30
85
  totalCount: data.total_count
31
86
  };
32
87
  };
88
+ const marshalContractApiCheckContractSignatureRequest = (request, defaults) => ({
89
+ contract_name: request.contractName,
90
+ contract_type: request.contractType,
91
+ organization_id: request.organizationId ?? defaults.defaultOrganizationId
92
+ });
93
+ const marshalContractApiCreateContractSignatureRequest = (request, defaults) => ({
94
+ contract_name: request.contractName,
95
+ contract_type: request.contractType,
96
+ organization_id: request.organizationId ?? defaults.defaultOrganizationId,
97
+ validated: request.validated
98
+ });
33
99
  const marshalProjectApiCreateProjectRequest = (request, defaults) => ({
34
100
  description: request.description,
35
101
  name: request.name || randomName("proj"),
@@ -39,7 +105,12 @@ const marshalProjectApiUpdateProjectRequest = (request, defaults) => ({
39
105
  description: request.description,
40
106
  name: request.name
41
107
  });
108
+ exports.marshalContractApiCheckContractSignatureRequest = marshalContractApiCheckContractSignatureRequest;
109
+ exports.marshalContractApiCreateContractSignatureRequest = marshalContractApiCreateContractSignatureRequest;
42
110
  exports.marshalProjectApiCreateProjectRequest = marshalProjectApiCreateProjectRequest;
43
111
  exports.marshalProjectApiUpdateProjectRequest = marshalProjectApiUpdateProjectRequest;
112
+ exports.unmarshalCheckContractSignatureResponse = unmarshalCheckContractSignatureResponse;
113
+ exports.unmarshalContractSignature = unmarshalContractSignature;
114
+ exports.unmarshalListContractSignaturesResponse = unmarshalListContractSignaturesResponse;
44
115
  exports.unmarshalListProjectsResponse = unmarshalListProjectsResponse;
45
116
  exports.unmarshalProject = unmarshalProject;
@@ -1,6 +1,11 @@
1
1
  import type { DefaultValues } from '../../../bridge';
2
- import type { ListProjectsResponse, Project, ProjectApiCreateProjectRequest, ProjectApiUpdateProjectRequest } from './types.gen';
2
+ import type { CheckContractSignatureResponse, ContractApiCheckContractSignatureRequest, ContractApiCreateContractSignatureRequest, ContractSignature, ListContractSignaturesResponse, ListProjectsResponse, Project, ProjectApiCreateProjectRequest, ProjectApiUpdateProjectRequest } from './types.gen';
3
+ export declare const unmarshalContractSignature: (data: unknown) => ContractSignature;
3
4
  export declare const unmarshalProject: (data: unknown) => Project;
5
+ export declare const unmarshalCheckContractSignatureResponse: (data: unknown) => CheckContractSignatureResponse;
6
+ export declare const unmarshalListContractSignaturesResponse: (data: unknown) => ListContractSignaturesResponse;
4
7
  export declare const unmarshalListProjectsResponse: (data: unknown) => ListProjectsResponse;
8
+ export declare const marshalContractApiCheckContractSignatureRequest: (request: ContractApiCheckContractSignatureRequest, defaults: DefaultValues) => Record<string, unknown>;
9
+ export declare const marshalContractApiCreateContractSignatureRequest: (request: ContractApiCreateContractSignatureRequest, defaults: DefaultValues) => Record<string, unknown>;
5
10
  export declare const marshalProjectApiCreateProjectRequest: (request: ProjectApiCreateProjectRequest, defaults: DefaultValues) => Record<string, unknown>;
6
11
  export declare const marshalProjectApiUpdateProjectRequest: (request: ProjectApiUpdateProjectRequest, defaults: DefaultValues) => Record<string, unknown>;
@@ -2,6 +2,36 @@ import randomName from "@scaleway/random-name";
2
2
  import { isJSONObject } from "../../../helpers/json.js";
3
3
  import { unmarshalDate, unmarshalArrayOfObject } from "../../../helpers/marshalling.js";
4
4
  import "../../../vendor/base64/index.js";
5
+ const unmarshalContract = (data) => {
6
+ if (!isJSONObject(data)) {
7
+ throw new TypeError(
8
+ `Unmarshalling the type 'Contract' failed as data isn't a dictionary.`
9
+ );
10
+ }
11
+ return {
12
+ createdAt: unmarshalDate(data.created_at),
13
+ id: data.id,
14
+ name: data.name,
15
+ type: data.type,
16
+ updatedAt: unmarshalDate(data.updated_at),
17
+ version: data.version
18
+ };
19
+ };
20
+ const unmarshalContractSignature = (data) => {
21
+ if (!isJSONObject(data)) {
22
+ throw new TypeError(
23
+ `Unmarshalling the type 'ContractSignature' failed as data isn't a dictionary.`
24
+ );
25
+ }
26
+ return {
27
+ contract: data.contract ? unmarshalContract(data.contract) : void 0,
28
+ createdAt: unmarshalDate(data.created_at),
29
+ expiresAt: unmarshalDate(data.expires_at),
30
+ id: data.id,
31
+ organizationId: data.organization_id,
32
+ signedAt: unmarshalDate(data.signed_at)
33
+ };
34
+ };
5
35
  const unmarshalProject = (data) => {
6
36
  if (!isJSONObject(data)) {
7
37
  throw new TypeError(
@@ -17,6 +47,31 @@ const unmarshalProject = (data) => {
17
47
  updatedAt: unmarshalDate(data.updated_at)
18
48
  };
19
49
  };
50
+ const unmarshalCheckContractSignatureResponse = (data) => {
51
+ if (!isJSONObject(data)) {
52
+ throw new TypeError(
53
+ `Unmarshalling the type 'CheckContractSignatureResponse' failed as data isn't a dictionary.`
54
+ );
55
+ }
56
+ return {
57
+ created: data.created,
58
+ validated: data.validated
59
+ };
60
+ };
61
+ const unmarshalListContractSignaturesResponse = (data) => {
62
+ if (!isJSONObject(data)) {
63
+ throw new TypeError(
64
+ `Unmarshalling the type 'ListContractSignaturesResponse' failed as data isn't a dictionary.`
65
+ );
66
+ }
67
+ return {
68
+ contractSignatures: unmarshalArrayOfObject(
69
+ data.contract_signatures,
70
+ unmarshalContractSignature
71
+ ),
72
+ totalCount: data.total_count
73
+ };
74
+ };
20
75
  const unmarshalListProjectsResponse = (data) => {
21
76
  if (!isJSONObject(data)) {
22
77
  throw new TypeError(
@@ -28,6 +83,17 @@ const unmarshalListProjectsResponse = (data) => {
28
83
  totalCount: data.total_count
29
84
  };
30
85
  };
86
+ const marshalContractApiCheckContractSignatureRequest = (request, defaults) => ({
87
+ contract_name: request.contractName,
88
+ contract_type: request.contractType,
89
+ organization_id: request.organizationId ?? defaults.defaultOrganizationId
90
+ });
91
+ const marshalContractApiCreateContractSignatureRequest = (request, defaults) => ({
92
+ contract_name: request.contractName,
93
+ contract_type: request.contractType,
94
+ organization_id: request.organizationId ?? defaults.defaultOrganizationId,
95
+ validated: request.validated
96
+ });
31
97
  const marshalProjectApiCreateProjectRequest = (request, defaults) => ({
32
98
  description: request.description,
33
99
  name: request.name || randomName("proj"),
@@ -38,8 +104,13 @@ const marshalProjectApiUpdateProjectRequest = (request, defaults) => ({
38
104
  name: request.name
39
105
  });
40
106
  export {
107
+ marshalContractApiCheckContractSignatureRequest,
108
+ marshalContractApiCreateContractSignatureRequest,
41
109
  marshalProjectApiCreateProjectRequest,
42
110
  marshalProjectApiUpdateProjectRequest,
111
+ unmarshalCheckContractSignatureResponse,
112
+ unmarshalContractSignature,
113
+ unmarshalListContractSignaturesResponse,
43
114
  unmarshalListProjectsResponse,
44
115
  unmarshalProject
45
116
  };
@@ -1,4 +1,35 @@
1
+ import type { LanguageCode as StdLanguageCode } from '../../std/types.gen';
2
+ export type ContractType = 'unknown_type' | 'global' | 'k8s' | 'instance' | 'container' | 'baremetal';
3
+ export type ListContractSignaturesRequestOrderBy = 'signed_at_asc' | 'signed_at_desc' | 'expires_at_asc' | 'expires_at_desc' | 'name_asc' | 'name_desc';
1
4
  export type ListProjectsRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'name_asc' | 'name_desc';
5
+ export interface Contract {
6
+ /** ID of the contract. */
7
+ id: string;
8
+ /** The type of the contract. */
9
+ type: ContractType;
10
+ /** The name of the contract. */
11
+ name: string;
12
+ /** The version of the contract. */
13
+ version: number;
14
+ /** The creation date of the contract. */
15
+ createdAt?: Date;
16
+ /** The last modification date of the contract. */
17
+ updatedAt?: Date;
18
+ }
19
+ export interface ContractSignature {
20
+ /** ID of the contract signature. */
21
+ id: string;
22
+ /** The Organization ID which signed the contract. */
23
+ organizationId: string;
24
+ /** The creation date of the contract signature. */
25
+ createdAt?: Date;
26
+ /** The signing date of the contract signature. */
27
+ signedAt?: Date;
28
+ /** The expiration date of the contract signature. */
29
+ expiresAt?: Date;
30
+ /** The contract signed. */
31
+ contract?: Contract;
32
+ }
2
33
  export interface Project {
3
34
  /** ID of the Project. */
4
35
  id: string;
@@ -13,6 +44,56 @@ export interface Project {
13
44
  /** Description of the Project. */
14
45
  description: string;
15
46
  }
47
+ export interface CheckContractSignatureResponse {
48
+ /** Whether a signature has been requested for this contract. */
49
+ created: boolean;
50
+ /** Whether the signature for this contract has been validated. */
51
+ validated: boolean;
52
+ }
53
+ export type ContractApiCheckContractSignatureRequest = {
54
+ /** ID of the Organization to check the contract signature for. */
55
+ organizationId?: string;
56
+ /** Filter on contract type. */
57
+ contractType?: ContractType;
58
+ /** Filter on contract name. */
59
+ contractName: string;
60
+ };
61
+ export type ContractApiCreateContractSignatureRequest = {
62
+ /** The type of the contract. */
63
+ contractType?: ContractType;
64
+ /** The name of the contract. */
65
+ contractName: string;
66
+ /** Whether the contract is validated at creation. */
67
+ validated: boolean;
68
+ /** ID of the Organization. */
69
+ organizationId?: string;
70
+ };
71
+ export type ContractApiDownloadContractSignatureRequest = {
72
+ /** The contract signature ID. */
73
+ contractSignatureId: string;
74
+ /** The locale requested for the content of the contract. */
75
+ locale?: StdLanguageCode;
76
+ };
77
+ export type ContractApiListContractSignaturesRequest = {
78
+ /** The page number for the returned contracts. */
79
+ page?: number;
80
+ /** The maximum number of contracts per page. */
81
+ pageSize?: number;
82
+ /** How the contracts are ordered in the response. */
83
+ orderBy?: ListContractSignaturesRequestOrderBy;
84
+ /** Filter on Organization ID. */
85
+ organizationId?: string;
86
+ };
87
+ export type ContractApiValidateContractSignatureRequest = {
88
+ /** The contract linked to your Organization you want to sign. */
89
+ contractSignatureId: string;
90
+ };
91
+ export interface ListContractSignaturesResponse {
92
+ /** The total number of contract signatures. */
93
+ totalCount: number;
94
+ /** The paginated returned contract signatures. */
95
+ contractSignatures: ContractSignature[];
96
+ }
16
97
  export interface ListProjectsResponse {
17
98
  /** Total number of Projects. */
18
99
  totalCount: number;
@@ -1,5 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const ContractApiCheckContractSignatureRequest = {
4
+ contractName: {
5
+ minLength: 1
6
+ }
7
+ };
8
+ const ContractApiCreateContractSignatureRequest = {
9
+ contractName: {
10
+ minLength: 1
11
+ }
12
+ };
13
+ const ContractApiListContractSignaturesRequest = {
14
+ page: {
15
+ greaterThan: 0
16
+ },
17
+ pageSize: {
18
+ greaterThanOrEqual: 1,
19
+ lessThanOrEqual: 100
20
+ }
21
+ };
3
22
  const ProjectApiCreateProjectRequest = {
4
23
  description: {
5
24
  maxLength: 200
@@ -34,6 +53,9 @@ const ProjectApiUpdateProjectRequest = {
34
53
  pattern: /^[a-zA-Z0-9\._\- ]+$/
35
54
  }
36
55
  };
56
+ exports.ContractApiCheckContractSignatureRequest = ContractApiCheckContractSignatureRequest;
57
+ exports.ContractApiCreateContractSignatureRequest = ContractApiCreateContractSignatureRequest;
58
+ exports.ContractApiListContractSignaturesRequest = ContractApiListContractSignaturesRequest;
37
59
  exports.ProjectApiCreateProjectRequest = ProjectApiCreateProjectRequest;
38
60
  exports.ProjectApiListProjectsRequest = ProjectApiListProjectsRequest;
39
61
  exports.ProjectApiUpdateProjectRequest = ProjectApiUpdateProjectRequest;