@scaleway/sdk 2.0.0-alpha.13 → 2.0.0-alpha.15

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 (215) hide show
  1. package/dist/api/account/index.js +4 -0
  2. package/dist/api/account/v2/api.gen.js +147 -0
  3. package/dist/api/account/v2/index.gen.js +4 -0
  4. package/dist/api/account/v2/marshalling.gen.js +39 -0
  5. package/dist/api/account/v3/api.gen.js +129 -0
  6. package/dist/api/account/v3/index.gen.js +6 -0
  7. package/dist/api/account/v3/marshalling.gen.js +39 -0
  8. package/dist/api/account/v3/validation-rules.gen.js +39 -0
  9. package/dist/api/applesilicon/index.js +2 -0
  10. package/dist/api/applesilicon/v1alpha1/api.gen.js +220 -0
  11. package/dist/api/applesilicon/v1alpha1/content.gen.js +7 -0
  12. package/dist/api/applesilicon/v1alpha1/index.gen.js +5 -0
  13. package/dist/api/applesilicon/v1alpha1/marshalling.gen.js +113 -0
  14. package/dist/api/baremetal/index.js +2 -0
  15. package/dist/api/baremetal/v1/api.gen.js +523 -0
  16. package/dist/api/baremetal/v1/api.utils.js +27 -0
  17. package/dist/api/baremetal/v1/content.gen.js +13 -0
  18. package/dist/api/baremetal/v1/index.js +5 -0
  19. package/dist/api/baremetal/v1/marshalling.gen.js +406 -0
  20. package/dist/api/baremetal/v1/validation-rules.gen.js +109 -0
  21. package/dist/api/billing/index.js +2 -0
  22. package/dist/api/billing/v2alpha1/api.gen.js +80 -0
  23. package/dist/api/billing/v2alpha1/index.gen.js +4 -0
  24. package/dist/api/billing/v2alpha1/marshalling.gen.js +53 -0
  25. package/dist/api/block/index.js +2 -0
  26. package/dist/api/block/v1alpha1/api.gen.js +249 -0
  27. package/dist/api/block/v1alpha1/content.gen.js +13 -0
  28. package/dist/api/block/v1alpha1/index.gen.js +7 -0
  29. package/dist/api/block/v1alpha1/marshalling.gen.js +182 -0
  30. package/dist/api/block/v1alpha1/validation-rules.gen.js +52 -0
  31. package/dist/api/cockpit/index.js +2 -0
  32. package/dist/api/cockpit/v1beta1/api.gen.js +543 -0
  33. package/dist/api/cockpit/v1beta1/content.gen.js +7 -0
  34. package/dist/api/cockpit/v1beta1/index.gen.js +5 -0
  35. package/dist/api/cockpit/v1beta1/marshalling.gen.js +271 -0
  36. package/dist/api/container/index.js +2 -0
  37. package/dist/api/container/v1beta1/api.gen.js +549 -0
  38. package/dist/api/container/v1beta1/content.gen.js +22 -0
  39. package/dist/api/container/v1beta1/index.gen.js +7 -0
  40. package/dist/api/container/v1beta1/marshalling.gen.js +358 -0
  41. package/dist/api/container/v1beta1/validation-rules.gen.js +44 -0
  42. package/dist/api/document_db/index.js +2 -0
  43. package/dist/api/document_db/v1beta1/api.gen.js +830 -0
  44. package/dist/api/document_db/v1beta1/content.gen.js +19 -0
  45. package/dist/api/document_db/v1beta1/index.gen.js +7 -0
  46. package/dist/api/document_db/v1beta1/marshalling.gen.js +636 -0
  47. package/dist/api/document_db/v1beta1/validation-rules.gen.js +10 -0
  48. package/dist/api/domain/index.js +2 -0
  49. package/dist/api/domain/v2beta1/api.gen.js +867 -0
  50. package/dist/api/domain/v2beta1/content.gen.js +28 -0
  51. package/dist/api/domain/v2beta1/index.gen.js +5 -0
  52. package/dist/api/domain/v2beta1/marshalling.gen.js +1172 -0
  53. package/dist/api/flexibleip/index.js +2 -0
  54. package/dist/api/flexibleip/v1alpha1/api.gen.js +195 -0
  55. package/dist/api/flexibleip/v1alpha1/content.gen.js +10 -0
  56. package/dist/api/flexibleip/v1alpha1/index.gen.js +7 -0
  57. package/dist/api/flexibleip/v1alpha1/marshalling.gen.js +97 -0
  58. package/dist/api/flexibleip/v1alpha1/validation-rules.gen.js +14 -0
  59. package/dist/api/function/index.js +2 -0
  60. package/dist/api/function/v1beta1/api.gen.js +560 -0
  61. package/dist/api/function/v1beta1/content.gen.js +22 -0
  62. package/dist/api/function/v1beta1/index.gen.js +7 -0
  63. package/dist/api/function/v1beta1/marshalling.gen.js +396 -0
  64. package/dist/api/function/v1beta1/validation-rules.gen.js +44 -0
  65. package/dist/api/iam/index.js +2 -0
  66. package/dist/api/iam/v1alpha1/api.gen.js +783 -0
  67. package/dist/api/iam/v1alpha1/index.gen.js +6 -0
  68. package/dist/api/iam/v1alpha1/marshalling.gen.js +384 -0
  69. package/dist/api/iam/v1alpha1/validation-rules.gen.js +207 -0
  70. package/dist/api/instance/index.js +2 -0
  71. package/dist/api/instance/v1/api.gen.js +1003 -0
  72. package/dist/api/instance/v1/api.utils.js +369 -0
  73. package/dist/api/instance/v1/content.gen.js +31 -0
  74. package/dist/api/instance/v1/index.js +2 -0
  75. package/dist/api/instance/v1/marshalling.gen.js +1415 -0
  76. package/dist/api/instance/v1/marshalling.utils.js +63 -0
  77. package/dist/api/iot/index.js +2 -0
  78. package/dist/api/iot/v1/api.gen.js +573 -0
  79. package/dist/api/iot/v1/content.gen.js +7 -0
  80. package/dist/api/iot/v1/index.gen.js +5 -0
  81. package/dist/api/iot/v1/marshalling.gen.js +439 -0
  82. package/dist/api/ipam/index.js +2 -0
  83. package/dist/api/ipam/v1/api.gen.js +113 -0
  84. package/dist/api/ipam/v1/index.gen.js +6 -0
  85. package/dist/api/ipam/v1/marshalling.gen.js +77 -0
  86. package/dist/api/ipam/v1/validation-rules.gen.js +11 -0
  87. package/dist/api/ipfs/index.js +2 -0
  88. package/dist/api/ipfs/v1alpha1/api.gen.js +314 -0
  89. package/dist/api/ipfs/v1alpha1/content.gen.js +10 -0
  90. package/dist/api/ipfs/v1alpha1/index.gen.js +5 -0
  91. package/dist/api/ipfs/v1alpha1/marshalling.gen.js +180 -0
  92. package/dist/api/k8s/index.js +2 -0
  93. package/dist/api/k8s/v1/api.gen.js +454 -0
  94. package/dist/api/k8s/v1/api.utils.js +13 -0
  95. package/dist/api/k8s/v1/content.gen.js +13 -0
  96. package/dist/api/k8s/v1/index.js +4 -0
  97. package/dist/api/k8s/v1/marshalling.gen.js +421 -0
  98. package/dist/api/k8s/v1/validation-rules.gen.js +101 -0
  99. package/dist/api/lb/index.js +2 -0
  100. package/dist/api/lb/v1/api.gen.js +1669 -0
  101. package/dist/api/lb/v1/api.utils.js +81 -0
  102. package/dist/api/lb/v1/content.gen.js +16 -0
  103. package/dist/api/lb/v1/index.js +2 -0
  104. package/dist/api/lb/v1/marshalling.gen.js +1039 -0
  105. package/dist/api/marketplace/index.js +4 -0
  106. package/dist/api/marketplace/v1/api.gen.js +60 -0
  107. package/dist/api/marketplace/v1/index.gen.js +4 -0
  108. package/dist/api/marketplace/v1/marshalling.gen.js +92 -0
  109. package/dist/api/marketplace/v2/api.gen.js +162 -0
  110. package/dist/api/marketplace/v2/index.gen.js +4 -0
  111. package/dist/api/marketplace/v2/marshalling.gen.js +94 -0
  112. package/dist/api/mnq/index.js +4 -0
  113. package/dist/api/mnq/v1alpha1/api.gen.js +197 -0
  114. package/dist/api/mnq/v1alpha1/index.gen.js +4 -0
  115. package/dist/api/mnq/v1alpha1/marshalling.gen.js +126 -0
  116. package/dist/api/mnq/v1beta1/api.gen.js +529 -0
  117. package/dist/api/mnq/v1beta1/index.gen.js +6 -0
  118. package/dist/api/mnq/v1beta1/marshalling.gen.js +212 -0
  119. package/dist/api/mnq/v1beta1/validation-rules.gen.js +77 -0
  120. package/dist/api/rdb/index.js +2 -0
  121. package/dist/api/rdb/v1/api.gen.js +972 -0
  122. package/dist/api/rdb/v1/content.gen.js +22 -0
  123. package/dist/api/rdb/v1/index.gen.js +7 -0
  124. package/dist/api/rdb/v1/marshalling.gen.js +694 -0
  125. package/dist/api/rdb/v1/validation-rules.gen.js +10 -0
  126. package/dist/api/redis/index.js +2 -0
  127. package/dist/api/redis/v1/api.gen.js +389 -0
  128. package/dist/api/redis/v1/content.gen.js +7 -0
  129. package/dist/api/redis/v1/index.gen.js +5 -0
  130. package/dist/api/redis/v1/marshalling.gen.js +283 -0
  131. package/dist/api/registry/index.js +2 -0
  132. package/dist/api/registry/v1/api.gen.js +252 -0
  133. package/dist/api/registry/v1/content.gen.js +13 -0
  134. package/dist/api/registry/v1/index.gen.js +5 -0
  135. package/dist/api/registry/v1/marshalling.gen.js +108 -0
  136. package/dist/api/secret/index.js +2 -0
  137. package/dist/api/secret/v1alpha1/api.gen.js +415 -0
  138. package/dist/api/secret/v1alpha1/index.gen.js +4 -0
  139. package/dist/api/secret/v1alpha1/marshalling.gen.js +150 -0
  140. package/dist/api/tem/index.js +2 -0
  141. package/dist/api/tem/v1alpha1/api.gen.js +229 -0
  142. package/dist/api/tem/v1alpha1/content.gen.js +10 -0
  143. package/dist/api/tem/v1alpha1/index.gen.js +5 -0
  144. package/dist/api/tem/v1alpha1/marshalling.gen.js +168 -0
  145. package/dist/api/test/index.js +2 -0
  146. package/dist/api/test/v1/api.gen.js +152 -0
  147. package/dist/api/test/v1/content.gen.js +7 -0
  148. package/dist/api/test/v1/index.gen.js +5 -0
  149. package/dist/api/test/v1/marshalling.gen.js +81 -0
  150. package/dist/api/vpc/index.js +4 -0
  151. package/dist/api/vpc/v1/api.gen.js +110 -0
  152. package/dist/api/vpc/v1/index.gen.js +4 -0
  153. package/dist/api/vpc/v1/marshalling.gen.js +44 -0
  154. package/dist/api/vpc/v2/api.gen.js +276 -0
  155. package/dist/api/vpc/v2/index.gen.js +4 -0
  156. package/dist/api/vpc/v2/marshalling.gen.js +137 -0
  157. package/dist/api/vpcgw/index.js +2 -0
  158. package/dist/api/vpcgw/v1/api.gen.js +669 -0
  159. package/dist/api/vpcgw/v1/content.gen.js +10 -0
  160. package/dist/api/vpcgw/v1/index.gen.js +5 -0
  161. package/dist/api/vpcgw/v1/marshalling.gen.js +359 -0
  162. package/dist/api/webhosting/index.js +2 -0
  163. package/dist/api/webhosting/v1alpha1/api.gen.js +158 -0
  164. package/dist/api/webhosting/v1alpha1/content.gen.js +7 -0
  165. package/dist/api/webhosting/v1alpha1/index.gen.js +7 -0
  166. package/dist/api/webhosting/v1alpha1/marshalling.gen.js +146 -0
  167. package/dist/api/webhosting/v1alpha1/validation-rules.gen.js +14 -0
  168. package/dist/helpers/is-browser.js +5 -0
  169. package/dist/helpers/is-response.js +10 -0
  170. package/dist/helpers/json.js +11 -0
  171. package/dist/helpers/marshalling.js +130 -0
  172. package/dist/index.cjs +26484 -0
  173. package/dist/index.d.ts +31184 -0
  174. package/dist/index.js +71 -0
  175. package/dist/internal/async/interval-retrier.js +105 -0
  176. package/dist/internal/async/sleep.js +13 -0
  177. package/dist/internal/interceptors/composer.js +46 -0
  178. package/dist/internal/interceptors/helpers.js +32 -0
  179. package/dist/internal/logger/console-logger.js +38 -0
  180. package/dist/internal/logger/index.js +41 -0
  181. package/dist/internal/logger/level-resolver.js +13 -0
  182. package/dist/internal/validations/string-validation.js +38 -0
  183. package/dist/node_modules/.pnpm/@scaleway_random-name@4.0.2/node_modules/@scaleway/random-name/dist/index.js +13 -0
  184. package/dist/scw/api.js +12 -0
  185. package/dist/scw/auth.js +68 -0
  186. package/dist/scw/client-ini-factory.js +174 -0
  187. package/dist/scw/client-ini-profile.js +54 -0
  188. package/dist/scw/client-settings.js +78 -0
  189. package/dist/scw/client.js +98 -0
  190. package/dist/scw/constants.js +4 -0
  191. package/dist/scw/custom-marshalling.js +131 -0
  192. package/dist/scw/errors/error-parser.js +107 -0
  193. package/dist/scw/errors/non-standard/invalid-request-mapper.js +36 -0
  194. package/dist/scw/errors/non-standard/unknown-resource-mapper.js +27 -0
  195. package/dist/scw/errors/scw-error.js +66 -0
  196. package/dist/scw/errors/standard/already-exists-error.js +26 -0
  197. package/dist/scw/errors/standard/denied-authentication-error.js +52 -0
  198. package/dist/scw/errors/standard/index.js +13 -0
  199. package/dist/scw/errors/standard/invalid-arguments-error.js +67 -0
  200. package/dist/scw/errors/standard/out-of-stock-error.js +22 -0
  201. package/dist/scw/errors/standard/permissions-denied-error.js +48 -0
  202. package/dist/scw/errors/standard/precondition-failed-error.js +42 -0
  203. package/dist/scw/errors/standard/quotas-exceeded-error.js +68 -0
  204. package/dist/scw/errors/standard/resource-expired-error.js +26 -0
  205. package/dist/scw/errors/standard/resource-locked-error.js +25 -0
  206. package/dist/scw/errors/standard/resource-not-found-error.js +25 -0
  207. package/dist/scw/errors/standard/too-many-requests-error.js +70 -0
  208. package/dist/scw/errors/standard/transient-state-error.js +26 -0
  209. package/dist/scw/errors/types.js +23 -0
  210. package/dist/scw/fetch/build-fetcher.js +72 -0
  211. package/dist/scw/fetch/http-dumper.js +54 -0
  212. package/dist/scw/fetch/http-interceptors.js +99 -0
  213. package/dist/scw/fetch/resource-paginator.js +84 -0
  214. package/dist/scw/fetch/response-parser.js +72 -0
  215. package/package.json +2 -2
@@ -0,0 +1,2 @@
1
+ import * as index_gen from './v1alpha1/index.gen.js';
2
+ export { index_gen as v1alpha1 };
@@ -0,0 +1,195 @@
1
+ import { waitForResource } from '../../../internal/async/interval-retrier.js';
2
+ import { API as API$1 } from '../../../scw/api.js';
3
+ import { validatePathParam, urlParams } from '../../../helpers/marshalling.js';
4
+ import { enrichForPagination } from '../../../scw/fetch/resource-paginator.js';
5
+ import { FLEXIBLE_IP_TRANSIENT_STATUSES } from './content.gen.js';
6
+ import { marshalCreateFlexibleIPRequest, unmarshalFlexibleIP, unmarshalListFlexibleIPsResponse, marshalUpdateFlexibleIPRequest, marshalAttachFlexibleIPRequest, unmarshalAttachFlexibleIPsResponse, marshalDetachFlexibleIPRequest, unmarshalDetachFlexibleIPsResponse, marshalGenerateMACAddrRequest, marshalDuplicateMACAddrRequest, marshalMoveMACAddrRequest } from './marshalling.gen.js';
7
+
8
+ // This file was automatically generated. DO NOT EDIT.
9
+ // If you have any remark or suggestion do not hesitate to open an issue.
10
+ const jsonContentHeaders = {
11
+ 'Content-Type': 'application/json; charset=utf-8'
12
+ };
13
+
14
+ /** Elastic Metal - Flexible IP API. */
15
+ class API extends API$1 {
16
+ /** Lists the available zones of the API. */
17
+ static LOCALITIES = ['fr-par-1', 'fr-par-2', 'nl-ams-1'];
18
+
19
+ /**
20
+ * Create a new flexible IP. Generate a new flexible IP within a given zone,
21
+ * specifying its configuration including Project ID and description.
22
+ *
23
+ * @param request - The request {@link CreateFlexibleIPRequest}
24
+ * @returns A Promise of FlexibleIP
25
+ */
26
+ createFlexibleIP = request => this.client.fetch({
27
+ body: JSON.stringify(marshalCreateFlexibleIPRequest(request, this.client.settings)),
28
+ headers: jsonContentHeaders,
29
+ method: 'POST',
30
+ path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips`
31
+ }, unmarshalFlexibleIP);
32
+
33
+ /**
34
+ * Get an existing flexible IP. Retrieve information about an existing
35
+ * flexible IP, specified by its ID and zone. Its full details, including
36
+ * Project ID, description and status, are returned in the response object.
37
+ *
38
+ * @param request - The request {@link GetFlexibleIPRequest}
39
+ * @returns A Promise of FlexibleIP
40
+ */
41
+ getFlexibleIP = request => this.client.fetch({
42
+ method: 'GET',
43
+ path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam('fipId', request.fipId)}`
44
+ }, unmarshalFlexibleIP);
45
+
46
+ /**
47
+ * Waits for {@link FlexibleIP} to be in a final state.
48
+ *
49
+ * @param request - The request {@link GetFlexibleIPRequest}
50
+ * @param options - The waiting options
51
+ * @returns A Promise of FlexibleIP
52
+ */
53
+ waitForFlexibleIP = (request, options) => waitForResource(options?.stop ?? (res => Promise.resolve(!FLEXIBLE_IP_TRANSIENT_STATUSES.includes(res.status))), this.getFlexibleIP, request, options);
54
+ pageOfListFlexibleIPs = (() => {
55
+ var _this = this;
56
+ return function (request) {
57
+ if (request === void 0) {
58
+ request = {};
59
+ }
60
+ return _this.client.fetch({
61
+ method: 'GET',
62
+ path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? _this.client.settings.defaultZone)}/fips`,
63
+ urlParams: urlParams(['order_by', request.orderBy], ['organization_id', request.organizationId], ['page', request.page], ['page_size', request.pageSize ?? _this.client.settings.defaultPageSize], ['project_id', request.projectId], ['server_ids', request.serverIds], ['status', request.status], ['tags', request.tags])
64
+ }, unmarshalListFlexibleIPsResponse);
65
+ };
66
+ })();
67
+
68
+ /**
69
+ * List flexible IPs. List all flexible IPs within a given zone.
70
+ *
71
+ * @param request - The request {@link ListFlexibleIPsRequest}
72
+ * @returns A Promise of ListFlexibleIPsResponse
73
+ */
74
+ listFlexibleIPs = (() => {
75
+ var _this2 = this;
76
+ return function (request) {
77
+ if (request === void 0) {
78
+ request = {};
79
+ }
80
+ return enrichForPagination('flexibleIps', _this2.pageOfListFlexibleIPs, request);
81
+ };
82
+ })();
83
+
84
+ /**
85
+ * Update an existing flexible IP. Update the parameters of an existing
86
+ * flexible IP, specified by its ID and zone. These parameters include tags
87
+ * and description.
88
+ *
89
+ * @param request - The request {@link UpdateFlexibleIPRequest}
90
+ * @returns A Promise of FlexibleIP
91
+ */
92
+ updateFlexibleIP = request => this.client.fetch({
93
+ body: JSON.stringify(marshalUpdateFlexibleIPRequest(request, this.client.settings)),
94
+ headers: jsonContentHeaders,
95
+ method: 'PATCH',
96
+ path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam('fipId', request.fipId)}`
97
+ }, unmarshalFlexibleIP);
98
+
99
+ /**
100
+ * Delete an existing flexible IP. Delete an existing flexible IP, specified
101
+ * by its ID and zone. Note that deleting a flexible IP is permanent and
102
+ * cannot be undone.
103
+ *
104
+ * @param request - The request {@link DeleteFlexibleIPRequest}
105
+ */
106
+ deleteFlexibleIP = request => this.client.fetch({
107
+ method: 'DELETE',
108
+ path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam('fipId', request.fipId)}`
109
+ });
110
+
111
+ /**
112
+ * Attach an existing flexible IP to a server. Attach an existing flexible IP
113
+ * to a specified Elastic Metal server.
114
+ *
115
+ * @param request - The request {@link AttachFlexibleIPRequest}
116
+ * @returns A Promise of AttachFlexibleIPsResponse
117
+ */
118
+ attachFlexibleIP = request => this.client.fetch({
119
+ body: JSON.stringify(marshalAttachFlexibleIPRequest(request, this.client.settings)),
120
+ headers: jsonContentHeaders,
121
+ method: 'POST',
122
+ path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/attach`
123
+ }, unmarshalAttachFlexibleIPsResponse);
124
+
125
+ /**
126
+ * Detach an existing flexible IP from a server. Detach an existing flexible
127
+ * IP from a specified Elastic Metal server.
128
+ *
129
+ * @param request - The request {@link DetachFlexibleIPRequest}
130
+ * @returns A Promise of DetachFlexibleIPsResponse
131
+ */
132
+ detachFlexibleIP = request => this.client.fetch({
133
+ body: JSON.stringify(marshalDetachFlexibleIPRequest(request, this.client.settings)),
134
+ headers: jsonContentHeaders,
135
+ method: 'POST',
136
+ path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/detach`
137
+ }, unmarshalDetachFlexibleIPsResponse);
138
+
139
+ /**
140
+ * Generate a virtual MAC address on an existing flexible IP. Generate a
141
+ * virtual MAC (Media Access Control) address on an existing flexible IP.
142
+ *
143
+ * @param request - The request {@link GenerateMACAddrRequest}
144
+ * @returns A Promise of FlexibleIP
145
+ */
146
+ generateMACAddr = request => this.client.fetch({
147
+ body: JSON.stringify(marshalGenerateMACAddrRequest(request, this.client.settings)),
148
+ headers: jsonContentHeaders,
149
+ method: 'POST',
150
+ path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam('fipId', request.fipId)}/mac`
151
+ }, unmarshalFlexibleIP);
152
+
153
+ /**
154
+ * Duplicate a virtual MAC address to another flexible IP. Duplicate a virtual
155
+ * MAC address from a given flexible IP to another flexible IP attached to the
156
+ * same server.
157
+ *
158
+ * @param request - The request {@link DuplicateMACAddrRequest}
159
+ * @returns A Promise of FlexibleIP
160
+ */
161
+ duplicateMACAddr = request => this.client.fetch({
162
+ body: JSON.stringify(marshalDuplicateMACAddrRequest(request, this.client.settings)),
163
+ headers: jsonContentHeaders,
164
+ method: 'POST',
165
+ path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam('fipId', request.fipId)}/mac/duplicate`
166
+ }, unmarshalFlexibleIP);
167
+
168
+ /**
169
+ * Relocate an existing virtual MAC address to a different flexible IP.
170
+ * Relocate a virtual MAC (Media Access Control) address from an existing
171
+ * flexible IP to a different flexible IP.
172
+ *
173
+ * @param request - The request {@link MoveMACAddrRequest}
174
+ * @returns A Promise of FlexibleIP
175
+ */
176
+ moveMACAddr = request => this.client.fetch({
177
+ body: JSON.stringify(marshalMoveMACAddrRequest(request, this.client.settings)),
178
+ headers: jsonContentHeaders,
179
+ method: 'POST',
180
+ path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam('fipId', request.fipId)}/mac/move`
181
+ }, unmarshalFlexibleIP);
182
+
183
+ /**
184
+ * Detach a given virtual MAC address from an existing flexible IP. Detach a
185
+ * given MAC (Media Access Control) address from an existing flexible IP.
186
+ *
187
+ * @param request - The request {@link DeleteMACAddrRequest}
188
+ */
189
+ deleteMACAddr = request => this.client.fetch({
190
+ method: 'DELETE',
191
+ path: `/flexible-ip/v1alpha1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/fips/${validatePathParam('fipId', request.fipId)}/mac`
192
+ });
193
+ }
194
+
195
+ export { API };
@@ -0,0 +1,10 @@
1
+ // This file was automatically generated. DO NOT EDIT.
2
+ // If you have any remark or suggestion do not hesitate to open an issue.
3
+
4
+ /** Lists transient statutes of the enum {@link FlexibleIPStatus}. */
5
+ const FLEXIBLE_IP_TRANSIENT_STATUSES = ['updating', 'detaching'];
6
+
7
+ /** Lists transient statutes of the enum {@link MACAddressStatus}. */
8
+ const MAC_ADDRESS_TRANSIENT_STATUSES = ['updating', 'deleting'];
9
+
10
+ export { FLEXIBLE_IP_TRANSIENT_STATUSES, MAC_ADDRESS_TRANSIENT_STATUSES };
@@ -0,0 +1,7 @@
1
+ export { API } from './api.gen.js';
2
+ export { FLEXIBLE_IP_TRANSIENT_STATUSES, MAC_ADDRESS_TRANSIENT_STATUSES } from './content.gen.js';
3
+ import * as validationRules_gen from './validation-rules.gen.js';
4
+ export { validationRules_gen as ValidationRules };
5
+
6
+ // This file was automatically generated. DO NOT EDIT.
7
+ // If you have any remark or suggestion do not hesitate to open an issue.
@@ -0,0 +1,97 @@
1
+ import { isJSONObject } from '../../../helpers/json.js';
2
+ import { unmarshalDate, unmarshalArrayOfObject } from '../../../helpers/marshalling.js';
3
+
4
+ // This file was automatically generated. DO NOT EDIT.
5
+ // If you have any remark or suggestion do not hesitate to open an issue.
6
+ const unmarshalMACAddress = data => {
7
+ if (!isJSONObject(data)) {
8
+ throw new TypeError(`Unmarshalling the type 'MACAddress' failed as data isn't a dictionary.`);
9
+ }
10
+ return {
11
+ createdAt: unmarshalDate(data.created_at),
12
+ id: data.id,
13
+ macAddress: data.mac_address,
14
+ macType: data.mac_type,
15
+ status: data.status,
16
+ updatedAt: unmarshalDate(data.updated_at),
17
+ zone: data.zone
18
+ };
19
+ };
20
+ const unmarshalFlexibleIP = data => {
21
+ if (!isJSONObject(data)) {
22
+ throw new TypeError(`Unmarshalling the type 'FlexibleIP' failed as data isn't a dictionary.`);
23
+ }
24
+ return {
25
+ createdAt: unmarshalDate(data.created_at),
26
+ description: data.description,
27
+ id: data.id,
28
+ ipAddress: data.ip_address,
29
+ macAddress: data.mac_address ? unmarshalMACAddress(data.mac_address) : undefined,
30
+ organizationId: data.organization_id,
31
+ projectId: data.project_id,
32
+ reverse: data.reverse,
33
+ serverId: data.server_id,
34
+ status: data.status,
35
+ tags: data.tags,
36
+ updatedAt: unmarshalDate(data.updated_at),
37
+ zone: data.zone
38
+ };
39
+ };
40
+ const unmarshalAttachFlexibleIPsResponse = data => {
41
+ if (!isJSONObject(data)) {
42
+ throw new TypeError(`Unmarshalling the type 'AttachFlexibleIPsResponse' failed as data isn't a dictionary.`);
43
+ }
44
+ return {
45
+ flexibleIps: unmarshalArrayOfObject(data.flexible_ips, unmarshalFlexibleIP),
46
+ totalCount: data.total_count
47
+ };
48
+ };
49
+ const unmarshalDetachFlexibleIPsResponse = data => {
50
+ if (!isJSONObject(data)) {
51
+ throw new TypeError(`Unmarshalling the type 'DetachFlexibleIPsResponse' failed as data isn't a dictionary.`);
52
+ }
53
+ return {
54
+ flexibleIps: unmarshalArrayOfObject(data.flexible_ips, unmarshalFlexibleIP),
55
+ totalCount: data.total_count
56
+ };
57
+ };
58
+ const unmarshalListFlexibleIPsResponse = data => {
59
+ if (!isJSONObject(data)) {
60
+ throw new TypeError(`Unmarshalling the type 'ListFlexibleIPsResponse' failed as data isn't a dictionary.`);
61
+ }
62
+ return {
63
+ flexibleIps: unmarshalArrayOfObject(data.flexible_ips, unmarshalFlexibleIP),
64
+ totalCount: data.total_count
65
+ };
66
+ };
67
+ const marshalAttachFlexibleIPRequest = (request, defaults) => ({
68
+ fips_ids: request.fipsIds,
69
+ server_id: request.serverId
70
+ });
71
+ const marshalCreateFlexibleIPRequest = (request, defaults) => ({
72
+ description: request.description,
73
+ is_ipv6: request.isIpv6,
74
+ project_id: request.projectId ?? defaults.defaultProjectId,
75
+ reverse: request.reverse,
76
+ server_id: request.serverId,
77
+ tags: request.tags
78
+ });
79
+ const marshalDetachFlexibleIPRequest = (request, defaults) => ({
80
+ fips_ids: request.fipsIds
81
+ });
82
+ const marshalDuplicateMACAddrRequest = (request, defaults) => ({
83
+ duplicate_from_fip_id: request.duplicateFromFipId
84
+ });
85
+ const marshalGenerateMACAddrRequest = (request, defaults) => ({
86
+ mac_type: request.macType
87
+ });
88
+ const marshalMoveMACAddrRequest = (request, defaults) => ({
89
+ dst_fip_id: request.dstFipId
90
+ });
91
+ const marshalUpdateFlexibleIPRequest = (request, defaults) => ({
92
+ description: request.description,
93
+ reverse: request.reverse,
94
+ tags: request.tags
95
+ });
96
+
97
+ export { marshalAttachFlexibleIPRequest, marshalCreateFlexibleIPRequest, marshalDetachFlexibleIPRequest, marshalDuplicateMACAddrRequest, marshalGenerateMACAddrRequest, marshalMoveMACAddrRequest, marshalUpdateFlexibleIPRequest, unmarshalAttachFlexibleIPsResponse, unmarshalDetachFlexibleIPsResponse, unmarshalFlexibleIP, unmarshalListFlexibleIPsResponse };
@@ -0,0 +1,14 @@
1
+ // This file was automatically generated. DO NOT EDIT.
2
+ // If you have any remark or suggestion do not hesitate to open an issue.
3
+
4
+ const ListFlexibleIPsRequest = {
5
+ page: {
6
+ greaterThan: 0
7
+ },
8
+ pageSize: {
9
+ greaterThan: 0,
10
+ lessThanOrEqual: 100
11
+ }
12
+ };
13
+
14
+ export { ListFlexibleIPsRequest };
@@ -0,0 +1,2 @@
1
+ import * as index_gen from './v1beta1/index.gen.js';
2
+ export { index_gen as v1beta1 };