@scaleway/sdk 2.54.0 → 2.55.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 (29) hide show
  1. package/dist/api/block/v1alpha1/api.gen.cjs +1 -1
  2. package/dist/api/block/v1alpha1/api.gen.d.ts +1 -1
  3. package/dist/api/block/v1alpha1/api.gen.js +1 -1
  4. package/dist/api/block/v1alpha1/marshalling.gen.cjs +3 -2
  5. package/dist/api/block/v1alpha1/marshalling.gen.js +3 -2
  6. package/dist/api/block/v1alpha1/types.gen.d.ts +2 -2
  7. package/dist/api/cockpit/v1/marshalling.gen.cjs +5 -3
  8. package/dist/api/cockpit/v1/marshalling.gen.js +5 -3
  9. package/dist/api/cockpit/v1/types.gen.d.ts +10 -6
  10. package/dist/api/iam/v1alpha1/marshalling.gen.cjs +1 -0
  11. package/dist/api/iam/v1alpha1/marshalling.gen.js +1 -0
  12. package/dist/api/iam/v1alpha1/types.gen.d.ts +5 -0
  13. package/dist/api/mongodb/v1alpha1/api.gen.cjs +12 -0
  14. package/dist/api/mongodb/v1alpha1/api.gen.d.ts +10 -1
  15. package/dist/api/mongodb/v1alpha1/api.gen.js +12 -0
  16. package/dist/api/mongodb/v1alpha1/index.gen.d.ts +1 -1
  17. package/dist/api/mongodb/v1alpha1/types.gen.d.ts +9 -0
  18. package/dist/api/webhosting/v1/api.gen.cjs +14 -0
  19. package/dist/api/webhosting/v1/api.gen.d.ts +9 -1
  20. package/dist/api/webhosting/v1/api.gen.js +15 -1
  21. package/dist/api/webhosting/v1/index.gen.d.ts +1 -1
  22. package/dist/api/webhosting/v1/marshalling.gen.cjs +14 -0
  23. package/dist/api/webhosting/v1/marshalling.gen.d.ts +2 -1
  24. package/dist/api/webhosting/v1/marshalling.gen.js +14 -0
  25. package/dist/api/webhosting/v1/types.gen.d.ts +19 -0
  26. package/dist/scw/constants.cjs +1 -1
  27. package/dist/scw/constants.d.ts +2 -2
  28. package/dist/scw/constants.js +1 -1
  29. package/package.json +2 -2
@@ -85,7 +85,7 @@ class API extends api.API {
85
85
  * @param request - The request {@link CreateVolumeRequest}
86
86
  * @returns A Promise of Volume
87
87
  */
88
- createVolume = (request) => this.client.fetch(
88
+ createVolume = (request = {}) => this.client.fetch(
89
89
  {
90
90
  body: JSON.stringify(
91
91
  marshalling_gen.marshalCreateVolumeRequest(request, this.client.settings)
@@ -45,7 +45,7 @@ export declare class API extends ParentAPI {
45
45
  * @param request - The request {@link CreateVolumeRequest}
46
46
  * @returns A Promise of Volume
47
47
  */
48
- createVolume: (request: Readonly<CreateVolumeRequest>) => Promise<Volume>;
48
+ createVolume: (request?: Readonly<CreateVolumeRequest>) => Promise<Volume>;
49
49
  /**
50
50
  * Get a volume. Retrieve technical information about a specific volume.
51
51
  * Details such as size, type, and status are returned in the response.
@@ -83,7 +83,7 @@ class API extends API$1 {
83
83
  * @param request - The request {@link CreateVolumeRequest}
84
84
  * @returns A Promise of Volume
85
85
  */
86
- createVolume = (request) => this.client.fetch(
86
+ createVolume = (request = {}) => this.client.fetch(
87
87
  {
88
88
  body: JSON.stringify(
89
89
  marshalCreateVolumeRequest(request, this.client.settings)
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const randomName = require("@scaleway/random-name");
3
4
  const json = require("../../../helpers/json.cjs");
4
5
  const customMarshalling = require("../../../scw/custom-marshalling.cjs");
5
6
  const marshalling = require("../../../helpers/marshalling.cjs");
@@ -133,7 +134,7 @@ const unmarshalListVolumesResponse = (data) => {
133
134
  };
134
135
  };
135
136
  const marshalCreateSnapshotRequest = (request, defaults) => ({
136
- name: request.name,
137
+ name: request.name || randomName("snp"),
137
138
  project_id: request.projectId ?? defaults.defaultProjectId,
138
139
  tags: request.tags,
139
140
  volume_id: request.volumeId
@@ -146,7 +147,7 @@ const marshalCreateVolumeRequestFromSnapshot = (request, defaults) => ({
146
147
  snapshot_id: request.snapshotId
147
148
  });
148
149
  const marshalCreateVolumeRequest = (request, defaults) => ({
149
- name: request.name,
150
+ name: request.name || randomName("vol"),
150
151
  project_id: request.projectId ?? defaults.defaultProjectId,
151
152
  tags: request.tags,
152
153
  ...marshalling.resolveOneOf([
@@ -1,3 +1,4 @@
1
+ import randomName from "@scaleway/random-name";
1
2
  import { isJSONObject } from "../../../helpers/json.js";
2
3
  import { unmarshalMoney } from "../../../scw/custom-marshalling.js";
3
4
  import { unmarshalDate, unmarshalArrayOfObject, resolveOneOf } from "../../../helpers/marshalling.js";
@@ -131,7 +132,7 @@ const unmarshalListVolumesResponse = (data) => {
131
132
  };
132
133
  };
133
134
  const marshalCreateSnapshotRequest = (request, defaults) => ({
134
- name: request.name,
135
+ name: request.name || randomName("snp"),
135
136
  project_id: request.projectId ?? defaults.defaultProjectId,
136
137
  tags: request.tags,
137
138
  volume_id: request.volumeId
@@ -144,7 +145,7 @@ const marshalCreateVolumeRequestFromSnapshot = (request, defaults) => ({
144
145
  snapshot_id: request.snapshotId
145
146
  });
146
147
  const marshalCreateVolumeRequest = (request, defaults) => ({
147
- name: request.name,
148
+ name: request.name || randomName("vol"),
148
149
  project_id: request.projectId ?? defaults.defaultProjectId,
149
150
  tags: request.tags,
150
151
  ...resolveOneOf([
@@ -134,7 +134,7 @@ export type CreateSnapshotRequest = {
134
134
  /** UUID of the volume to snapshot. */
135
135
  volumeId: string;
136
136
  /** Name of the snapshot. */
137
- name: string;
137
+ name?: string;
138
138
  /** UUID of the project to which the volume and the snapshot belong. */
139
139
  projectId?: string;
140
140
  /** List of tags assigned to the snapshot. */
@@ -144,7 +144,7 @@ export type CreateVolumeRequest = {
144
144
  /** Zone to target. If none is passed will use default zone from the config. */
145
145
  zone?: Zone;
146
146
  /** Name of the volume. */
147
- name: string;
147
+ name?: string;
148
148
  /**
149
149
  * The maximum IO/s expected, according to the different options available in
150
150
  * stock (`5000 | 15000`).
@@ -137,9 +137,11 @@ const unmarshalGetConfigResponse = (data) => {
137
137
  );
138
138
  }
139
139
  return {
140
- logsRetention: data.logs_retention ? unmarshalGetConfigResponseRetention(data.logs_retention) : void 0,
141
- metricsRetention: data.metrics_retention ? unmarshalGetConfigResponseRetention(data.metrics_retention) : void 0,
142
- tracesRetention: data.traces_retention ? unmarshalGetConfigResponseRetention(data.traces_retention) : void 0
140
+ customLogsRetention: data.custom_logs_retention ? unmarshalGetConfigResponseRetention(data.custom_logs_retention) : void 0,
141
+ customMetricsRetention: data.custom_metrics_retention ? unmarshalGetConfigResponseRetention(data.custom_metrics_retention) : void 0,
142
+ customTracesRetention: data.custom_traces_retention ? unmarshalGetConfigResponseRetention(data.custom_traces_retention) : void 0,
143
+ productLogsRetention: data.product_logs_retention ? unmarshalGetConfigResponseRetention(data.product_logs_retention) : void 0,
144
+ productMetricsRetention: data.product_metrics_retention ? unmarshalGetConfigResponseRetention(data.product_metrics_retention) : void 0
143
145
  };
144
146
  };
145
147
  const unmarshalGrafana = (data) => {
@@ -135,9 +135,11 @@ const unmarshalGetConfigResponse = (data) => {
135
135
  );
136
136
  }
137
137
  return {
138
- logsRetention: data.logs_retention ? unmarshalGetConfigResponseRetention(data.logs_retention) : void 0,
139
- metricsRetention: data.metrics_retention ? unmarshalGetConfigResponseRetention(data.metrics_retention) : void 0,
140
- tracesRetention: data.traces_retention ? unmarshalGetConfigResponseRetention(data.traces_retention) : void 0
138
+ customLogsRetention: data.custom_logs_retention ? unmarshalGetConfigResponseRetention(data.custom_logs_retention) : void 0,
139
+ customMetricsRetention: data.custom_metrics_retention ? unmarshalGetConfigResponseRetention(data.custom_metrics_retention) : void 0,
140
+ customTracesRetention: data.custom_traces_retention ? unmarshalGetConfigResponseRetention(data.custom_traces_retention) : void 0,
141
+ productLogsRetention: data.product_logs_retention ? unmarshalGetConfigResponseRetention(data.product_logs_retention) : void 0,
142
+ productMetricsRetention: data.product_metrics_retention ? unmarshalGetConfigResponseRetention(data.product_metrics_retention) : void 0
141
143
  };
142
144
  };
143
145
  const unmarshalGrafana = (data) => {
@@ -158,12 +158,16 @@ export interface AlertManager {
158
158
  }
159
159
  /** Cockpit configuration. */
160
160
  export interface GetConfigResponse {
161
- /** Metrics retention configuration. */
162
- metricsRetention?: GetConfigResponseRetention;
163
- /** Logs retention configuration. */
164
- logsRetention?: GetConfigResponseRetention;
165
- /** Traces retention configuration. */
166
- tracesRetention?: GetConfigResponseRetention;
161
+ /** Custom metrics retention configuration. */
162
+ customMetricsRetention?: GetConfigResponseRetention;
163
+ /** Custom logs retention configuration. */
164
+ customLogsRetention?: GetConfigResponseRetention;
165
+ /** Custom traces retention configuration. */
166
+ customTracesRetention?: GetConfigResponseRetention;
167
+ /** Scaleway metrics retention configuration. */
168
+ productMetricsRetention?: GetConfigResponseRetention;
169
+ /** Scaleway logs retention configuration. */
170
+ productLogsRetention?: GetConfigResponseRetention;
167
171
  }
168
172
  /** Create a Grafana user. */
169
173
  export type GlobalApiCreateGrafanaUserRequest = {
@@ -429,6 +429,7 @@ const marshalCreateUserRequestMember = (request, defaults) => ({
429
429
  email: request.email,
430
430
  password: request.password,
431
431
  send_password_email: request.sendPasswordEmail,
432
+ send_welcome_email: request.sendWelcomeEmail,
432
433
  username: request.username
433
434
  });
434
435
  const marshalCreateUserRequest = (request, defaults) => ({
@@ -427,6 +427,7 @@ const marshalCreateUserRequestMember = (request, defaults) => ({
427
427
  email: request.email,
428
428
  password: request.password,
429
429
  send_password_email: request.sendPasswordEmail,
430
+ send_welcome_email: request.sendWelcomeEmail,
430
431
  username: request.username
431
432
  });
432
433
  const marshalCreateUserRequest = (request, defaults) => ({
@@ -57,6 +57,11 @@ export interface CreateUserRequestMember {
57
57
  email: string;
58
58
  /** Whether or not to send an email containing the member's password. */
59
59
  sendPasswordEmail: boolean;
60
+ /**
61
+ * Whether or not to send a welcome email that includes onboarding
62
+ * information.
63
+ */
64
+ sendWelcomeEmail: boolean;
60
65
  /** The member's username. */
61
66
  username: string;
62
67
  /** The member's password. */
@@ -395,5 +395,17 @@ 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
+ });
398
410
  }
399
411
  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 { 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';
4
4
  /**
5
5
  * Managed Database for MongoDB®.
6
6
  *
@@ -208,4 +208,13 @@ 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>;
211
220
  }
@@ -393,6 +393,18 @@ 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
+ });
396
408
  }
397
409
  export {
398
410
  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 { 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';
@@ -252,6 +252,15 @@ export type CreateUserRequest = {
252
252
  /** Password of the database user. */
253
253
  password: string;
254
254
  };
255
+ export type DeleteEndpointRequest = {
256
+ /**
257
+ * Region to target. If none is passed will use default region from the
258
+ * config.
259
+ */
260
+ region?: Region;
261
+ /** UUID of the Endpoint to delete. */
262
+ endpointId: string;
263
+ };
255
264
  export type DeleteInstanceRequest = {
256
265
  /**
257
266
  * 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
  };
@@ -462,6 +462,15 @@ export type HostingApiGetHostingRequest = {
462
462
  /** Hosting ID. */
463
463
  hostingId: string;
464
464
  };
465
+ export type HostingApiGetResourceSummaryRequest = {
466
+ /**
467
+ * Region to target. If none is passed will use default region from the
468
+ * config.
469
+ */
470
+ region?: Region;
471
+ /** Hosting ID. */
472
+ hostingId: string;
473
+ };
465
474
  export type HostingApiListHostingsRequest = {
466
475
  /**
467
476
  * Region to target. If none is passed will use default region from the
@@ -674,6 +683,16 @@ export interface ResetHostingPasswordResponse {
674
683
  /** New temporary password. */
675
684
  oneTimePassword: string;
676
685
  }
686
+ export interface ResourceSummary {
687
+ /** Total number of active databases in the Web Hosting plan. */
688
+ databasesCount: number;
689
+ /** Total number of active email accounts in the Web Hosting plan. */
690
+ mailAccountsCount: number;
691
+ /** Total number of active FTP accounts in the Web Hosting plan. */
692
+ ftpAccountsCount: number;
693
+ /** Total number of active domains in the the Web Hosting plan. */
694
+ websitesCount: number;
695
+ }
677
696
  export interface Session {
678
697
  /** Logged user's session URL. */
679
698
  url: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const version = "v2.53.0";
3
+ const version = "v2.54.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.53.0";
2
- export declare const userAgent = "scaleway-sdk-js/v2.53.0";
1
+ export declare const version = "v2.54.0";
2
+ export declare const userAgent = "scaleway-sdk-js/v2.54.0";
@@ -1,4 +1,4 @@
1
- const version = "v2.53.0";
1
+ const version = "v2.54.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.54.0",
3
+ "version": "2.55.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": "549c4e0a2c570e83b330c4f24b8eebe2cdc549d4"
42
+ "gitHead": "d3f0ca3df372a526551181cdb79e4a7391ba7205"
43
43
  }