@scaleway/sdk 2.55.0 → 2.57.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 (64) hide show
  1. package/dist/api/applesilicon/v1alpha1/content.gen.cjs +2 -1
  2. package/dist/api/applesilicon/v1alpha1/content.gen.js +2 -1
  3. package/dist/api/applesilicon/v1alpha1/types.gen.d.ts +1 -1
  4. package/dist/api/audit_trail/index.gen.cjs +4 -0
  5. package/dist/api/audit_trail/index.gen.d.ts +5 -0
  6. package/dist/api/audit_trail/index.gen.js +4 -0
  7. package/dist/api/audit_trail/v1alpha1/api.gen.cjs +59 -0
  8. package/dist/api/audit_trail/v1alpha1/api.gen.d.ts +30 -0
  9. package/dist/api/audit_trail/v1alpha1/api.gen.js +59 -0
  10. package/dist/api/audit_trail/v1alpha1/index.gen.cjs +6 -0
  11. package/dist/api/audit_trail/v1alpha1/index.gen.d.ts +3 -0
  12. package/dist/api/audit_trail/v1alpha1/index.gen.js +6 -0
  13. package/dist/api/audit_trail/v1alpha1/marshalling.gen.cjs +155 -0
  14. package/dist/api/audit_trail/v1alpha1/marshalling.gen.d.ts +5 -0
  15. package/dist/api/audit_trail/v1alpha1/marshalling.gen.js +155 -0
  16. package/dist/api/audit_trail/v1alpha1/types.gen.d.ts +142 -0
  17. package/dist/api/audit_trail/v1alpha1/validation-rules.gen.cjs +19 -0
  18. package/dist/api/audit_trail/v1alpha1/validation-rules.gen.d.ts +16 -0
  19. package/dist/api/audit_trail/v1alpha1/validation-rules.gen.js +19 -0
  20. package/dist/api/billing/v2beta1/types.gen.d.ts +1 -1
  21. package/dist/api/cockpit/v1/types.gen.d.ts +1 -1
  22. package/dist/api/edge_services/v1alpha1/types.gen.d.ts +5 -1
  23. package/dist/api/iam/v1alpha1/api.gen.cjs +14 -0
  24. package/dist/api/iam/v1alpha1/api.gen.d.ts +8 -1
  25. package/dist/api/iam/v1alpha1/api.gen.js +15 -1
  26. package/dist/api/iam/v1alpha1/index.gen.d.ts +1 -1
  27. package/dist/api/iam/v1alpha1/marshalling.gen.cjs +27 -0
  28. package/dist/api/iam/v1alpha1/marshalling.gen.d.ts +2 -1
  29. package/dist/api/iam/v1alpha1/marshalling.gen.js +27 -0
  30. package/dist/api/iam/v1alpha1/types.gen.d.ts +21 -0
  31. package/dist/api/index.gen.d.ts +2 -1
  32. package/dist/api/instance/v1/api.gen.cjs +43 -14
  33. package/dist/api/instance/v1/api.gen.d.ts +34 -15
  34. package/dist/api/instance/v1/api.gen.js +44 -15
  35. package/dist/api/instance/v1/index.gen.d.ts +1 -1
  36. package/dist/api/instance/v1/marshalling.gen.cjs +5 -1
  37. package/dist/api/instance/v1/marshalling.gen.d.ts +2 -1
  38. package/dist/api/instance/v1/marshalling.gen.js +5 -1
  39. package/dist/api/instance/v1/types.gen.d.ts +27 -15
  40. package/dist/api/ipam/v1/types.gen.d.ts +1 -1
  41. package/dist/api/jobs/v1alpha1/validation-rules.gen.cjs +6 -0
  42. package/dist/api/jobs/v1alpha1/validation-rules.gen.d.ts +6 -0
  43. package/dist/api/jobs/v1alpha1/validation-rules.gen.js +6 -0
  44. package/dist/api/k8s/v1/marshalling.gen.cjs +2 -1
  45. package/dist/api/k8s/v1/marshalling.gen.js +2 -1
  46. package/dist/api/k8s/v1/types.gen.d.ts +1 -0
  47. package/dist/api/mongodb/v1alpha1/api.gen.cjs +19 -0
  48. package/dist/api/mongodb/v1alpha1/api.gen.d.ts +10 -1
  49. package/dist/api/mongodb/v1alpha1/api.gen.js +20 -1
  50. package/dist/api/mongodb/v1alpha1/index.gen.d.ts +1 -1
  51. package/dist/api/mongodb/v1alpha1/marshalling.gen.cjs +10 -4
  52. package/dist/api/mongodb/v1alpha1/marshalling.gen.d.ts +3 -1
  53. package/dist/api/mongodb/v1alpha1/marshalling.gen.js +10 -4
  54. package/dist/api/mongodb/v1alpha1/types.gen.d.ts +17 -6
  55. package/dist/api/rdb/v1/types.gen.d.ts +15 -3
  56. package/dist/index.cjs +46 -44
  57. package/dist/index.js +46 -44
  58. package/dist/scw/client.cjs +4 -1
  59. package/dist/scw/client.d.ts +1 -2
  60. package/dist/scw/client.js +5 -2
  61. package/dist/scw/constants.cjs +1 -1
  62. package/dist/scw/constants.d.ts +2 -2
  63. package/dist/scw/constants.js +1 -1
  64. package/package.json +2 -2
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const ListEventsRequest = {
4
+ methodName: {
5
+ pattern: /^[a-zA-Z][a-zA-Z0-9_]*$/
6
+ },
7
+ pageSize: {
8
+ greaterThanOrEqual: 1,
9
+ lessThanOrEqual: 1e3
10
+ },
11
+ productName: {
12
+ pattern: /^[a-z]+(-[a-z]+)*$/
13
+ },
14
+ status: {
15
+ greaterThanOrEqual: 200,
16
+ lessThan: 600
17
+ }
18
+ };
19
+ exports.ListEventsRequest = ListEventsRequest;
@@ -0,0 +1,16 @@
1
+ export declare const ListEventsRequest: {
2
+ methodName: {
3
+ pattern: RegExp;
4
+ };
5
+ pageSize: {
6
+ greaterThanOrEqual: number;
7
+ lessThanOrEqual: number;
8
+ };
9
+ productName: {
10
+ pattern: RegExp;
11
+ };
12
+ status: {
13
+ greaterThanOrEqual: number;
14
+ lessThan: number;
15
+ };
16
+ };
@@ -0,0 +1,19 @@
1
+ const ListEventsRequest = {
2
+ methodName: {
3
+ pattern: /^[a-zA-Z][a-zA-Z0-9_]*$/
4
+ },
5
+ pageSize: {
6
+ greaterThanOrEqual: 1,
7
+ lessThanOrEqual: 1e3
8
+ },
9
+ productName: {
10
+ pattern: /^[a-z]+(-[a-z]+)*$/
11
+ },
12
+ status: {
13
+ greaterThanOrEqual: 200,
14
+ lessThan: 600
15
+ }
16
+ };
17
+ export {
18
+ ListEventsRequest
19
+ };
@@ -6,7 +6,7 @@ export type ExportInvoicesRequestFileType = 'csv';
6
6
  export type ExportInvoicesRequestOrderBy = 'invoice_number_desc' | 'invoice_number_asc' | 'start_date_desc' | 'start_date_asc' | 'issued_date_desc' | 'issued_date_asc' | 'due_date_desc' | 'due_date_asc' | 'total_untaxed_desc' | 'total_untaxed_asc' | 'total_taxed_desc' | 'total_taxed_asc' | 'invoice_type_desc' | 'invoice_type_asc';
7
7
  export type InvoiceType = 'unknown_type' | 'periodic' | 'purchase';
8
8
  export type ListConsumptionsRequestOrderBy = 'updated_at_desc' | 'updated_at_asc' | 'category_name_desc' | 'category_name_asc';
9
- export type ListDiscountsRequestOrderBy = 'creation_date_desc' | 'creation_date_asc';
9
+ export type ListDiscountsRequestOrderBy = 'creation_date_desc' | 'creation_date_asc' | 'start_date_desc' | 'start_date_asc' | 'stop_date_desc' | 'stop_date_asc';
10
10
  export type ListInvoicesRequestOrderBy = 'invoice_number_desc' | 'invoice_number_asc' | 'start_date_desc' | 'start_date_asc' | 'issued_date_desc' | 'issued_date_asc' | 'due_date_desc' | 'due_date_asc' | 'total_untaxed_desc' | 'total_untaxed_asc' | 'total_taxed_desc' | 'total_taxed_asc' | 'invoice_type_desc' | 'invoice_type_asc';
11
11
  export type ListTaxesRequestOrderBy = 'updated_at_desc' | 'updated_at_asc' | 'category_name_desc' | 'category_name_asc';
12
12
  export interface DiscountCoupon {
@@ -1,5 +1,5 @@
1
1
  import type { Region } from '../../../bridge';
2
- export type DataSourceOrigin = 'unknown_origin' | 'scaleway' | 'external';
2
+ export type DataSourceOrigin = 'unknown_origin' | 'scaleway' | 'external' | 'custom';
3
3
  export type DataSourceType = 'unknown_type' | 'metrics' | 'logs' | 'traces';
4
4
  export type GrafanaUserRole = 'unknown_role' | 'editor' | 'viewer';
5
5
  export type ListDataSourcesRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'name_asc' | 'name_desc' | 'type_asc' | 'type_desc';
@@ -423,7 +423,11 @@ export interface GetBillingResponse {
423
423
  * plan.
424
424
  */
425
425
  currentPlan?: PlanDetails;
426
- /** Price of the current subscription plan. */
426
+ /**
427
+ * Cost to date (this month) for Edge Service subscription plans. This
428
+ * comprises the pro-rata cost of the current subscription plan, and any
429
+ * previous subscription plans that were active earlier in the month.
430
+ */
427
431
  planCost?: Money;
428
432
  /** Total number of pipelines currently configured. */
429
433
  pipelineNumber: number;
@@ -244,6 +244,20 @@ class API extends api.API {
244
244
  },
245
245
  marshalling_gen.unmarshalUser
246
246
  );
247
+ /**
248
+ * List grace periods of a user. List the grace periods of a user.
249
+ *
250
+ * @param request - The request {@link ListGracePeriodsRequest}
251
+ * @returns A Promise of ListGracePeriodsResponse
252
+ */
253
+ listGracePeriods = (request = {}) => this.client.fetch(
254
+ {
255
+ method: "GET",
256
+ path: `/iam/v1alpha1/grace-periods`,
257
+ urlParams: marshalling.urlParams(["user_id", request.userId])
258
+ },
259
+ marshalling_gen.unmarshalListGracePeriodsResponse
260
+ );
247
261
  pageOfListApplications = (request = {}) => this.client.fetch(
248
262
  {
249
263
  method: "GET",
@@ -1,5 +1,5 @@
1
1
  import { API as ParentAPI } from '../../../bridge';
2
- import type { APIKey, AddGroupMemberRequest, AddGroupMembersRequest, Application, ClonePolicyRequest, CreateAPIKeyRequest, CreateApplicationRequest, CreateGroupRequest, CreateJWTRequest, CreatePolicyRequest, CreateSSHKeyRequest, CreateUserRequest, DeleteAPIKeyRequest, DeleteApplicationRequest, DeleteGroupRequest, DeleteJWTRequest, DeletePolicyRequest, DeleteSSHKeyRequest, DeleteUserRequest, EncodedJWT, GetAPIKeyRequest, GetApplicationRequest, GetGroupRequest, GetJWTRequest, GetLogRequest, GetPolicyRequest, GetQuotumRequest, GetSSHKeyRequest, GetUserRequest, Group, JWT, ListAPIKeysRequest, ListAPIKeysResponse, ListApplicationsRequest, ListApplicationsResponse, ListGroupsRequest, ListGroupsResponse, ListJWTsRequest, ListJWTsResponse, ListLogsRequest, ListLogsResponse, ListPermissionSetsRequest, ListPermissionSetsResponse, ListPoliciesRequest, ListPoliciesResponse, ListQuotaRequest, ListQuotaResponse, ListRulesRequest, ListRulesResponse, ListSSHKeysRequest, ListSSHKeysResponse, ListUsersRequest, ListUsersResponse, LockUserRequest, Log, Policy, Quotum, RemoveGroupMemberRequest, SSHKey, SetGroupMembersRequest, SetRulesRequest, SetRulesResponse, UnlockUserRequest, UpdateAPIKeyRequest, UpdateApplicationRequest, UpdateGroupRequest, UpdatePolicyRequest, UpdateSSHKeyRequest, UpdateUserPasswordRequest, UpdateUserRequest, User } from './types.gen';
2
+ import type { APIKey, AddGroupMemberRequest, AddGroupMembersRequest, Application, ClonePolicyRequest, CreateAPIKeyRequest, CreateApplicationRequest, CreateGroupRequest, CreateJWTRequest, CreatePolicyRequest, CreateSSHKeyRequest, CreateUserRequest, DeleteAPIKeyRequest, DeleteApplicationRequest, DeleteGroupRequest, DeleteJWTRequest, DeletePolicyRequest, DeleteSSHKeyRequest, DeleteUserRequest, EncodedJWT, GetAPIKeyRequest, GetApplicationRequest, GetGroupRequest, GetJWTRequest, GetLogRequest, GetPolicyRequest, GetQuotumRequest, GetSSHKeyRequest, GetUserRequest, Group, JWT, ListAPIKeysRequest, ListAPIKeysResponse, ListApplicationsRequest, ListApplicationsResponse, ListGracePeriodsRequest, ListGracePeriodsResponse, ListGroupsRequest, ListGroupsResponse, ListJWTsRequest, ListJWTsResponse, ListLogsRequest, ListLogsResponse, ListPermissionSetsRequest, ListPermissionSetsResponse, ListPoliciesRequest, ListPoliciesResponse, ListQuotaRequest, ListQuotaResponse, ListRulesRequest, ListRulesResponse, ListSSHKeysRequest, ListSSHKeysResponse, ListUsersRequest, ListUsersResponse, LockUserRequest, Log, Policy, Quotum, RemoveGroupMemberRequest, SSHKey, SetGroupMembersRequest, SetRulesRequest, SetRulesResponse, UnlockUserRequest, UpdateAPIKeyRequest, UpdateApplicationRequest, UpdateGroupRequest, UpdatePolicyRequest, UpdateSSHKeyRequest, UpdateUserPasswordRequest, UpdateUserRequest, User } from './types.gen';
3
3
  /**
4
4
  * IAM API.
5
5
  *
@@ -125,6 +125,13 @@ export declare class API extends ParentAPI {
125
125
  * @returns A Promise of User
126
126
  */
127
127
  unlockUser: (request: Readonly<UnlockUserRequest>) => Promise<User>;
128
+ /**
129
+ * List grace periods of a user. List the grace periods of a user.
130
+ *
131
+ * @param request - The request {@link ListGracePeriodsRequest}
132
+ * @returns A Promise of ListGracePeriodsResponse
133
+ */
134
+ listGracePeriods: (request?: Readonly<ListGracePeriodsRequest>) => Promise<ListGracePeriodsResponse>;
128
135
  protected pageOfListApplications: (request?: Readonly<ListApplicationsRequest>) => Promise<ListApplicationsResponse>;
129
136
  /**
130
137
  * List applications of an Organization. List the applications of an
@@ -2,7 +2,7 @@ import { API as API$1 } from "../../../scw/api.js";
2
2
  import { urlParams, validatePathParam, resolveOneOf } from "../../../helpers/marshalling.js";
3
3
  import "../../../vendor/base64/index.js";
4
4
  import { enrichForPagination } from "../../../scw/fetch/resource-paginator.js";
5
- import { unmarshalListSSHKeysResponse, marshalCreateSSHKeyRequest, unmarshalSSHKey, marshalUpdateSSHKeyRequest, unmarshalListUsersResponse, unmarshalUser, marshalUpdateUserRequest, marshalCreateUserRequest, marshalUpdateUserPasswordRequest, unmarshalListApplicationsResponse, marshalCreateApplicationRequest, unmarshalApplication, marshalUpdateApplicationRequest, unmarshalListGroupsResponse, marshalCreateGroupRequest, unmarshalGroup, marshalUpdateGroupRequest, marshalSetGroupMembersRequest, marshalAddGroupMemberRequest, marshalAddGroupMembersRequest, marshalRemoveGroupMemberRequest, unmarshalListPoliciesResponse, marshalCreatePolicyRequest, unmarshalPolicy, marshalUpdatePolicyRequest, marshalSetRulesRequest, unmarshalSetRulesResponse, unmarshalListRulesResponse, unmarshalListPermissionSetsResponse, unmarshalListAPIKeysResponse, marshalCreateAPIKeyRequest, unmarshalAPIKey, marshalUpdateAPIKeyRequest, unmarshalListQuotaResponse, unmarshalQuotum, unmarshalListJWTsResponse, marshalCreateJWTRequest, unmarshalEncodedJWT, unmarshalJWT, unmarshalListLogsResponse, unmarshalLog } from "./marshalling.gen.js";
5
+ import { unmarshalListSSHKeysResponse, marshalCreateSSHKeyRequest, unmarshalSSHKey, marshalUpdateSSHKeyRequest, unmarshalListUsersResponse, unmarshalUser, marshalUpdateUserRequest, marshalCreateUserRequest, marshalUpdateUserPasswordRequest, unmarshalListGracePeriodsResponse, unmarshalListApplicationsResponse, marshalCreateApplicationRequest, unmarshalApplication, marshalUpdateApplicationRequest, unmarshalListGroupsResponse, marshalCreateGroupRequest, unmarshalGroup, marshalUpdateGroupRequest, marshalSetGroupMembersRequest, marshalAddGroupMemberRequest, marshalAddGroupMembersRequest, marshalRemoveGroupMemberRequest, unmarshalListPoliciesResponse, marshalCreatePolicyRequest, unmarshalPolicy, marshalUpdatePolicyRequest, marshalSetRulesRequest, unmarshalSetRulesResponse, unmarshalListRulesResponse, unmarshalListPermissionSetsResponse, unmarshalListAPIKeysResponse, marshalCreateAPIKeyRequest, unmarshalAPIKey, marshalUpdateAPIKeyRequest, unmarshalListQuotaResponse, unmarshalQuotum, unmarshalListJWTsResponse, marshalCreateJWTRequest, unmarshalEncodedJWT, unmarshalJWT, unmarshalListLogsResponse, unmarshalLog } from "./marshalling.gen.js";
6
6
  const jsonContentHeaders = {
7
7
  "Content-Type": "application/json; charset=utf-8"
8
8
  };
@@ -242,6 +242,20 @@ class API extends API$1 {
242
242
  },
243
243
  unmarshalUser
244
244
  );
245
+ /**
246
+ * List grace periods of a user. List the grace periods of a user.
247
+ *
248
+ * @param request - The request {@link ListGracePeriodsRequest}
249
+ * @returns A Promise of ListGracePeriodsResponse
250
+ */
251
+ listGracePeriods = (request = {}) => this.client.fetch(
252
+ {
253
+ method: "GET",
254
+ path: `/iam/v1alpha1/grace-periods`,
255
+ urlParams: urlParams(["user_id", request.userId])
256
+ },
257
+ unmarshalListGracePeriodsResponse
258
+ );
245
259
  pageOfListApplications = (request = {}) => this.client.fetch(
246
260
  {
247
261
  method: "GET",
@@ -1,3 +1,3 @@
1
1
  export { API } from './api.gen';
2
- export type { APIKey, AddGroupMemberRequest, AddGroupMembersRequest, Application, BearerType, ClonePolicyRequest, CreateAPIKeyRequest, CreateApplicationRequest, CreateGroupRequest, CreateJWTRequest, CreatePolicyRequest, CreateSSHKeyRequest, CreateUserRequest, CreateUserRequestMember, DeleteAPIKeyRequest, DeleteApplicationRequest, DeleteGroupRequest, DeleteJWTRequest, DeletePolicyRequest, DeleteSSHKeyRequest, DeleteUserRequest, EncodedJWT, GetAPIKeyRequest, GetApplicationRequest, GetGroupRequest, GetJWTRequest, GetLogRequest, GetPolicyRequest, GetQuotumRequest, GetSSHKeyRequest, GetUserRequest, Group, JWT, ListAPIKeysRequest, ListAPIKeysRequestOrderBy, ListAPIKeysResponse, ListApplicationsRequest, ListApplicationsRequestOrderBy, ListApplicationsResponse, ListGroupsRequest, ListGroupsRequestOrderBy, ListGroupsResponse, ListJWTsRequest, ListJWTsRequestOrderBy, ListJWTsResponse, ListLogsRequest, ListLogsRequestOrderBy, ListLogsResponse, ListPermissionSetsRequest, ListPermissionSetsRequestOrderBy, ListPermissionSetsResponse, ListPoliciesRequest, ListPoliciesRequestOrderBy, ListPoliciesResponse, ListQuotaRequest, ListQuotaRequestOrderBy, ListQuotaResponse, ListRulesRequest, ListRulesResponse, ListSSHKeysRequest, ListSSHKeysRequestOrderBy, ListSSHKeysResponse, ListUsersRequest, ListUsersRequestOrderBy, ListUsersResponse, LockUserRequest, Log, LogAction, LogResourceType, PermissionSet, PermissionSetScopeType, Policy, Quotum, RemoveGroupMemberRequest, Rule, RuleSpecs, SSHKey, SetGroupMembersRequest, SetRulesRequest, SetRulesResponse, UnlockUserRequest, UpdateAPIKeyRequest, UpdateApplicationRequest, UpdateGroupRequest, UpdatePolicyRequest, UpdateSSHKeyRequest, UpdateUserPasswordRequest, UpdateUserRequest, User, UserStatus, UserType, } from './types.gen';
2
+ export type { APIKey, AddGroupMemberRequest, AddGroupMembersRequest, Application, BearerType, ClonePolicyRequest, CreateAPIKeyRequest, CreateApplicationRequest, CreateGroupRequest, CreateJWTRequest, CreatePolicyRequest, CreateSSHKeyRequest, CreateUserRequest, CreateUserRequestMember, DeleteAPIKeyRequest, DeleteApplicationRequest, DeleteGroupRequest, DeleteJWTRequest, DeletePolicyRequest, DeleteSSHKeyRequest, DeleteUserRequest, EncodedJWT, GetAPIKeyRequest, GetApplicationRequest, GetGroupRequest, GetJWTRequest, GetLogRequest, GetPolicyRequest, GetQuotumRequest, GetSSHKeyRequest, GetUserRequest, GracePeriod, GracePeriodType, Group, JWT, ListAPIKeysRequest, ListAPIKeysRequestOrderBy, ListAPIKeysResponse, ListApplicationsRequest, ListApplicationsRequestOrderBy, ListApplicationsResponse, ListGracePeriodsRequest, ListGracePeriodsResponse, ListGroupsRequest, ListGroupsRequestOrderBy, ListGroupsResponse, ListJWTsRequest, ListJWTsRequestOrderBy, ListJWTsResponse, ListLogsRequest, ListLogsRequestOrderBy, ListLogsResponse, ListPermissionSetsRequest, ListPermissionSetsRequestOrderBy, ListPermissionSetsResponse, ListPoliciesRequest, ListPoliciesRequestOrderBy, ListPoliciesResponse, ListQuotaRequest, ListQuotaRequestOrderBy, ListQuotaResponse, ListRulesRequest, ListRulesResponse, ListSSHKeysRequest, ListSSHKeysRequestOrderBy, ListSSHKeysResponse, ListUsersRequest, ListUsersRequestOrderBy, ListUsersResponse, LockUserRequest, Log, LogAction, LogResourceType, PermissionSet, PermissionSetScopeType, Policy, Quotum, RemoveGroupMemberRequest, Rule, RuleSpecs, SSHKey, SetGroupMembersRequest, SetRulesRequest, SetRulesResponse, UnlockUserRequest, UpdateAPIKeyRequest, UpdateApplicationRequest, UpdateGroupRequest, UpdatePolicyRequest, UpdateSSHKeyRequest, UpdateUserPasswordRequest, UpdateUserRequest, User, UserStatus, UserType, } from './types.gen';
3
3
  export * as ValidationRules from './validation-rules.gen';
@@ -222,6 +222,31 @@ const unmarshalListApplicationsResponse = (data) => {
222
222
  totalCount: data.total_count
223
223
  };
224
224
  };
225
+ const unmarshalGracePeriod = (data) => {
226
+ if (!json.isJSONObject(data)) {
227
+ throw new TypeError(
228
+ `Unmarshalling the type 'GracePeriod' failed as data isn't a dictionary.`
229
+ );
230
+ }
231
+ return {
232
+ createdAt: marshalling.unmarshalDate(data.created_at),
233
+ expiresAt: marshalling.unmarshalDate(data.expires_at),
234
+ type: data.type
235
+ };
236
+ };
237
+ const unmarshalListGracePeriodsResponse = (data) => {
238
+ if (!json.isJSONObject(data)) {
239
+ throw new TypeError(
240
+ `Unmarshalling the type 'ListGracePeriodsResponse' failed as data isn't a dictionary.`
241
+ );
242
+ }
243
+ return {
244
+ gracePeriods: marshalling.unmarshalArrayOfObject(
245
+ data.grace_periods,
246
+ unmarshalGracePeriod
247
+ )
248
+ };
249
+ };
225
250
  const unmarshalListGroupsResponse = (data) => {
226
251
  if (!json.isJSONObject(data)) {
227
252
  throw new TypeError(
@@ -491,6 +516,7 @@ const marshalUpdateUserPasswordRequest = (request, defaults) => ({
491
516
  send_email: request.sendEmail
492
517
  });
493
518
  const marshalUpdateUserRequest = (request, defaults) => ({
519
+ email: request.email,
494
520
  tags: request.tags
495
521
  });
496
522
  exports.marshalAddGroupMemberRequest = marshalAddGroupMemberRequest;
@@ -519,6 +545,7 @@ exports.unmarshalGroup = unmarshalGroup;
519
545
  exports.unmarshalJWT = unmarshalJWT;
520
546
  exports.unmarshalListAPIKeysResponse = unmarshalListAPIKeysResponse;
521
547
  exports.unmarshalListApplicationsResponse = unmarshalListApplicationsResponse;
548
+ exports.unmarshalListGracePeriodsResponse = unmarshalListGracePeriodsResponse;
522
549
  exports.unmarshalListGroupsResponse = unmarshalListGroupsResponse;
523
550
  exports.unmarshalListJWTsResponse = unmarshalListJWTsResponse;
524
551
  exports.unmarshalListLogsResponse = unmarshalListLogsResponse;
@@ -1,5 +1,5 @@
1
1
  import type { DefaultValues } from '../../../bridge';
2
- import type { APIKey, AddGroupMemberRequest, AddGroupMembersRequest, Application, CreateAPIKeyRequest, CreateApplicationRequest, CreateGroupRequest, CreateJWTRequest, CreatePolicyRequest, CreateSSHKeyRequest, CreateUserRequest, EncodedJWT, Group, JWT, ListAPIKeysResponse, ListApplicationsResponse, ListGroupsResponse, ListJWTsResponse, ListLogsResponse, ListPermissionSetsResponse, ListPoliciesResponse, ListQuotaResponse, ListRulesResponse, ListSSHKeysResponse, ListUsersResponse, Log, Policy, Quotum, RemoveGroupMemberRequest, SSHKey, SetGroupMembersRequest, SetRulesRequest, SetRulesResponse, UpdateAPIKeyRequest, UpdateApplicationRequest, UpdateGroupRequest, UpdatePolicyRequest, UpdateSSHKeyRequest, UpdateUserPasswordRequest, UpdateUserRequest, User } from './types.gen';
2
+ import type { APIKey, AddGroupMemberRequest, AddGroupMembersRequest, Application, CreateAPIKeyRequest, CreateApplicationRequest, CreateGroupRequest, CreateJWTRequest, CreatePolicyRequest, CreateSSHKeyRequest, CreateUserRequest, EncodedJWT, Group, JWT, ListAPIKeysResponse, ListApplicationsResponse, ListGracePeriodsResponse, ListGroupsResponse, ListJWTsResponse, ListLogsResponse, ListPermissionSetsResponse, ListPoliciesResponse, ListQuotaResponse, ListRulesResponse, ListSSHKeysResponse, ListUsersResponse, Log, Policy, Quotum, RemoveGroupMemberRequest, SSHKey, SetGroupMembersRequest, SetRulesRequest, SetRulesResponse, UpdateAPIKeyRequest, UpdateApplicationRequest, UpdateGroupRequest, UpdatePolicyRequest, UpdateSSHKeyRequest, UpdateUserPasswordRequest, UpdateUserRequest, User } from './types.gen';
3
3
  export declare const unmarshalJWT: (data: unknown) => JWT;
4
4
  export declare const unmarshalAPIKey: (data: unknown) => APIKey;
5
5
  export declare const unmarshalApplication: (data: unknown) => Application;
@@ -12,6 +12,7 @@ export declare const unmarshalUser: (data: unknown) => User;
12
12
  export declare const unmarshalEncodedJWT: (data: unknown) => EncodedJWT;
13
13
  export declare const unmarshalListAPIKeysResponse: (data: unknown) => ListAPIKeysResponse;
14
14
  export declare const unmarshalListApplicationsResponse: (data: unknown) => ListApplicationsResponse;
15
+ export declare const unmarshalListGracePeriodsResponse: (data: unknown) => ListGracePeriodsResponse;
15
16
  export declare const unmarshalListGroupsResponse: (data: unknown) => ListGroupsResponse;
16
17
  export declare const unmarshalListJWTsResponse: (data: unknown) => ListJWTsResponse;
17
18
  export declare const unmarshalListLogsResponse: (data: unknown) => ListLogsResponse;
@@ -220,6 +220,31 @@ const unmarshalListApplicationsResponse = (data) => {
220
220
  totalCount: data.total_count
221
221
  };
222
222
  };
223
+ const unmarshalGracePeriod = (data) => {
224
+ if (!isJSONObject(data)) {
225
+ throw new TypeError(
226
+ `Unmarshalling the type 'GracePeriod' failed as data isn't a dictionary.`
227
+ );
228
+ }
229
+ return {
230
+ createdAt: unmarshalDate(data.created_at),
231
+ expiresAt: unmarshalDate(data.expires_at),
232
+ type: data.type
233
+ };
234
+ };
235
+ const unmarshalListGracePeriodsResponse = (data) => {
236
+ if (!isJSONObject(data)) {
237
+ throw new TypeError(
238
+ `Unmarshalling the type 'ListGracePeriodsResponse' failed as data isn't a dictionary.`
239
+ );
240
+ }
241
+ return {
242
+ gracePeriods: unmarshalArrayOfObject(
243
+ data.grace_periods,
244
+ unmarshalGracePeriod
245
+ )
246
+ };
247
+ };
223
248
  const unmarshalListGroupsResponse = (data) => {
224
249
  if (!isJSONObject(data)) {
225
250
  throw new TypeError(
@@ -489,6 +514,7 @@ const marshalUpdateUserPasswordRequest = (request, defaults) => ({
489
514
  send_email: request.sendEmail
490
515
  });
491
516
  const marshalUpdateUserRequest = (request, defaults) => ({
517
+ email: request.email,
492
518
  tags: request.tags
493
519
  });
494
520
  export {
@@ -518,6 +544,7 @@ export {
518
544
  unmarshalJWT,
519
545
  unmarshalListAPIKeysResponse,
520
546
  unmarshalListApplicationsResponse,
547
+ unmarshalListGracePeriodsResponse,
521
548
  unmarshalListGroupsResponse,
522
549
  unmarshalListJWTsResponse,
523
550
  unmarshalListLogsResponse,
@@ -1,4 +1,5 @@
1
1
  export type BearerType = 'unknown_bearer_type' | 'user' | 'application';
2
+ export type GracePeriodType = 'unknown_grace_period_type' | 'update_password' | 'set_mfa';
2
3
  export type ListAPIKeysRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'updated_at_asc' | 'updated_at_desc' | 'expires_at_asc' | 'expires_at_desc' | 'access_key_asc' | 'access_key_desc';
3
4
  export type ListApplicationsRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'updated_at_asc' | 'updated_at_desc' | 'name_asc' | 'name_desc';
4
5
  export type ListGroupsRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'updated_at_asc' | 'updated_at_desc' | 'name_asc' | 'name_desc';
@@ -127,6 +128,14 @@ export interface Application {
127
128
  /** Tags associated with the user. */
128
129
  tags: string[];
129
130
  }
131
+ export interface GracePeriod {
132
+ /** Type of grace period. */
133
+ type: GracePeriodType;
134
+ /** Date and time the grace period was created. */
135
+ createdAt?: Date;
136
+ /** Date and time the grace period expires. */
137
+ expiresAt?: Date;
138
+ }
130
139
  export interface Group {
131
140
  /** ID of the group. */
132
141
  id: string;
@@ -630,6 +639,14 @@ export interface ListApplicationsResponse {
630
639
  /** Total count of applications. */
631
640
  totalCount: number;
632
641
  }
642
+ export type ListGracePeriodsRequest = {
643
+ /** ID of the user to list grace periods for. */
644
+ userId?: string;
645
+ };
646
+ export interface ListGracePeriodsResponse {
647
+ /** List of grace periods. */
648
+ gracePeriods: GracePeriod[];
649
+ }
633
650
  export type ListGroupsRequest = {
634
651
  /** Sort order of groups. */
635
652
  orderBy?: ListGroupsRequestOrderBy;
@@ -823,6 +840,7 @@ export interface ListUsersResponse {
823
840
  totalCount: number;
824
841
  }
825
842
  export type LockUserRequest = {
843
+ /** ID of the user to lock. */
826
844
  userId: string;
827
845
  };
828
846
  export type RemoveGroupMemberRequest = {
@@ -857,6 +875,7 @@ export interface SetRulesResponse {
857
875
  rules: Rule[];
858
876
  }
859
877
  export type UnlockUserRequest = {
878
+ /** ID of the user to unlock. */
860
879
  userId: string;
861
880
  };
862
881
  export type UpdateAPIKeyRequest = {
@@ -951,4 +970,6 @@ export type UpdateUserRequest = {
951
970
  userId: string;
952
971
  /** New tags for the user (maximum of 10 tags). */
953
972
  tags?: string[];
973
+ /** New email for the user (only available on Members). */
974
+ email?: string;
954
975
  };
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import * as Account from './account/index.gen';
6
6
  import * as Applesilicon from './applesilicon/index.gen';
7
+ import * as AuditTrail from './audit_trail/index.gen';
7
8
  import * as Baremetal from './baremetal/index.gen';
8
9
  import * as Billing from './billing/index.gen';
9
10
  import * as Block from './block/index.gen';
@@ -41,4 +42,4 @@ import * as Test from './test/index.gen';
41
42
  import * as Vpc from './vpc/index.gen';
42
43
  import * as Vpcgw from './vpcgw/index.gen';
43
44
  import * as Webhosting from './webhosting/index.gen';
44
- export { Account, Applesilicon, Baremetal, Billing, Block, Cockpit, Container, Dedibox, DocumentDb, Domain, EdgeServices, Flexibleip, Function, Iam, Inference, Instance, Iot, Ipam, Ipfs, Jobs, K8s, KeyManager, Lb, LlmInference, Marketplace, Mnq, Mongodb, Qaas, Rdb, Redis, Registry, Secret, ServerlessSqldb, Std, Tem, Test, Vpc, Vpcgw, Webhosting, };
45
+ export { Account, Applesilicon, AuditTrail, Baremetal, Billing, Block, Cockpit, Container, Dedibox, DocumentDb, Domain, EdgeServices, Flexibleip, Function, Iam, Inference, Instance, Iot, Ipam, Ipfs, Jobs, K8s, KeyManager, Lb, LlmInference, Marketplace, Mnq, Mongodb, Qaas, Rdb, Redis, Registry, Secret, ServerlessSqldb, Std, Tem, Test, Vpc, Vpcgw, Webhosting, };
@@ -194,10 +194,17 @@ class API extends api.API {
194
194
  * for SBS volumes. `enable_routed_ip`: Migrate the Instance to the new
195
195
  * network stack.
196
196
  *
197
- * Keep in mind that `terminate` an Instance will result in the deletion of
198
- * `l_ssd`, `b_ssd` and `scratch` volumes types, `sbs_volume` volumes type
199
- * will only be detached. If you want to preserve your volumes, you should
200
- * detach them before the Instance deletion or `terminate` action.
197
+ * The `terminate` action will result in the deletion of `l_ssd`, `b_ssd` and
198
+ * `scratch` volumes types, `sbs_volume` volumes type will only be detached.
199
+ * If you want to preserve your volumes, you should detach them before the
200
+ * Instance deletion or `terminate` action.
201
+ *
202
+ * The `backup` action can be done with: No `volumes` key in the body: an
203
+ * image is created with snapshots of all the server volumes, except for the
204
+ * `scratch` volumes types. `volumes` key in the body with a dictionary as
205
+ * value, in this dictionary volumes UUID as keys and empty dictionaries as
206
+ * values : an image is created with the snapshots of the volumes in `volumes`
207
+ * key. `scratch` volumes types can't be shapshotted.
201
208
  *
202
209
  * @param request - The request {@link ServerActionRequest}
203
210
  * @returns A Promise of ServerActionResponse
@@ -1099,13 +1106,22 @@ class API extends api.API {
1099
1106
  );
1100
1107
  /**
1101
1108
  * Get a volume or snapshot's migration plan. Given a volume or snapshot,
1102
- * returns the migration plan for a call to the "Apply a migration plan"
1103
- * endpoint. This plan will include zero or one volume, and zero or more
1104
- * snapshots, which will need to be migrated together. This endpoint does not
1105
- * perform the actual migration itself, the "Apply a migration plan" endpoint
1106
- * must be used. The validation_key value returned by this endpoint must be
1107
- * provided to the call to the "Apply a migration plan" endpoint to confirm
1108
- * that all resources listed in the plan should be migrated.
1109
+ * returns the migration plan but does not perform the actual migration. To
1110
+ * perform the migration, you have to call the [Migrate a volume and/or
1111
+ * snapshots to
1112
+ * SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage)
1113
+ * endpoint afterward. The endpoint returns the resources that should be
1114
+ * migrated together:
1115
+ *
1116
+ * - The volume and any snapshots created from the volume, if the call was made
1117
+ * to plan a volume migration.
1118
+ * - The base volume of the snapshot (if the volume is not deleted) and its
1119
+ * related snapshots, if the call was made to plan a snapshot migration. The
1120
+ * endpoint also returns the validation_key, which must be provided to the
1121
+ * [Migrate a volume and/or snapshots to
1122
+ * SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage)
1123
+ * endpoint to confirm that all resources listed in the plan should be
1124
+ * migrated.
1109
1125
  *
1110
1126
  * @param request - The request {@link PlanBlockMigrationRequest}
1111
1127
  * @returns A Promise of MigrationPlan
@@ -1123,9 +1139,11 @@ class API extends api.API {
1123
1139
  );
1124
1140
  /**
1125
1141
  * Migrate a volume and/or snapshots to SBS (Scaleway Block Storage). To be
1126
- * used, the call to this endpoint must be preceded by a call to the "Plan a
1127
- * migration" endpoint. To migrate all resources mentioned in the migration
1128
- * plan, the validation_key returned in the plan must be provided.
1142
+ * used, the call to this endpoint must be preceded by a call to the [Get a
1143
+ * volume or snapshot's migration
1144
+ * plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) endpoint. To
1145
+ * migrate all resources mentioned in the migration plan, the validation_key
1146
+ * returned in the plan must be provided.
1129
1147
  *
1130
1148
  * @param request - The request {@link ApplyBlockMigrationRequest}
1131
1149
  */
@@ -1137,5 +1155,16 @@ class API extends api.API {
1137
1155
  method: "POST",
1138
1156
  path: `/instance/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/block-migration/apply`
1139
1157
  });
1158
+ checkBlockMigrationOrganizationQuotas = (request = {}) => this.client.fetch({
1159
+ body: JSON.stringify(
1160
+ marshalling_gen.marshalCheckBlockMigrationOrganizationQuotasRequest(
1161
+ request,
1162
+ this.client.settings
1163
+ )
1164
+ ),
1165
+ headers: jsonContentHeaders,
1166
+ method: "POST",
1167
+ path: `/instance/v1/zones/${marshalling.validatePathParam("zone", request.zone ?? this.client.settings.defaultZone)}/block-migration/check-organization-quotas`
1168
+ });
1140
1169
  }
1141
1170
  exports.API = API;
@@ -1,6 +1,6 @@
1
1
  import { API as ParentAPI } from '../../../bridge';
2
2
  import type { Zone } from '../../../bridge';
3
- import type { ApplyBlockMigrationRequest, AttachServerVolumeRequest, AttachServerVolumeResponse, CreateImageRequest, CreateImageResponse, CreateIpRequest, CreateIpResponse, CreatePlacementGroupRequest, CreatePlacementGroupResponse, CreatePrivateNICRequest, CreatePrivateNICResponse, CreateSecurityGroupRequest, CreateSecurityGroupResponse, CreateSecurityGroupRuleRequest, CreateSecurityGroupRuleResponse, CreateServerRequest, CreateServerResponse, CreateSnapshotRequest, CreateSnapshotResponse, CreateVolumeRequest, CreateVolumeResponse, DeleteImageRequest, DeleteIpRequest, DeletePlacementGroupRequest, DeletePrivateNICRequest, DeleteSecurityGroupRequest, DeleteSecurityGroupRuleRequest, DeleteServerRequest, DeleteServerUserDataRequest, DeleteSnapshotRequest, DeleteVolumeRequest, DetachServerVolumeRequest, DetachServerVolumeResponse, ExportSnapshotRequest, ExportSnapshotResponse, GetDashboardRequest, GetDashboardResponse, GetImageRequest, GetImageResponse, GetIpRequest, GetIpResponse, GetPlacementGroupRequest, GetPlacementGroupResponse, GetPlacementGroupServersRequest, GetPlacementGroupServersResponse, GetPrivateNICRequest, GetPrivateNICResponse, GetSecurityGroupRequest, GetSecurityGroupResponse, GetSecurityGroupRuleRequest, GetSecurityGroupRuleResponse, GetServerRequest, GetServerResponse, GetServerTypesAvailabilityRequest, GetServerTypesAvailabilityResponse, GetSnapshotRequest, GetSnapshotResponse, GetVolumeRequest, GetVolumeResponse, ListDefaultSecurityGroupRulesRequest, ListImagesRequest, ListImagesResponse, ListIpsRequest, ListIpsResponse, ListPlacementGroupsRequest, ListPlacementGroupsResponse, ListPrivateNICsRequest, ListPrivateNICsResponse, ListSecurityGroupRulesRequest, ListSecurityGroupRulesResponse, ListSecurityGroupsRequest, ListSecurityGroupsResponse, ListServerActionsRequest, ListServerActionsResponse, ListServerUserDataRequest, ListServerUserDataResponse, ListServersRequest, ListServersResponse, ListServersTypesRequest, ListServersTypesResponse, ListSnapshotsRequest, ListSnapshotsResponse, ListVolumesRequest, ListVolumesResponse, ListVolumesTypesRequest, ListVolumesTypesResponse, MigrationPlan, PlanBlockMigrationRequest, PrivateNIC, ServerActionRequest, ServerActionResponse, SetImageRequest, SetPlacementGroupRequest, SetPlacementGroupResponse, SetPlacementGroupServersRequest, SetPlacementGroupServersResponse, SetSecurityGroupRulesRequest, SetSecurityGroupRulesResponse, UpdateImageRequest, UpdateImageResponse, UpdateIpRequest, UpdateIpResponse, UpdatePlacementGroupRequest, UpdatePlacementGroupResponse, UpdatePlacementGroupServersRequest, UpdatePlacementGroupServersResponse, UpdatePrivateNICRequest, UpdateSecurityGroupRequest, UpdateSecurityGroupResponse, UpdateSecurityGroupRuleRequest, UpdateSecurityGroupRuleResponse, UpdateServerRequest, UpdateServerResponse, UpdateSnapshotRequest, UpdateSnapshotResponse, UpdateVolumeRequest, UpdateVolumeResponse } from './types.gen';
3
+ import type { ApplyBlockMigrationRequest, AttachServerVolumeRequest, AttachServerVolumeResponse, CheckBlockMigrationOrganizationQuotasRequest, CreateImageRequest, CreateImageResponse, CreateIpRequest, CreateIpResponse, CreatePlacementGroupRequest, CreatePlacementGroupResponse, CreatePrivateNICRequest, CreatePrivateNICResponse, CreateSecurityGroupRequest, CreateSecurityGroupResponse, CreateSecurityGroupRuleRequest, CreateSecurityGroupRuleResponse, CreateServerRequest, CreateServerResponse, CreateSnapshotRequest, CreateSnapshotResponse, CreateVolumeRequest, CreateVolumeResponse, DeleteImageRequest, DeleteIpRequest, DeletePlacementGroupRequest, DeletePrivateNICRequest, DeleteSecurityGroupRequest, DeleteSecurityGroupRuleRequest, DeleteServerRequest, DeleteServerUserDataRequest, DeleteSnapshotRequest, DeleteVolumeRequest, DetachServerVolumeRequest, DetachServerVolumeResponse, ExportSnapshotRequest, ExportSnapshotResponse, GetDashboardRequest, GetDashboardResponse, GetImageRequest, GetImageResponse, GetIpRequest, GetIpResponse, GetPlacementGroupRequest, GetPlacementGroupResponse, GetPlacementGroupServersRequest, GetPlacementGroupServersResponse, GetPrivateNICRequest, GetPrivateNICResponse, GetSecurityGroupRequest, GetSecurityGroupResponse, GetSecurityGroupRuleRequest, GetSecurityGroupRuleResponse, GetServerRequest, GetServerResponse, GetServerTypesAvailabilityRequest, GetServerTypesAvailabilityResponse, GetSnapshotRequest, GetSnapshotResponse, GetVolumeRequest, GetVolumeResponse, ListDefaultSecurityGroupRulesRequest, ListImagesRequest, ListImagesResponse, ListIpsRequest, ListIpsResponse, ListPlacementGroupsRequest, ListPlacementGroupsResponse, ListPrivateNICsRequest, ListPrivateNICsResponse, ListSecurityGroupRulesRequest, ListSecurityGroupRulesResponse, ListSecurityGroupsRequest, ListSecurityGroupsResponse, ListServerActionsRequest, ListServerActionsResponse, ListServerUserDataRequest, ListServerUserDataResponse, ListServersRequest, ListServersResponse, ListServersTypesRequest, ListServersTypesResponse, ListSnapshotsRequest, ListSnapshotsResponse, ListVolumesRequest, ListVolumesResponse, ListVolumesTypesRequest, ListVolumesTypesResponse, MigrationPlan, PlanBlockMigrationRequest, PrivateNIC, ServerActionRequest, ServerActionResponse, SetImageRequest, SetPlacementGroupRequest, SetPlacementGroupResponse, SetPlacementGroupServersRequest, SetPlacementGroupServersResponse, SetSecurityGroupRulesRequest, SetSecurityGroupRulesResponse, UpdateImageRequest, UpdateImageResponse, UpdateIpRequest, UpdateIpResponse, UpdatePlacementGroupRequest, UpdatePlacementGroupResponse, UpdatePlacementGroupServersRequest, UpdatePlacementGroupServersResponse, UpdatePrivateNICRequest, UpdateSecurityGroupRequest, UpdateSecurityGroupResponse, UpdateSecurityGroupRuleRequest, UpdateSecurityGroupRuleResponse, UpdateServerRequest, UpdateServerResponse, UpdateSnapshotRequest, UpdateSnapshotResponse, UpdateVolumeRequest, UpdateVolumeResponse } from './types.gen';
4
4
  import type { SetImageResponse, SetSecurityGroupRequest, SetSecurityGroupResponse, SetSecurityGroupRuleRequest, SetSecurityGroupRuleResponse, SetServerRequest, SetServerResponse, SetSnapshotRequest, SetSnapshotResponse } from './types.private.gen';
5
5
  /**
6
6
  * Instance API.
@@ -78,10 +78,17 @@ export declare class API extends ParentAPI {
78
78
  * for SBS volumes. `enable_routed_ip`: Migrate the Instance to the new
79
79
  * network stack.
80
80
  *
81
- * Keep in mind that `terminate` an Instance will result in the deletion of
82
- * `l_ssd`, `b_ssd` and `scratch` volumes types, `sbs_volume` volumes type
83
- * will only be detached. If you want to preserve your volumes, you should
84
- * detach them before the Instance deletion or `terminate` action.
81
+ * The `terminate` action will result in the deletion of `l_ssd`, `b_ssd` and
82
+ * `scratch` volumes types, `sbs_volume` volumes type will only be detached.
83
+ * If you want to preserve your volumes, you should detach them before the
84
+ * Instance deletion or `terminate` action.
85
+ *
86
+ * The `backup` action can be done with: No `volumes` key in the body: an
87
+ * image is created with snapshots of all the server volumes, except for the
88
+ * `scratch` volumes types. `volumes` key in the body with a dictionary as
89
+ * value, in this dictionary volumes UUID as keys and empty dictionaries as
90
+ * values : an image is created with the snapshots of the volumes in `volumes`
91
+ * key. `scratch` volumes types can't be shapshotted.
85
92
  *
86
93
  * @param request - The request {@link ServerActionRequest}
87
94
  * @returns A Promise of ServerActionResponse
@@ -487,13 +494,22 @@ export declare class API extends ParentAPI {
487
494
  getDashboard: (request?: Readonly<GetDashboardRequest>) => Promise<GetDashboardResponse>;
488
495
  /**
489
496
  * Get a volume or snapshot's migration plan. Given a volume or snapshot,
490
- * returns the migration plan for a call to the "Apply a migration plan"
491
- * endpoint. This plan will include zero or one volume, and zero or more
492
- * snapshots, which will need to be migrated together. This endpoint does not
493
- * perform the actual migration itself, the "Apply a migration plan" endpoint
494
- * must be used. The validation_key value returned by this endpoint must be
495
- * provided to the call to the "Apply a migration plan" endpoint to confirm
496
- * that all resources listed in the plan should be migrated.
497
+ * returns the migration plan but does not perform the actual migration. To
498
+ * perform the migration, you have to call the [Migrate a volume and/or
499
+ * snapshots to
500
+ * SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage)
501
+ * endpoint afterward. The endpoint returns the resources that should be
502
+ * migrated together:
503
+ *
504
+ * - The volume and any snapshots created from the volume, if the call was made
505
+ * to plan a volume migration.
506
+ * - The base volume of the snapshot (if the volume is not deleted) and its
507
+ * related snapshots, if the call was made to plan a snapshot migration. The
508
+ * endpoint also returns the validation_key, which must be provided to the
509
+ * [Migrate a volume and/or snapshots to
510
+ * SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage)
511
+ * endpoint to confirm that all resources listed in the plan should be
512
+ * migrated.
497
513
  *
498
514
  * @param request - The request {@link PlanBlockMigrationRequest}
499
515
  * @returns A Promise of MigrationPlan
@@ -501,11 +517,14 @@ export declare class API extends ParentAPI {
501
517
  planBlockMigration: (request?: Readonly<PlanBlockMigrationRequest>) => Promise<MigrationPlan>;
502
518
  /**
503
519
  * Migrate a volume and/or snapshots to SBS (Scaleway Block Storage). To be
504
- * used, the call to this endpoint must be preceded by a call to the "Plan a
505
- * migration" endpoint. To migrate all resources mentioned in the migration
506
- * plan, the validation_key returned in the plan must be provided.
520
+ * used, the call to this endpoint must be preceded by a call to the [Get a
521
+ * volume or snapshot's migration
522
+ * plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) endpoint. To
523
+ * migrate all resources mentioned in the migration plan, the validation_key
524
+ * returned in the plan must be provided.
507
525
  *
508
526
  * @param request - The request {@link ApplyBlockMigrationRequest}
509
527
  */
510
528
  applyBlockMigration: (request: Readonly<ApplyBlockMigrationRequest>) => Promise<void>;
529
+ checkBlockMigrationOrganizationQuotas: (request?: Readonly<CheckBlockMigrationOrganizationQuotasRequest>) => Promise<void>;
511
530
  }