@scaleway/sdk 2.31.0 → 2.32.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 (51) hide show
  1. package/dist/api/baremetal/v1/api.gen.cjs +1 -0
  2. package/dist/api/baremetal/v1/api.gen.js +1 -0
  3. package/dist/api/baremetal/v1/types.gen.d.ts +2 -0
  4. package/dist/api/block/v1alpha1/api.gen.cjs +44 -0
  5. package/dist/api/block/v1alpha1/api.gen.d.ts +19 -1
  6. package/dist/api/block/v1alpha1/api.gen.js +45 -1
  7. package/dist/api/block/v1alpha1/content.gen.cjs +2 -1
  8. package/dist/api/block/v1alpha1/content.gen.js +2 -1
  9. package/dist/api/block/v1alpha1/index.gen.d.ts +1 -1
  10. package/dist/api/block/v1alpha1/marshalling.gen.cjs +14 -0
  11. package/dist/api/block/v1alpha1/marshalling.gen.d.ts +3 -1
  12. package/dist/api/block/v1alpha1/marshalling.gen.js +14 -0
  13. package/dist/api/block/v1alpha1/types.gen.d.ts +27 -1
  14. package/dist/api/block/v1alpha1/validation-rules.gen.cjs +6 -0
  15. package/dist/api/block/v1alpha1/validation-rules.gen.d.ts +5 -0
  16. package/dist/api/block/v1alpha1/validation-rules.gen.js +6 -0
  17. package/dist/api/instance/v1/api.gen.cjs +0 -25
  18. package/dist/api/instance/v1/api.gen.d.ts +1 -17
  19. package/dist/api/instance/v1/api.gen.js +1 -26
  20. package/dist/api/instance/v1/index.gen.d.ts +1 -1
  21. package/dist/api/instance/v1/marshalling.gen.cjs +4 -13
  22. package/dist/api/instance/v1/marshalling.gen.d.ts +1 -2
  23. package/dist/api/instance/v1/marshalling.gen.js +4 -13
  24. package/dist/api/instance/v1/types.gen.d.ts +20 -24
  25. package/dist/api/instance/v1/types.private.gen.d.ts +7 -0
  26. package/dist/api/k8s/v1/api.gen.cjs +0 -22
  27. package/dist/api/k8s/v1/api.gen.d.ts +1 -10
  28. package/dist/api/k8s/v1/api.gen.js +1 -23
  29. package/dist/api/k8s/v1/index.gen.d.ts +1 -1
  30. package/dist/api/k8s/v1/marshalling.gen.cjs +0 -4
  31. package/dist/api/k8s/v1/marshalling.gen.d.ts +1 -2
  32. package/dist/api/k8s/v1/marshalling.gen.js +0 -4
  33. package/dist/api/k8s/v1/types.gen.d.ts +0 -11
  34. package/dist/api/secret/v1beta1/types.gen.d.ts +4 -4
  35. package/dist/api/tem/v1alpha1/api.gen.cjs +49 -0
  36. package/dist/api/tem/v1alpha1/api.gen.d.ts +13 -1
  37. package/dist/api/tem/v1alpha1/api.gen.js +50 -1
  38. package/dist/api/tem/v1alpha1/index.gen.cjs +2 -0
  39. package/dist/api/tem/v1alpha1/index.gen.d.ts +2 -1
  40. package/dist/api/tem/v1alpha1/index.gen.js +3 -1
  41. package/dist/api/tem/v1alpha1/marshalling.gen.cjs +71 -0
  42. package/dist/api/tem/v1alpha1/marshalling.gen.d.ts +5 -1
  43. package/dist/api/tem/v1alpha1/marshalling.gen.js +72 -1
  44. package/dist/api/tem/v1alpha1/types.gen.d.ts +115 -0
  45. package/dist/api/tem/v1alpha1/validation-rules.gen.cjs +33 -0
  46. package/dist/api/tem/v1alpha1/validation-rules.gen.d.ts +28 -0
  47. package/dist/api/tem/v1alpha1/validation-rules.gen.js +33 -0
  48. package/dist/scw/constants.cjs +1 -1
  49. package/dist/scw/constants.d.ts +2 -2
  50. package/dist/scw/constants.js +1 -1
  51. package/package.json +2 -2
@@ -221,6 +221,8 @@ const unmarshalServer = (data) => {
221
221
  );
222
222
  }
223
223
  return {
224
+ adminPasswordEncryptedValue: data.admin_password_encrypted_value,
225
+ adminPasswordEncryptionSshKeyId: data.admin_password_encryption_ssh_key_id,
224
226
  allowedActions: data.allowed_actions,
225
227
  arch: data.arch,
226
228
  bootType: data.boot_type,
@@ -540,18 +542,6 @@ const unmarshalGetDashboardResponse = (data) => {
540
542
  dashboard: data.dashboard ? unmarshalDashboard(data.dashboard) : void 0
541
543
  };
542
544
  };
543
- const unmarshalGetEncryptedRdpPasswordResponse = (data) => {
544
- if (!isJSONObject(data)) {
545
- throw new TypeError(
546
- `Unmarshalling the type 'GetEncryptedRdpPasswordResponse' failed as data isn't a dictionary.`
547
- );
548
- }
549
- return {
550
- adminPasswordEncryptionSshKeyDescription: data.admin_password_encryption_ssh_key_description,
551
- adminPasswordEncryptionSshKeyId: data.admin_password_encryption_ssh_key_id,
552
- value: data.value
553
- };
554
- };
555
545
  const unmarshalGetImageResponse = (data) => {
556
546
  if (!isJSONObject(data)) {
557
547
  throw new TypeError(
@@ -1588,6 +1578,7 @@ const marshalServerMaintenance = (request, defaults) => ({
1588
1578
  start_date: request.startDate
1589
1579
  });
1590
1580
  const marshalSetServerRequest = (request, defaults) => ({
1581
+ admin_password_encryption_ssh_key_id: request.adminPasswordEncryptionSshKeyId,
1591
1582
  allowed_actions: request.allowedActions !== void 0 ? request.allowedActions : void 0,
1592
1583
  arch: request.arch,
1593
1584
  boot_type: request.bootType,
@@ -1700,6 +1691,7 @@ const marshalSecurityGroupTemplate = (request, defaults) => ({
1700
1691
  name: request.name
1701
1692
  });
1702
1693
  const marshalUpdateServerRequest = (request, defaults) => ({
1694
+ admin_password_encryption_ssh_key_id: request.adminPasswordEncryptionSshKeyId,
1703
1695
  boot_type: request.bootType,
1704
1696
  bootscript: request.bootscript,
1705
1697
  commercial_type: request.commercialType,
@@ -1778,7 +1770,6 @@ export {
1778
1770
  unmarshalExportSnapshotResponse,
1779
1771
  unmarshalGetBootscriptResponse,
1780
1772
  unmarshalGetDashboardResponse,
1781
- unmarshalGetEncryptedRdpPasswordResponse,
1782
1773
  unmarshalGetImageResponse,
1783
1774
  unmarshalGetIpResponse,
1784
1775
  unmarshalGetPlacementGroupResponse,
@@ -339,6 +339,18 @@ export interface Server {
339
339
  privateNics: PrivateNIC[];
340
340
  /** Zone in which the Instance is located. */
341
341
  zone: Zone;
342
+ /**
343
+ * The public_key value of this key is used to encrypt the admin password.
344
+ * When set to an empty string, reset this value and
345
+ * admin_password_encrypted_value to an empty string so a new password may be
346
+ * generated.
347
+ */
348
+ adminPasswordEncryptionSshKeyId?: string;
349
+ /**
350
+ * This value is reset when admin_password_encryption_ssh_key_id is set to an
351
+ * empty string.
352
+ */
353
+ adminPasswordEncryptedValue?: string;
342
354
  }
343
355
  export interface VolumeTemplate {
344
356
  /** UUID of the volume. */
@@ -878,10 +890,7 @@ export type CreateServerRequest = {
878
890
  securityGroup?: string;
879
891
  /** Placement group ID if Instance must be part of a placement group. */
880
892
  placementGroup?: string;
881
- /**
882
- * UUID of the SSH RSA key that will be used to encrypt the initial admin
883
- * password for OS requiring it. Mandatory for Windows OS.
884
- */
893
+ /** The public_key value of this key is used to encrypt the admin password. */
885
894
  adminPasswordEncryptionSshKeyId?: string;
886
895
  };
887
896
  export interface CreateServerResponse {
@@ -965,12 +974,6 @@ export type CreateVolumeRequest = {
965
974
  export interface CreateVolumeResponse {
966
975
  volume?: Volume;
967
976
  }
968
- export type DeleteEncryptedRdpPasswordRequest = {
969
- /** Zone to target. If none is passed will use default zone from the config. */
970
- zone?: Zone;
971
- /** UUID of the Instance. */
972
- serverId: string;
973
- };
974
977
  export type DeleteImageRequest = {
975
978
  /** Zone to target. If none is passed will use default zone from the config. */
976
979
  zone?: Zone;
@@ -1073,20 +1076,6 @@ export type GetDashboardRequest = {
1073
1076
  export interface GetDashboardResponse {
1074
1077
  dashboard?: Dashboard;
1075
1078
  }
1076
- export type GetEncryptedRdpPasswordRequest = {
1077
- /** Zone to target. If none is passed will use default zone from the config. */
1078
- zone?: Zone;
1079
- /** UUID of the Instance. */
1080
- serverId: string;
1081
- };
1082
- export interface GetEncryptedRdpPasswordResponse {
1083
- /** The encrypted RDP password. */
1084
- value?: string;
1085
- /** The description of the SSH key used for ciphering. */
1086
- adminPasswordEncryptionSshKeyDescription?: string;
1087
- /** The UUID of the SSH key used for ciphering. */
1088
- adminPasswordEncryptionSshKeyId?: string;
1089
- }
1090
1079
  export type GetImageRequest = {
1091
1080
  /** Zone to target. If none is passed will use default zone from the config. */
1092
1081
  zone?: Zone;
@@ -1809,6 +1798,13 @@ export type UpdateServerRequest = {
1809
1798
  * DEV1-S, which has only 20GB).
1810
1799
  */
1811
1800
  commercialType?: string;
1801
+ /**
1802
+ * The public_key value of this key is used to encrypt the admin password.
1803
+ * When set to an empty string, reset this value and
1804
+ * admin_password_encrypted_value to an empty string so a new password may be
1805
+ * generated.
1806
+ */
1807
+ adminPasswordEncryptionSshKeyId?: string;
1812
1808
  };
1813
1809
  export interface UpdateServerResponse {
1814
1810
  server?: Server;
@@ -142,6 +142,13 @@ export type SetServerRequest = {
142
142
  placementGroup?: PlacementGroup;
143
143
  /** Instance private NICs. */
144
144
  privateNics?: PrivateNIC[];
145
+ /**
146
+ * The public_key value of this key is used to encrypt the admin password.
147
+ * When set to an empty string, reset this value and
148
+ * admin_password_encrypted_value to an empty string so a new password may be
149
+ * generated.
150
+ */
151
+ adminPasswordEncryptionSshKeyId?: string;
145
152
  };
146
153
  export interface SetServerResponse {
147
154
  server?: Server;
@@ -210,28 +210,6 @@ class API extends api.API {
210
210
  method: "POST",
211
211
  path: `/k8s/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/clusters/${marshalling.validatePathParam("clusterId", request.clusterId)}/reset-admin-token`
212
212
  });
213
- /**
214
- * Migrate an existing cluster to a Private Network cluster. Migrate a cluster
215
- * that was created before the release of Private Network clusters to a new
216
- * one with a Private Network.
217
- *
218
- * @param request - The request {@link MigrateToPrivateNetworkClusterRequest}
219
- * @returns A Promise of Cluster
220
- */
221
- migrateToPrivateNetworkCluster = (request) => this.client.fetch(
222
- {
223
- body: JSON.stringify(
224
- marshalling_gen.marshalMigrateToPrivateNetworkClusterRequest(
225
- request,
226
- this.client.settings
227
- )
228
- ),
229
- headers: jsonContentHeaders,
230
- method: "POST",
231
- path: `/k8s/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/clusters/${marshalling.validatePathParam("clusterId", request.clusterId)}/migrate-to-private-network`
232
- },
233
- marshalling_gen.unmarshalCluster
234
- );
235
213
  /**
236
214
  * Migrate a cluster to Routed IPs. Migrate the nodes of an existing cluster
237
215
  * to Routed IPs and enable Routed IPs for all future nodes.
@@ -1,6 +1,6 @@
1
1
  import { API as ParentAPI } from '../../../bridge';
2
2
  import type { Region, WaitForOptions } from '../../../bridge';
3
- import type { Cluster, CreateClusterRequest, CreateExternalNodeRequest, CreatePoolRequest, DeleteClusterRequest, DeleteNodeRequest, DeletePoolRequest, ExternalNode, GetClusterKubeConfigRequest, GetClusterRequest, GetNodeRequest, GetPoolRequest, GetVersionRequest, ListClusterAvailableTypesRequest, ListClusterAvailableTypesResponse, ListClusterAvailableVersionsRequest, ListClusterAvailableVersionsResponse, ListClusterTypesRequest, ListClusterTypesResponse, ListClustersRequest, ListClustersResponse, ListNodesRequest, ListNodesResponse, ListPoolsRequest, ListPoolsResponse, ListVersionsRequest, ListVersionsResponse, MigrateClusterToRoutedIPsRequest, MigrateToPrivateNetworkClusterRequest, Node, Pool, RebootNodeRequest, ReplaceNodeRequest, ResetClusterAdminTokenRequest, SetClusterTypeRequest, UpdateClusterRequest, UpdatePoolRequest, UpgradeClusterRequest, UpgradePoolRequest, Version } from './types.gen';
3
+ import type { Cluster, CreateClusterRequest, CreateExternalNodeRequest, CreatePoolRequest, DeleteClusterRequest, DeleteNodeRequest, DeletePoolRequest, ExternalNode, GetClusterKubeConfigRequest, GetClusterRequest, GetNodeRequest, GetPoolRequest, GetVersionRequest, ListClusterAvailableTypesRequest, ListClusterAvailableTypesResponse, ListClusterAvailableVersionsRequest, ListClusterAvailableVersionsResponse, ListClusterTypesRequest, ListClusterTypesResponse, ListClustersRequest, ListClustersResponse, ListNodesRequest, ListNodesResponse, ListPoolsRequest, ListPoolsResponse, ListVersionsRequest, ListVersionsResponse, MigrateClusterToRoutedIPsRequest, Node, Pool, RebootNodeRequest, ReplaceNodeRequest, ResetClusterAdminTokenRequest, SetClusterTypeRequest, UpdateClusterRequest, UpdatePoolRequest, UpgradeClusterRequest, UpgradePoolRequest, Version } from './types.gen';
4
4
  /**
5
5
  * Kubernetes API.
6
6
  *
@@ -107,15 +107,6 @@ export declare class API extends ParentAPI {
107
107
  * @param request - The request {@link ResetClusterAdminTokenRequest}
108
108
  */
109
109
  resetClusterAdminToken: (request: Readonly<ResetClusterAdminTokenRequest>) => Promise<void>;
110
- /**
111
- * Migrate an existing cluster to a Private Network cluster. Migrate a cluster
112
- * that was created before the release of Private Network clusters to a new
113
- * one with a Private Network.
114
- *
115
- * @param request - The request {@link MigrateToPrivateNetworkClusterRequest}
116
- * @returns A Promise of Cluster
117
- */
118
- migrateToPrivateNetworkCluster: (request: Readonly<MigrateToPrivateNetworkClusterRequest>) => Promise<Cluster>;
119
110
  /**
120
111
  * Migrate a cluster to Routed IPs. Migrate the nodes of an existing cluster
121
112
  * to Routed IPs and enable Routed IPs for all future nodes.
@@ -3,7 +3,7 @@ import { API as API$1 } from "../../../scw/api.js";
3
3
  import { validatePathParam, urlParams } from "../../../helpers/marshalling.js";
4
4
  import { enrichForPagination } from "../../../scw/fetch/resource-paginator.js";
5
5
  import { CLUSTER_TRANSIENT_STATUSES, POOL_TRANSIENT_STATUSES, NODE_TRANSIENT_STATUSES } from "./content.gen.js";
6
- import { unmarshalListClustersResponse, marshalCreateClusterRequest, unmarshalCluster, marshalUpdateClusterRequest, marshalUpgradeClusterRequest, marshalSetClusterTypeRequest, unmarshalListClusterAvailableVersionsResponse, unmarshalListClusterAvailableTypesResponse, marshalMigrateToPrivateNetworkClusterRequest, unmarshalListPoolsResponse, marshalCreatePoolRequest, unmarshalPool, marshalUpgradePoolRequest, marshalUpdatePoolRequest, unmarshalExternalNode, unmarshalListNodesResponse, unmarshalNode, unmarshalListVersionsResponse, unmarshalVersion, unmarshalListClusterTypesResponse } from "./marshalling.gen.js";
6
+ import { unmarshalListClustersResponse, marshalCreateClusterRequest, unmarshalCluster, marshalUpdateClusterRequest, marshalUpgradeClusterRequest, marshalSetClusterTypeRequest, unmarshalListClusterAvailableVersionsResponse, unmarshalListClusterAvailableTypesResponse, unmarshalListPoolsResponse, marshalCreatePoolRequest, unmarshalPool, marshalUpgradePoolRequest, marshalUpdatePoolRequest, unmarshalExternalNode, unmarshalListNodesResponse, unmarshalNode, unmarshalListVersionsResponse, unmarshalVersion, unmarshalListClusterTypesResponse } from "./marshalling.gen.js";
7
7
  const jsonContentHeaders = {
8
8
  "Content-Type": "application/json; charset=utf-8"
9
9
  };
@@ -208,28 +208,6 @@ class API extends API$1 {
208
208
  method: "POST",
209
209
  path: `/k8s/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/clusters/${validatePathParam("clusterId", request.clusterId)}/reset-admin-token`
210
210
  });
211
- /**
212
- * Migrate an existing cluster to a Private Network cluster. Migrate a cluster
213
- * that was created before the release of Private Network clusters to a new
214
- * one with a Private Network.
215
- *
216
- * @param request - The request {@link MigrateToPrivateNetworkClusterRequest}
217
- * @returns A Promise of Cluster
218
- */
219
- migrateToPrivateNetworkCluster = (request) => this.client.fetch(
220
- {
221
- body: JSON.stringify(
222
- marshalMigrateToPrivateNetworkClusterRequest(
223
- request,
224
- this.client.settings
225
- )
226
- ),
227
- headers: jsonContentHeaders,
228
- method: "POST",
229
- path: `/k8s/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/clusters/${validatePathParam("clusterId", request.clusterId)}/migrate-to-private-network`
230
- },
231
- unmarshalCluster
232
- );
233
211
  /**
234
212
  * Migrate a cluster to Routed IPs. Migrate the nodes of an existing cluster
235
213
  * to Routed IPs and enable Routed IPs for all future nodes.
@@ -1,4 +1,4 @@
1
1
  export { API } from './api.gen';
2
2
  export * from './content.gen';
3
- export type { AutoscalerEstimator, AutoscalerExpander, CNI, Cluster, ClusterAutoUpgrade, ClusterAutoscalerConfig, ClusterOpenIDConnectConfig, ClusterStatus, ClusterType, ClusterTypeAvailability, ClusterTypeResiliency, CreateClusterRequest, CreateClusterRequestAutoUpgrade, CreateClusterRequestAutoscalerConfig, CreateClusterRequestOpenIDConnectConfig, CreateClusterRequestPoolConfig, CreateClusterRequestPoolConfigUpgradePolicy, CreateExternalNodeRequest, CreatePoolRequest, CreatePoolRequestUpgradePolicy, DeleteClusterRequest, DeleteNodeRequest, DeletePoolRequest, ExternalNode, ExternalNodeCoreV1Taint, GetClusterKubeConfigRequest, GetClusterRequest, GetNodeRequest, GetPoolRequest, GetVersionRequest, ListClusterAvailableTypesRequest, ListClusterAvailableTypesResponse, ListClusterAvailableVersionsRequest, ListClusterAvailableVersionsResponse, ListClusterTypesRequest, ListClusterTypesResponse, ListClustersRequest, ListClustersRequestOrderBy, ListClustersResponse, ListNodesRequest, ListNodesRequestOrderBy, ListNodesResponse, ListPoolsRequest, ListPoolsRequestOrderBy, ListPoolsResponse, ListVersionsRequest, ListVersionsResponse, MaintenanceWindow, MaintenanceWindowDayOfTheWeek, MigrateClusterToRoutedIPsRequest, MigrateToPrivateNetworkClusterRequest, Node, NodeStatus, Pool, PoolStatus, PoolUpgradePolicy, PoolVolumeType, RebootNodeRequest, ReplaceNodeRequest, ResetClusterAdminTokenRequest, Runtime, SetClusterTypeRequest, UpdateClusterRequest, UpdateClusterRequestAutoUpgrade, UpdateClusterRequestAutoscalerConfig, UpdateClusterRequestOpenIDConnectConfig, UpdatePoolRequest, UpdatePoolRequestUpgradePolicy, UpgradeClusterRequest, UpgradePoolRequest, Version, } from './types.gen';
3
+ export type { AutoscalerEstimator, AutoscalerExpander, CNI, Cluster, ClusterAutoUpgrade, ClusterAutoscalerConfig, ClusterOpenIDConnectConfig, ClusterStatus, ClusterType, ClusterTypeAvailability, ClusterTypeResiliency, CreateClusterRequest, CreateClusterRequestAutoUpgrade, CreateClusterRequestAutoscalerConfig, CreateClusterRequestOpenIDConnectConfig, CreateClusterRequestPoolConfig, CreateClusterRequestPoolConfigUpgradePolicy, CreateExternalNodeRequest, CreatePoolRequest, CreatePoolRequestUpgradePolicy, DeleteClusterRequest, DeleteNodeRequest, DeletePoolRequest, ExternalNode, ExternalNodeCoreV1Taint, GetClusterKubeConfigRequest, GetClusterRequest, GetNodeRequest, GetPoolRequest, GetVersionRequest, ListClusterAvailableTypesRequest, ListClusterAvailableTypesResponse, ListClusterAvailableVersionsRequest, ListClusterAvailableVersionsResponse, ListClusterTypesRequest, ListClusterTypesResponse, ListClustersRequest, ListClustersRequestOrderBy, ListClustersResponse, ListNodesRequest, ListNodesRequestOrderBy, ListNodesResponse, ListPoolsRequest, ListPoolsRequestOrderBy, ListPoolsResponse, ListVersionsRequest, ListVersionsResponse, MaintenanceWindow, MaintenanceWindowDayOfTheWeek, MigrateClusterToRoutedIPsRequest, Node, NodeStatus, Pool, PoolStatus, PoolUpgradePolicy, PoolVolumeType, RebootNodeRequest, ReplaceNodeRequest, ResetClusterAdminTokenRequest, Runtime, SetClusterTypeRequest, UpdateClusterRequest, UpdateClusterRequestAutoUpgrade, UpdateClusterRequestAutoscalerConfig, UpdateClusterRequestOpenIDConnectConfig, UpdatePoolRequest, UpdatePoolRequestUpgradePolicy, UpgradeClusterRequest, UpgradePoolRequest, Version, } from './types.gen';
4
4
  export * as ValidationRules from './validation-rules.gen';
@@ -421,9 +421,6 @@ const marshalCreatePoolRequest = (request, defaults) => ({
421
421
  upgrade_policy: request.upgradePolicy !== void 0 ? marshalCreatePoolRequestUpgradePolicy(request.upgradePolicy) : void 0,
422
422
  zone: request.zone ?? defaults.defaultZone
423
423
  });
424
- const marshalMigrateToPrivateNetworkClusterRequest = (request, defaults) => ({
425
- private_network_id: request.privateNetworkId
426
- });
427
424
  const marshalSetClusterTypeRequest = (request, defaults) => ({
428
425
  type: request.type
429
426
  });
@@ -490,7 +487,6 @@ const marshalUpgradePoolRequest = (request, defaults) => ({
490
487
  });
491
488
  exports.marshalCreateClusterRequest = marshalCreateClusterRequest;
492
489
  exports.marshalCreatePoolRequest = marshalCreatePoolRequest;
493
- exports.marshalMigrateToPrivateNetworkClusterRequest = marshalMigrateToPrivateNetworkClusterRequest;
494
490
  exports.marshalSetClusterTypeRequest = marshalSetClusterTypeRequest;
495
491
  exports.marshalUpdateClusterRequest = marshalUpdateClusterRequest;
496
492
  exports.marshalUpdatePoolRequest = marshalUpdatePoolRequest;
@@ -1,5 +1,5 @@
1
1
  import type { DefaultValues } from '../../../bridge';
2
- import type { Cluster, CreateClusterRequest, CreatePoolRequest, ExternalNode, ListClusterAvailableTypesResponse, ListClusterAvailableVersionsResponse, ListClusterTypesResponse, ListClustersResponse, ListNodesResponse, ListPoolsResponse, ListVersionsResponse, MigrateToPrivateNetworkClusterRequest, Node, Pool, SetClusterTypeRequest, UpdateClusterRequest, UpdatePoolRequest, UpgradeClusterRequest, UpgradePoolRequest, Version } from './types.gen';
2
+ import type { Cluster, CreateClusterRequest, CreatePoolRequest, ExternalNode, ListClusterAvailableTypesResponse, ListClusterAvailableVersionsResponse, ListClusterTypesResponse, ListClustersResponse, ListNodesResponse, ListPoolsResponse, ListVersionsResponse, Node, Pool, SetClusterTypeRequest, UpdateClusterRequest, UpdatePoolRequest, UpgradeClusterRequest, UpgradePoolRequest, Version } from './types.gen';
3
3
  export declare const unmarshalPool: (data: unknown) => Pool;
4
4
  export declare const unmarshalVersion: (data: unknown) => Version;
5
5
  export declare const unmarshalCluster: (data: unknown) => Cluster;
@@ -14,7 +14,6 @@ export declare const unmarshalListPoolsResponse: (data: unknown) => ListPoolsRes
14
14
  export declare const unmarshalListVersionsResponse: (data: unknown) => ListVersionsResponse;
15
15
  export declare const marshalCreateClusterRequest: (request: CreateClusterRequest, defaults: DefaultValues) => Record<string, unknown>;
16
16
  export declare const marshalCreatePoolRequest: (request: CreatePoolRequest, defaults: DefaultValues) => Record<string, unknown>;
17
- export declare const marshalMigrateToPrivateNetworkClusterRequest: (request: MigrateToPrivateNetworkClusterRequest, defaults: DefaultValues) => Record<string, unknown>;
18
17
  export declare const marshalSetClusterTypeRequest: (request: SetClusterTypeRequest, defaults: DefaultValues) => Record<string, unknown>;
19
18
  export declare const marshalUpdateClusterRequest: (request: UpdateClusterRequest, defaults: DefaultValues) => Record<string, unknown>;
20
19
  export declare const marshalUpdatePoolRequest: (request: UpdatePoolRequest, defaults: DefaultValues) => Record<string, unknown>;
@@ -419,9 +419,6 @@ const marshalCreatePoolRequest = (request, defaults) => ({
419
419
  upgrade_policy: request.upgradePolicy !== void 0 ? marshalCreatePoolRequestUpgradePolicy(request.upgradePolicy) : void 0,
420
420
  zone: request.zone ?? defaults.defaultZone
421
421
  });
422
- const marshalMigrateToPrivateNetworkClusterRequest = (request, defaults) => ({
423
- private_network_id: request.privateNetworkId
424
- });
425
422
  const marshalSetClusterTypeRequest = (request, defaults) => ({
426
423
  type: request.type
427
424
  });
@@ -489,7 +486,6 @@ const marshalUpgradePoolRequest = (request, defaults) => ({
489
486
  export {
490
487
  marshalCreateClusterRequest,
491
488
  marshalCreatePoolRequest,
492
- marshalMigrateToPrivateNetworkClusterRequest,
493
489
  marshalSetClusterTypeRequest,
494
490
  marshalUpdateClusterRequest,
495
491
  marshalUpdatePoolRequest,
@@ -974,17 +974,6 @@ export type MigrateClusterToRoutedIPsRequest = {
974
974
  region?: Region;
975
975
  clusterId: string;
976
976
  };
977
- export type MigrateToPrivateNetworkClusterRequest = {
978
- /**
979
- * Region to target. If none is passed will use default region from the
980
- * config.
981
- */
982
- region?: Region;
983
- /** ID of the cluster to migrate. */
984
- clusterId: string;
985
- /** ID of the Private Network to link to the cluster. */
986
- privateNetworkId: string;
987
- };
988
977
  export type RebootNodeRequest = {
989
978
  /**
990
979
  * Region to target. If none is passed will use default region from the
@@ -55,10 +55,10 @@ export interface SecretVersion {
55
55
  /** ID of the secret. */
56
56
  secretId: string;
57
57
  /**
58
- * - `unknown`: the version is in an invalid state. `enabled`: the version is
59
- * accessible. `disabled`: the version is not accessible but can be enabled.
60
- * `deleted`: the version is permanently deleted. It is not possible to
61
- * recover it.
58
+ * - `unknown_status`: the version is in an invalid state. `enabled`: the
59
+ * version is accessible. `disabled`: the version is not accessible but can
60
+ * be enabled. `deleted`: the version is permanently deleted. It is not
61
+ * possible to recover it.
62
62
  */
63
63
  status: SecretVersionStatus;
64
64
  /** Date and time of the version's creation. */
@@ -256,5 +256,54 @@ class API extends api.API {
256
256
  },
257
257
  marshalling_gen.unmarshalDomainLastStatus
258
258
  );
259
+ pageOfListWebhooks = (request = {}) => this.client.fetch(
260
+ {
261
+ method: "GET",
262
+ path: `/transactional-email/v1alpha1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/webhooks`,
263
+ urlParams: marshalling.urlParams(
264
+ ["order_by", request.orderBy],
265
+ ["organization_id", request.organizationId],
266
+ ["page", request.page],
267
+ [
268
+ "page_size",
269
+ request.pageSize ?? this.client.settings.defaultPageSize
270
+ ],
271
+ ["project_id", request.projectId]
272
+ )
273
+ },
274
+ marshalling_gen.unmarshalListWebhooksResponse
275
+ );
276
+ listWebhooks = (request = {}) => resourcePaginator.enrichForPagination("webhooks", this.pageOfListWebhooks, request);
277
+ updateWebhook = (request) => this.client.fetch(
278
+ {
279
+ body: JSON.stringify(
280
+ marshalling_gen.marshalUpdateWebhookRequest(request, this.client.settings)
281
+ ),
282
+ headers: jsonContentHeaders,
283
+ method: "PATCH",
284
+ path: `/transactional-email/v1alpha1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/webhooks/${marshalling.validatePathParam("webhookId", request.webhookId)}`
285
+ },
286
+ marshalling_gen.unmarshalWebhook
287
+ );
288
+ deleteWebhook = (request) => this.client.fetch({
289
+ method: "DELETE",
290
+ path: `/transactional-email/v1alpha1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/webhooks/${marshalling.validatePathParam("webhookId", request.webhookId)}`
291
+ });
292
+ pageOfListWebhookEvents = (request) => this.client.fetch(
293
+ {
294
+ method: "GET",
295
+ path: `/transactional-email/v1alpha1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/webhooks/${marshalling.validatePathParam("webhookId", request.webhookId)}/events`,
296
+ urlParams: marshalling.urlParams(
297
+ ["order_by", request.orderBy],
298
+ ["page", request.page],
299
+ [
300
+ "page_size",
301
+ request.pageSize ?? this.client.settings.defaultPageSize
302
+ ]
303
+ )
304
+ },
305
+ marshalling_gen.unmarshalListWebhookEventsResponse
306
+ );
307
+ listWebhookEvents = (request) => resourcePaginator.enrichForPagination("webhookEvents", this.pageOfListWebhookEvents, request);
259
308
  }
260
309
  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 { CancelEmailRequest, CheckDomainRequest, CreateDomainRequest, CreateEmailRequest, CreateEmailResponse, Domain, DomainLastStatus, Email, GetDomainLastStatusRequest, GetDomainRequest, GetEmailRequest, GetStatisticsRequest, ListDomainsRequest, ListDomainsResponse, ListEmailsRequest, ListEmailsResponse, RevokeDomainRequest, Statistics } from './types.gen';
3
+ import type { CancelEmailRequest, CheckDomainRequest, CreateDomainRequest, CreateEmailRequest, CreateEmailResponse, DeleteWebhookRequest, Domain, DomainLastStatus, Email, GetDomainLastStatusRequest, GetDomainRequest, GetEmailRequest, GetStatisticsRequest, ListDomainsRequest, ListDomainsResponse, ListEmailsRequest, ListEmailsResponse, ListWebhookEventsRequest, ListWebhookEventsResponse, ListWebhooksRequest, ListWebhooksResponse, RevokeDomainRequest, Statistics, UpdateWebhookRequest, Webhook } from './types.gen';
4
4
  /**
5
5
  * Transactional Email API.
6
6
  *
@@ -131,4 +131,16 @@ export declare class API extends ParentAPI {
131
131
  * @returns A Promise of DomainLastStatus
132
132
  */
133
133
  getDomainLastStatus: (request: Readonly<GetDomainLastStatusRequest>) => Promise<DomainLastStatus>;
134
+ protected pageOfListWebhooks: (request?: Readonly<ListWebhooksRequest>) => Promise<ListWebhooksResponse>;
135
+ listWebhooks: (request?: Readonly<ListWebhooksRequest>) => Promise<ListWebhooksResponse> & {
136
+ all: () => Promise<Webhook[]>;
137
+ [Symbol.asyncIterator]: () => AsyncGenerator<Webhook[], void, void>;
138
+ };
139
+ updateWebhook: (request: Readonly<UpdateWebhookRequest>) => Promise<Webhook>;
140
+ deleteWebhook: (request: Readonly<DeleteWebhookRequest>) => Promise<void>;
141
+ protected pageOfListWebhookEvents: (request: Readonly<ListWebhookEventsRequest>) => Promise<ListWebhookEventsResponse>;
142
+ listWebhookEvents: (request: Readonly<ListWebhookEventsRequest>) => Promise<ListWebhookEventsResponse> & {
143
+ all: () => Promise<import("./types.gen").WebhookEvent[]>;
144
+ [Symbol.asyncIterator]: () => AsyncGenerator<import("./types.gen").WebhookEvent[], void, void>;
145
+ };
134
146
  }
@@ -3,7 +3,7 @@ import { API as API$1 } from "../../../scw/api.js";
3
3
  import { validatePathParam, urlParams } from "../../../helpers/marshalling.js";
4
4
  import { enrichForPagination } from "../../../scw/fetch/resource-paginator.js";
5
5
  import { EMAIL_TRANSIENT_STATUSES, DOMAIN_TRANSIENT_STATUSES } from "./content.gen.js";
6
- import { marshalCreateEmailRequest, unmarshalCreateEmailResponse, unmarshalEmail, unmarshalListEmailsResponse, unmarshalStatistics, marshalCreateDomainRequest, unmarshalDomain, unmarshalListDomainsResponse, unmarshalDomainLastStatus } from "./marshalling.gen.js";
6
+ import { marshalCreateEmailRequest, unmarshalCreateEmailResponse, unmarshalEmail, unmarshalListEmailsResponse, unmarshalStatistics, marshalCreateDomainRequest, unmarshalDomain, unmarshalListDomainsResponse, unmarshalDomainLastStatus, unmarshalListWebhooksResponse, marshalUpdateWebhookRequest, unmarshalWebhook, unmarshalListWebhookEventsResponse } from "./marshalling.gen.js";
7
7
  const jsonContentHeaders = {
8
8
  "Content-Type": "application/json; charset=utf-8"
9
9
  };
@@ -254,6 +254,55 @@ class API extends API$1 {
254
254
  },
255
255
  unmarshalDomainLastStatus
256
256
  );
257
+ pageOfListWebhooks = (request = {}) => this.client.fetch(
258
+ {
259
+ method: "GET",
260
+ path: `/transactional-email/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/webhooks`,
261
+ urlParams: urlParams(
262
+ ["order_by", request.orderBy],
263
+ ["organization_id", request.organizationId],
264
+ ["page", request.page],
265
+ [
266
+ "page_size",
267
+ request.pageSize ?? this.client.settings.defaultPageSize
268
+ ],
269
+ ["project_id", request.projectId]
270
+ )
271
+ },
272
+ unmarshalListWebhooksResponse
273
+ );
274
+ listWebhooks = (request = {}) => enrichForPagination("webhooks", this.pageOfListWebhooks, request);
275
+ updateWebhook = (request) => this.client.fetch(
276
+ {
277
+ body: JSON.stringify(
278
+ marshalUpdateWebhookRequest(request, this.client.settings)
279
+ ),
280
+ headers: jsonContentHeaders,
281
+ method: "PATCH",
282
+ path: `/transactional-email/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/webhooks/${validatePathParam("webhookId", request.webhookId)}`
283
+ },
284
+ unmarshalWebhook
285
+ );
286
+ deleteWebhook = (request) => this.client.fetch({
287
+ method: "DELETE",
288
+ path: `/transactional-email/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/webhooks/${validatePathParam("webhookId", request.webhookId)}`
289
+ });
290
+ pageOfListWebhookEvents = (request) => this.client.fetch(
291
+ {
292
+ method: "GET",
293
+ path: `/transactional-email/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/webhooks/${validatePathParam("webhookId", request.webhookId)}/events`,
294
+ urlParams: urlParams(
295
+ ["order_by", request.orderBy],
296
+ ["page", request.page],
297
+ [
298
+ "page_size",
299
+ request.pageSize ?? this.client.settings.defaultPageSize
300
+ ]
301
+ )
302
+ },
303
+ unmarshalListWebhookEventsResponse
304
+ );
305
+ listWebhookEvents = (request) => enrichForPagination("webhookEvents", this.pageOfListWebhookEvents, request);
257
306
  }
258
307
  export {
259
308
  API
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const api_gen = require("./api.gen.cjs");
4
4
  const content_gen = require("./content.gen.cjs");
5
+ const validationRules_gen = require("./validation-rules.gen.cjs");
5
6
  exports.API = api_gen.API;
6
7
  exports.DOMAIN_TRANSIENT_STATUSES = content_gen.DOMAIN_TRANSIENT_STATUSES;
7
8
  exports.EMAIL_TRANSIENT_STATUSES = content_gen.EMAIL_TRANSIENT_STATUSES;
9
+ exports.ValidationRules = validationRules_gen;
@@ -1,3 +1,4 @@
1
1
  export { API } from './api.gen';
2
2
  export * from './content.gen';
3
- export type { CancelEmailRequest, CheckDomainRequest, CreateDomainRequest, CreateEmailRequest, CreateEmailRequestAddress, CreateEmailRequestAttachment, CreateEmailRequestHeader, CreateEmailResponse, Domain, DomainLastStatus, DomainLastStatusDkimRecord, DomainLastStatusDmarcRecord, DomainLastStatusRecordStatus, DomainLastStatusSpfRecord, DomainRecords, DomainRecordsDMARC, DomainReputation, DomainReputationStatus, DomainStatistics, DomainStatus, Email, EmailFlag, EmailRcptType, EmailStatus, EmailTry, GetDomainLastStatusRequest, GetDomainRequest, GetEmailRequest, GetStatisticsRequest, ListDomainsRequest, ListDomainsResponse, ListEmailsRequest, ListEmailsRequestOrderBy, ListEmailsResponse, RevokeDomainRequest, Statistics, } from './types.gen';
3
+ export type { CancelEmailRequest, CheckDomainRequest, CreateDomainRequest, CreateEmailRequest, CreateEmailRequestAddress, CreateEmailRequestAttachment, CreateEmailRequestHeader, CreateEmailResponse, DeleteWebhookRequest, Domain, DomainLastStatus, DomainLastStatusDkimRecord, DomainLastStatusDmarcRecord, DomainLastStatusRecordStatus, DomainLastStatusSpfRecord, DomainRecords, DomainRecordsDMARC, DomainReputation, DomainReputationStatus, DomainStatistics, DomainStatus, Email, EmailFlag, EmailRcptType, EmailStatus, EmailTry, GetDomainLastStatusRequest, GetDomainRequest, GetEmailRequest, GetStatisticsRequest, ListDomainsRequest, ListDomainsResponse, ListEmailsRequest, ListEmailsRequestOrderBy, ListEmailsResponse, ListWebhookEventsRequest, ListWebhookEventsRequestOrderBy, ListWebhookEventsResponse, ListWebhooksRequest, ListWebhooksRequestOrderBy, ListWebhooksResponse, RevokeDomainRequest, Statistics, UpdateWebhookRequest, Webhook, WebhookEvent, WebhookEventStatus, WebhookEventType, } from './types.gen';
4
+ export * as ValidationRules from './validation-rules.gen';
@@ -1,7 +1,9 @@
1
1
  import { API } from "./api.gen.js";
2
2
  import { DOMAIN_TRANSIENT_STATUSES, EMAIL_TRANSIENT_STATUSES } from "./content.gen.js";
3
+ import * as validationRules_gen from "./validation-rules.gen.js";
3
4
  export {
4
5
  API,
5
6
  DOMAIN_TRANSIENT_STATUSES,
6
- EMAIL_TRANSIENT_STATUSES
7
+ EMAIL_TRANSIENT_STATUSES,
8
+ validationRules_gen as ValidationRules
7
9
  };
@@ -112,6 +112,24 @@ const unmarshalDomain = (data) => {
112
112
  status: data.status
113
113
  };
114
114
  };
115
+ const unmarshalWebhook = (data) => {
116
+ if (!json.isJSONObject(data)) {
117
+ throw new TypeError(
118
+ `Unmarshalling the type 'Webhook' failed as data isn't a dictionary.`
119
+ );
120
+ }
121
+ return {
122
+ createdAt: marshalling.unmarshalDate(data.created_at),
123
+ domainId: data.domain_id,
124
+ eventTypes: data.event_types,
125
+ id: data.id,
126
+ name: data.name,
127
+ organizationId: data.organization_id,
128
+ projectId: data.project_id,
129
+ snsArn: data.sns_arn,
130
+ updatedAt: marshalling.unmarshalDate(data.updated_at)
131
+ };
132
+ };
115
133
  const unmarshalCreateEmailResponse = (data) => {
116
134
  if (!json.isJSONObject(data)) {
117
135
  throw new TypeError(
@@ -194,6 +212,50 @@ const unmarshalListEmailsResponse = (data) => {
194
212
  totalCount: data.total_count
195
213
  };
196
214
  };
215
+ const unmarshalWebhookEvent = (data) => {
216
+ if (!json.isJSONObject(data)) {
217
+ throw new TypeError(
218
+ `Unmarshalling the type 'WebhookEvent' failed as data isn't a dictionary.`
219
+ );
220
+ }
221
+ return {
222
+ createdAt: marshalling.unmarshalDate(data.created_at),
223
+ data: data.data,
224
+ emailId: data.email_id,
225
+ id: data.id,
226
+ organizationId: data.organization_id,
227
+ projectId: data.project_id,
228
+ status: data.status,
229
+ type: data.type,
230
+ updatedAt: marshalling.unmarshalDate(data.updated_at),
231
+ webhookId: data.webhook_id
232
+ };
233
+ };
234
+ const unmarshalListWebhookEventsResponse = (data) => {
235
+ if (!json.isJSONObject(data)) {
236
+ throw new TypeError(
237
+ `Unmarshalling the type 'ListWebhookEventsResponse' failed as data isn't a dictionary.`
238
+ );
239
+ }
240
+ return {
241
+ totalCount: data.total_count,
242
+ webhookEvents: marshalling.unmarshalArrayOfObject(
243
+ data.webhook_events,
244
+ unmarshalWebhookEvent
245
+ )
246
+ };
247
+ };
248
+ const unmarshalListWebhooksResponse = (data) => {
249
+ if (!json.isJSONObject(data)) {
250
+ throw new TypeError(
251
+ `Unmarshalling the type 'ListWebhooksResponse' failed as data isn't a dictionary.`
252
+ );
253
+ }
254
+ return {
255
+ totalCount: data.total_count,
256
+ webhooks: marshalling.unmarshalArrayOfObject(data.webhooks, unmarshalWebhook)
257
+ };
258
+ };
197
259
  const unmarshalStatistics = (data) => {
198
260
  if (!json.isJSONObject(data)) {
199
261
  throw new TypeError(
@@ -244,12 +306,21 @@ const marshalCreateEmailRequest = (request, defaults) => ({
244
306
  text: request.text,
245
307
  to: request.to !== void 0 ? request.to.map((elt) => marshalCreateEmailRequestAddress(elt)) : void 0
246
308
  });
309
+ const marshalUpdateWebhookRequest = (request, defaults) => ({
310
+ event_types: request.eventTypes !== void 0 ? request.eventTypes : void 0,
311
+ name: request.name,
312
+ sns_arn: request.snsArn
313
+ });
247
314
  exports.marshalCreateDomainRequest = marshalCreateDomainRequest;
248
315
  exports.marshalCreateEmailRequest = marshalCreateEmailRequest;
316
+ exports.marshalUpdateWebhookRequest = marshalUpdateWebhookRequest;
249
317
  exports.unmarshalCreateEmailResponse = unmarshalCreateEmailResponse;
250
318
  exports.unmarshalDomain = unmarshalDomain;
251
319
  exports.unmarshalDomainLastStatus = unmarshalDomainLastStatus;
252
320
  exports.unmarshalEmail = unmarshalEmail;
253
321
  exports.unmarshalListDomainsResponse = unmarshalListDomainsResponse;
254
322
  exports.unmarshalListEmailsResponse = unmarshalListEmailsResponse;
323
+ exports.unmarshalListWebhookEventsResponse = unmarshalListWebhookEventsResponse;
324
+ exports.unmarshalListWebhooksResponse = unmarshalListWebhooksResponse;
255
325
  exports.unmarshalStatistics = unmarshalStatistics;
326
+ exports.unmarshalWebhook = unmarshalWebhook;
@@ -1,11 +1,15 @@
1
1
  import type { DefaultValues } from '../../../bridge';
2
- import type { CreateDomainRequest, CreateEmailRequest, CreateEmailResponse, Domain, DomainLastStatus, Email, ListDomainsResponse, ListEmailsResponse, Statistics } from './types.gen';
2
+ import type { CreateDomainRequest, CreateEmailRequest, CreateEmailResponse, Domain, DomainLastStatus, Email, ListDomainsResponse, ListEmailsResponse, ListWebhookEventsResponse, ListWebhooksResponse, Statistics, UpdateWebhookRequest, Webhook } from './types.gen';
3
3
  export declare const unmarshalEmail: (data: unknown) => Email;
4
4
  export declare const unmarshalDomain: (data: unknown) => Domain;
5
+ export declare const unmarshalWebhook: (data: unknown) => Webhook;
5
6
  export declare const unmarshalCreateEmailResponse: (data: unknown) => CreateEmailResponse;
6
7
  export declare const unmarshalDomainLastStatus: (data: unknown) => DomainLastStatus;
7
8
  export declare const unmarshalListDomainsResponse: (data: unknown) => ListDomainsResponse;
8
9
  export declare const unmarshalListEmailsResponse: (data: unknown) => ListEmailsResponse;
10
+ export declare const unmarshalListWebhookEventsResponse: (data: unknown) => ListWebhookEventsResponse;
11
+ export declare const unmarshalListWebhooksResponse: (data: unknown) => ListWebhooksResponse;
9
12
  export declare const unmarshalStatistics: (data: unknown) => Statistics;
10
13
  export declare const marshalCreateDomainRequest: (request: CreateDomainRequest, defaults: DefaultValues) => Record<string, unknown>;
11
14
  export declare const marshalCreateEmailRequest: (request: CreateEmailRequest, defaults: DefaultValues) => Record<string, unknown>;
15
+ export declare const marshalUpdateWebhookRequest: (request: UpdateWebhookRequest, defaults: DefaultValues) => Record<string, unknown>;