@scaleway/sdk 2.67.0 → 2.68.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 (108) hide show
  1. package/dist/api/audit_trail/v1alpha1/api.gen.cjs +5 -1
  2. package/dist/api/audit_trail/v1alpha1/api.gen.js +5 -1
  3. package/dist/api/audit_trail/v1alpha1/marshalling.gen.cjs +1 -0
  4. package/dist/api/audit_trail/v1alpha1/marshalling.gen.js +1 -0
  5. package/dist/api/audit_trail/v1alpha1/types.gen.d.ts +6 -2
  6. package/dist/api/baremetal/v1/api.gen.cjs +13 -0
  7. package/dist/api/baremetal/v1/api.gen.d.ts +8 -1
  8. package/dist/api/baremetal/v1/api.gen.js +13 -0
  9. package/dist/api/baremetal/v1/content.gen.cjs +2 -1
  10. package/dist/api/baremetal/v1/content.gen.js +2 -1
  11. package/dist/api/baremetal/v1/index.gen.d.ts +1 -1
  12. package/dist/api/baremetal/v1/marshalling.gen.cjs +1 -0
  13. package/dist/api/baremetal/v1/marshalling.gen.js +1 -0
  14. package/dist/api/baremetal/v1/types.gen.d.ts +9 -1
  15. package/dist/api/block/index.gen.cjs +4 -2
  16. package/dist/api/block/index.gen.d.ts +1 -0
  17. package/dist/api/block/index.gen.js +4 -2
  18. package/dist/api/block/v1/api.gen.cjs +303 -0
  19. package/dist/api/block/v1/api.gen.d.ts +152 -0
  20. package/dist/api/block/v1/api.gen.js +303 -0
  21. package/dist/api/block/v1/content.gen.cjs +22 -0
  22. package/dist/api/block/v1/content.gen.d.ts +7 -0
  23. package/dist/api/block/v1/content.gen.js +22 -0
  24. package/dist/api/block/v1/index.gen.cjs +10 -0
  25. package/dist/api/block/v1/index.gen.d.ts +4 -0
  26. package/dist/api/block/v1/index.gen.js +10 -0
  27. package/dist/api/block/v1/marshalling.gen.cjs +200 -0
  28. package/dist/api/block/v1/marshalling.gen.d.ts +14 -0
  29. package/dist/api/block/v1/marshalling.gen.js +200 -0
  30. package/dist/api/block/v1/types.gen.d.ts +335 -0
  31. package/dist/api/block/v1/validation-rules.gen.cjs +56 -0
  32. package/dist/api/block/v1/validation-rules.gen.d.ts +47 -0
  33. package/dist/api/block/v1/validation-rules.gen.js +56 -0
  34. package/dist/api/block/v1alpha1/api.gen.cjs +1 -0
  35. package/dist/api/block/v1alpha1/api.gen.js +1 -0
  36. package/dist/api/block/v1alpha1/types.gen.d.ts +5 -0
  37. package/dist/api/edge_services/index.gen.cjs +2 -0
  38. package/dist/api/edge_services/index.gen.d.ts +1 -0
  39. package/dist/api/edge_services/index.gen.js +3 -1
  40. package/dist/api/edge_services/v1beta1/api.gen.cjs +941 -0
  41. package/dist/api/edge_services/v1beta1/api.gen.d.ts +454 -0
  42. package/dist/api/edge_services/v1beta1/api.gen.js +941 -0
  43. package/dist/api/edge_services/v1beta1/content.gen.cjs +8 -0
  44. package/dist/api/edge_services/v1beta1/content.gen.d.ts +5 -0
  45. package/dist/api/edge_services/v1beta1/content.gen.js +8 -0
  46. package/dist/api/{webhosting/v1alpha1 → edge_services/v1beta1}/index.gen.cjs +2 -2
  47. package/dist/api/edge_services/v1beta1/index.gen.d.ts +4 -0
  48. package/dist/api/edge_services/v1beta1/index.gen.js +9 -0
  49. package/dist/api/edge_services/v1beta1/marshalling.gen.cjs +808 -0
  50. package/dist/api/edge_services/v1beta1/marshalling.gen.d.ts +53 -0
  51. package/dist/api/edge_services/v1beta1/marshalling.gen.js +808 -0
  52. package/dist/api/edge_services/v1beta1/types.gen.d.ts +1218 -0
  53. package/dist/api/edge_services/v1beta1/validation-rules.gen.cjs +23 -0
  54. package/dist/api/edge_services/v1beta1/validation-rules.gen.d.ts +18 -0
  55. package/dist/api/edge_services/v1beta1/validation-rules.gen.js +23 -0
  56. package/dist/api/instance/v1/api.gen.cjs +18 -0
  57. package/dist/api/instance/v1/api.gen.d.ts +13 -1
  58. package/dist/api/instance/v1/api.gen.js +19 -1
  59. package/dist/api/instance/v1/index.gen.d.ts +1 -1
  60. package/dist/api/instance/v1/marshalling.gen.cjs +12 -0
  61. package/dist/api/instance/v1/marshalling.gen.d.ts +2 -1
  62. package/dist/api/instance/v1/marshalling.gen.js +12 -0
  63. package/dist/api/instance/v1/types.gen.d.ts +12 -0
  64. package/dist/api/lb/v1/marshalling.gen.cjs +2 -0
  65. package/dist/api/lb/v1/marshalling.gen.js +2 -0
  66. package/dist/api/lb/v1/types.gen.d.ts +2 -0
  67. package/dist/api/mongodb/v1alpha1/api.gen.cjs +11 -0
  68. package/dist/api/mongodb/v1alpha1/api.gen.d.ts +2 -1
  69. package/dist/api/mongodb/v1alpha1/api.gen.js +12 -1
  70. package/dist/api/mongodb/v1alpha1/index.gen.d.ts +1 -1
  71. package/dist/api/mongodb/v1alpha1/marshalling.gen.cjs +26 -1
  72. package/dist/api/mongodb/v1alpha1/marshalling.gen.d.ts +2 -1
  73. package/dist/api/mongodb/v1alpha1/marshalling.gen.js +26 -1
  74. package/dist/api/mongodb/v1alpha1/types.gen.d.ts +29 -0
  75. package/dist/api/mongodb/v1alpha1/validation-rules.gen.cjs +8 -0
  76. package/dist/api/mongodb/v1alpha1/validation-rules.gen.d.ts +7 -0
  77. package/dist/api/mongodb/v1alpha1/validation-rules.gen.js +8 -0
  78. package/dist/api/webhosting/index.gen.cjs +0 -2
  79. package/dist/api/webhosting/index.gen.d.ts +0 -1
  80. package/dist/api/webhosting/index.gen.js +1 -3
  81. package/dist/api/webhosting/v1/content.gen.cjs +0 -6
  82. package/dist/api/webhosting/v1/content.gen.d.ts +1 -3
  83. package/dist/api/webhosting/v1/content.gen.js +0 -6
  84. package/dist/api/webhosting/v1/index.gen.cjs +0 -1
  85. package/dist/api/webhosting/v1/index.gen.d.ts +1 -1
  86. package/dist/api/webhosting/v1/index.gen.js +1 -2
  87. package/dist/api/webhosting/v1/marshalling.gen.cjs +1 -2
  88. package/dist/api/webhosting/v1/marshalling.gen.js +1 -2
  89. package/dist/api/webhosting/v1/types.gen.d.ts +3 -6
  90. package/dist/scw/constants.cjs +1 -1
  91. package/dist/scw/constants.d.ts +2 -2
  92. package/dist/scw/constants.js +1 -1
  93. package/package.json +2 -2
  94. package/dist/api/webhosting/v1alpha1/api.gen.cjs +0 -339
  95. package/dist/api/webhosting/v1alpha1/api.gen.d.ts +0 -168
  96. package/dist/api/webhosting/v1alpha1/api.gen.js +0 -339
  97. package/dist/api/webhosting/v1alpha1/content.gen.cjs +0 -8
  98. package/dist/api/webhosting/v1alpha1/content.gen.d.ts +0 -3
  99. package/dist/api/webhosting/v1alpha1/content.gen.js +0 -8
  100. package/dist/api/webhosting/v1alpha1/index.gen.d.ts +0 -4
  101. package/dist/api/webhosting/v1alpha1/index.gen.js +0 -9
  102. package/dist/api/webhosting/v1alpha1/marshalling.gen.cjs +0 -300
  103. package/dist/api/webhosting/v1alpha1/marshalling.gen.d.ts +0 -17
  104. package/dist/api/webhosting/v1alpha1/marshalling.gen.js +0 -300
  105. package/dist/api/webhosting/v1alpha1/types.gen.d.ts +0 -480
  106. package/dist/api/webhosting/v1alpha1/validation-rules.gen.cjs +0 -32
  107. package/dist/api/webhosting/v1alpha1/validation-rules.gen.d.ts +0 -27
  108. package/dist/api/webhosting/v1alpha1/validation-rules.gen.js +0 -32
@@ -51,7 +51,11 @@ class API extends api.API {
51
51
  listProducts = (request = {}) => this.client.fetch(
52
52
  {
53
53
  method: "GET",
54
- path: `/audit-trail/v1alpha1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/products`
54
+ path: `/audit-trail/v1alpha1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/products`,
55
+ urlParams: marshalling.urlParams([
56
+ "organization_id",
57
+ request.organizationId ?? this.client.settings.defaultOrganizationId
58
+ ])
55
59
  },
56
60
  marshalling_gen.unmarshalListProductsResponse
57
61
  );
@@ -49,7 +49,11 @@ class API extends API$1 {
49
49
  listProducts = (request = {}) => this.client.fetch(
50
50
  {
51
51
  method: "GET",
52
- path: `/audit-trail/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/products`
52
+ path: `/audit-trail/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/products`,
53
+ urlParams: urlParams([
54
+ "organization_id",
55
+ request.organizationId ?? this.client.settings.defaultOrganizationId
56
+ ])
53
57
  },
54
58
  unmarshalListProductsResponse
55
59
  );
@@ -119,6 +119,7 @@ const unmarshalEvent = (data) => {
119
119
  requestBody: data.request_body,
120
120
  requestId: data.request_id,
121
121
  resource: data.resource ? unmarshalResource(data.resource) : void 0,
122
+ resources: marshalling.unmarshalArrayOfObject(data.resources, unmarshalResource),
122
123
  serviceName: data.service_name,
123
124
  sourceIp: data.source_ip,
124
125
  statusCode: data.status_code,
@@ -117,6 +117,7 @@ const unmarshalEvent = (data) => {
117
117
  requestBody: data.request_body,
118
118
  requestId: data.request_id,
119
119
  resource: data.resource ? unmarshalResource(data.resource) : void 0,
120
+ resources: unmarshalArrayOfObject(data.resources, unmarshalResource),
120
121
  serviceName: data.service_name,
121
122
  sourceIp: data.source_ip,
122
123
  statusCode: data.status_code,
@@ -1,6 +1,6 @@
1
1
  import type { Region as ScwRegion } from '../../../bridge';
2
2
  export type ListEventsRequestOrderBy = 'recorded_at_desc' | 'recorded_at_asc';
3
- export type ResourceType = 'unknown_type' | 'secm_secret' | 'secm_secret_version' | 'kube_cluster' | 'kube_pool' | 'kube_node' | 'kube_acl' | 'keym_key' | 'iamx_user' | 'iamx_application' | 'iamx_group' | 'iamx_policy' | 'iamx_api_key' | 'iamx_ssh_key';
3
+ export type ResourceType = 'unknown_type' | 'secm_secret' | 'secm_secret_version' | 'kube_cluster' | 'kube_pool' | 'kube_node' | 'kube_acl' | 'keym_key' | 'iam_user' | 'iam_application' | 'iam_group' | 'iam_policy' | 'iam_api_key' | 'iam_ssh_key';
4
4
  export interface KeyManagerKeyInfo {
5
5
  }
6
6
  export interface KubernetesACLInfo {
@@ -101,8 +101,10 @@ export interface Event {
101
101
  serviceName: string;
102
102
  /** API method called to trigger the event. */
103
103
  methodName: string;
104
- /** Resource attached to the event. */
104
+ /** @deprecated Resource attached to the event. */
105
105
  resource?: Resource;
106
+ /** Resources attached to the event. */
107
+ resources: Resource[];
106
108
  /** Unique identifier of the request at the origin of the event. */
107
109
  requestId: string;
108
110
  /** Request at the origin of the event. */
@@ -169,6 +171,8 @@ export type ListProductsRequest = {
169
171
  * config.
170
172
  */
171
173
  region?: ScwRegion;
174
+ /** ID of the Organization containing the Audit Trail events. */
175
+ organizationId?: string;
172
176
  };
173
177
  export interface ListProductsResponse {
174
178
  /** List of all products integrated with Audit Trail. */
@@ -369,6 +369,19 @@ class API extends api.API {
369
369
  },
370
370
  marshalling_gen.unmarshalServer
371
371
  );
372
+ /**
373
+ * Migrate server offer. Migrate server with hourly offer to monthly offer.
374
+ *
375
+ * @param request - The request {@link MigrateServerToMonthlyOfferRequest}
376
+ * @returns A Promise of Server
377
+ */
378
+ migrateServerToMonthlyOffer = (request) => this.client.fetch(
379
+ {
380
+ method: "POST",
381
+ path: `/baremetal/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/servers/${marshalling.validatePathParam("serverId", request.serverId)}/migrate-offer-monthly`
382
+ },
383
+ marshalling_gen.unmarshalServer
384
+ );
372
385
  pageOfListOffers = (request = {}) => this.client.fetch(
373
386
  {
374
387
  method: "GET",
@@ -1,6 +1,6 @@
1
1
  import { API as ParentAPI } from '../../../bridge';
2
2
  import type { Zone as ScwZone, WaitForOptions } from '../../../bridge';
3
- import type { AddOptionServerRequest, BMCAccess, CreateServerRequest, DeleteOptionServerRequest, DeleteServerRequest, GetBMCAccessRequest, GetDefaultPartitioningSchemaRequest, GetOSRequest, GetOfferRequest, GetOptionRequest, GetServerMetricsRequest, GetServerMetricsResponse, GetServerRequest, IP, InstallServerRequest, ListOSRequest, ListOSResponse, ListOffersRequest, ListOffersResponse, ListOptionsRequest, ListOptionsResponse, ListServerEventsRequest, ListServerEventsResponse, ListServerPrivateNetworksResponse, ListServersRequest, ListServersResponse, ListSettingsRequest, ListSettingsResponse, OS, Offer, Option, PrivateNetworkApiAddServerPrivateNetworkRequest, PrivateNetworkApiDeleteServerPrivateNetworkRequest, PrivateNetworkApiListServerPrivateNetworksRequest, PrivateNetworkApiSetServerPrivateNetworksRequest, RebootServerRequest, Schema, Server, ServerPrivateNetwork, SetServerPrivateNetworksResponse, Setting, StartBMCAccessRequest, StartServerRequest, StopBMCAccessRequest, StopServerRequest, UpdateIPRequest, UpdateServerRequest, UpdateSettingRequest, ValidatePartitioningSchemaRequest } from './types.gen';
3
+ import type { AddOptionServerRequest, BMCAccess, CreateServerRequest, DeleteOptionServerRequest, DeleteServerRequest, GetBMCAccessRequest, GetDefaultPartitioningSchemaRequest, GetOSRequest, GetOfferRequest, GetOptionRequest, GetServerMetricsRequest, GetServerMetricsResponse, GetServerRequest, IP, InstallServerRequest, ListOSRequest, ListOSResponse, ListOffersRequest, ListOffersResponse, ListOptionsRequest, ListOptionsResponse, ListServerEventsRequest, ListServerEventsResponse, ListServerPrivateNetworksResponse, ListServersRequest, ListServersResponse, ListSettingsRequest, ListSettingsResponse, MigrateServerToMonthlyOfferRequest, OS, Offer, Option, PrivateNetworkApiAddServerPrivateNetworkRequest, PrivateNetworkApiDeleteServerPrivateNetworkRequest, PrivateNetworkApiListServerPrivateNetworksRequest, PrivateNetworkApiSetServerPrivateNetworksRequest, RebootServerRequest, Schema, Server, ServerPrivateNetwork, SetServerPrivateNetworksResponse, Setting, StartBMCAccessRequest, StartServerRequest, StopBMCAccessRequest, StopServerRequest, UpdateIPRequest, UpdateServerRequest, UpdateSettingRequest, ValidatePartitioningSchemaRequest } from './types.gen';
4
4
  /**
5
5
  * Elastic Metal API.
6
6
  *
@@ -187,6 +187,13 @@ export declare class API extends ParentAPI {
187
187
  * @returns A Promise of Server
188
188
  */
189
189
  deleteOptionServer: (request: Readonly<DeleteOptionServerRequest>) => Promise<Server>;
190
+ /**
191
+ * Migrate server offer. Migrate server with hourly offer to monthly offer.
192
+ *
193
+ * @param request - The request {@link MigrateServerToMonthlyOfferRequest}
194
+ * @returns A Promise of Server
195
+ */
196
+ migrateServerToMonthlyOffer: (request: Readonly<MigrateServerToMonthlyOfferRequest>) => Promise<Server>;
190
197
  protected pageOfListOffers: (request?: Readonly<ListOffersRequest>) => Promise<ListOffersResponse>;
191
198
  /**
192
199
  * List offers. List all available Elastic Metal server configurations.
@@ -367,6 +367,19 @@ class API extends API$1 {
367
367
  },
368
368
  unmarshalServer
369
369
  );
370
+ /**
371
+ * Migrate server offer. Migrate server with hourly offer to monthly offer.
372
+ *
373
+ * @param request - The request {@link MigrateServerToMonthlyOfferRequest}
374
+ * @returns A Promise of Server
375
+ */
376
+ migrateServerToMonthlyOffer = (request) => this.client.fetch(
377
+ {
378
+ method: "POST",
379
+ path: `/baremetal/v1/zones/${validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/servers/${validatePathParam("serverId", request.serverId)}/migrate-offer-monthly`
380
+ },
381
+ unmarshalServer
382
+ );
370
383
  pageOfListOffers = (request = {}) => this.client.fetch(
371
384
  {
372
385
  method: "GET",
@@ -11,7 +11,8 @@ const SERVER_TRANSIENT_STATUSES = [
11
11
  "starting",
12
12
  "deleting",
13
13
  "ordered",
14
- "resetting"
14
+ "resetting",
15
+ "migrating"
15
16
  ];
16
17
  exports.SERVER_INSTALL_TRANSIENT_STATUSES = SERVER_INSTALL_TRANSIENT_STATUSES;
17
18
  exports.SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES = SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES;
@@ -9,7 +9,8 @@ const SERVER_TRANSIENT_STATUSES = [
9
9
  "starting",
10
10
  "deleting",
11
11
  "ordered",
12
- "resetting"
12
+ "resetting",
13
+ "migrating"
13
14
  ];
14
15
  export {
15
16
  SERVER_INSTALL_TRANSIENT_STATUSES,
@@ -1,4 +1,4 @@
1
1
  export { API, PrivateNetworkAPI } from './api.gen.js';
2
2
  export * from './content.gen.js';
3
- export type { AddOptionServerRequest, BMCAccess, CPU, CertificationOption, CreateServerRequest, CreateServerRequestInstall, DeleteOptionServerRequest, DeleteServerRequest, Disk, GPU, GetBMCAccessRequest, GetDefaultPartitioningSchemaRequest, GetOSRequest, GetOfferRequest, GetOptionRequest, GetServerMetricsRequest, GetServerMetricsResponse, GetServerRequest, IP, IPReverseStatus, IPVersion, InstallServerRequest, LicenseOption, ListOSRequest, ListOSResponse, ListOffersRequest, ListOffersResponse, ListOptionsRequest, ListOptionsResponse, ListServerEventsRequest, ListServerEventsRequestOrderBy, ListServerEventsResponse, ListServerPrivateNetworksRequestOrderBy, ListServerPrivateNetworksResponse, ListServersRequest, ListServersRequestOrderBy, ListServersResponse, ListSettingsRequest, ListSettingsRequestOrderBy, ListSettingsResponse, Memory, OS, OSOSField, Offer, OfferOptionOffer, OfferStock, OfferSubscriptionPeriod, Option, PersistentMemory, PrivateNetworkApiAddServerPrivateNetworkRequest, PrivateNetworkApiDeleteServerPrivateNetworkRequest, PrivateNetworkApiListServerPrivateNetworksRequest, PrivateNetworkApiSetServerPrivateNetworksRequest, PrivateNetworkOption, PublicBandwidthOption, RaidController, RebootServerRequest, RemoteAccessOption, Schema, SchemaDisk, SchemaFilesystem, SchemaFilesystemFormat, SchemaPartition, SchemaPartitionLabel, SchemaPool, SchemaPoolType, SchemaRAID, SchemaRAIDLevel, SchemaZFS, Server, ServerBootType, ServerEvent, ServerInstall, ServerInstallStatus, ServerOption, ServerOptionOptionStatus, ServerPingStatus, ServerPrivateNetwork, ServerPrivateNetworkStatus, ServerRescueServer, ServerStatus, SetServerPrivateNetworksResponse, Setting, SettingType, StartBMCAccessRequest, StartServerRequest, StopBMCAccessRequest, StopServerRequest, UpdateIPRequest, UpdateServerRequest, UpdateSettingRequest, ValidatePartitioningSchemaRequest, } from './types.gen';
3
+ export type { AddOptionServerRequest, BMCAccess, CPU, CertificationOption, CreateServerRequest, CreateServerRequestInstall, DeleteOptionServerRequest, DeleteServerRequest, Disk, GPU, GetBMCAccessRequest, GetDefaultPartitioningSchemaRequest, GetOSRequest, GetOfferRequest, GetOptionRequest, GetServerMetricsRequest, GetServerMetricsResponse, GetServerRequest, IP, IPReverseStatus, IPVersion, InstallServerRequest, LicenseOption, ListOSRequest, ListOSResponse, ListOffersRequest, ListOffersResponse, ListOptionsRequest, ListOptionsResponse, ListServerEventsRequest, ListServerEventsRequestOrderBy, ListServerEventsResponse, ListServerPrivateNetworksRequestOrderBy, ListServerPrivateNetworksResponse, ListServersRequest, ListServersRequestOrderBy, ListServersResponse, ListSettingsRequest, ListSettingsRequestOrderBy, ListSettingsResponse, Memory, MigrateServerToMonthlyOfferRequest, OS, OSOSField, Offer, OfferOptionOffer, OfferStock, OfferSubscriptionPeriod, Option, PersistentMemory, PrivateNetworkApiAddServerPrivateNetworkRequest, PrivateNetworkApiDeleteServerPrivateNetworkRequest, PrivateNetworkApiListServerPrivateNetworksRequest, PrivateNetworkApiSetServerPrivateNetworksRequest, PrivateNetworkOption, PublicBandwidthOption, RaidController, RebootServerRequest, RemoteAccessOption, Schema, SchemaDisk, SchemaFilesystem, SchemaFilesystemFormat, SchemaPartition, SchemaPartitionLabel, SchemaPool, SchemaPoolType, SchemaRAID, SchemaRAIDLevel, SchemaZFS, Server, ServerBootType, ServerEvent, ServerInstall, ServerInstallStatus, ServerOption, ServerOptionOptionStatus, ServerPingStatus, ServerPrivateNetwork, ServerPrivateNetworkStatus, ServerRescueServer, ServerStatus, SetServerPrivateNetworksResponse, Setting, SettingType, StartBMCAccessRequest, StartServerRequest, StopBMCAccessRequest, StopServerRequest, UpdateIPRequest, UpdateServerRequest, UpdateSettingRequest, ValidatePartitioningSchemaRequest, } from './types.gen';
4
4
  export * as ValidationRules from './validation-rules.gen.js';
@@ -299,6 +299,7 @@ const unmarshalOffer = (data) => {
299
299
  incompatibleOsIds: data.incompatible_os_ids,
300
300
  maxBandwidth: data.max_bandwidth,
301
301
  memories: marshalling.unmarshalArrayOfObject(data.memories, unmarshalMemory),
302
+ monthlyOfferId: data.monthly_offer_id,
302
303
  name: data.name,
303
304
  operationPath: data.operation_path,
304
305
  options: marshalling.unmarshalArrayOfObject(data.options, unmarshalOfferOptionOffer),
@@ -297,6 +297,7 @@ const unmarshalOffer = (data) => {
297
297
  incompatibleOsIds: data.incompatible_os_ids,
298
298
  maxBandwidth: data.max_bandwidth,
299
299
  memories: unmarshalArrayOfObject(data.memories, unmarshalMemory),
300
+ monthlyOfferId: data.monthly_offer_id,
300
301
  name: data.name,
301
302
  operationPath: data.operation_path,
302
303
  options: unmarshalArrayOfObject(data.options, unmarshalOfferOptionOffer),
@@ -16,7 +16,7 @@ export type ServerInstallStatus = 'unknown' | 'to_install' | 'installing' | 'com
16
16
  export type ServerOptionOptionStatus = 'option_status_unknown' | 'option_status_enable' | 'option_status_enabling' | 'option_status_disabling' | 'option_status_error';
17
17
  export type ServerPingStatus = 'ping_status_unknown' | 'ping_status_up' | 'ping_status_down';
18
18
  export type ServerPrivateNetworkStatus = 'unknown' | 'attaching' | 'attached' | 'error' | 'detaching' | 'locked';
19
- export type ServerStatus = 'unknown' | 'delivering' | 'ready' | 'stopping' | 'stopped' | 'starting' | 'error' | 'deleting' | 'locked' | 'out_of_stock' | 'ordered' | 'resetting';
19
+ export type ServerStatus = 'unknown' | 'delivering' | 'ready' | 'stopping' | 'stopped' | 'starting' | 'error' | 'deleting' | 'locked' | 'out_of_stock' | 'ordered' | 'resetting' | 'migrating';
20
20
  export type SettingType = 'unknown' | 'smtp';
21
21
  export interface SchemaPartition {
22
22
  label: SchemaPartitionLabel;
@@ -366,6 +366,8 @@ export interface Offer {
366
366
  tags: string[];
367
367
  /** GPU specifications of the offer. */
368
368
  gpus: GPU[];
369
+ /** Exist only for hourly offers, to migrate to the monthly offer. */
370
+ monthlyOfferId?: string;
369
371
  }
370
372
  export interface Option {
371
373
  /** ID of the option. */
@@ -754,6 +756,12 @@ export interface ListSettingsResponse {
754
756
  /** Settings that match filters. */
755
757
  settings: Setting[];
756
758
  }
759
+ export type MigrateServerToMonthlyOfferRequest = {
760
+ /** Zone to target. If none is passed will use default zone from the config. */
761
+ zone?: ScwZone;
762
+ /** ID of the server. */
763
+ serverId: string;
764
+ };
757
765
  export type PrivateNetworkApiAddServerPrivateNetworkRequest = {
758
766
  /** Zone to target. If none is passed will use default zone from the config. */
759
767
  zone?: ScwZone;
@@ -1,4 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index_gen = require("./v1alpha1/index.gen.cjs");
4
- exports.v1alpha1 = index_gen;
3
+ const index_gen = require("./v1/index.gen.cjs");
4
+ const index_gen$1 = require("./v1alpha1/index.gen.cjs");
5
+ exports.v1 = index_gen;
6
+ exports.v1alpha1 = index_gen$1;
@@ -2,4 +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 v1 from './v1/index.gen.js';
5
6
  export * as v1alpha1 from './v1alpha1/index.gen.js';
@@ -1,4 +1,6 @@
1
- import * as index_gen from "./v1alpha1/index.gen.js";
1
+ import * as index_gen from "./v1/index.gen.js";
2
+ import * as index_gen$1 from "./v1alpha1/index.gen.js";
2
3
  export {
3
- index_gen as v1alpha1
4
+ index_gen as v1,
5
+ index_gen$1 as v1alpha1
4
6
  };
@@ -0,0 +1,303 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const intervalRetrier = require("../../../internal/async/interval-retrier.cjs");
4
+ const api = require("../../../scw/api.cjs");
5
+ const marshalling = require("../../../helpers/marshalling.cjs");
6
+ require("../../../vendor/base64/index.cjs");
7
+ const resourcePaginator = require("../../../scw/fetch/resource-paginator.cjs");
8
+ const content_gen = require("./content.gen.cjs");
9
+ const marshalling_gen = require("./marshalling.gen.cjs");
10
+ const jsonContentHeaders = {
11
+ "Content-Type": "application/json; charset=utf-8"
12
+ };
13
+ class API extends api.API {
14
+ /** Lists the available zones of the API. */
15
+ static LOCALITIES = [
16
+ "fr-par-1",
17
+ "fr-par-2",
18
+ "fr-par-3",
19
+ "nl-ams-1",
20
+ "nl-ams-2",
21
+ "nl-ams-3",
22
+ "pl-waw-1",
23
+ "pl-waw-2",
24
+ "pl-waw-3"
25
+ ];
26
+ pageOfListVolumeTypes = (request = {}) => this.client.fetch(
27
+ {
28
+ method: "GET",
29
+ path: `/block/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/volume-types`,
30
+ urlParams: marshalling.urlParams(
31
+ ["page", request.page],
32
+ [
33
+ "page_size",
34
+ request.pageSize ?? this.client.settings.defaultPageSize
35
+ ]
36
+ )
37
+ },
38
+ marshalling_gen.unmarshalListVolumeTypesResponse
39
+ );
40
+ /**
41
+ * List volume types. List all available volume types in a specified zone. The
42
+ * volume types listed are ordered by name in ascending order.
43
+ *
44
+ * @param request - The request {@link ListVolumeTypesRequest}
45
+ * @returns A Promise of ListVolumeTypesResponse
46
+ */
47
+ listVolumeTypes = (request = {}) => resourcePaginator.enrichForPagination("volumeTypes", this.pageOfListVolumeTypes, request);
48
+ pageOfListVolumes = (request = {}) => this.client.fetch(
49
+ {
50
+ method: "GET",
51
+ path: `/block/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/volumes`,
52
+ urlParams: marshalling.urlParams(
53
+ ["name", request.name],
54
+ ["order_by", request.orderBy],
55
+ ["organization_id", request.organizationId],
56
+ ["page", request.page],
57
+ [
58
+ "page_size",
59
+ request.pageSize ?? this.client.settings.defaultPageSize
60
+ ],
61
+ ["product_resource_id", request.productResourceId],
62
+ ["project_id", request.projectId],
63
+ ["tags", request.tags]
64
+ )
65
+ },
66
+ marshalling_gen.unmarshalListVolumesResponse
67
+ );
68
+ /**
69
+ * List volumes. List all existing volumes in a specified zone. By default,
70
+ * the volumes listed are ordered by creation date in ascending order. This
71
+ * can be modified via the `order_by` field.
72
+ *
73
+ * @param request - The request {@link ListVolumesRequest}
74
+ * @returns A Promise of ListVolumesResponse
75
+ */
76
+ listVolumes = (request = {}) => resourcePaginator.enrichForPagination("volumes", this.pageOfListVolumes, request);
77
+ /**
78
+ * Create a volume. To create a new volume from scratch, you must specify
79
+ * `from_empty` and the `size`. To create a volume from an existing snapshot,
80
+ * specify `from_snapshot` and the `snapshot_id` in the request payload
81
+ * instead, size is optional and can be specified if you need to extend the
82
+ * original size. The volume will take on the same volume class and underlying
83
+ * IOPS limitations as the original snapshot.
84
+ *
85
+ * @param request - The request {@link CreateVolumeRequest}
86
+ * @returns A Promise of Volume
87
+ */
88
+ createVolume = (request = {}) => this.client.fetch(
89
+ {
90
+ body: JSON.stringify(
91
+ marshalling_gen.marshalCreateVolumeRequest(request, this.client.settings)
92
+ ),
93
+ headers: jsonContentHeaders,
94
+ method: "POST",
95
+ path: `/block/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/volumes`
96
+ },
97
+ marshalling_gen.unmarshalVolume
98
+ );
99
+ /**
100
+ * Get a volume. Retrieve technical information about a specific volume.
101
+ * Details such as size, type, and status are returned in the response.
102
+ *
103
+ * @param request - The request {@link GetVolumeRequest}
104
+ * @returns A Promise of Volume
105
+ */
106
+ getVolume = (request) => this.client.fetch(
107
+ {
108
+ method: "GET",
109
+ path: `/block/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/volumes/${marshalling.validatePathParam("volumeId", request.volumeId)}`
110
+ },
111
+ marshalling_gen.unmarshalVolume
112
+ );
113
+ /**
114
+ * Waits for {@link Volume} to be in a final state.
115
+ *
116
+ * @param request - The request {@link GetVolumeRequest}
117
+ * @param options - The waiting options
118
+ * @returns A Promise of Volume
119
+ */
120
+ waitForVolume = (request, options) => intervalRetrier.waitForResource(
121
+ options?.stop ?? ((res) => Promise.resolve(!content_gen.VOLUME_TRANSIENT_STATUSES.includes(res.status))),
122
+ this.getVolume,
123
+ request,
124
+ options
125
+ );
126
+ /**
127
+ * Delete a detached volume. You must specify the `volume_id` of the volume
128
+ * you want to delete. The volume must not be in the `in_use` status.
129
+ *
130
+ * @param request - The request {@link DeleteVolumeRequest}
131
+ */
132
+ deleteVolume = (request) => this.client.fetch({
133
+ method: "DELETE",
134
+ path: `/block/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/volumes/${marshalling.validatePathParam("volumeId", request.volumeId)}`
135
+ });
136
+ /**
137
+ * Update a volume. Update the technical details of a volume, such as its
138
+ * name, tags, or its new size and `volume_type` (within the same Block
139
+ * Storage class). You can only resize a volume to a larger size. It is
140
+ * currently not possible to change your Block Storage Class.
141
+ *
142
+ * @param request - The request {@link UpdateVolumeRequest}
143
+ * @returns A Promise of Volume
144
+ */
145
+ updateVolume = (request) => this.client.fetch(
146
+ {
147
+ body: JSON.stringify(
148
+ marshalling_gen.marshalUpdateVolumeRequest(request, this.client.settings)
149
+ ),
150
+ headers: jsonContentHeaders,
151
+ method: "PATCH",
152
+ path: `/block/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/volumes/${marshalling.validatePathParam("volumeId", request.volumeId)}`
153
+ },
154
+ marshalling_gen.unmarshalVolume
155
+ );
156
+ pageOfListSnapshots = (request = {}) => this.client.fetch(
157
+ {
158
+ method: "GET",
159
+ path: `/block/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/snapshots`,
160
+ urlParams: marshalling.urlParams(
161
+ ["name", request.name],
162
+ ["order_by", request.orderBy],
163
+ ["organization_id", request.organizationId],
164
+ ["page", request.page],
165
+ [
166
+ "page_size",
167
+ request.pageSize ?? this.client.settings.defaultPageSize
168
+ ],
169
+ ["project_id", request.projectId],
170
+ ["tags", request.tags],
171
+ ["volume_id", request.volumeId]
172
+ )
173
+ },
174
+ marshalling_gen.unmarshalListSnapshotsResponse
175
+ );
176
+ /**
177
+ * List all snapshots. List all available snapshots in a specified zone. By
178
+ * default, the snapshots listed are ordered by creation date in ascending
179
+ * order. This can be modified via the `order_by` field.
180
+ *
181
+ * @param request - The request {@link ListSnapshotsRequest}
182
+ * @returns A Promise of ListSnapshotsResponse
183
+ */
184
+ listSnapshots = (request = {}) => resourcePaginator.enrichForPagination("snapshots", this.pageOfListSnapshots, request);
185
+ /**
186
+ * Get a snapshot. Retrieve technical information about a specific snapshot.
187
+ * Details such as size, volume type, and status are returned in the
188
+ * response.
189
+ *
190
+ * @param request - The request {@link GetSnapshotRequest}
191
+ * @returns A Promise of Snapshot
192
+ */
193
+ getSnapshot = (request) => this.client.fetch(
194
+ {
195
+ method: "GET",
196
+ path: `/block/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/snapshots/${marshalling.validatePathParam("snapshotId", request.snapshotId)}`
197
+ },
198
+ marshalling_gen.unmarshalSnapshot
199
+ );
200
+ /**
201
+ * Waits for {@link Snapshot} to be in a final state.
202
+ *
203
+ * @param request - The request {@link GetSnapshotRequest}
204
+ * @param options - The waiting options
205
+ * @returns A Promise of Snapshot
206
+ */
207
+ waitForSnapshot = (request, options) => intervalRetrier.waitForResource(
208
+ options?.stop ?? ((res) => Promise.resolve(!content_gen.SNAPSHOT_TRANSIENT_STATUSES.includes(res.status))),
209
+ this.getSnapshot,
210
+ request,
211
+ options
212
+ );
213
+ /**
214
+ * Create a snapshot of a volume. To create a snapshot, the volume must be in
215
+ * the `in_use` or the `available` status. If your volume is in a transient
216
+ * state, you need to wait until the end of the current operation.
217
+ *
218
+ * @param request - The request {@link CreateSnapshotRequest}
219
+ * @returns A Promise of Snapshot
220
+ */
221
+ createSnapshot = (request) => this.client.fetch(
222
+ {
223
+ body: JSON.stringify(
224
+ marshalling_gen.marshalCreateSnapshotRequest(request, this.client.settings)
225
+ ),
226
+ headers: jsonContentHeaders,
227
+ method: "POST",
228
+ path: `/block/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/snapshots`
229
+ },
230
+ marshalling_gen.unmarshalSnapshot
231
+ );
232
+ /**
233
+ * Import a snapshot from a Scaleway Object Storage bucket. The bucket must
234
+ * contain a QCOW2 image. The bucket can be imported into any Availability
235
+ * Zone as long as it is in the same region as the bucket.
236
+ *
237
+ * @param request - The request {@link ImportSnapshotFromObjectStorageRequest}
238
+ * @returns A Promise of Snapshot
239
+ */
240
+ importSnapshotFromObjectStorage = (request) => this.client.fetch(
241
+ {
242
+ body: JSON.stringify(
243
+ marshalling_gen.marshalImportSnapshotFromObjectStorageRequest(
244
+ request,
245
+ this.client.settings
246
+ )
247
+ ),
248
+ headers: jsonContentHeaders,
249
+ method: "POST",
250
+ path: `/block/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/snapshots/import-from-object-storage`
251
+ },
252
+ marshalling_gen.unmarshalSnapshot
253
+ );
254
+ /**
255
+ * Export a snapshot to a Scaleway Object Storage bucket. The snapshot is
256
+ * exported in QCOW2 format. The snapshot must not be in transient state.
257
+ *
258
+ * @param request - The request {@link ExportSnapshotToObjectStorageRequest}
259
+ * @returns A Promise of Snapshot
260
+ */
261
+ exportSnapshotToObjectStorage = (request) => this.client.fetch(
262
+ {
263
+ body: JSON.stringify(
264
+ marshalling_gen.marshalExportSnapshotToObjectStorageRequest(
265
+ request,
266
+ this.client.settings
267
+ )
268
+ ),
269
+ headers: jsonContentHeaders,
270
+ method: "POST",
271
+ path: `/block/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/snapshots/${marshalling.validatePathParam("snapshotId", request.snapshotId)}/export-to-object-storage`
272
+ },
273
+ marshalling_gen.unmarshalSnapshot
274
+ );
275
+ /**
276
+ * Delete a snapshot. You must specify the `snapshot_id` of the snapshot you
277
+ * want to delete. The snapshot must not be in use.
278
+ *
279
+ * @param request - The request {@link DeleteSnapshotRequest}
280
+ */
281
+ deleteSnapshot = (request) => this.client.fetch({
282
+ method: "DELETE",
283
+ path: `/block/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/snapshots/${marshalling.validatePathParam("snapshotId", request.snapshotId)}`
284
+ });
285
+ /**
286
+ * Update a snapshot. Update the name or tags of the snapshot.
287
+ *
288
+ * @param request - The request {@link UpdateSnapshotRequest}
289
+ * @returns A Promise of Snapshot
290
+ */
291
+ updateSnapshot = (request) => this.client.fetch(
292
+ {
293
+ body: JSON.stringify(
294
+ marshalling_gen.marshalUpdateSnapshotRequest(request, this.client.settings)
295
+ ),
296
+ headers: jsonContentHeaders,
297
+ method: "PATCH",
298
+ path: `/block/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/snapshots/${marshalling.validatePathParam("snapshotId", request.snapshotId)}`
299
+ },
300
+ marshalling_gen.unmarshalSnapshot
301
+ );
302
+ }
303
+ exports.API = API;