@scaleway/sdk 2.54.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 (50) 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/block/v1alpha1/api.gen.cjs +1 -1
  5. package/dist/api/block/v1alpha1/api.gen.d.ts +1 -1
  6. package/dist/api/block/v1alpha1/api.gen.js +1 -1
  7. package/dist/api/block/v1alpha1/marshalling.gen.cjs +3 -2
  8. package/dist/api/block/v1alpha1/marshalling.gen.js +3 -2
  9. package/dist/api/block/v1alpha1/types.gen.d.ts +2 -2
  10. package/dist/api/cockpit/v1/marshalling.gen.cjs +5 -3
  11. package/dist/api/cockpit/v1/marshalling.gen.js +5 -3
  12. package/dist/api/cockpit/v1/types.gen.d.ts +11 -7
  13. package/dist/api/iam/v1alpha1/api.gen.cjs +14 -0
  14. package/dist/api/iam/v1alpha1/api.gen.d.ts +8 -1
  15. package/dist/api/iam/v1alpha1/api.gen.js +15 -1
  16. package/dist/api/iam/v1alpha1/index.gen.d.ts +1 -1
  17. package/dist/api/iam/v1alpha1/marshalling.gen.cjs +28 -0
  18. package/dist/api/iam/v1alpha1/marshalling.gen.d.ts +2 -1
  19. package/dist/api/iam/v1alpha1/marshalling.gen.js +28 -0
  20. package/dist/api/iam/v1alpha1/types.gen.d.ts +26 -0
  21. package/dist/api/instance/v1/api.gen.cjs +32 -14
  22. package/dist/api/instance/v1/api.gen.d.ts +32 -14
  23. package/dist/api/instance/v1/api.gen.js +32 -14
  24. package/dist/api/instance/v1/types.gen.d.ts +17 -10
  25. package/dist/api/k8s/v1/marshalling.gen.cjs +2 -1
  26. package/dist/api/k8s/v1/marshalling.gen.js +2 -1
  27. package/dist/api/k8s/v1/types.gen.d.ts +1 -0
  28. package/dist/api/mongodb/v1alpha1/api.gen.cjs +31 -0
  29. package/dist/api/mongodb/v1alpha1/api.gen.d.ts +19 -1
  30. package/dist/api/mongodb/v1alpha1/api.gen.js +32 -1
  31. package/dist/api/mongodb/v1alpha1/index.gen.d.ts +1 -1
  32. package/dist/api/mongodb/v1alpha1/marshalling.gen.cjs +10 -4
  33. package/dist/api/mongodb/v1alpha1/marshalling.gen.d.ts +3 -1
  34. package/dist/api/mongodb/v1alpha1/marshalling.gen.js +10 -4
  35. package/dist/api/mongodb/v1alpha1/types.gen.d.ts +26 -6
  36. package/dist/api/webhosting/v1/api.gen.cjs +14 -0
  37. package/dist/api/webhosting/v1/api.gen.d.ts +9 -1
  38. package/dist/api/webhosting/v1/api.gen.js +15 -1
  39. package/dist/api/webhosting/v1/index.gen.d.ts +1 -1
  40. package/dist/api/webhosting/v1/marshalling.gen.cjs +14 -0
  41. package/dist/api/webhosting/v1/marshalling.gen.d.ts +2 -1
  42. package/dist/api/webhosting/v1/marshalling.gen.js +14 -0
  43. package/dist/api/webhosting/v1/types.gen.d.ts +19 -0
  44. package/dist/scw/client.cjs +4 -1
  45. package/dist/scw/client.d.ts +1 -2
  46. package/dist/scw/client.js +5 -2
  47. package/dist/scw/constants.cjs +1 -1
  48. package/dist/scw/constants.d.ts +2 -2
  49. package/dist/scw/constants.js +1 -1
  50. package/package.json +2 -2
@@ -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
  /**
@@ -395,5 +395,36 @@ class API extends api.API {
395
395
  },
396
396
  marshalling_gen.unmarshalUser
397
397
  );
398
+ /**
399
+ * Delete a Database Instance endpoint. Delete the endpoint of a Database
400
+ * Instance. You must specify the `endpoint_id` parameter of the endpoint you
401
+ * want to delete. Note that you might need to update any environment
402
+ * configurations that point to the deleted endpoint.
403
+ *
404
+ * @param request - The request {@link DeleteEndpointRequest}
405
+ */
406
+ deleteEndpoint = (request) => this.client.fetch({
407
+ method: "DELETE",
408
+ path: `/mongodb/v1alpha1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/endpoints/${marshalling.validatePathParam("endpointId", request.endpointId)}`
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
+ );
398
429
  }
399
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, 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
  *
@@ -208,4 +208,22 @@ export declare class API extends ParentAPI {
208
208
  * @returns A Promise of User
209
209
  */
210
210
  updateUser: (request: Readonly<UpdateUserRequest>) => Promise<User>;
211
+ /**
212
+ * Delete a Database Instance endpoint. Delete the endpoint of a Database
213
+ * Instance. You must specify the `endpoint_id` parameter of the endpoint you
214
+ * want to delete. Note that you might need to update any environment
215
+ * configurations that point to the deleted endpoint.
216
+ *
217
+ * @param request - The request {@link DeleteEndpointRequest}
218
+ */
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>;
211
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
  };
@@ -393,6 +393,37 @@ class API extends API$1 {
393
393
  },
394
394
  unmarshalUser
395
395
  );
396
+ /**
397
+ * Delete a Database Instance endpoint. Delete the endpoint of a Database
398
+ * Instance. You must specify the `endpoint_id` parameter of the endpoint you
399
+ * want to delete. Note that you might need to update any environment
400
+ * configurations that point to the deleted endpoint.
401
+ *
402
+ * @param request - The request {@link DeleteEndpointRequest}
403
+ */
404
+ deleteEndpoint = (request) => this.client.fetch({
405
+ method: "DELETE",
406
+ path: `/mongodb/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/endpoints/${validatePathParam("endpointId", request.endpointId)}`
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
+ );
396
427
  }
397
428
  export {
398
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, 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
@@ -252,6 +263,15 @@ export type CreateUserRequest = {
252
263
  /** Password of the database user. */
253
264
  password: string;
254
265
  };
266
+ export type DeleteEndpointRequest = {
267
+ /**
268
+ * Region to target. If none is passed will use default region from the
269
+ * config.
270
+ */
271
+ region?: Region;
272
+ /** UUID of the Endpoint to delete. */
273
+ endpointId: string;
274
+ };
255
275
  export type DeleteInstanceRequest = {
256
276
  /**
257
277
  * Region to target. If none is passed will use default region from the
@@ -408,6 +408,20 @@ class HostingAPI extends api.API {
408
408
  },
409
409
  marshalling_gen.unmarshalResetHostingPasswordResponse
410
410
  );
411
+ /**
412
+ * Get the total counts of websites, databases, email accounts, and FTP
413
+ * accounts of a Web Hosting plan.
414
+ *
415
+ * @param request - The request {@link HostingApiGetResourceSummaryRequest}
416
+ * @returns A Promise of ResourceSummary
417
+ */
418
+ getResourceSummary = (request) => this.client.fetch(
419
+ {
420
+ method: "GET",
421
+ path: `/webhosting/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/hostings/${marshalling.validatePathParam("hostingId", request.hostingId)}/resource-summary`
422
+ },
423
+ marshalling_gen.unmarshalResourceSummary
424
+ );
411
425
  }
412
426
  class FtpAccountAPI extends api.API {
413
427
  /** Lists the available regions of the API. */
@@ -1,6 +1,6 @@
1
1
  import { API as ParentAPI } from '../../../bridge';
2
2
  import type { Region, WaitForOptions } from '../../../bridge';
3
- import type { ControlPanelApiListControlPanelsRequest, Database, DatabaseApiAssignDatabaseUserRequest, DatabaseApiChangeDatabaseUserPasswordRequest, DatabaseApiCreateDatabaseRequest, DatabaseApiCreateDatabaseUserRequest, DatabaseApiDeleteDatabaseRequest, DatabaseApiDeleteDatabaseUserRequest, DatabaseApiGetDatabaseRequest, DatabaseApiGetDatabaseUserRequest, DatabaseApiListDatabaseUsersRequest, DatabaseApiListDatabasesRequest, DatabaseApiUnassignDatabaseUserRequest, DatabaseUser, FtpAccount, FtpAccountApiChangeFtpAccountPasswordRequest, FtpAccountApiCreateFtpAccountRequest, FtpAccountApiListFtpAccountsRequest, FtpAccountApiRemoveFtpAccountRequest, Hosting, HostingApiCreateHostingRequest, HostingApiCreateSessionRequest, HostingApiDeleteHostingRequest, HostingApiGetHostingRequest, HostingApiListHostingsRequest, HostingApiResetHostingPasswordRequest, HostingApiUpdateHostingRequest, ListControlPanelsResponse, ListDatabaseUsersResponse, ListDatabasesResponse, ListFtpAccountsResponse, ListHostingsResponse, ListMailAccountsResponse, ListOffersResponse, ListWebsitesResponse, MailAccount, MailAccountApiChangeMailAccountPasswordRequest, MailAccountApiCreateMailAccountRequest, MailAccountApiListMailAccountsRequest, MailAccountApiRemoveMailAccountRequest, OfferApiListOffersRequest, ResetHostingPasswordResponse, Session, WebsiteApiListWebsitesRequest } from './types.gen';
3
+ import type { ControlPanelApiListControlPanelsRequest, Database, DatabaseApiAssignDatabaseUserRequest, DatabaseApiChangeDatabaseUserPasswordRequest, DatabaseApiCreateDatabaseRequest, DatabaseApiCreateDatabaseUserRequest, DatabaseApiDeleteDatabaseRequest, DatabaseApiDeleteDatabaseUserRequest, DatabaseApiGetDatabaseRequest, DatabaseApiGetDatabaseUserRequest, DatabaseApiListDatabaseUsersRequest, DatabaseApiListDatabasesRequest, DatabaseApiUnassignDatabaseUserRequest, DatabaseUser, FtpAccount, FtpAccountApiChangeFtpAccountPasswordRequest, FtpAccountApiCreateFtpAccountRequest, FtpAccountApiListFtpAccountsRequest, FtpAccountApiRemoveFtpAccountRequest, Hosting, HostingApiCreateHostingRequest, HostingApiCreateSessionRequest, HostingApiDeleteHostingRequest, HostingApiGetHostingRequest, HostingApiGetResourceSummaryRequest, HostingApiListHostingsRequest, HostingApiResetHostingPasswordRequest, HostingApiUpdateHostingRequest, ListControlPanelsResponse, ListDatabaseUsersResponse, ListDatabasesResponse, ListFtpAccountsResponse, ListHostingsResponse, ListMailAccountsResponse, ListOffersResponse, ListWebsitesResponse, MailAccount, MailAccountApiChangeMailAccountPasswordRequest, MailAccountApiCreateMailAccountRequest, MailAccountApiListMailAccountsRequest, MailAccountApiRemoveMailAccountRequest, OfferApiListOffersRequest, ResetHostingPasswordResponse, ResourceSummary, Session, WebsiteApiListWebsitesRequest } from './types.gen';
4
4
  /**
5
5
  * Web Hosting API.
6
6
  *
@@ -216,6 +216,14 @@ export declare class HostingAPI extends ParentAPI {
216
216
  * @returns A Promise of ResetHostingPasswordResponse
217
217
  */
218
218
  resetHostingPassword: (request: Readonly<HostingApiResetHostingPasswordRequest>) => Promise<ResetHostingPasswordResponse>;
219
+ /**
220
+ * Get the total counts of websites, databases, email accounts, and FTP
221
+ * accounts of a Web Hosting plan.
222
+ *
223
+ * @param request - The request {@link HostingApiGetResourceSummaryRequest}
224
+ * @returns A Promise of ResourceSummary
225
+ */
226
+ getResourceSummary: (request: Readonly<HostingApiGetResourceSummaryRequest>) => Promise<ResourceSummary>;
219
227
  }
220
228
  /**
221
229
  * Web Hosting FTP Account API.
@@ -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 { HOSTING_TRANSIENT_STATUSES } from "./content.gen.js";
7
- import { unmarshalListControlPanelsResponse, marshalDatabaseApiCreateDatabaseRequest, unmarshalDatabase, unmarshalListDatabasesResponse, marshalDatabaseApiCreateDatabaseUserRequest, unmarshalDatabaseUser, unmarshalListDatabaseUsersResponse, marshalDatabaseApiChangeDatabaseUserPasswordRequest, marshalDatabaseApiAssignDatabaseUserRequest, marshalDatabaseApiUnassignDatabaseUserRequest, unmarshalListOffersResponse, marshalHostingApiCreateHostingRequest, unmarshalHosting, unmarshalListHostingsResponse, marshalHostingApiUpdateHostingRequest, unmarshalSession, unmarshalResetHostingPasswordResponse, marshalFtpAccountApiCreateFtpAccountRequest, unmarshalFtpAccount, unmarshalListFtpAccountsResponse, marshalFtpAccountApiChangeFtpAccountPasswordRequest, marshalMailAccountApiCreateMailAccountRequest, unmarshalMailAccount, unmarshalListMailAccountsResponse, marshalMailAccountApiRemoveMailAccountRequest, marshalMailAccountApiChangeMailAccountPasswordRequest, unmarshalListWebsitesResponse } from "./marshalling.gen.js";
7
+ import { unmarshalListControlPanelsResponse, marshalDatabaseApiCreateDatabaseRequest, unmarshalDatabase, unmarshalListDatabasesResponse, marshalDatabaseApiCreateDatabaseUserRequest, unmarshalDatabaseUser, unmarshalListDatabaseUsersResponse, marshalDatabaseApiChangeDatabaseUserPasswordRequest, marshalDatabaseApiAssignDatabaseUserRequest, marshalDatabaseApiUnassignDatabaseUserRequest, unmarshalListOffersResponse, marshalHostingApiCreateHostingRequest, unmarshalHosting, unmarshalListHostingsResponse, marshalHostingApiUpdateHostingRequest, unmarshalSession, unmarshalResetHostingPasswordResponse, unmarshalResourceSummary, marshalFtpAccountApiCreateFtpAccountRequest, unmarshalFtpAccount, unmarshalListFtpAccountsResponse, marshalFtpAccountApiChangeFtpAccountPasswordRequest, marshalMailAccountApiCreateMailAccountRequest, unmarshalMailAccount, unmarshalListMailAccountsResponse, marshalMailAccountApiRemoveMailAccountRequest, marshalMailAccountApiChangeMailAccountPasswordRequest, unmarshalListWebsitesResponse } from "./marshalling.gen.js";
8
8
  const jsonContentHeaders = {
9
9
  "Content-Type": "application/json; charset=utf-8"
10
10
  };
@@ -406,6 +406,20 @@ class HostingAPI extends API$1 {
406
406
  },
407
407
  unmarshalResetHostingPasswordResponse
408
408
  );
409
+ /**
410
+ * Get the total counts of websites, databases, email accounts, and FTP
411
+ * accounts of a Web Hosting plan.
412
+ *
413
+ * @param request - The request {@link HostingApiGetResourceSummaryRequest}
414
+ * @returns A Promise of ResourceSummary
415
+ */
416
+ getResourceSummary = (request) => this.client.fetch(
417
+ {
418
+ method: "GET",
419
+ path: `/webhosting/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/hostings/${validatePathParam("hostingId", request.hostingId)}/resource-summary`
420
+ },
421
+ unmarshalResourceSummary
422
+ );
409
423
  }
410
424
  class FtpAccountAPI extends API$1 {
411
425
  /** Lists the available regions of the API. */
@@ -1,4 +1,4 @@
1
1
  export { ControlPanelAPI, DatabaseAPI, FtpAccountAPI, HostingAPI, MailAccountAPI, OfferAPI, WebsiteAPI, } from './api.gen';
2
2
  export * from './content.gen';
3
- export type { ControlPanel, ControlPanelApiListControlPanelsRequest, CreateHostingRequestDomainConfiguration, Database, DatabaseApiAssignDatabaseUserRequest, DatabaseApiChangeDatabaseUserPasswordRequest, DatabaseApiCreateDatabaseRequest, DatabaseApiCreateDatabaseUserRequest, DatabaseApiDeleteDatabaseRequest, DatabaseApiDeleteDatabaseUserRequest, DatabaseApiGetDatabaseRequest, DatabaseApiGetDatabaseUserRequest, DatabaseApiListDatabaseUsersRequest, DatabaseApiListDatabasesRequest, DatabaseApiUnassignDatabaseUserRequest, DatabaseUser, FtpAccount, FtpAccountApiChangeFtpAccountPasswordRequest, FtpAccountApiCreateFtpAccountRequest, FtpAccountApiListFtpAccountsRequest, FtpAccountApiRemoveFtpAccountRequest, Hosting, HostingApiCreateHostingRequest, HostingApiCreateSessionRequest, HostingApiDeleteHostingRequest, HostingApiGetHostingRequest, HostingApiListHostingsRequest, HostingApiResetHostingPasswordRequest, HostingApiUpdateHostingRequest, HostingCpanelUrls, HostingDnsStatus, HostingOption, HostingStatus, HostingSummary, HostingSummaryStatus, ListControlPanelsResponse, ListDatabaseUsersRequestOrderBy, ListDatabaseUsersResponse, ListDatabasesRequestOrderBy, ListDatabasesResponse, ListFtpAccountsRequestOrderBy, ListFtpAccountsResponse, ListHostingsRequestOrderBy, ListHostingsResponse, ListMailAccountsRequestOrderBy, ListMailAccountsResponse, ListOffersRequestOrderBy, ListOffersResponse, ListWebsitesRequestOrderBy, ListWebsitesResponse, MailAccount, MailAccountApiChangeMailAccountPasswordRequest, MailAccountApiCreateMailAccountRequest, MailAccountApiListMailAccountsRequest, MailAccountApiRemoveMailAccountRequest, Offer, OfferApiListOffersRequest, OfferOption, OfferOptionName, OfferOptionRequest, OfferOptionWarning, ResetHostingPasswordResponse, Session, Website, WebsiteApiListWebsitesRequest, } from './types.gen';
3
+ export type { ControlPanel, ControlPanelApiListControlPanelsRequest, CreateHostingRequestDomainConfiguration, Database, DatabaseApiAssignDatabaseUserRequest, DatabaseApiChangeDatabaseUserPasswordRequest, DatabaseApiCreateDatabaseRequest, DatabaseApiCreateDatabaseUserRequest, DatabaseApiDeleteDatabaseRequest, DatabaseApiDeleteDatabaseUserRequest, DatabaseApiGetDatabaseRequest, DatabaseApiGetDatabaseUserRequest, DatabaseApiListDatabaseUsersRequest, DatabaseApiListDatabasesRequest, DatabaseApiUnassignDatabaseUserRequest, DatabaseUser, FtpAccount, FtpAccountApiChangeFtpAccountPasswordRequest, FtpAccountApiCreateFtpAccountRequest, FtpAccountApiListFtpAccountsRequest, FtpAccountApiRemoveFtpAccountRequest, Hosting, HostingApiCreateHostingRequest, HostingApiCreateSessionRequest, HostingApiDeleteHostingRequest, HostingApiGetHostingRequest, HostingApiGetResourceSummaryRequest, HostingApiListHostingsRequest, HostingApiResetHostingPasswordRequest, HostingApiUpdateHostingRequest, HostingCpanelUrls, HostingDnsStatus, HostingOption, HostingStatus, HostingSummary, HostingSummaryStatus, ListControlPanelsResponse, ListDatabaseUsersRequestOrderBy, ListDatabaseUsersResponse, ListDatabasesRequestOrderBy, ListDatabasesResponse, ListFtpAccountsRequestOrderBy, ListFtpAccountsResponse, ListHostingsRequestOrderBy, ListHostingsResponse, ListMailAccountsRequestOrderBy, ListMailAccountsResponse, ListOffersRequestOrderBy, ListOffersResponse, ListWebsitesRequestOrderBy, ListWebsitesResponse, MailAccount, MailAccountApiChangeMailAccountPasswordRequest, MailAccountApiCreateMailAccountRequest, MailAccountApiListMailAccountsRequest, MailAccountApiRemoveMailAccountRequest, Offer, OfferApiListOffersRequest, OfferOption, OfferOptionName, OfferOptionRequest, OfferOptionWarning, ResetHostingPasswordResponse, ResourceSummary, Session, Website, WebsiteApiListWebsitesRequest, } from './types.gen';
4
4
  export * as ValidationRules from './validation-rules.gen';
@@ -280,6 +280,19 @@ const unmarshalResetHostingPasswordResponse = (data) => {
280
280
  oneTimePassword: data.one_time_password
281
281
  };
282
282
  };
283
+ const unmarshalResourceSummary = (data) => {
284
+ if (!json.isJSONObject(data)) {
285
+ throw new TypeError(
286
+ `Unmarshalling the type 'ResourceSummary' failed as data isn't a dictionary.`
287
+ );
288
+ }
289
+ return {
290
+ databasesCount: data.databases_count,
291
+ ftpAccountsCount: data.ftp_accounts_count,
292
+ mailAccountsCount: data.mail_accounts_count,
293
+ websitesCount: data.websites_count
294
+ };
295
+ };
283
296
  const unmarshalSession = (data) => {
284
297
  if (!json.isJSONObject(data)) {
285
298
  throw new TypeError(
@@ -388,4 +401,5 @@ exports.unmarshalListOffersResponse = unmarshalListOffersResponse;
388
401
  exports.unmarshalListWebsitesResponse = unmarshalListWebsitesResponse;
389
402
  exports.unmarshalMailAccount = unmarshalMailAccount;
390
403
  exports.unmarshalResetHostingPasswordResponse = unmarshalResetHostingPasswordResponse;
404
+ exports.unmarshalResourceSummary = unmarshalResourceSummary;
391
405
  exports.unmarshalSession = unmarshalSession;
@@ -1,5 +1,5 @@
1
1
  import type { DefaultValues } from '../../../bridge';
2
- import type { Database, DatabaseApiAssignDatabaseUserRequest, DatabaseApiChangeDatabaseUserPasswordRequest, DatabaseApiCreateDatabaseRequest, DatabaseApiCreateDatabaseUserRequest, DatabaseApiUnassignDatabaseUserRequest, DatabaseUser, FtpAccount, FtpAccountApiChangeFtpAccountPasswordRequest, FtpAccountApiCreateFtpAccountRequest, Hosting, HostingApiCreateHostingRequest, HostingApiUpdateHostingRequest, ListControlPanelsResponse, ListDatabaseUsersResponse, ListDatabasesResponse, ListFtpAccountsResponse, ListHostingsResponse, ListMailAccountsResponse, ListOffersResponse, ListWebsitesResponse, MailAccount, MailAccountApiChangeMailAccountPasswordRequest, MailAccountApiCreateMailAccountRequest, MailAccountApiRemoveMailAccountRequest, ResetHostingPasswordResponse, Session } from './types.gen';
2
+ import type { Database, DatabaseApiAssignDatabaseUserRequest, DatabaseApiChangeDatabaseUserPasswordRequest, DatabaseApiCreateDatabaseRequest, DatabaseApiCreateDatabaseUserRequest, DatabaseApiUnassignDatabaseUserRequest, DatabaseUser, FtpAccount, FtpAccountApiChangeFtpAccountPasswordRequest, FtpAccountApiCreateFtpAccountRequest, Hosting, HostingApiCreateHostingRequest, HostingApiUpdateHostingRequest, ListControlPanelsResponse, ListDatabaseUsersResponse, ListDatabasesResponse, ListFtpAccountsResponse, ListHostingsResponse, ListMailAccountsResponse, ListOffersResponse, ListWebsitesResponse, MailAccount, MailAccountApiChangeMailAccountPasswordRequest, MailAccountApiCreateMailAccountRequest, MailAccountApiRemoveMailAccountRequest, ResetHostingPasswordResponse, ResourceSummary, Session } from './types.gen';
3
3
  export declare const unmarshalDatabaseUser: (data: unknown) => DatabaseUser;
4
4
  export declare const unmarshalDatabase: (data: unknown) => Database;
5
5
  export declare const unmarshalFtpAccount: (data: unknown) => FtpAccount;
@@ -14,6 +14,7 @@ export declare const unmarshalListMailAccountsResponse: (data: unknown) => ListM
14
14
  export declare const unmarshalListOffersResponse: (data: unknown) => ListOffersResponse;
15
15
  export declare const unmarshalListWebsitesResponse: (data: unknown) => ListWebsitesResponse;
16
16
  export declare const unmarshalResetHostingPasswordResponse: (data: unknown) => ResetHostingPasswordResponse;
17
+ export declare const unmarshalResourceSummary: (data: unknown) => ResourceSummary;
17
18
  export declare const unmarshalSession: (data: unknown) => Session;
18
19
  export declare const marshalDatabaseApiAssignDatabaseUserRequest: (request: DatabaseApiAssignDatabaseUserRequest, defaults: DefaultValues) => Record<string, unknown>;
19
20
  export declare const marshalDatabaseApiChangeDatabaseUserPasswordRequest: (request: DatabaseApiChangeDatabaseUserPasswordRequest, defaults: DefaultValues) => Record<string, unknown>;
@@ -278,6 +278,19 @@ const unmarshalResetHostingPasswordResponse = (data) => {
278
278
  oneTimePassword: data.one_time_password
279
279
  };
280
280
  };
281
+ const unmarshalResourceSummary = (data) => {
282
+ if (!isJSONObject(data)) {
283
+ throw new TypeError(
284
+ `Unmarshalling the type 'ResourceSummary' failed as data isn't a dictionary.`
285
+ );
286
+ }
287
+ return {
288
+ databasesCount: data.databases_count,
289
+ ftpAccountsCount: data.ftp_accounts_count,
290
+ mailAccountsCount: data.mail_accounts_count,
291
+ websitesCount: data.websites_count
292
+ };
293
+ };
281
294
  const unmarshalSession = (data) => {
282
295
  if (!isJSONObject(data)) {
283
296
  throw new TypeError(
@@ -387,5 +400,6 @@ export {
387
400
  unmarshalListWebsitesResponse,
388
401
  unmarshalMailAccount,
389
402
  unmarshalResetHostingPasswordResponse,
403
+ unmarshalResourceSummary,
390
404
  unmarshalSession
391
405
  };