@scaleway/sdk 3.0.0-alpha.0 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/dist/index.gen.d.ts +362 -0
  2. package/dist/index.gen.js +323 -0
  3. package/package.json +71 -25
  4. package/README.md +0 -46
  5. package/dist/api/account/index.js +0 -4
  6. package/dist/api/account/v2/api.gen.js +0 -147
  7. package/dist/api/account/v2/index.gen.js +0 -4
  8. package/dist/api/account/v2/marshalling.gen.js +0 -39
  9. package/dist/api/account/v3/api.gen.js +0 -129
  10. package/dist/api/account/v3/index.gen.js +0 -6
  11. package/dist/api/account/v3/marshalling.gen.js +0 -39
  12. package/dist/api/account/v3/validation-rules.gen.js +0 -39
  13. package/dist/api/applesilicon/index.js +0 -2
  14. package/dist/api/applesilicon/v1alpha1/api.gen.js +0 -220
  15. package/dist/api/applesilicon/v1alpha1/content.gen.js +0 -7
  16. package/dist/api/applesilicon/v1alpha1/index.gen.js +0 -5
  17. package/dist/api/applesilicon/v1alpha1/marshalling.gen.js +0 -113
  18. package/dist/api/baremetal/index.js +0 -2
  19. package/dist/api/baremetal/v1/api.gen.js +0 -523
  20. package/dist/api/baremetal/v1/api.utils.js +0 -27
  21. package/dist/api/baremetal/v1/content.gen.js +0 -13
  22. package/dist/api/baremetal/v1/index.js +0 -5
  23. package/dist/api/baremetal/v1/marshalling.gen.js +0 -395
  24. package/dist/api/baremetal/v1/validation-rules.gen.js +0 -109
  25. package/dist/api/billing/index.js +0 -2
  26. package/dist/api/billing/v2alpha1/api.gen.js +0 -80
  27. package/dist/api/billing/v2alpha1/index.gen.js +0 -4
  28. package/dist/api/billing/v2alpha1/marshalling.gen.js +0 -53
  29. package/dist/api/block/index.js +0 -2
  30. package/dist/api/block/v1alpha1/api.gen.js +0 -245
  31. package/dist/api/block/v1alpha1/content.gen.js +0 -13
  32. package/dist/api/block/v1alpha1/index.gen.js +0 -7
  33. package/dist/api/block/v1alpha1/marshalling.gen.js +0 -175
  34. package/dist/api/block/v1alpha1/validation-rules.gen.js +0 -42
  35. package/dist/api/cockpit/index.js +0 -2
  36. package/dist/api/cockpit/v1beta1/api.gen.js +0 -448
  37. package/dist/api/cockpit/v1beta1/content.gen.js +0 -7
  38. package/dist/api/cockpit/v1beta1/index.gen.js +0 -5
  39. package/dist/api/cockpit/v1beta1/marshalling.gen.js +0 -220
  40. package/dist/api/container/index.js +0 -2
  41. package/dist/api/container/v1beta1/api.gen.js +0 -549
  42. package/dist/api/container/v1beta1/content.gen.js +0 -22
  43. package/dist/api/container/v1beta1/index.gen.js +0 -5
  44. package/dist/api/container/v1beta1/marshalling.gen.js +0 -330
  45. package/dist/api/document_db/index.js +0 -2
  46. package/dist/api/document_db/v1beta1/api.gen.js +0 -830
  47. package/dist/api/document_db/v1beta1/content.gen.js +0 -19
  48. package/dist/api/document_db/v1beta1/index.gen.js +0 -7
  49. package/dist/api/document_db/v1beta1/marshalling.gen.js +0 -580
  50. package/dist/api/document_db/v1beta1/validation-rules.gen.js +0 -10
  51. package/dist/api/domain/index.js +0 -2
  52. package/dist/api/domain/v2beta1/api.gen.js +0 -875
  53. package/dist/api/domain/v2beta1/content.gen.js +0 -28
  54. package/dist/api/domain/v2beta1/index.gen.js +0 -7
  55. package/dist/api/domain/v2beta1/marshalling.gen.js +0 -958
  56. package/dist/api/flexibleip/index.js +0 -2
  57. package/dist/api/flexibleip/v1alpha1/api.gen.js +0 -203
  58. package/dist/api/flexibleip/v1alpha1/content.gen.js +0 -10
  59. package/dist/api/flexibleip/v1alpha1/index.gen.js +0 -7
  60. package/dist/api/flexibleip/v1alpha1/marshalling.gen.js +0 -97
  61. package/dist/api/flexibleip/v1alpha1/validation-rules.gen.js +0 -14
  62. package/dist/api/function/index.js +0 -2
  63. package/dist/api/function/v1beta1/api.gen.js +0 -560
  64. package/dist/api/function/v1beta1/content.gen.js +0 -22
  65. package/dist/api/function/v1beta1/index.gen.js +0 -5
  66. package/dist/api/function/v1beta1/marshalling.gen.js +0 -368
  67. package/dist/api/iam/index.js +0 -2
  68. package/dist/api/iam/v1alpha1/api.gen.js +0 -799
  69. package/dist/api/iam/v1alpha1/index.gen.js +0 -6
  70. package/dist/api/iam/v1alpha1/marshalling.gen.js +0 -373
  71. package/dist/api/iam/v1alpha1/validation-rules.gen.js +0 -207
  72. package/dist/api/instance/index.js +0 -2
  73. package/dist/api/instance/v1/api.gen.js +0 -1003
  74. package/dist/api/instance/v1/api.utils.js +0 -369
  75. package/dist/api/instance/v1/content.gen.js +0 -31
  76. package/dist/api/instance/v1/index.js +0 -2
  77. package/dist/api/instance/v1/marshalling.gen.js +0 -1206
  78. package/dist/api/instance/v1/marshalling.utils.js +0 -63
  79. package/dist/api/iot/index.js +0 -2
  80. package/dist/api/iot/v1/api.gen.js +0 -581
  81. package/dist/api/iot/v1/content.gen.js +0 -7
  82. package/dist/api/iot/v1/index.gen.js +0 -5
  83. package/dist/api/iot/v1/marshalling.gen.js +0 -388
  84. package/dist/api/ipfs/index.js +0 -2
  85. package/dist/api/ipfs/v1alpha1/api.gen.js +0 -197
  86. package/dist/api/ipfs/v1alpha1/content.gen.js +0 -7
  87. package/dist/api/ipfs/v1alpha1/index.gen.js +0 -5
  88. package/dist/api/ipfs/v1alpha1/marshalling.gen.js +0 -121
  89. package/dist/api/k8s/index.js +0 -2
  90. package/dist/api/k8s/v1/api.gen.js +0 -454
  91. package/dist/api/k8s/v1/api.utils.js +0 -13
  92. package/dist/api/k8s/v1/content.gen.js +0 -13
  93. package/dist/api/k8s/v1/index.js +0 -4
  94. package/dist/api/k8s/v1/marshalling.gen.js +0 -333
  95. package/dist/api/k8s/v1/validation-rules.gen.js +0 -101
  96. package/dist/api/lb/index.js +0 -2
  97. package/dist/api/lb/v1/api.gen.js +0 -1669
  98. package/dist/api/lb/v1/api.utils.js +0 -81
  99. package/dist/api/lb/v1/content.gen.js +0 -16
  100. package/dist/api/lb/v1/index.js +0 -2
  101. package/dist/api/lb/v1/marshalling.gen.js +0 -923
  102. package/dist/api/marketplace/index.js +0 -4
  103. package/dist/api/marketplace/v1/api.gen.js +0 -60
  104. package/dist/api/marketplace/v1/index.gen.js +0 -4
  105. package/dist/api/marketplace/v1/marshalling.gen.js +0 -92
  106. package/dist/api/marketplace/v2/api.gen.js +0 -162
  107. package/dist/api/marketplace/v2/index.gen.js +0 -4
  108. package/dist/api/marketplace/v2/marshalling.gen.js +0 -94
  109. package/dist/api/mnq/index.js +0 -2
  110. package/dist/api/mnq/v1alpha1/api.gen.js +0 -205
  111. package/dist/api/mnq/v1alpha1/index.gen.js +0 -4
  112. package/dist/api/mnq/v1alpha1/marshalling.gen.js +0 -121
  113. package/dist/api/rdb/index.js +0 -2
  114. package/dist/api/rdb/v1/api.gen.js +0 -972
  115. package/dist/api/rdb/v1/content.gen.js +0 -22
  116. package/dist/api/rdb/v1/index.gen.js +0 -7
  117. package/dist/api/rdb/v1/marshalling.gen.js +0 -636
  118. package/dist/api/rdb/v1/validation-rules.gen.js +0 -10
  119. package/dist/api/redis/index.js +0 -2
  120. package/dist/api/redis/v1/api.gen.js +0 -389
  121. package/dist/api/redis/v1/content.gen.js +0 -7
  122. package/dist/api/redis/v1/index.gen.js +0 -5
  123. package/dist/api/redis/v1/marshalling.gen.js +0 -259
  124. package/dist/api/registry/index.js +0 -2
  125. package/dist/api/registry/v1/api.gen.js +0 -252
  126. package/dist/api/registry/v1/content.gen.js +0 -13
  127. package/dist/api/registry/v1/index.gen.js +0 -5
  128. package/dist/api/registry/v1/marshalling.gen.js +0 -106
  129. package/dist/api/secret/index.js +0 -2
  130. package/dist/api/secret/v1alpha1/api.gen.js +0 -415
  131. package/dist/api/secret/v1alpha1/index.gen.js +0 -4
  132. package/dist/api/secret/v1alpha1/marshalling.gen.js +0 -143
  133. package/dist/api/tem/index.js +0 -2
  134. package/dist/api/tem/v1alpha1/api.gen.js +0 -229
  135. package/dist/api/tem/v1alpha1/content.gen.js +0 -10
  136. package/dist/api/tem/v1alpha1/index.gen.js +0 -5
  137. package/dist/api/tem/v1alpha1/marshalling.gen.js +0 -159
  138. package/dist/api/test/index.js +0 -2
  139. package/dist/api/test/v1/api.gen.js +0 -152
  140. package/dist/api/test/v1/content.gen.js +0 -7
  141. package/dist/api/test/v1/index.gen.js +0 -5
  142. package/dist/api/test/v1/marshalling.gen.js +0 -79
  143. package/dist/api/vpc/index.js +0 -4
  144. package/dist/api/vpc/v1/api.gen.js +0 -110
  145. package/dist/api/vpc/v1/index.gen.js +0 -4
  146. package/dist/api/vpc/v1/marshalling.gen.js +0 -44
  147. package/dist/api/vpc/v2/api.gen.js +0 -276
  148. package/dist/api/vpc/v2/index.gen.js +0 -4
  149. package/dist/api/vpc/v2/marshalling.gen.js +0 -135
  150. package/dist/api/vpcgw/index.js +0 -2
  151. package/dist/api/vpcgw/v1/api.gen.js +0 -669
  152. package/dist/api/vpcgw/v1/content.gen.js +0 -10
  153. package/dist/api/vpcgw/v1/index.gen.js +0 -5
  154. package/dist/api/vpcgw/v1/marshalling.gen.js +0 -336
  155. package/dist/api/webhosting/index.js +0 -2
  156. package/dist/api/webhosting/v1alpha1/api.gen.js +0 -210
  157. package/dist/api/webhosting/v1alpha1/content.gen.js +0 -7
  158. package/dist/api/webhosting/v1alpha1/index.gen.js +0 -7
  159. package/dist/api/webhosting/v1alpha1/marshalling.gen.js +0 -173
  160. package/dist/api/webhosting/v1alpha1/validation-rules.gen.js +0 -23
  161. package/dist/helpers/is-browser.js +0 -5
  162. package/dist/helpers/is-response.js +0 -10
  163. package/dist/helpers/json.js +0 -11
  164. package/dist/helpers/marshalling.js +0 -130
  165. package/dist/index.cjs +0 -24364
  166. package/dist/index.d.ts +0 -27584
  167. package/dist/index.js +0 -69
  168. package/dist/internal/async/interval-retrier.js +0 -105
  169. package/dist/internal/async/sleep.js +0 -13
  170. package/dist/internal/interceptors/composer.js +0 -46
  171. package/dist/internal/interceptors/helpers.js +0 -32
  172. package/dist/internal/logger/console-logger.js +0 -38
  173. package/dist/internal/logger/index.js +0 -41
  174. package/dist/internal/logger/level-resolver.js +0 -13
  175. package/dist/internal/validations/string-validation.js +0 -38
  176. package/dist/node_modules/.pnpm/@scaleway_random-name@4.0.2/node_modules/@scaleway/random-name/dist/index.js +0 -13
  177. package/dist/scw/api.js +0 -12
  178. package/dist/scw/auth.js +0 -68
  179. package/dist/scw/client-ini-factory.js +0 -174
  180. package/dist/scw/client-ini-profile.js +0 -54
  181. package/dist/scw/client-settings.js +0 -78
  182. package/dist/scw/client.js +0 -98
  183. package/dist/scw/constants.js +0 -4
  184. package/dist/scw/custom-marshalling.js +0 -131
  185. package/dist/scw/errors/error-parser.js +0 -107
  186. package/dist/scw/errors/non-standard/invalid-request-mapper.js +0 -36
  187. package/dist/scw/errors/non-standard/unknown-resource-mapper.js +0 -27
  188. package/dist/scw/errors/scw-error.js +0 -66
  189. package/dist/scw/errors/standard/already-exists-error.js +0 -26
  190. package/dist/scw/errors/standard/denied-authentication-error.js +0 -52
  191. package/dist/scw/errors/standard/index.js +0 -13
  192. package/dist/scw/errors/standard/invalid-arguments-error.js +0 -67
  193. package/dist/scw/errors/standard/out-of-stock-error.js +0 -22
  194. package/dist/scw/errors/standard/permissions-denied-error.js +0 -48
  195. package/dist/scw/errors/standard/precondition-failed-error.js +0 -42
  196. package/dist/scw/errors/standard/quotas-exceeded-error.js +0 -68
  197. package/dist/scw/errors/standard/resource-expired-error.js +0 -26
  198. package/dist/scw/errors/standard/resource-locked-error.js +0 -25
  199. package/dist/scw/errors/standard/resource-not-found-error.js +0 -25
  200. package/dist/scw/errors/standard/too-many-requests-error.js +0 -70
  201. package/dist/scw/errors/standard/transient-state-error.js +0 -26
  202. package/dist/scw/errors/types.js +0 -23
  203. package/dist/scw/fetch/build-fetcher.js +0 -72
  204. package/dist/scw/fetch/http-dumper.js +0 -54
  205. package/dist/scw/fetch/http-interceptors.js +0 -99
  206. package/dist/scw/fetch/resource-paginator.js +0 -84
  207. package/dist/scw/fetch/response-parser.js +0 -72
  208. package/node_modules/@scaleway/random-name/.npmignore +0 -4
  209. package/node_modules/@scaleway/random-name/CHANGELOG.md +0 -129
  210. package/node_modules/@scaleway/random-name/LICENSE.md +0 -21
  211. package/node_modules/@scaleway/random-name/README.md +0 -26
  212. package/node_modules/@scaleway/random-name/dist/index.d.ts +0 -3
  213. package/node_modules/@scaleway/random-name/dist/index.js +0 -13
  214. package/node_modules/@scaleway/random-name/package.json +0 -23
@@ -1,1003 +0,0 @@
1
- import { API as API$1 } from '../../../scw/api.js';
2
- import { validatePathParam, urlParams } from '../../../helpers/marshalling.js';
3
- import { enrichForPagination } from '../../../scw/fetch/resource-paginator.js';
4
- import { unmarshalGetServerTypesAvailabilityResponse, unmarshalListServersTypesResponse, unmarshalListVolumesTypesResponse, unmarshalListServersResponse, marshalCreateServerRequest, unmarshalCreateServerResponse, unmarshalGetServerResponse, marshalSetServerRequest, unmarshalSetServerResponse, marshalUpdateServerRequest, unmarshalUpdateServerResponse, unmarshalListServerActionsResponse, marshalServerActionRequest, unmarshalServerActionResponse, unmarshalListServerUserDataResponse, unmarshalListImagesResponse, unmarshalGetImageResponse, marshalCreateImageRequest, unmarshalCreateImageResponse, marshalSetImageRequest, unmarshalSetImageResponse, unmarshalListSnapshotsResponse, marshalCreateSnapshotRequest, unmarshalCreateSnapshotResponse, unmarshalGetSnapshotResponse, marshalSetSnapshotRequest, unmarshalSetSnapshotResponse, marshalExportSnapshotRequest, unmarshalExportSnapshotResponse, unmarshalListVolumesResponse, marshalCreateVolumeRequest, unmarshalCreateVolumeResponse, unmarshalGetVolumeResponse, marshalUpdateVolumeRequest, unmarshalUpdateVolumeResponse, unmarshalListSecurityGroupsResponse, marshalCreateSecurityGroupRequest, unmarshalCreateSecurityGroupResponse, unmarshalGetSecurityGroupResponse, marshalSetSecurityGroupRequest, unmarshalSetSecurityGroupResponse, unmarshalListSecurityGroupRulesResponse, marshalCreateSecurityGroupRuleRequest, unmarshalCreateSecurityGroupRuleResponse, marshalSetSecurityGroupRulesRequest, unmarshalSetSecurityGroupRulesResponse, unmarshalGetSecurityGroupRuleResponse, marshalSetSecurityGroupRuleRequest, unmarshalSetSecurityGroupRuleResponse, unmarshalListPlacementGroupsResponse, marshalCreatePlacementGroupRequest, unmarshalCreatePlacementGroupResponse, unmarshalGetPlacementGroupResponse, marshalSetPlacementGroupRequest, unmarshalSetPlacementGroupResponse, marshalUpdatePlacementGroupRequest, unmarshalUpdatePlacementGroupResponse, unmarshalGetPlacementGroupServersResponse, marshalSetPlacementGroupServersRequest, unmarshalSetPlacementGroupServersResponse, marshalUpdatePlacementGroupServersRequest, unmarshalUpdatePlacementGroupServersResponse, unmarshalListIpsResponse, marshalCreateIpRequest, unmarshalCreateIpResponse, unmarshalGetIpResponse, marshalUpdateIpRequest, unmarshalUpdateIpResponse, unmarshalListPrivateNICsResponse, marshalCreatePrivateNICRequest, unmarshalCreatePrivateNICResponse, unmarshalGetPrivateNICResponse, marshalUpdatePrivateNICRequest, unmarshalPrivateNIC, unmarshalListBootscriptsResponse, unmarshalGetBootscriptResponse, unmarshalGetDashboardResponse, marshalPlanBlockMigrationRequest, unmarshalMigrationPlan, marshalApplyBlockMigrationRequest } from './marshalling.gen.js';
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.
8
- const jsonContentHeaders = {
9
- 'Content-Type': 'application/json; charset=utf-8'
10
- };
11
-
12
- /** Instance API. */
13
- class API extends API$1 {
14
- /** Lists the available zones of the API. */
15
- static LOCALITIES = ['fr-par-1', 'fr-par-2', 'fr-par-3', 'nl-ams-1', 'nl-ams-2', 'nl-ams-3', 'pl-waw-1', 'pl-waw-2', 'pl-waw-3'];
16
-
17
- /**
18
- * Get availability. Get availability for all Instance types.
19
- *
20
- * @param request - The request {@link GetServerTypesAvailabilityRequest}
21
- * @returns A Promise of GetServerTypesAvailabilityResponse
22
- */
23
- getServerTypesAvailability = (() => {
24
- var _this = this;
25
- return function (request) {
26
- if (request === void 0) {
27
- request = {};
28
- }
29
- return _this.client.fetch({
30
- method: 'GET',
31
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this.client.settings.defaultZone)}/products/servers/availability`,
32
- urlParams: urlParams(['page', request.page], ['per_page', request.perPage ?? _this.client.settings.defaultPageSize])
33
- }, unmarshalGetServerTypesAvailabilityResponse);
34
- };
35
- })();
36
-
37
- /**
38
- * List Instance types. List available Instance types and their technical
39
- * details.
40
- *
41
- * @param request - The request {@link ListServersTypesRequest}
42
- * @returns A Promise of ListServersTypesResponse
43
- */
44
- listServersTypes = (() => {
45
- var _this2 = this;
46
- return function (request) {
47
- if (request === void 0) {
48
- request = {};
49
- }
50
- return _this2.client.fetch({
51
- method: 'GET',
52
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this2.client.settings.defaultZone)}/products/servers`,
53
- urlParams: urlParams(['page', request.page], ['per_page', request.perPage ?? _this2.client.settings.defaultPageSize])
54
- }, unmarshalListServersTypesResponse);
55
- };
56
- })();
57
-
58
- /**
59
- * List volume types. List all volume types and their technical details.
60
- *
61
- * @param request - The request {@link ListVolumesTypesRequest}
62
- * @returns A Promise of ListVolumesTypesResponse
63
- */
64
- listVolumesTypes = (() => {
65
- var _this3 = this;
66
- return function (request) {
67
- if (request === void 0) {
68
- request = {};
69
- }
70
- return _this3.client.fetch({
71
- method: 'GET',
72
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this3.client.settings.defaultZone)}/products/volumes`,
73
- urlParams: urlParams(['page', request.page], ['per_page', request.perPage ?? _this3.client.settings.defaultPageSize])
74
- }, unmarshalListVolumesTypesResponse);
75
- };
76
- })();
77
- pageOfListServers = (() => {
78
- var _this4 = this;
79
- return function (request) {
80
- if (request === void 0) {
81
- request = {};
82
- }
83
- return _this4.client.fetch({
84
- method: 'GET',
85
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this4.client.settings.defaultZone)}/servers`,
86
- urlParams: urlParams(['commercial_type', request.commercialType], ['name', request.name], ['order', request.order], ['organization', request.organization], ['page', request.page], ['per_page', request.perPage ?? _this4.client.settings.defaultPageSize], ['private_ip', request.privateIp], ['private_network', request.privateNetwork], ['private_networks', request.privateNetworks && request.privateNetworks.length > 0 ? request.privateNetworks.join(',') : undefined], ['private_nic_mac_address', request.privateNicMacAddress], ['project', request.project], ['state', request.state], ['tags', request.tags && request.tags.length > 0 ? request.tags.join(',') : undefined], ['without_ip', request.withoutIp])
87
- }, unmarshalListServersResponse);
88
- };
89
- })();
90
-
91
- /**
92
- * List all Instances. List all Instances in a specified Availability Zone,
93
- * e.g. `fr-par-1`.
94
- *
95
- * @param request - The request {@link ListServersRequest}
96
- * @returns A Promise of ListServersResponse
97
- */
98
- listServers = (() => {
99
- var _this5 = this;
100
- return function (request) {
101
- if (request === void 0) {
102
- request = {};
103
- }
104
- return enrichForPagination('servers', _this5.pageOfListServers, request);
105
- };
106
- })();
107
- _createServer = request => this.client.fetch({
108
- body: JSON.stringify(marshalCreateServerRequest(request, this.client.settings)),
109
- headers: jsonContentHeaders,
110
- method: 'POST',
111
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/servers`
112
- }, unmarshalCreateServerResponse);
113
-
114
- /**
115
- * Delete an Instance. Delete the Instance with the specified ID.
116
- *
117
- * @param request - The request {@link DeleteServerRequest}
118
- */
119
- deleteServer = request => this.client.fetch({
120
- method: 'DELETE',
121
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam('serverId', request.serverId)}`
122
- });
123
-
124
- /**
125
- * Get an Instance. Get the details of a specified Instance.
126
- *
127
- * @param request - The request {@link GetServerRequest}
128
- * @returns A Promise of GetServerResponse
129
- */
130
- getServer = request => this.client.fetch({
131
- method: 'GET',
132
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam('serverId', request.serverId)}`
133
- }, unmarshalGetServerResponse);
134
- _setServer = request => this.client.fetch({
135
- body: JSON.stringify(marshalSetServerRequest(request, this.client.settings)),
136
- headers: jsonContentHeaders,
137
- method: 'PUT',
138
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam('id', request.id)}`
139
- }, unmarshalSetServerResponse);
140
- _updateServer = request => this.client.fetch({
141
- body: JSON.stringify(marshalUpdateServerRequest(request, this.client.settings)),
142
- headers: jsonContentHeaders,
143
- method: 'PATCH',
144
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam('serverId', request.serverId)}`
145
- }, unmarshalUpdateServerResponse);
146
-
147
- /**
148
- * List Instance actions. List all actions (e.g. power on, power off, reboot)
149
- * that can currently be performed on an Instance.
150
- *
151
- * @param request - The request {@link ListServerActionsRequest}
152
- * @returns A Promise of ListServerActionsResponse
153
- */
154
- listServerActions = request => this.client.fetch({
155
- method: 'GET',
156
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam('serverId', request.serverId)}/action`
157
- }, unmarshalListServerActionsResponse);
158
-
159
- /**
160
- * Perform action. Perform an action on an Instance. Available actions are:
161
- * `poweron`: Start a stopped Instance. `poweroff`: Fully stop the Instance
162
- * and release the hypervisor slot. `stop_in_place`: Stop the Instance, but
163
- * keep the slot on the hypervisor. `reboot`: Stop the instance and restart
164
- * it. `backup`: Create an image with all the volumes of an Instance.
165
- * `terminate`: Delete the Instance along with all attached volumes.
166
- * `enable_routed_ip`: Migrate the Instance to the new network stack.
167
- *
168
- * Keep in mind that terminating an Instance will result in the deletion of
169
- * all attached volumes, including local and block storage. If you want to
170
- * preserve your local volumes, you should use the `archive` action instead of
171
- * `terminate`. Similarly, if you want to keep your block storage volumes, you
172
- * must first detach them before issuing the `terminate` command. For more
173
- * information, read the [Volumes](#path-volumes-list-volumes) documentation.
174
- *
175
- * @param request - The request {@link ServerActionRequest}
176
- * @returns A Promise of ServerActionResponse
177
- */
178
- serverAction = request => this.client.fetch({
179
- body: JSON.stringify(marshalServerActionRequest(request, this.client.settings)),
180
- headers: jsonContentHeaders,
181
- method: 'POST',
182
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam('serverId', request.serverId)}/action`
183
- }, unmarshalServerActionResponse);
184
-
185
- /**
186
- * List user data. List all user data keys registered on a specified Instance.
187
- *
188
- * @param request - The request {@link ListServerUserDataRequest}
189
- * @returns A Promise of ListServerUserDataResponse
190
- */
191
- listServerUserData = request => this.client.fetch({
192
- method: 'GET',
193
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam('serverId', request.serverId)}/user_data`
194
- }, unmarshalListServerUserDataResponse);
195
-
196
- /**
197
- * Delete user data. Delete the specified key from an Instance's user data.
198
- *
199
- * @param request - The request {@link DeleteServerUserDataRequest}
200
- */
201
- deleteServerUserData = request => this.client.fetch({
202
- method: 'DELETE',
203
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam('serverId', request.serverId)}/user_data/${validatePathParam('key', request.key)}`
204
- });
205
- pageOfListImages = (() => {
206
- var _this6 = this;
207
- return function (request) {
208
- if (request === void 0) {
209
- request = {};
210
- }
211
- return _this6.client.fetch({
212
- method: 'GET',
213
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this6.client.settings.defaultZone)}/images`,
214
- urlParams: urlParams(['arch', request.arch], ['name', request.name], ['organization', request.organization], ['page', request.page], ['per_page', request.perPage ?? _this6.client.settings.defaultPageSize], ['project', request.project], ['public', request.public], ['tags', request.tags])
215
- }, unmarshalListImagesResponse);
216
- };
217
- })();
218
-
219
- /**
220
- * List Instance images. List all existing Instance images.
221
- *
222
- * @param request - The request {@link ListImagesRequest}
223
- * @returns A Promise of ListImagesResponse
224
- */
225
- listImages = (() => {
226
- var _this7 = this;
227
- return function (request) {
228
- if (request === void 0) {
229
- request = {};
230
- }
231
- return enrichForPagination('images', _this7.pageOfListImages, request);
232
- };
233
- })();
234
-
235
- /**
236
- * Get an Instance image. Get details of an image with the specified ID.
237
- *
238
- * @param request - The request {@link GetImageRequest}
239
- * @returns A Promise of GetImageResponse
240
- */
241
- getImage = request => this.client.fetch({
242
- method: 'GET',
243
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/images/${validatePathParam('imageId', request.imageId)}`
244
- }, unmarshalGetImageResponse);
245
-
246
- /**
247
- * Create an Instance image. Create an Instance image from the specified
248
- * snapshot ID.
249
- *
250
- * @param request - The request {@link CreateImageRequest}
251
- * @returns A Promise of CreateImageResponse
252
- */
253
- createImage = request => this.client.fetch({
254
- body: JSON.stringify(marshalCreateImageRequest(request, this.client.settings)),
255
- headers: jsonContentHeaders,
256
- method: 'POST',
257
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/images`
258
- }, unmarshalCreateImageResponse);
259
- _setImage = request => this.client.fetch({
260
- body: JSON.stringify(marshalSetImageRequest(request, this.client.settings)),
261
- headers: jsonContentHeaders,
262
- method: 'PUT',
263
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/images/${validatePathParam('id', request.id)}`
264
- }, unmarshalSetImageResponse);
265
-
266
- /**
267
- * Delete an Instance image. Delete the image with the specified ID.
268
- *
269
- * @param request - The request {@link DeleteImageRequest}
270
- */
271
- deleteImage = request => this.client.fetch({
272
- method: 'DELETE',
273
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/images/${validatePathParam('imageId', request.imageId)}`
274
- });
275
- pageOfListSnapshots = (() => {
276
- var _this8 = this;
277
- return function (request) {
278
- if (request === void 0) {
279
- request = {};
280
- }
281
- return _this8.client.fetch({
282
- method: 'GET',
283
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this8.client.settings.defaultZone)}/snapshots`,
284
- urlParams: urlParams(['base_volume_id', request.baseVolumeId], ['name', request.name], ['organization', request.organization], ['page', request.page], ['per_page', request.perPage ?? _this8.client.settings.defaultPageSize], ['project', request.project], ['tags', request.tags])
285
- }, unmarshalListSnapshotsResponse);
286
- };
287
- })();
288
-
289
- /**
290
- * List snapshots. List all snapshots of an Organization in a specified
291
- * Availability Zone.
292
- *
293
- * @param request - The request {@link ListSnapshotsRequest}
294
- * @returns A Promise of ListSnapshotsResponse
295
- */
296
- listSnapshots = (() => {
297
- var _this9 = this;
298
- return function (request) {
299
- if (request === void 0) {
300
- request = {};
301
- }
302
- return enrichForPagination('snapshots', _this9.pageOfListSnapshots, request);
303
- };
304
- })();
305
-
306
- /**
307
- * Create a snapshot from a specified volume or from a QCOW2 file. Create a
308
- * snapshot from a specified volume or from a QCOW2 file in a specified
309
- * Availability Zone.
310
- *
311
- * @param request - The request {@link CreateSnapshotRequest}
312
- * @returns A Promise of CreateSnapshotResponse
313
- */
314
- createSnapshot = (() => {
315
- var _this10 = this;
316
- return function (request) {
317
- if (request === void 0) {
318
- request = {};
319
- }
320
- return _this10.client.fetch({
321
- body: JSON.stringify(marshalCreateSnapshotRequest(request, _this10.client.settings)),
322
- headers: jsonContentHeaders,
323
- method: 'POST',
324
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this10.client.settings.defaultZone)}/snapshots`
325
- }, unmarshalCreateSnapshotResponse);
326
- };
327
- })();
328
-
329
- /**
330
- * Get a snapshot. Get details of a snapshot with the specified ID.
331
- *
332
- * @param request - The request {@link GetSnapshotRequest}
333
- * @returns A Promise of GetSnapshotResponse
334
- */
335
- getSnapshot = request => this.client.fetch({
336
- method: 'GET',
337
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/snapshots/${validatePathParam('snapshotId', request.snapshotId)}`
338
- }, unmarshalGetSnapshotResponse);
339
- _setSnapshot = request => this.client.fetch({
340
- body: JSON.stringify(marshalSetSnapshotRequest(request, this.client.settings)),
341
- headers: jsonContentHeaders,
342
- method: 'PUT',
343
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/snapshots/${validatePathParam('snapshotId', request.snapshotId)}`
344
- }, unmarshalSetSnapshotResponse);
345
-
346
- /**
347
- * Delete a snapshot. Delete the snapshot with the specified ID.
348
- *
349
- * @param request - The request {@link DeleteSnapshotRequest}
350
- */
351
- deleteSnapshot = request => this.client.fetch({
352
- method: 'DELETE',
353
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/snapshots/${validatePathParam('snapshotId', request.snapshotId)}`
354
- });
355
-
356
- /**
357
- * Export a snapshot. Export a snapshot to a specified S3 bucket in the same
358
- * region.
359
- *
360
- * @param request - The request {@link ExportSnapshotRequest}
361
- * @returns A Promise of ExportSnapshotResponse
362
- */
363
- exportSnapshot = request => this.client.fetch({
364
- body: JSON.stringify(marshalExportSnapshotRequest(request, this.client.settings)),
365
- headers: jsonContentHeaders,
366
- method: 'POST',
367
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/snapshots/${validatePathParam('snapshotId', request.snapshotId)}/export`
368
- }, unmarshalExportSnapshotResponse);
369
- pageOfListVolumes = (() => {
370
- var _this11 = this;
371
- return function (request) {
372
- if (request === void 0) {
373
- request = {};
374
- }
375
- return _this11.client.fetch({
376
- method: 'GET',
377
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this11.client.settings.defaultZone)}/volumes`,
378
- urlParams: urlParams(['name', request.name], ['organization', request.organization], ['page', request.page], ['per_page', request.perPage ?? _this11.client.settings.defaultPageSize], ['project', request.project], ['tags', request.tags && request.tags.length > 0 ? request.tags.join(',') : undefined], ['volume_type', request.volumeType])
379
- }, unmarshalListVolumesResponse);
380
- };
381
- })();
382
-
383
- /**
384
- * List volumes. List volumes in the specified Availability Zone. You can
385
- * filter the output by volume type.
386
- *
387
- * @param request - The request {@link ListVolumesRequest}
388
- * @returns A Promise of ListVolumesResponse
389
- */
390
- listVolumes = (() => {
391
- var _this12 = this;
392
- return function (request) {
393
- if (request === void 0) {
394
- request = {};
395
- }
396
- return enrichForPagination('volumes', _this12.pageOfListVolumes, request);
397
- };
398
- })();
399
-
400
- /**
401
- * Create a volume. Create a volume of a specified type in an Availability
402
- * Zone.
403
- *
404
- * @param request - The request {@link CreateVolumeRequest}
405
- * @returns A Promise of CreateVolumeResponse
406
- */
407
- createVolume = (() => {
408
- var _this13 = this;
409
- return function (request) {
410
- if (request === void 0) {
411
- request = {};
412
- }
413
- return _this13.client.fetch({
414
- body: JSON.stringify(marshalCreateVolumeRequest(request, _this13.client.settings)),
415
- headers: jsonContentHeaders,
416
- method: 'POST',
417
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this13.client.settings.defaultZone)}/volumes`
418
- }, unmarshalCreateVolumeResponse);
419
- };
420
- })();
421
-
422
- /**
423
- * Get a volume. Get details of a volume with the specified ID.
424
- *
425
- * @param request - The request {@link GetVolumeRequest}
426
- * @returns A Promise of GetVolumeResponse
427
- */
428
- getVolume = request => this.client.fetch({
429
- method: 'GET',
430
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/volumes/${validatePathParam('volumeId', request.volumeId)}`
431
- }, unmarshalGetVolumeResponse);
432
-
433
- /**
434
- * Update a volume. Replace the name and/or size properties of a volume
435
- * specified by its ID, with the specified value(s). Any volume name can be
436
- * changed, however only `b_ssd` volumes can currently be increased in size.
437
- *
438
- * @param request - The request {@link UpdateVolumeRequest}
439
- * @returns A Promise of UpdateVolumeResponse
440
- */
441
- updateVolume = request => this.client.fetch({
442
- body: JSON.stringify(marshalUpdateVolumeRequest(request, this.client.settings)),
443
- headers: jsonContentHeaders,
444
- method: 'PATCH',
445
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/volumes/${validatePathParam('volumeId', request.volumeId)}`
446
- }, unmarshalUpdateVolumeResponse);
447
-
448
- /**
449
- * Delete a volume. Delete the volume with the specified ID.
450
- *
451
- * @param request - The request {@link DeleteVolumeRequest}
452
- */
453
- deleteVolume = request => this.client.fetch({
454
- method: 'DELETE',
455
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/volumes/${validatePathParam('volumeId', request.volumeId)}`
456
- });
457
- pageOfListSecurityGroups = (() => {
458
- var _this14 = this;
459
- return function (request) {
460
- if (request === void 0) {
461
- request = {};
462
- }
463
- return _this14.client.fetch({
464
- method: 'GET',
465
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this14.client.settings.defaultZone)}/security_groups`,
466
- urlParams: urlParams(['name', request.name], ['organization', request.organization], ['page', request.page], ['per_page', request.perPage ?? _this14.client.settings.defaultPageSize], ['project', request.project], ['project_default', request.projectDefault], ['tags', request.tags && request.tags.length > 0 ? request.tags.join(',') : undefined])
467
- }, unmarshalListSecurityGroupsResponse);
468
- };
469
- })();
470
-
471
- /**
472
- * List security groups. List all existing security groups.
473
- *
474
- * @param request - The request {@link ListSecurityGroupsRequest}
475
- * @returns A Promise of ListSecurityGroupsResponse
476
- */
477
- listSecurityGroups = (() => {
478
- var _this15 = this;
479
- return function (request) {
480
- if (request === void 0) {
481
- request = {};
482
- }
483
- return enrichForPagination('securityGroups', _this15.pageOfListSecurityGroups, request);
484
- };
485
- })();
486
-
487
- /**
488
- * Create a security group. Create a security group with a specified name and
489
- * description.
490
- *
491
- * @param request - The request {@link CreateSecurityGroupRequest}
492
- * @returns A Promise of CreateSecurityGroupResponse
493
- */
494
- createSecurityGroup = request => this.client.fetch({
495
- body: JSON.stringify(marshalCreateSecurityGroupRequest(request, this.client.settings)),
496
- headers: jsonContentHeaders,
497
- method: 'POST',
498
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/security_groups`
499
- }, unmarshalCreateSecurityGroupResponse);
500
-
501
- /**
502
- * Get a security group. Get the details of a security group with the
503
- * specified ID.
504
- *
505
- * @param request - The request {@link GetSecurityGroupRequest}
506
- * @returns A Promise of GetSecurityGroupResponse
507
- */
508
- getSecurityGroup = request => this.client.fetch({
509
- method: 'GET',
510
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/security_groups/${validatePathParam('securityGroupId', request.securityGroupId)}`
511
- }, unmarshalGetSecurityGroupResponse);
512
-
513
- /**
514
- * Delete a security group. Delete a security group with the specified ID.
515
- *
516
- * @param request - The request {@link DeleteSecurityGroupRequest}
517
- */
518
- deleteSecurityGroup = request => this.client.fetch({
519
- method: 'DELETE',
520
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/security_groups/${validatePathParam('securityGroupId', request.securityGroupId)}`
521
- });
522
- _setSecurityGroup = request => this.client.fetch({
523
- body: JSON.stringify(marshalSetSecurityGroupRequest(request, this.client.settings)),
524
- headers: jsonContentHeaders,
525
- method: 'PUT',
526
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/security_groups/${validatePathParam('id', request.id)}`
527
- }, unmarshalSetSecurityGroupResponse);
528
-
529
- /**
530
- * Get default rules. Lists the default rules applied to all the security
531
- * groups.
532
- *
533
- * @param request - The request {@link ListDefaultSecurityGroupRulesRequest}
534
- * @returns A Promise of ListSecurityGroupRulesResponse
535
- */
536
- listDefaultSecurityGroupRules = (() => {
537
- var _this16 = this;
538
- return function (request) {
539
- if (request === void 0) {
540
- request = {};
541
- }
542
- return _this16.client.fetch({
543
- method: 'GET',
544
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this16.client.settings.defaultZone)}/security_groups/default/rules`
545
- }, unmarshalListSecurityGroupRulesResponse);
546
- };
547
- })();
548
- pageOfListSecurityGroupRules = request => this.client.fetch({
549
- method: 'GET',
550
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/security_groups/${validatePathParam('securityGroupId', request.securityGroupId)}/rules`,
551
- urlParams: urlParams(['page', request.page], ['per_page', request.perPage ?? this.client.settings.defaultPageSize])
552
- }, unmarshalListSecurityGroupRulesResponse);
553
-
554
- /**
555
- * List rules. List the rules of the a specified security group ID.
556
- *
557
- * @param request - The request {@link ListSecurityGroupRulesRequest}
558
- * @returns A Promise of ListSecurityGroupRulesResponse
559
- */
560
- listSecurityGroupRules = request => enrichForPagination('rules', this.pageOfListSecurityGroupRules, request);
561
-
562
- /**
563
- * Create rule. Create a rule in the specified security group ID.
564
- *
565
- * @param request - The request {@link CreateSecurityGroupRuleRequest}
566
- * @returns A Promise of CreateSecurityGroupRuleResponse
567
- */
568
- createSecurityGroupRule = request => this.client.fetch({
569
- body: JSON.stringify(marshalCreateSecurityGroupRuleRequest(request, this.client.settings)),
570
- headers: jsonContentHeaders,
571
- method: 'POST',
572
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/security_groups/${validatePathParam('securityGroupId', request.securityGroupId)}/rules`
573
- }, unmarshalCreateSecurityGroupRuleResponse);
574
-
575
- /**
576
- * Update all the rules of a security group. Replaces the existing rules of
577
- * the security group with the rules provided. This endpoint supports the
578
- * update of existing rules, creation of new rules and deletion of existing
579
- * rules when they are not passed in the request.
580
- *
581
- * @param request - The request {@link SetSecurityGroupRulesRequest}
582
- * @returns A Promise of SetSecurityGroupRulesResponse
583
- */
584
- setSecurityGroupRules = request => this.client.fetch({
585
- body: JSON.stringify(marshalSetSecurityGroupRulesRequest(request, this.client.settings)),
586
- headers: jsonContentHeaders,
587
- method: 'PUT',
588
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/security_groups/${validatePathParam('securityGroupId', request.securityGroupId)}/rules`
589
- }, unmarshalSetSecurityGroupRulesResponse);
590
-
591
- /**
592
- * Delete rule. Delete a security group rule with the specified ID.
593
- *
594
- * @param request - The request {@link DeleteSecurityGroupRuleRequest}
595
- */
596
- deleteSecurityGroupRule = request => this.client.fetch({
597
- method: 'DELETE',
598
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/security_groups/${validatePathParam('securityGroupId', request.securityGroupId)}/rules/${validatePathParam('securityGroupRuleId', request.securityGroupRuleId)}`
599
- });
600
-
601
- /**
602
- * Get rule. Get details of a security group rule with the specified ID.
603
- *
604
- * @param request - The request {@link GetSecurityGroupRuleRequest}
605
- * @returns A Promise of GetSecurityGroupRuleResponse
606
- */
607
- getSecurityGroupRule = request => this.client.fetch({
608
- method: 'GET',
609
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/security_groups/${validatePathParam('securityGroupId', request.securityGroupId)}/rules/${validatePathParam('securityGroupRuleId', request.securityGroupRuleId)}`
610
- }, unmarshalGetSecurityGroupRuleResponse);
611
- _setSecurityGroupRule = request => this.client.fetch({
612
- body: JSON.stringify(marshalSetSecurityGroupRuleRequest(request, this.client.settings)),
613
- headers: jsonContentHeaders,
614
- method: 'PUT',
615
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/security_groups/${validatePathParam('securityGroupId', request.securityGroupId)}/rules/${validatePathParam('securityGroupRuleId', request.securityGroupRuleId)}`
616
- }, unmarshalSetSecurityGroupRuleResponse);
617
- pageOfListPlacementGroups = (() => {
618
- var _this17 = this;
619
- return function (request) {
620
- if (request === void 0) {
621
- request = {};
622
- }
623
- return _this17.client.fetch({
624
- method: 'GET',
625
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this17.client.settings.defaultZone)}/placement_groups`,
626
- urlParams: urlParams(['name', request.name], ['organization', request.organization], ['page', request.page], ['per_page', request.perPage ?? _this17.client.settings.defaultPageSize], ['project', request.project], ['tags', request.tags && request.tags.length > 0 ? request.tags.join(',') : undefined])
627
- }, unmarshalListPlacementGroupsResponse);
628
- };
629
- })();
630
-
631
- /**
632
- * List placement groups. List all placement groups in a specified
633
- * Availability Zone.
634
- *
635
- * @param request - The request {@link ListPlacementGroupsRequest}
636
- * @returns A Promise of ListPlacementGroupsResponse
637
- */
638
- listPlacementGroups = (() => {
639
- var _this18 = this;
640
- return function (request) {
641
- if (request === void 0) {
642
- request = {};
643
- }
644
- return enrichForPagination('placementGroups', _this18.pageOfListPlacementGroups, request);
645
- };
646
- })();
647
-
648
- /**
649
- * Create a placement group. Create a new placement group in a specified
650
- * Availability Zone.
651
- *
652
- * @param request - The request {@link CreatePlacementGroupRequest}
653
- * @returns A Promise of CreatePlacementGroupResponse
654
- */
655
- createPlacementGroup = (() => {
656
- var _this19 = this;
657
- return function (request) {
658
- if (request === void 0) {
659
- request = {};
660
- }
661
- return _this19.client.fetch({
662
- body: JSON.stringify(marshalCreatePlacementGroupRequest(request, _this19.client.settings)),
663
- headers: jsonContentHeaders,
664
- method: 'POST',
665
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this19.client.settings.defaultZone)}/placement_groups`
666
- }, unmarshalCreatePlacementGroupResponse);
667
- };
668
- })();
669
-
670
- /**
671
- * Get a placement group. Get the specified placement group.
672
- *
673
- * @param request - The request {@link GetPlacementGroupRequest}
674
- * @returns A Promise of GetPlacementGroupResponse
675
- */
676
- getPlacementGroup = request => this.client.fetch({
677
- method: 'GET',
678
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/placement_groups/${validatePathParam('placementGroupId', request.placementGroupId)}`
679
- }, unmarshalGetPlacementGroupResponse);
680
-
681
- /**
682
- * Set placement group. Set all parameters of the specified placement group.
683
- *
684
- * @param request - The request {@link SetPlacementGroupRequest}
685
- * @returns A Promise of SetPlacementGroupResponse
686
- */
687
- setPlacementGroup = request => this.client.fetch({
688
- body: JSON.stringify(marshalSetPlacementGroupRequest(request, this.client.settings)),
689
- headers: jsonContentHeaders,
690
- method: 'PUT',
691
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/placement_groups/${validatePathParam('placementGroupId', request.placementGroupId)}`
692
- }, unmarshalSetPlacementGroupResponse);
693
-
694
- /**
695
- * Update a placement group. Update one or more parameter of the specified
696
- * placement group.
697
- *
698
- * @param request - The request {@link UpdatePlacementGroupRequest}
699
- * @returns A Promise of UpdatePlacementGroupResponse
700
- */
701
- updatePlacementGroup = request => this.client.fetch({
702
- body: JSON.stringify(marshalUpdatePlacementGroupRequest(request, this.client.settings)),
703
- headers: jsonContentHeaders,
704
- method: 'PATCH',
705
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/placement_groups/${validatePathParam('placementGroupId', request.placementGroupId)}`
706
- }, unmarshalUpdatePlacementGroupResponse);
707
-
708
- /**
709
- * Delete the specified placement group.
710
- *
711
- * @param request - The request {@link DeletePlacementGroupRequest}
712
- */
713
- deletePlacementGroup = request => this.client.fetch({
714
- method: 'DELETE',
715
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/placement_groups/${validatePathParam('placementGroupId', request.placementGroupId)}`
716
- });
717
-
718
- /**
719
- * Get placement group servers. Get all Instances belonging to the specified
720
- * placement group.
721
- *
722
- * @param request - The request {@link GetPlacementGroupServersRequest}
723
- * @returns A Promise of GetPlacementGroupServersResponse
724
- */
725
- getPlacementGroupServers = request => this.client.fetch({
726
- method: 'GET',
727
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/placement_groups/${validatePathParam('placementGroupId', request.placementGroupId)}/servers`
728
- }, unmarshalGetPlacementGroupServersResponse);
729
-
730
- /**
731
- * Set placement group servers. Set all Instances belonging to the specified
732
- * placement group.
733
- *
734
- * @param request - The request {@link SetPlacementGroupServersRequest}
735
- * @returns A Promise of SetPlacementGroupServersResponse
736
- */
737
- setPlacementGroupServers = request => this.client.fetch({
738
- body: JSON.stringify(marshalSetPlacementGroupServersRequest(request, this.client.settings)),
739
- headers: jsonContentHeaders,
740
- method: 'PUT',
741
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/placement_groups/${validatePathParam('placementGroupId', request.placementGroupId)}/servers`
742
- }, unmarshalSetPlacementGroupServersResponse);
743
-
744
- /**
745
- * Update placement group servers. Update all Instances belonging to the
746
- * specified placement group.
747
- *
748
- * @param request - The request {@link UpdatePlacementGroupServersRequest}
749
- * @returns A Promise of UpdatePlacementGroupServersResponse
750
- */
751
- updatePlacementGroupServers = request => this.client.fetch({
752
- body: JSON.stringify(marshalUpdatePlacementGroupServersRequest(request, this.client.settings)),
753
- headers: jsonContentHeaders,
754
- method: 'PATCH',
755
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/placement_groups/${validatePathParam('placementGroupId', request.placementGroupId)}/servers`
756
- }, unmarshalUpdatePlacementGroupServersResponse);
757
- pageOfListIps = (() => {
758
- var _this20 = this;
759
- return function (request) {
760
- if (request === void 0) {
761
- request = {};
762
- }
763
- return _this20.client.fetch({
764
- method: 'GET',
765
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this20.client.settings.defaultZone)}/ips`,
766
- urlParams: urlParams(['name', request.name], ['organization', request.organization], ['page', request.page], ['per_page', request.perPage ?? _this20.client.settings.defaultPageSize], ['project', request.project], ['tags', request.tags && request.tags.length > 0 ? request.tags.join(',') : undefined], ['type', request.type])
767
- }, unmarshalListIpsResponse);
768
- };
769
- })();
770
-
771
- /**
772
- * List all flexible IPs. List all flexible IPs in a specified zone.
773
- *
774
- * @param request - The request {@link ListIpsRequest}
775
- * @returns A Promise of ListIpsResponse
776
- */
777
- listIps = (() => {
778
- var _this21 = this;
779
- return function (request) {
780
- if (request === void 0) {
781
- request = {};
782
- }
783
- return enrichForPagination('ips', _this21.pageOfListIps, request);
784
- };
785
- })();
786
-
787
- /**
788
- * Reserve a flexible IP. Reserve a flexible IP and attach it to the specified
789
- * Instance.
790
- *
791
- * @param request - The request {@link CreateIpRequest}
792
- * @returns A Promise of CreateIpResponse
793
- */
794
- createIp = (() => {
795
- var _this22 = this;
796
- return function (request) {
797
- if (request === void 0) {
798
- request = {};
799
- }
800
- return _this22.client.fetch({
801
- body: JSON.stringify(marshalCreateIpRequest(request, _this22.client.settings)),
802
- headers: jsonContentHeaders,
803
- method: 'POST',
804
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this22.client.settings.defaultZone)}/ips`
805
- }, unmarshalCreateIpResponse);
806
- };
807
- })();
808
-
809
- /**
810
- * Get a flexible IP. Get details of an IP with the specified ID or address.
811
- *
812
- * @param request - The request {@link GetIpRequest}
813
- * @returns A Promise of GetIpResponse
814
- */
815
- getIp = request => this.client.fetch({
816
- method: 'GET',
817
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/ips/${validatePathParam('ip', request.ip)}`
818
- }, unmarshalGetIpResponse);
819
-
820
- /**
821
- * Update a flexible IP. Update a flexible IP in the specified zone with the
822
- * specified ID.
823
- *
824
- * @param request - The request {@link UpdateIpRequest}
825
- * @returns A Promise of UpdateIpResponse
826
- */
827
- updateIp = request => this.client.fetch({
828
- body: JSON.stringify(marshalUpdateIpRequest(request, this.client.settings)),
829
- headers: jsonContentHeaders,
830
- method: 'PATCH',
831
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/ips/${validatePathParam('ip', request.ip)}`
832
- }, unmarshalUpdateIpResponse);
833
-
834
- /**
835
- * Delete a flexible IP. Delete the IP with the specified ID.
836
- *
837
- * @param request - The request {@link DeleteIpRequest}
838
- */
839
- deleteIp = request => this.client.fetch({
840
- method: 'DELETE',
841
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/ips/${validatePathParam('ip', request.ip)}`
842
- });
843
- pageOfListPrivateNICs = request => this.client.fetch({
844
- method: 'GET',
845
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam('serverId', request.serverId)}/private_nics`,
846
- urlParams: urlParams(['page', request.page], ['per_page', request.perPage ?? this.client.settings.defaultPageSize], ['tags', request.tags && request.tags.length > 0 ? request.tags.join(',') : undefined])
847
- }, unmarshalListPrivateNICsResponse);
848
-
849
- /**
850
- * List all private NICs. List all private NICs of a specified Instance.
851
- *
852
- * @param request - The request {@link ListPrivateNICsRequest}
853
- * @returns A Promise of ListPrivateNICsResponse
854
- */
855
- listPrivateNICs = request => enrichForPagination('privateNics', this.pageOfListPrivateNICs, request);
856
-
857
- /**
858
- * Create a private NIC connecting an Instance to a Private Network.
859
- *
860
- * @param request - The request {@link CreatePrivateNICRequest}
861
- * @returns A Promise of CreatePrivateNICResponse
862
- */
863
- createPrivateNIC = request => this.client.fetch({
864
- body: JSON.stringify(marshalCreatePrivateNICRequest(request, this.client.settings)),
865
- headers: jsonContentHeaders,
866
- method: 'POST',
867
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam('serverId', request.serverId)}/private_nics`
868
- }, unmarshalCreatePrivateNICResponse);
869
-
870
- /**
871
- * Get a private NIC. Get private NIC properties.
872
- *
873
- * @param request - The request {@link GetPrivateNICRequest}
874
- * @returns A Promise of GetPrivateNICResponse
875
- */
876
- getPrivateNIC = request => this.client.fetch({
877
- method: 'GET',
878
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam('serverId', request.serverId)}/private_nics/${validatePathParam('privateNicId', request.privateNicId)}`
879
- }, unmarshalGetPrivateNICResponse);
880
-
881
- /**
882
- * Update a private NIC. Update one or more parameter(s) of a specified
883
- * private NIC.
884
- *
885
- * @param request - The request {@link UpdatePrivateNICRequest}
886
- * @returns A Promise of PrivateNIC
887
- */
888
- updatePrivateNIC = request => this.client.fetch({
889
- body: JSON.stringify(marshalUpdatePrivateNICRequest(request, this.client.settings)),
890
- headers: jsonContentHeaders,
891
- method: 'PATCH',
892
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam('serverId', request.serverId)}/private_nics/${validatePathParam('privateNicId', request.privateNicId)}`
893
- }, unmarshalPrivateNIC);
894
-
895
- /**
896
- * Delete a private NIC.
897
- *
898
- * @param request - The request {@link DeletePrivateNICRequest}
899
- */
900
- deletePrivateNIC = request => this.client.fetch({
901
- method: 'DELETE',
902
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam('serverId', request.serverId)}/private_nics/${validatePathParam('privateNicId', request.privateNicId)}`
903
- });
904
- pageOfListBootscripts = (() => {
905
- var _this23 = this;
906
- return function (request) {
907
- if (request === void 0) {
908
- request = {};
909
- }
910
- return _this23.client.fetch({
911
- method: 'GET',
912
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this23.client.settings.defaultZone)}/bootscripts`,
913
- urlParams: urlParams(['arch', request.arch], ['default', request.default], ['page', request.page], ['per_page', request.perPage ?? _this23.client.settings.defaultPageSize], ['public', request.public], ['title', request.title])
914
- }, unmarshalListBootscriptsResponse);
915
- };
916
- })();
917
-
918
- /**
919
- * List bootscripts.
920
- *
921
- * @deprecated
922
- * @param request - The request {@link ListBootscriptsRequest}
923
- * @returns A Promise of ListBootscriptsResponse
924
- */
925
- listBootscripts = (() => {
926
- var _this24 = this;
927
- return function (request) {
928
- if (request === void 0) {
929
- request = {};
930
- }
931
- return enrichForPagination('bootscripts', _this24.pageOfListBootscripts, request);
932
- };
933
- })();
934
-
935
- /**
936
- * Get bootscripts. Get details of a bootscript with the specified ID.
937
- *
938
- * @deprecated
939
- * @param request - The request {@link GetBootscriptRequest}
940
- * @returns A Promise of GetBootscriptResponse
941
- */
942
- getBootscript = request => this.client.fetch({
943
- method: 'GET',
944
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/bootscripts/${validatePathParam('bootscriptId', request.bootscriptId)}`
945
- }, unmarshalGetBootscriptResponse);
946
- getDashboard = (() => {
947
- var _this25 = this;
948
- return function (request) {
949
- if (request === void 0) {
950
- request = {};
951
- }
952
- return _this25.client.fetch({
953
- method: 'GET',
954
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this25.client.settings.defaultZone)}/dashboard`,
955
- urlParams: urlParams(['organization', request.organization], ['project', request.project])
956
- }, unmarshalGetDashboardResponse);
957
- };
958
- })();
959
-
960
- /**
961
- * Get a volume or snapshot's migration plan. Given a volume or snapshot,
962
- * returns the migration plan for a call to the RPC ApplyBlockMigration. This
963
- * plan will include zero or one volume, and zero or more snapshots, which
964
- * will need to be migrated together. This RPC does not perform the actual
965
- * migration itself, ApplyBlockMigration must be used. The validation_key
966
- * value returned by this call must be provided to the ApplyBlockMigration
967
- * call to confirm that all resources listed in the plan should be migrated.
968
- *
969
- * @param request - The request {@link PlanBlockMigrationRequest}
970
- * @returns A Promise of MigrationPlan
971
- */
972
- planBlockMigration = (() => {
973
- var _this26 = this;
974
- return function (request) {
975
- if (request === void 0) {
976
- request = {};
977
- }
978
- return _this26.client.fetch({
979
- body: JSON.stringify(marshalPlanBlockMigrationRequest(request, _this26.client.settings)),
980
- headers: jsonContentHeaders,
981
- method: 'POST',
982
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? _this26.client.settings.defaultZone)}/block-migration/plan`
983
- }, unmarshalMigrationPlan);
984
- };
985
- })();
986
-
987
- /**
988
- * Migrate a volume and/or snapshots to SBS (Scaleway Block Storage). To be
989
- * used, this RPC must be preceded by a call to PlanBlockMigration. To migrate
990
- * all resources mentioned in the MigrationPlan, the validation_key returned
991
- * in the MigrationPlan must be provided.
992
- *
993
- * @param request - The request {@link ApplyBlockMigrationRequest}
994
- */
995
- applyBlockMigration = request => this.client.fetch({
996
- body: JSON.stringify(marshalApplyBlockMigrationRequest(request, this.client.settings)),
997
- headers: jsonContentHeaders,
998
- method: 'POST',
999
- path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/block-migration/apply`
1000
- });
1001
- }
1002
-
1003
- export { API };