@scaleway/sdk 2.55.0 → 2.56.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 (34) 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/cockpit/v1/types.gen.d.ts +1 -1
  5. package/dist/api/iam/v1alpha1/api.gen.cjs +14 -0
  6. package/dist/api/iam/v1alpha1/api.gen.d.ts +8 -1
  7. package/dist/api/iam/v1alpha1/api.gen.js +15 -1
  8. package/dist/api/iam/v1alpha1/index.gen.d.ts +1 -1
  9. package/dist/api/iam/v1alpha1/marshalling.gen.cjs +27 -0
  10. package/dist/api/iam/v1alpha1/marshalling.gen.d.ts +2 -1
  11. package/dist/api/iam/v1alpha1/marshalling.gen.js +27 -0
  12. package/dist/api/iam/v1alpha1/types.gen.d.ts +21 -0
  13. package/dist/api/instance/v1/api.gen.cjs +32 -14
  14. package/dist/api/instance/v1/api.gen.d.ts +32 -14
  15. package/dist/api/instance/v1/api.gen.js +32 -14
  16. package/dist/api/instance/v1/types.gen.d.ts +17 -10
  17. package/dist/api/k8s/v1/marshalling.gen.cjs +2 -1
  18. package/dist/api/k8s/v1/marshalling.gen.js +2 -1
  19. package/dist/api/k8s/v1/types.gen.d.ts +1 -0
  20. package/dist/api/mongodb/v1alpha1/api.gen.cjs +19 -0
  21. package/dist/api/mongodb/v1alpha1/api.gen.d.ts +10 -1
  22. package/dist/api/mongodb/v1alpha1/api.gen.js +20 -1
  23. package/dist/api/mongodb/v1alpha1/index.gen.d.ts +1 -1
  24. package/dist/api/mongodb/v1alpha1/marshalling.gen.cjs +10 -4
  25. package/dist/api/mongodb/v1alpha1/marshalling.gen.d.ts +3 -1
  26. package/dist/api/mongodb/v1alpha1/marshalling.gen.js +10 -4
  27. package/dist/api/mongodb/v1alpha1/types.gen.d.ts +17 -6
  28. package/dist/scw/client.cjs +4 -1
  29. package/dist/scw/client.d.ts +1 -2
  30. package/dist/scw/client.js +5 -2
  31. package/dist/scw/constants.cjs +1 -1
  32. package/dist/scw/constants.d.ts +2 -2
  33. package/dist/scw/constants.js +1 -1
  34. package/package.json +2 -2
@@ -6,6 +6,7 @@ const SERVER_TRANSIENT_STATUSES = [
6
6
  "updating",
7
7
  "locking",
8
8
  "unlocking",
9
- "reinstalling"
9
+ "reinstalling",
10
+ "busy"
10
11
  ];
11
12
  exports.SERVER_TRANSIENT_STATUSES = SERVER_TRANSIENT_STATUSES;
@@ -4,7 +4,8 @@ const SERVER_TRANSIENT_STATUSES = [
4
4
  "updating",
5
5
  "locking",
6
6
  "unlocking",
7
- "reinstalling"
7
+ "reinstalling",
8
+ "busy"
8
9
  ];
9
10
  export {
10
11
  SERVER_TRANSIENT_STATUSES
@@ -2,7 +2,7 @@ import type { Zone } from '../../../bridge';
2
2
  export type ConnectivityDiagnosticActionType = 'reboot_server' | 'reinstall_server';
3
3
  export type ConnectivityDiagnosticDiagnosticStatus = 'unknown_status' | 'processing' | 'error' | 'completed';
4
4
  export type ListServersRequestOrderBy = 'created_at_asc' | 'created_at_desc';
5
- export type ServerStatus = 'unknown_status' | 'starting' | 'ready' | 'error' | 'rebooting' | 'updating' | 'locking' | 'locked' | 'unlocking' | 'reinstalling';
5
+ export type ServerStatus = 'unknown_status' | 'starting' | 'ready' | 'error' | 'rebooting' | 'updating' | 'locking' | 'locked' | 'unlocking' | 'reinstalling' | 'busy';
6
6
  export type ServerTypeStock = 'unknown_stock' | 'no_stock' | 'low_stock' | 'high_stock';
7
7
  export interface OS {
8
8
  /** Unique ID of the OS. */
@@ -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';
@@ -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
  };
@@ -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
  */
@@ -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,9 +517,11 @@ 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
  */
@@ -192,10 +192,17 @@ class API extends API$1 {
192
192
  * for SBS volumes. `enable_routed_ip`: Migrate the Instance to the new
193
193
  * network stack.
194
194
  *
195
- * Keep in mind that `terminate` an Instance will result in the deletion of
196
- * `l_ssd`, `b_ssd` and `scratch` volumes types, `sbs_volume` volumes type
197
- * will only be detached. If you want to preserve your volumes, you should
198
- * detach them before the Instance deletion or `terminate` action.
195
+ * The `terminate` action will result in the deletion of `l_ssd`, `b_ssd` and
196
+ * `scratch` volumes types, `sbs_volume` volumes type will only be detached.
197
+ * If you want to preserve your volumes, you should detach them before the
198
+ * Instance deletion or `terminate` action.
199
+ *
200
+ * The `backup` action can be done with: No `volumes` key in the body: an
201
+ * image is created with snapshots of all the server volumes, except for the
202
+ * `scratch` volumes types. `volumes` key in the body with a dictionary as
203
+ * value, in this dictionary volumes UUID as keys and empty dictionaries as
204
+ * values : an image is created with the snapshots of the volumes in `volumes`
205
+ * key. `scratch` volumes types can't be shapshotted.
199
206
  *
200
207
  * @param request - The request {@link ServerActionRequest}
201
208
  * @returns A Promise of ServerActionResponse
@@ -1097,13 +1104,22 @@ class API extends API$1 {
1097
1104
  );
1098
1105
  /**
1099
1106
  * Get a volume or snapshot's migration plan. Given a volume or snapshot,
1100
- * returns the migration plan for a call to the "Apply a migration plan"
1101
- * endpoint. This plan will include zero or one volume, and zero or more
1102
- * snapshots, which will need to be migrated together. This endpoint does not
1103
- * perform the actual migration itself, the "Apply a migration plan" endpoint
1104
- * must be used. The validation_key value returned by this endpoint must be
1105
- * provided to the call to the "Apply a migration plan" endpoint to confirm
1106
- * that all resources listed in the plan should be migrated.
1107
+ * returns the migration plan but does not perform the actual migration. To
1108
+ * perform the migration, you have to call the [Migrate a volume and/or
1109
+ * snapshots to
1110
+ * SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage)
1111
+ * endpoint afterward. The endpoint returns the resources that should be
1112
+ * migrated together:
1113
+ *
1114
+ * - The volume and any snapshots created from the volume, if the call was made
1115
+ * to plan a volume migration.
1116
+ * - The base volume of the snapshot (if the volume is not deleted) and its
1117
+ * related snapshots, if the call was made to plan a snapshot migration. The
1118
+ * endpoint also returns the validation_key, which must be provided to the
1119
+ * [Migrate a volume and/or snapshots to
1120
+ * SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage)
1121
+ * endpoint to confirm that all resources listed in the plan should be
1122
+ * migrated.
1107
1123
  *
1108
1124
  * @param request - The request {@link PlanBlockMigrationRequest}
1109
1125
  * @returns A Promise of MigrationPlan
@@ -1121,9 +1137,11 @@ class API extends API$1 {
1121
1137
  );
1122
1138
  /**
1123
1139
  * Migrate a volume and/or snapshots to SBS (Scaleway Block Storage). To be
1124
- * used, the call to this endpoint must be preceded by a call to the "Plan a
1125
- * migration" endpoint. To migrate all resources mentioned in the migration
1126
- * plan, the validation_key returned in the plan must be provided.
1140
+ * used, the call to this endpoint must be preceded by a call to the [Get a
1141
+ * volume or snapshot's migration
1142
+ * plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) endpoint. To
1143
+ * migrate all resources mentioned in the migration plan, the validation_key
1144
+ * returned in the plan must be provided.
1127
1145
  *
1128
1146
  * @param request - The request {@link ApplyBlockMigrationRequest}
1129
1147
  */
@@ -506,9 +506,11 @@ export interface Dashboard {
506
506
  securityGroupsCount: number;
507
507
  ipsUnused: number;
508
508
  volumesLSsdCount: number;
509
- volumesBSsdCount: number;
509
+ /** @deprecated */
510
+ volumesBSsdCount?: number;
510
511
  volumesLSsdTotalSize: number;
511
- volumesBSsdTotalSize: number;
512
+ /** @deprecated */
513
+ volumesBSsdTotalSize?: number;
512
514
  privateNicsCount: number;
513
515
  placementGroupsCount: number;
514
516
  }
@@ -619,7 +621,8 @@ export type ApplyBlockMigrationRequest = {
619
621
  zone?: Zone;
620
622
  /**
621
623
  * The volume to migrate, along with potentially other resources, according to
622
- * the migration plan generated with a call to the "Plan a migration"
624
+ * the migration plan generated with a call to the [Get a volume or snapshot's
625
+ * migration plan](#path-volumes-get-a-volume-or-snapshots-migration-plan)
623
626
  * endpoint.
624
627
  *
625
628
  * One-of ('resource'): at most one of 'volumeId', 'snapshotId' could be set.
@@ -627,16 +630,18 @@ export type ApplyBlockMigrationRequest = {
627
630
  volumeId?: string;
628
631
  /**
629
632
  * The snapshot to migrate, along with potentially other resources, according
630
- * to the migration plan generated with a call to the "Plan a migration"
631
- * endpoint.
633
+ * to the migration plan generated with a call to the [Get a volume or
634
+ * snapshot's migration
635
+ * plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) endpoint.
632
636
  *
633
637
  * One-of ('resource'): at most one of 'volumeId', 'snapshotId' could be set.
634
638
  */
635
639
  snapshotId?: string;
636
640
  /**
637
- * A value to be retrieved from a call to the "Plan a migration" endpoint, to
638
- * confirm that the volume and/or snapshots specified in said plan should be
639
- * migrated.
641
+ * A value to be retrieved from a call to the [Get a volume or snapshot's
642
+ * migration plan](#path-volumes-get-a-volume-or-snapshots-migration-plan)
643
+ * endpoint, to confirm that the volume and/or snapshots specified in said
644
+ * plan should be migrated.
640
645
  */
641
646
  validationKey: string;
642
647
  };
@@ -1495,8 +1500,10 @@ export interface MigrationPlan {
1495
1500
  */
1496
1501
  snapshots: Snapshot[];
1497
1502
  /**
1498
- * A value to be passed to the call to the "Apply a migration plan" endpoint,
1499
- * to confirm that the execution of the plan is being requested.
1503
+ * A value to be passed to the call to the [Migrate a volume and/or snapshots
1504
+ * to
1505
+ * SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage)
1506
+ * endpoint, to confirm that the execution of the plan is being requested.
1500
1507
  */
1501
1508
  validationKey: string;
1502
1509
  }
@@ -396,7 +396,8 @@ const unmarshalNodeMetadata = (data) => {
396
396
  unmarshalNodeMetadataCoreV1Taint
397
397
  ),
398
398
  poolVersion: data.pool_version,
399
- privateNetworkMode: data.private_network_mode
399
+ privateNetworkMode: data.private_network_mode,
400
+ repoUri: data.repo_uri
400
401
  };
401
402
  };
402
403
  const unmarshalSetClusterACLRulesResponse = (data) => {
@@ -394,7 +394,8 @@ const unmarshalNodeMetadata = (data) => {
394
394
  unmarshalNodeMetadataCoreV1Taint
395
395
  ),
396
396
  poolVersion: data.pool_version,
397
- privateNetworkMode: data.private_network_mode
397
+ privateNetworkMode: data.private_network_mode,
398
+ repoUri: data.repo_uri
398
399
  };
399
400
  };
400
401
  const unmarshalSetClusterACLRulesResponse = (data) => {
@@ -1104,6 +1104,7 @@ export interface NodeMetadata {
1104
1104
  fullIsolation: boolean;
1105
1105
  hasGpu: boolean;
1106
1106
  externalIp: string;
1107
+ repoUri: string;
1107
1108
  }
1108
1109
  export type RebootNodeRequest = {
1109
1110
  /**
@@ -407,5 +407,24 @@ class API extends api.API {
407
407
  method: "DELETE",
408
408
  path: `/mongodb/v1alpha1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/endpoints/${marshalling.validatePathParam("endpointId", request.endpointId)}`
409
409
  });
410
+ /**
411
+ * Create a new Instance endpoint. Create a new endpoint for a MongoDB®
412
+ * Database Instance. You can add `public_network` or `private_network`
413
+ * specifications to the body of the request.
414
+ *
415
+ * @param request - The request {@link CreateEndpointRequest}
416
+ * @returns A Promise of Endpoint
417
+ */
418
+ createEndpoint = (request) => this.client.fetch(
419
+ {
420
+ body: JSON.stringify(
421
+ marshalling_gen.marshalCreateEndpointRequest(request, this.client.settings)
422
+ ),
423
+ headers: jsonContentHeaders,
424
+ method: "POST",
425
+ path: `/mongodb/v1alpha1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/endpoints`
426
+ },
427
+ marshalling_gen.unmarshalEndpoint
428
+ );
410
429
  }
411
430
  exports.API = API;
@@ -1,6 +1,6 @@
1
1
  import { API as ParentAPI } from '../../../bridge';
2
2
  import type { Region, WaitForOptions } from '../../../bridge';
3
- import type { CreateInstanceRequest, CreateSnapshotRequest, CreateUserRequest, DeleteEndpointRequest, DeleteInstanceRequest, DeleteSnapshotRequest, GetInstanceCertificateRequest, GetInstanceRequest, GetSnapshotRequest, Instance, ListInstancesRequest, ListInstancesResponse, ListNodeTypesRequest, ListNodeTypesResponse, ListSnapshotsRequest, ListSnapshotsResponse, ListUsersRequest, ListUsersResponse, ListVersionsRequest, ListVersionsResponse, RestoreSnapshotRequest, Snapshot, UpdateInstanceRequest, UpdateSnapshotRequest, UpdateUserRequest, UpgradeInstanceRequest, User } from './types.gen';
3
+ import type { CreateEndpointRequest, CreateInstanceRequest, CreateSnapshotRequest, CreateUserRequest, DeleteEndpointRequest, DeleteInstanceRequest, DeleteSnapshotRequest, Endpoint, GetInstanceCertificateRequest, GetInstanceRequest, GetSnapshotRequest, Instance, ListInstancesRequest, ListInstancesResponse, ListNodeTypesRequest, ListNodeTypesResponse, ListSnapshotsRequest, ListSnapshotsResponse, ListUsersRequest, ListUsersResponse, ListVersionsRequest, ListVersionsResponse, RestoreSnapshotRequest, Snapshot, UpdateInstanceRequest, UpdateSnapshotRequest, UpdateUserRequest, UpgradeInstanceRequest, User } from './types.gen';
4
4
  /**
5
5
  * Managed Database for MongoDB®.
6
6
  *
@@ -217,4 +217,13 @@ export declare class API extends ParentAPI {
217
217
  * @param request - The request {@link DeleteEndpointRequest}
218
218
  */
219
219
  deleteEndpoint: (request: Readonly<DeleteEndpointRequest>) => Promise<void>;
220
+ /**
221
+ * Create a new Instance endpoint. Create a new endpoint for a MongoDB®
222
+ * Database Instance. You can add `public_network` or `private_network`
223
+ * specifications to the body of the request.
224
+ *
225
+ * @param request - The request {@link CreateEndpointRequest}
226
+ * @returns A Promise of Endpoint
227
+ */
228
+ createEndpoint: (request: Readonly<CreateEndpointRequest>) => Promise<Endpoint>;
220
229
  }
@@ -4,7 +4,7 @@ import { validatePathParam, urlParams } from "../../../helpers/marshalling.js";
4
4
  import "../../../vendor/base64/index.js";
5
5
  import { enrichForPagination } from "../../../scw/fetch/resource-paginator.js";
6
6
  import { INSTANCE_TRANSIENT_STATUSES, SNAPSHOT_TRANSIENT_STATUSES } from "./content.gen.js";
7
- import { unmarshalListNodeTypesResponse, unmarshalListVersionsResponse, unmarshalListInstancesResponse, unmarshalInstance, marshalCreateInstanceRequest, marshalUpdateInstanceRequest, marshalUpgradeInstanceRequest, marshalCreateSnapshotRequest, unmarshalSnapshot, marshalUpdateSnapshotRequest, marshalRestoreSnapshotRequest, unmarshalListSnapshotsResponse, unmarshalListUsersResponse, marshalCreateUserRequest, unmarshalUser, marshalUpdateUserRequest } from "./marshalling.gen.js";
7
+ import { unmarshalListNodeTypesResponse, unmarshalListVersionsResponse, unmarshalListInstancesResponse, unmarshalInstance, marshalCreateInstanceRequest, marshalUpdateInstanceRequest, marshalUpgradeInstanceRequest, marshalCreateSnapshotRequest, unmarshalSnapshot, marshalUpdateSnapshotRequest, marshalRestoreSnapshotRequest, unmarshalListSnapshotsResponse, unmarshalListUsersResponse, marshalCreateUserRequest, unmarshalUser, marshalUpdateUserRequest, marshalCreateEndpointRequest, unmarshalEndpoint } from "./marshalling.gen.js";
8
8
  const jsonContentHeaders = {
9
9
  "Content-Type": "application/json; charset=utf-8"
10
10
  };
@@ -405,6 +405,25 @@ class API extends API$1 {
405
405
  method: "DELETE",
406
406
  path: `/mongodb/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/endpoints/${validatePathParam("endpointId", request.endpointId)}`
407
407
  });
408
+ /**
409
+ * Create a new Instance endpoint. Create a new endpoint for a MongoDB®
410
+ * Database Instance. You can add `public_network` or `private_network`
411
+ * specifications to the body of the request.
412
+ *
413
+ * @param request - The request {@link CreateEndpointRequest}
414
+ * @returns A Promise of Endpoint
415
+ */
416
+ createEndpoint = (request) => this.client.fetch(
417
+ {
418
+ body: JSON.stringify(
419
+ marshalCreateEndpointRequest(request, this.client.settings)
420
+ ),
421
+ headers: jsonContentHeaders,
422
+ method: "POST",
423
+ path: `/mongodb/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/endpoints`
424
+ },
425
+ unmarshalEndpoint
426
+ );
408
427
  }
409
428
  export {
410
429
  API
@@ -1,4 +1,4 @@
1
1
  export { API } from './api.gen';
2
2
  export * from './content.gen';
3
- export type { CreateInstanceRequest, CreateInstanceRequestVolumeDetails, CreateSnapshotRequest, CreateUserRequest, DeleteEndpointRequest, DeleteInstanceRequest, DeleteSnapshotRequest, Endpoint, EndpointPrivateNetworkDetails, EndpointPublicDetails, EndpointSpec, EndpointSpecPrivateNetworkDetails, EndpointSpecPublicDetails, GetInstanceCertificateRequest, GetInstanceRequest, GetSnapshotRequest, Instance, InstanceSetting, InstanceStatus, ListInstancesRequest, ListInstancesRequestOrderBy, ListInstancesResponse, ListNodeTypesRequest, ListNodeTypesResponse, ListSnapshotsRequest, ListSnapshotsRequestOrderBy, ListSnapshotsResponse, ListUsersRequest, ListUsersRequestOrderBy, ListUsersResponse, ListVersionsRequest, ListVersionsResponse, NodeType, NodeTypeStock, NodeTypeVolumeType, RestoreSnapshotRequest, RestoreSnapshotRequestVolumeDetails, Setting, SettingPropertyType, Snapshot, SnapshotStatus, SnapshotVolumeType, UpdateInstanceRequest, UpdateSnapshotRequest, UpdateUserRequest, UpgradeInstanceRequest, User, Version, Volume, VolumeType, } from './types.gen';
3
+ export type { CreateEndpointRequest, CreateInstanceRequest, CreateInstanceRequestVolumeDetails, CreateSnapshotRequest, CreateUserRequest, DeleteEndpointRequest, DeleteInstanceRequest, DeleteSnapshotRequest, Endpoint, EndpointPrivateNetworkDetails, EndpointPublicDetails, EndpointSpec, EndpointSpecPrivateNetworkDetails, EndpointSpecPublicDetails, GetInstanceCertificateRequest, GetInstanceRequest, GetSnapshotRequest, Instance, InstanceSetting, InstanceStatus, ListInstancesRequest, ListInstancesRequestOrderBy, ListInstancesResponse, ListNodeTypesRequest, ListNodeTypesResponse, ListSnapshotsRequest, ListSnapshotsRequestOrderBy, ListSnapshotsResponse, ListUsersRequest, ListUsersRequestOrderBy, ListUsersResponse, ListVersionsRequest, ListVersionsResponse, NodeType, NodeTypeStock, NodeTypeVolumeType, RestoreSnapshotRequest, RestoreSnapshotRequestVolumeDetails, Setting, SettingPropertyType, Snapshot, SnapshotStatus, SnapshotVolumeType, UpdateInstanceRequest, UpdateSnapshotRequest, UpdateUserRequest, UpgradeInstanceRequest, User, Version, Volume, VolumeType, } from './types.gen';
4
4
  export * as ValidationRules from './validation-rules.gen';
@@ -251,10 +251,6 @@ const marshalEndpointSpecPrivateNetworkDetails = (request, defaults) => ({
251
251
  private_network_id: request.privateNetworkId
252
252
  });
253
253
  const marshalEndpointSpecPublicDetails = (request, defaults) => ({});
254
- const marshalCreateInstanceRequestVolumeDetails = (request, defaults) => ({
255
- volume_size: request.volumeSize,
256
- volume_type: request.volumeType
257
- });
258
254
  const marshalEndpointSpec = (request, defaults) => ({
259
255
  ...marshalling.resolveOneOf([
260
256
  {
@@ -269,6 +265,14 @@ const marshalEndpointSpec = (request, defaults) => ({
269
265
  }
270
266
  ])
271
267
  });
268
+ const marshalCreateEndpointRequest = (request, defaults) => ({
269
+ endpoint: marshalEndpointSpec(request.endpoint),
270
+ instance_id: request.instanceId
271
+ });
272
+ const marshalCreateInstanceRequestVolumeDetails = (request, defaults) => ({
273
+ volume_size: request.volumeSize,
274
+ volume_type: request.volumeType
275
+ });
272
276
  const marshalCreateInstanceRequest = (request, defaults) => ({
273
277
  endpoints: request.endpoints !== void 0 ? request.endpoints.map((elt) => marshalEndpointSpec(elt)) : void 0,
274
278
  name: request.name || randomName("mgdb"),
@@ -312,6 +316,7 @@ const marshalUpdateUserRequest = (request, defaults) => ({
312
316
  const marshalUpgradeInstanceRequest = (request, defaults) => ({
313
317
  ...marshalling.resolveOneOf([{ param: "volume_size", value: request.volumeSize }])
314
318
  });
319
+ exports.marshalCreateEndpointRequest = marshalCreateEndpointRequest;
315
320
  exports.marshalCreateInstanceRequest = marshalCreateInstanceRequest;
316
321
  exports.marshalCreateSnapshotRequest = marshalCreateSnapshotRequest;
317
322
  exports.marshalCreateUserRequest = marshalCreateUserRequest;
@@ -320,6 +325,7 @@ exports.marshalUpdateInstanceRequest = marshalUpdateInstanceRequest;
320
325
  exports.marshalUpdateSnapshotRequest = marshalUpdateSnapshotRequest;
321
326
  exports.marshalUpdateUserRequest = marshalUpdateUserRequest;
322
327
  exports.marshalUpgradeInstanceRequest = marshalUpgradeInstanceRequest;
328
+ exports.unmarshalEndpoint = unmarshalEndpoint;
323
329
  exports.unmarshalInstance = unmarshalInstance;
324
330
  exports.unmarshalInstanceSetting = unmarshalInstanceSetting;
325
331
  exports.unmarshalListInstancesResponse = unmarshalListInstancesResponse;
@@ -1,5 +1,6 @@
1
1
  import type { DefaultValues } from '../../../bridge';
2
- import type { CreateInstanceRequest, CreateSnapshotRequest, CreateUserRequest, Instance, InstanceSetting, ListInstancesResponse, ListNodeTypesResponse, ListSnapshotsResponse, ListUsersResponse, ListVersionsResponse, RestoreSnapshotRequest, Snapshot, UpdateInstanceRequest, UpdateSnapshotRequest, UpdateUserRequest, UpgradeInstanceRequest, User, Volume } from './types.gen';
2
+ import type { CreateEndpointRequest, CreateInstanceRequest, CreateSnapshotRequest, CreateUserRequest, Endpoint, Instance, InstanceSetting, ListInstancesResponse, ListNodeTypesResponse, ListSnapshotsResponse, ListUsersResponse, ListVersionsResponse, RestoreSnapshotRequest, Snapshot, UpdateInstanceRequest, UpdateSnapshotRequest, UpdateUserRequest, UpgradeInstanceRequest, User, Volume } from './types.gen';
3
+ export declare const unmarshalEndpoint: (data: unknown) => Endpoint;
3
4
  export declare const unmarshalInstanceSetting: (data: unknown) => InstanceSetting;
4
5
  export declare const unmarshalVolume: (data: unknown) => Volume;
5
6
  export declare const unmarshalInstance: (data: unknown) => Instance;
@@ -10,6 +11,7 @@ export declare const unmarshalListNodeTypesResponse: (data: unknown) => ListNode
10
11
  export declare const unmarshalListSnapshotsResponse: (data: unknown) => ListSnapshotsResponse;
11
12
  export declare const unmarshalListUsersResponse: (data: unknown) => ListUsersResponse;
12
13
  export declare const unmarshalListVersionsResponse: (data: unknown) => ListVersionsResponse;
14
+ export declare const marshalCreateEndpointRequest: (request: CreateEndpointRequest, defaults: DefaultValues) => Record<string, unknown>;
13
15
  export declare const marshalCreateInstanceRequest: (request: CreateInstanceRequest, defaults: DefaultValues) => Record<string, unknown>;
14
16
  export declare const marshalCreateSnapshotRequest: (request: CreateSnapshotRequest, defaults: DefaultValues) => Record<string, unknown>;
15
17
  export declare const marshalCreateUserRequest: (request: CreateUserRequest, defaults: DefaultValues) => Record<string, unknown>;
@@ -249,10 +249,6 @@ const marshalEndpointSpecPrivateNetworkDetails = (request, defaults) => ({
249
249
  private_network_id: request.privateNetworkId
250
250
  });
251
251
  const marshalEndpointSpecPublicDetails = (request, defaults) => ({});
252
- const marshalCreateInstanceRequestVolumeDetails = (request, defaults) => ({
253
- volume_size: request.volumeSize,
254
- volume_type: request.volumeType
255
- });
256
252
  const marshalEndpointSpec = (request, defaults) => ({
257
253
  ...resolveOneOf([
258
254
  {
@@ -267,6 +263,14 @@ const marshalEndpointSpec = (request, defaults) => ({
267
263
  }
268
264
  ])
269
265
  });
266
+ const marshalCreateEndpointRequest = (request, defaults) => ({
267
+ endpoint: marshalEndpointSpec(request.endpoint),
268
+ instance_id: request.instanceId
269
+ });
270
+ const marshalCreateInstanceRequestVolumeDetails = (request, defaults) => ({
271
+ volume_size: request.volumeSize,
272
+ volume_type: request.volumeType
273
+ });
270
274
  const marshalCreateInstanceRequest = (request, defaults) => ({
271
275
  endpoints: request.endpoints !== void 0 ? request.endpoints.map((elt) => marshalEndpointSpec(elt)) : void 0,
272
276
  name: request.name || randomName("mgdb"),
@@ -311,6 +315,7 @@ const marshalUpgradeInstanceRequest = (request, defaults) => ({
311
315
  ...resolveOneOf([{ param: "volume_size", value: request.volumeSize }])
312
316
  });
313
317
  export {
318
+ marshalCreateEndpointRequest,
314
319
  marshalCreateInstanceRequest,
315
320
  marshalCreateSnapshotRequest,
316
321
  marshalCreateUserRequest,
@@ -319,6 +324,7 @@ export {
319
324
  marshalUpdateSnapshotRequest,
320
325
  marshalUpdateUserRequest,
321
326
  marshalUpgradeInstanceRequest,
327
+ unmarshalEndpoint,
322
328
  unmarshalInstance,
323
329
  unmarshalInstanceSetting,
324
330
  unmarshalListInstancesResponse,
@@ -93,18 +93,18 @@ export interface Setting {
93
93
  /** Maximum value for float types. */
94
94
  floatMax?: number;
95
95
  }
96
- export interface CreateInstanceRequestVolumeDetails {
97
- /** Volume size. */
98
- volumeSize: number;
99
- /** Type of volume where data is stored. */
100
- volumeType: VolumeType;
101
- }
102
96
  export interface EndpointSpec {
103
97
  /** One-of ('details'): at most one of 'public', 'privateNetwork' could be set. */
104
98
  public?: EndpointSpecPublicDetails;
105
99
  /** One-of ('details'): at most one of 'public', 'privateNetwork' could be set. */
106
100
  privateNetwork?: EndpointSpecPrivateNetworkDetails;
107
101
  }
102
+ export interface CreateInstanceRequestVolumeDetails {
103
+ /** Volume size. */
104
+ volumeSize: number;
105
+ /** Type of volume where data is stored. */
106
+ volumeType: VolumeType;
107
+ }
108
108
  export interface Instance {
109
109
  /** UUID of the Database Instance. */
110
110
  id: string;
@@ -199,6 +199,17 @@ export interface RestoreSnapshotRequestVolumeDetails {
199
199
  /** Type of volume where data is stored. */
200
200
  volumeType: VolumeType;
201
201
  }
202
+ export type CreateEndpointRequest = {
203
+ /**
204
+ * Region to target. If none is passed will use default region from the
205
+ * config.
206
+ */
207
+ region?: Region;
208
+ /** UUID of the Database Instance. */
209
+ instanceId: string;
210
+ /** EndpointSpec used to expose your Database Instance. */
211
+ endpoint: EndpointSpec;
212
+ };
202
213
  export type CreateInstanceRequest = {
203
214
  /**
204
215
  * Region to target. If none is passed will use default region from the
@@ -23,6 +23,9 @@ const createAdvancedClient = (...configs) => {
23
23
  settings
24
24
  };
25
25
  };
26
- const createClient = (profile = {}) => createAdvancedClient(clientIniFactory.withProfile(profile));
26
+ const createClient = (settings = {}) => createAdvancedClient(
27
+ clientIniFactory.withProfile(settings),
28
+ clientIniFactory.withAdditionalInterceptors(settings.interceptors ?? [])
29
+ );
27
30
  exports.createAdvancedClient = createAdvancedClient;
28
31
  exports.createClient = createClient;
@@ -1,5 +1,4 @@
1
1
  import type { ClientConfig } from './client-ini-factory';
2
- import type { Profile } from './client-ini-profile';
3
2
  import type { Settings } from './client-settings';
4
3
  import type { Fetcher } from './fetch/build-fetcher';
5
4
  /**
@@ -69,4 +68,4 @@ export declare const createAdvancedClient: (...configs: ClientConfig[]) => Clien
69
68
  *
70
69
  * @public
71
70
  */
72
- export declare const createClient: (profile?: Profile) => Client;
71
+ export declare const createClient: (settings?: Partial<Settings>) => Client;
@@ -1,5 +1,5 @@
1
1
  import { getLogger } from "../internal/logger/index.js";
2
- import { withLegacyInterceptors, withProfile } from "./client-ini-factory.js";
2
+ import { withLegacyInterceptors, withAdditionalInterceptors, withProfile } from "./client-ini-factory.js";
3
3
  import { assertValidSettings } from "./client-settings.js";
4
4
  import { version, userAgent } from "./constants.js";
5
5
  import { buildFetcher } from "./fetch/build-fetcher.js";
@@ -21,7 +21,10 @@ const createAdvancedClient = (...configs) => {
21
21
  settings
22
22
  };
23
23
  };
24
- const createClient = (profile = {}) => createAdvancedClient(withProfile(profile));
24
+ const createClient = (settings = {}) => createAdvancedClient(
25
+ withProfile(settings),
26
+ withAdditionalInterceptors(settings.interceptors ?? [])
27
+ );
25
28
  export {
26
29
  createAdvancedClient,
27
30
  createClient
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const version = "v2.54.0";
3
+ const version = "v2.55.0";
4
4
  const userAgent = `scaleway-sdk-js/${version}`;
5
5
  exports.userAgent = userAgent;
6
6
  exports.version = version;
@@ -1,2 +1,2 @@
1
- export declare const version = "v2.54.0";
2
- export declare const userAgent = "scaleway-sdk-js/v2.54.0";
1
+ export declare const version = "v2.55.0";
2
+ export declare const userAgent = "scaleway-sdk-js/v2.55.0";
@@ -1,4 +1,4 @@
1
- const version = "v2.54.0";
1
+ const version = "v2.55.0";
2
2
  const userAgent = `scaleway-sdk-js/${version}`;
3
3
  export {
4
4
  userAgent,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scaleway/sdk",
3
- "version": "2.55.0",
3
+ "version": "2.56.0",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Scaleway SDK.",
6
6
  "keywords": [
@@ -39,5 +39,5 @@
39
39
  "bundledDependencies": [
40
40
  "@scaleway/random-name"
41
41
  ],
42
- "gitHead": "d3f0ca3df372a526551181cdb79e4a7391ba7205"
42
+ "gitHead": "9180ab7f2eebe5e35dd51605641ae0d627bf024f"
43
43
  }