From 92f2fc77cb8d7682bd8c37a540c03e5b00b1d831 Mon Sep 17 00:00:00 2001 From: scaleway-bot Date: Mon, 15 Dec 2025 08:12:46 +0000 Subject: [PATCH] feat: update generated APIs --- .../domain/src/v2beta1/api.gen.ts | 37 ++- .../domain/src/v2beta1/index.gen.ts | 4 + .../domain/src/v2beta1/marshalling.gen.ts | 39 +++ .../domain/src/v2beta1/types.gen.ts | 22 ++ .../k8s/src/v1/marshalling.gen.ts | 102 +++---- packages_generated/k8s/src/v1/types.gen.ts | 264 +++++++++--------- .../product_catalog/src/v2alpha1/index.gen.ts | 9 + .../src/v2alpha1/marshalling.gen.ts | 82 ++++++ .../product_catalog/src/v2alpha1/types.gen.ts | 110 +++++++- .../webhosting/src/v1/api.gen.ts | 22 ++ .../webhosting/src/v1/index.gen.ts | 1 + .../webhosting/src/v1/marshalling.gen.ts | 9 + .../webhosting/src/v1/types.gen.ts | 20 ++ 13 files changed, 528 insertions(+), 193 deletions(-) diff --git a/packages_generated/domain/src/v2beta1/api.gen.ts b/packages_generated/domain/src/v2beta1/api.gen.ts index 8a2dd0d8f..583cabc3a 100644 --- a/packages_generated/domain/src/v2beta1/api.gen.ts +++ b/packages_generated/domain/src/v2beta1/api.gen.ts @@ -3,11 +3,12 @@ import { API as ParentAPI, enrichForPagination, + unmarshalServiceInfo, urlParams, validatePathParam, waitForResource, } from '@scaleway/sdk-client' -import type { WaitForOptions, } from '@scaleway/sdk-client' +import type { ServiceInfo, WaitForOptions, } from '@scaleway/sdk-client' import {DOMAIN_TRANSIENT_STATUSES as DOMAIN_TRANSIENT_STATUSES_DOMAIN,SSL_CERTIFICATE_TRANSIENT_STATUSES as SSL_CERTIFICATE_TRANSIENT_STATUSES_DOMAIN,} from './content.gen.js' import { unmarshalCheckContactsCompatibilityResponse, @@ -61,6 +62,7 @@ import { unmarshalRestoreDNSZoneVersionResponse, unmarshalRetryInboundTransferResponse, unmarshalSSLCertificate, + unmarshalSearchAvailableDomainsConsoleResponse, unmarshalSearchAvailableDomainsResponse, marshalUpdateDNSZoneNameserversRequest, unmarshalUpdateDNSZoneNameserversResponse, @@ -153,7 +155,9 @@ import type { RestoreDNSZoneVersionResponse, RetryInboundTransferResponse, SSLCertificate, + SearchAvailableDomainsConsoleResponse, SearchAvailableDomainsResponse, + UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest, UpdateDNSZoneNameserversRequest, UpdateDNSZoneNameserversResponse, UpdateDNSZoneRecordsRequest, @@ -1341,3 +1345,34 @@ If the TLD list is empty or not set, the search returns the results from the mos } +/** + * Unauthenticated Domain search API. + */ +export class UnauthenticatedRegistrarAPI extends ParentAPI { + getServiceInfo = () => + this.client.fetch( + { + method: 'GET', + path: `/domain/v2beta1/search`, + }, + unmarshalServiceInfo, + ) + + + searchAvailableDomainsConsole = (request: Readonly) => + this.client.fetch( + { + method: 'GET', + path: `/domain/v2beta1/search-domains-console`, + urlParams: urlParams( + ['domain', request.domain], + ['strict_search', request.strictSearch], + ['tlds', request.tlds], + ), + }, + unmarshalSearchAvailableDomainsConsoleResponse, + ) + + +} + diff --git a/packages_generated/domain/src/v2beta1/index.gen.ts b/packages_generated/domain/src/v2beta1/index.gen.ts index a95cc3c65..f8f640187 100644 --- a/packages_generated/domain/src/v2beta1/index.gen.ts +++ b/packages_generated/domain/src/v2beta1/index.gen.ts @@ -3,6 +3,7 @@ export { API, RegistrarAPI, + UnauthenticatedRegistrarAPI, } from './api.gen.js' export * from './content.gen.js' export * from './marshalling.gen.js' @@ -23,6 +24,7 @@ export type { ContactExtensionFRIndividualInfo, ContactExtensionFRMode, ContactExtensionFRTrademarkInfo, + ContactExtensionIT, ContactExtensionNL, ContactExtensionNLLegalForm, ContactLegalForm, @@ -160,6 +162,7 @@ export type { RetryInboundTransferResponse, SSLCertificate, SSLCertificateStatus, + SearchAvailableDomainsConsoleResponse, SearchAvailableDomainsResponse, Task, TaskStatus, @@ -167,6 +170,7 @@ export type { Tld, TldOffer, TransferInDomainRequestTransferRequest, + UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest, UpdateContactRequestQuestion, UpdateDNSZoneNameserversRequest, UpdateDNSZoneNameserversResponse, diff --git a/packages_generated/domain/src/v2beta1/marshalling.gen.ts b/packages_generated/domain/src/v2beta1/marshalling.gen.ts index bfd481b1d..bef1b4c76 100644 --- a/packages_generated/domain/src/v2beta1/marshalling.gen.ts +++ b/packages_generated/domain/src/v2beta1/marshalling.gen.ts @@ -9,6 +9,7 @@ import type { ContactExtensionFRTrademarkInfo, ContactExtensionEU, ContactExtensionFR, + ContactExtensionIT, ContactExtensionNL, ContactQuestion, Contact, @@ -76,6 +77,7 @@ import type { RestoreDNSZoneVersionResponse, RetryInboundTransferResponse, AvailableDomain, + SearchAvailableDomainsConsoleResponse, SearchAvailableDomainsResponse, UpdateDNSZoneNameserversResponse, UpdateDNSZoneRecordsResponse, @@ -200,6 +202,19 @@ const unmarshalContactExtensionFR = (data: unknown): ContactExtensionFR => { } as ContactExtensionFR } +const unmarshalContactExtensionIT = (data: unknown): ContactExtensionIT => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'ContactExtensionIT' failed as data isn't a dictionary.`, + ) + } + + return { + europeanCitizenship: data.european_citizenship, + taxCode: data.tax_code, + } as ContactExtensionIT +} + const unmarshalContactExtensionNL = (data: unknown): ContactExtensionNL => { if (!isJSONObject(data)) { throw new TypeError( @@ -245,6 +260,7 @@ export const unmarshalContact = (data: unknown): Contact => { emailStatus: data.email_status, extensionEu: data.extension_eu ? unmarshalContactExtensionEU(data.extension_eu) : undefined, extensionFr: data.extension_fr ? unmarshalContactExtensionFR(data.extension_fr) : undefined, + extensionIt: data.extension_it ? unmarshalContactExtensionIT(data.extension_it) : undefined, extensionNl: data.extension_nl ? unmarshalContactExtensionNL(data.extension_nl) : undefined, faxNumber: data.fax_number, firstname: data.firstname, @@ -1177,6 +1193,19 @@ const unmarshalAvailableDomain = (data: unknown): AvailableDomain => { } as AvailableDomain } +export const unmarshalSearchAvailableDomainsConsoleResponse = (data: unknown): SearchAvailableDomainsConsoleResponse => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'SearchAvailableDomainsConsoleResponse' failed as data isn't a dictionary.`, + ) + } + + return { + availableDomains: unmarshalArrayOfObject(data.available_domains, unmarshalAvailableDomain), + exactMatchDomain: data.exact_match_domain ? unmarshalAvailableDomain(data.exact_match_domain) : undefined, + } as SearchAvailableDomainsConsoleResponse +} + export const unmarshalSearchAvailableDomainsResponse = (data: unknown): SearchAvailableDomainsResponse => { if (!isJSONObject(data)) { throw new TypeError( @@ -1382,6 +1411,14 @@ const marshalContactExtensionFR = ( ]), }) +const marshalContactExtensionIT = ( + request: ContactExtensionIT, + defaults: DefaultValues, +): Record => ({ + european_citizenship: request.europeanCitizenship, + tax_code: request.taxCode, +}) + const marshalContactExtensionNL = ( request: ContactExtensionNL, defaults: DefaultValues, @@ -1412,6 +1449,7 @@ const marshalNewContact = ( email_alt: request.emailAlt, extension_eu: ((request.extensionEu !== undefined) ? marshalContactExtensionEU(request.extensionEu, defaults): undefined), extension_fr: ((request.extensionFr !== undefined) ? marshalContactExtensionFR(request.extensionFr, defaults): undefined), + extension_it: ((request.extensionIt !== undefined) ? marshalContactExtensionIT(request.extensionIt, defaults): undefined), extension_nl: ((request.extensionNl !== undefined) ? marshalContactExtensionNL(request.extensionNl, defaults): undefined), fax_number: request.faxNumber, firstname: request.firstname, @@ -1653,6 +1691,7 @@ export const marshalRegistrarApiUpdateContactRequest = ( email_alt: request.emailAlt, extension_eu: ((request.extensionEu !== undefined) ? marshalContactExtensionEU(request.extensionEu, defaults): undefined), extension_fr: ((request.extensionFr !== undefined) ? marshalContactExtensionFR(request.extensionFr, defaults): undefined), + extension_it: ((request.extensionIt !== undefined) ? marshalContactExtensionIT(request.extensionIt, defaults): undefined), extension_nl: ((request.extensionNl !== undefined) ? marshalContactExtensionNL(request.extensionNl, defaults): undefined), fax_number: request.faxNumber, lang: request.lang, diff --git a/packages_generated/domain/src/v2beta1/types.gen.ts b/packages_generated/domain/src/v2beta1/types.gen.ts index 188cc9b0b..bdba0256d 100644 --- a/packages_generated/domain/src/v2beta1/types.gen.ts +++ b/packages_generated/domain/src/v2beta1/types.gen.ts @@ -415,6 +415,12 @@ export interface ContactExtensionFR { } +export interface ContactExtensionIT { + europeanCitizenship: string + taxCode: string +} + + export interface ContactExtensionNL { legalForm: ContactExtensionNLLegalForm legalFormRegistrationNumber: string @@ -525,6 +531,7 @@ export interface Contact { state: string extensionNl?: ContactExtensionNL status: ContactStatus + extensionIt?: ContactExtensionIT } @@ -585,6 +592,7 @@ export interface NewContact { whoisOptIn: boolean state?: string extensionNl?: ContactExtensionNL + extensionIt?: ContactExtensionIT } @@ -1715,6 +1723,7 @@ export type RegistrarApiUpdateContactRequest = { whoisOptIn?: boolean state?: string extensionNl?: ContactExtensionNL + extensionIt?: ContactExtensionIT } @@ -1775,6 +1784,12 @@ export interface RetryInboundTransferResponse { } +export interface SearchAvailableDomainsConsoleResponse { + exactMatchDomain?: AvailableDomain + availableDomains: AvailableDomain[] +} + + export interface SearchAvailableDomainsResponse { /** * Array of available domains. @@ -1783,6 +1798,13 @@ export interface SearchAvailableDomainsResponse { } +export type UnauthenticatedRegistrarApiSearchAvailableDomainsConsoleRequest = { + domain: string + tlds?: string[] + strictSearch: boolean +} + + export type UpdateDNSZoneNameserversRequest = { /** * DNS zone in which to update the DNS zone name servers. diff --git a/packages_generated/k8s/src/v1/marshalling.gen.ts b/packages_generated/k8s/src/v1/marshalling.gen.ts index 4a1e4d241..0b31dd1c5 100644 --- a/packages_generated/k8s/src/v1/marshalling.gen.ts +++ b/packages_generated/k8s/src/v1/marshalling.gen.ts @@ -4,8 +4,6 @@ import randomName from '@scaleway/random-name' import { isJSONObject, resolveOneOf, unmarshalArrayOfObject, unmarshalDate, } from '@scaleway/sdk-client' import type { DefaultValues } from '@scaleway/sdk-client' import type { - PoolUpgradePolicy, - Pool, Version, MaintenanceWindow, ClusterAutoUpgrade, @@ -13,6 +11,8 @@ import type { ClusterOpenIDConnectConfig, Cluster, Node, + PoolUpgradePolicy, + Pool, ACLRule, AddClusterACLRulesResponse, ExternalNodeCoreV1Taint, @@ -53,55 +53,6 @@ import type { UpgradePoolRequest, } from './types.gen.js' -const unmarshalPoolUpgradePolicy = (data: unknown): PoolUpgradePolicy => { - if (!isJSONObject(data)) { - throw new TypeError( - `Unmarshalling the type 'PoolUpgradePolicy' failed as data isn't a dictionary.`, - ) - } - - return { - maxSurge: data.max_surge, - maxUnavailable: data.max_unavailable, - } as PoolUpgradePolicy -} - -export const unmarshalPool = (data: unknown): Pool => { - if (!isJSONObject(data)) { - throw new TypeError( - `Unmarshalling the type 'Pool' failed as data isn't a dictionary.`, - ) - } - - return { - autohealing: data.autohealing, - autoscaling: data.autoscaling, - clusterId: data.cluster_id, - containerRuntime: data.container_runtime, - createdAt: unmarshalDate(data.created_at), - id: data.id, - kubeletArgs: data.kubelet_args, - maxSize: data.max_size, - minSize: data.min_size, - name: data.name, - newImagesEnabled: data.new_images_enabled, - nodeType: data.node_type, - placementGroupId: data.placement_group_id, - publicIpDisabled: data.public_ip_disabled, - region: data.region, - rootVolumeSize: data.root_volume_size, - rootVolumeType: data.root_volume_type, - securityGroupId: data.security_group_id, - size: data.size, - status: data.status, - tags: data.tags, - updatedAt: unmarshalDate(data.updated_at), - upgradePolicy: data.upgrade_policy ? unmarshalPoolUpgradePolicy(data.upgrade_policy) : undefined, - version: data.version, - zone: data.zone, - } as Pool -} - export const unmarshalVersion = (data: unknown): Version => { if (!isJSONObject(data)) { throw new TypeError( @@ -254,6 +205,55 @@ export const unmarshalNode = (data: unknown): Node => { } as Node } +const unmarshalPoolUpgradePolicy = (data: unknown): PoolUpgradePolicy => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'PoolUpgradePolicy' failed as data isn't a dictionary.`, + ) + } + + return { + maxSurge: data.max_surge, + maxUnavailable: data.max_unavailable, + } as PoolUpgradePolicy +} + +export const unmarshalPool = (data: unknown): Pool => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'Pool' failed as data isn't a dictionary.`, + ) + } + + return { + autohealing: data.autohealing, + autoscaling: data.autoscaling, + clusterId: data.cluster_id, + containerRuntime: data.container_runtime, + createdAt: unmarshalDate(data.created_at), + id: data.id, + kubeletArgs: data.kubelet_args, + maxSize: data.max_size, + minSize: data.min_size, + name: data.name, + newImagesEnabled: data.new_images_enabled, + nodeType: data.node_type, + placementGroupId: data.placement_group_id, + publicIpDisabled: data.public_ip_disabled, + region: data.region, + rootVolumeSize: data.root_volume_size, + rootVolumeType: data.root_volume_type, + securityGroupId: data.security_group_id, + size: data.size, + status: data.status, + tags: data.tags, + updatedAt: unmarshalDate(data.updated_at), + upgradePolicy: data.upgrade_policy ? unmarshalPoolUpgradePolicy(data.upgrade_policy) : undefined, + version: data.version, + zone: data.zone, + } as Pool +} + const unmarshalACLRule = (data: unknown): ACLRule => { if (!isJSONObject(data)) { throw new TypeError( diff --git a/packages_generated/k8s/src/v1/types.gen.ts b/packages_generated/k8s/src/v1/types.gen.ts index a77169cb1..953853c4c 100644 --- a/packages_generated/k8s/src/v1/types.gen.ts +++ b/packages_generated/k8s/src/v1/types.gen.ts @@ -140,12 +140,6 @@ export interface MaintenanceWindow { } -export interface PoolUpgradePolicy { - maxUnavailable: number - maxSurge: number -} - - export interface CreateClusterRequestPoolConfigUpgradePolicy { /** * The maximum number of nodes that can be not ready at the same time. @@ -172,7 +166,7 @@ export interface ClusterAutoUpgrade { export interface ClusterAutoscalerConfig { /** - * Disable the cluster autoscaler. + * Forbid cluster autoscaler to scale down the cluster, defaults to false. */ scaleDownDisabled: boolean /** @@ -184,15 +178,15 @@ export interface ClusterAutoscalerConfig { */ estimator: AutoscalerEstimator /** - * Type of node group expander to be used in scale up. + * Kubernetes autoscaler strategy to fit pods into nodes, see https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders for details. */ expander: AutoscalerExpander /** - * Ignore DaemonSet pods when calculating resource utilization for scaling down. + * Ignore DaemonSet pods when calculating resource utilization for scaling down, defaults to false. */ ignoreDaemonsetsUtilization: boolean /** - * Detect similar node groups and balance the number of nodes between them. + * Detect similar node groups and balance the number of nodes between them, defaults to false. */ balanceSimilarNodeGroups: boolean /** @@ -200,15 +194,15 @@ export interface ClusterAutoscalerConfig { */ expendablePodsPriorityCutoff: number /** - * How long a node should be unneeded before it is eligible to be scaled down. + * How long a node should be unneeded before it is eligible for scale down, defaults to 10 minutes. */ scaleDownUnneededTime: string /** - * Node utilization level, defined as a sum of requested resources divided by capacity, below which a node can be considered for scale down. + * Node utilization level, defined as a sum of requested resources divided by allocatable capacity, below which a node can be considered for scale down. */ scaleDownUtilizationThreshold: number /** - * Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. + * Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node, defaults to 600 (10 minutes). */ maxGracefulTerminationSec: number } @@ -246,110 +240,9 @@ export interface ClusterOpenIDConnectConfig { } -export interface Pool { - /** - * Pool ID. - */ - id: string - /** - * Cluster ID of the pool. - */ - clusterId: string - /** - * Date on which the pool was created. - */ - createdAt?: Date - /** - * Date on which the pool was last updated. - */ - updatedAt?: Date - /** - * Pool name. - */ - name: string - /** - * Pool status. - */ - status: PoolStatus - /** - * Pool version. - */ - version: string - /** - * Node type is the type of Scaleway Instance wanted for the pool. Nodes with insufficient memory are not eligible (DEV1-S, PLAY2-PICO, STARDUST). 'external' is a special node type used to provision instances from other cloud providers in a Kosmos Cluster. - */ - nodeType: string - /** - * Defines whether the autoscaling feature is enabled for the pool. - */ - autoscaling: boolean - /** - * Size (number of nodes) of the pool. - */ - size: number - /** - * Defines the minimum size of the pool. Note that this field is only used when autoscaling is enabled on the pool. - */ - minSize: number - /** - * Defines the maximum size of the pool. Note that this field is only used when autoscaling is enabled on the pool. - */ - maxSize: number - /** - * Customization of the container runtime is available for each pool. - */ - containerRuntime: Runtime - /** - * Defines whether the autohealing feature is enabled for the pool. - */ - autohealing: boolean - /** - * Tags associated with the pool, see [managing tags](https://www.scaleway.com/en/docs/kubernetes/api-cli/managing-tags). - */ - tags: string[] - /** - * Placement group ID in which all the nodes of the pool will be created, placement groups are limited to 20 instances. - */ - placementGroupId?: string - /** - * Kubelet arguments to be used by this pool. Note that this feature is experimental. - */ - kubeletArgs: Record - /** - * Pool upgrade policy. - */ - upgradePolicy?: PoolUpgradePolicy - /** - * Zone in which the pool's nodes will be spawned. - */ - zone: ScwZone - /** - * * `l_ssd` is a local block storage which means your system is stored locally on your node's hypervisor. This type is not available for all node types -* `sbs-5k` is a remote block storage which means your system is stored on a centralized and resilient cluster with 5k IOPS limits -* `sbs-15k` is a faster remote block storage which means your system is stored on a centralized and resilient cluster with 15k IOPS limits -* `b_ssd` is the legacy remote block storage which means your system is stored on a centralized and resilient cluster. Consider using `sbs-5k` or `sbs-15k` instead. - */ - rootVolumeType: PoolVolumeType - /** - * System volume disk size. - */ - rootVolumeSize?: number - /** - * Defines if the public IP should be removed from Nodes. To use this feature, your Cluster must have an attached Private Network set up with a Public Gateway. - */ - publicIpDisabled: boolean - /** - * @deprecated Defines whether the pool is migrated to new images. - */ - newImagesEnabled?: boolean - /** - * Security group ID in which all the nodes of the pool will be created. If unset, the pool will use default Kapsule security group in current zone. - */ - securityGroupId: string - /** - * Cluster region of the pool. - */ - region: ScwRegion +export interface PoolUpgradePolicy { + maxUnavailable: number + maxSurge: number } @@ -411,7 +304,7 @@ export interface CreateClusterRequestAutoUpgrade { export interface CreateClusterRequestAutoscalerConfig { /** - * Disable the cluster autoscaler. + * Forbid cluster autoscaler to scale down the cluster, defaults to false. */ scaleDownDisabled?: boolean /** @@ -423,15 +316,15 @@ export interface CreateClusterRequestAutoscalerConfig { */ estimator: AutoscalerEstimator /** - * Type of node group expander to be used in scale up. + * Kubernetes autoscaler strategy to fit pods into nodes, see https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders for details. */ expander: AutoscalerExpander /** - * Ignore DaemonSet pods when calculating resource utilization for scaling down. + * Ignore DaemonSet pods when calculating resource utilization for scaling down, defaults to false. */ ignoreDaemonsetsUtilization?: boolean /** - * Detect similar node groups and balance the number of nodes between them. + * Detect similar node groups and balance the number of nodes between them, defaults to false. */ balanceSimilarNodeGroups?: boolean /** @@ -439,15 +332,15 @@ export interface CreateClusterRequestAutoscalerConfig { */ expendablePodsPriorityCutoff?: number /** - * How long a node should be unneeded before it is eligible to be scaled down. + * How long a node should be unneeded before it is eligible for scale down, defaults to 10 minutes. */ scaleDownUnneededTime?: string /** - * Node utilization level, defined as a sum of requested resources divided by capacity, below which a node can be considered for scale down. + * Node utilization level, defined as a sum of requested resources divided by allocatable capacity, below which a node can be considered for scale down. */ scaleDownUtilizationThreshold?: number /** - * Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. + * Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node, defaults to 600 (10 minutes). */ maxGracefulTerminationSec?: number } @@ -727,7 +620,7 @@ export interface Cluster { */ updatedAt?: Date /** - * Autoscaler config for the cluster. + * Autoscaler configuration for the cluster, see https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md for details. */ autoscalerConfig?: ClusterAutoscalerConfig /** @@ -845,6 +738,113 @@ export interface Node { } +export interface Pool { + /** + * Pool ID. + */ + id: string + /** + * Cluster ID of the pool. + */ + clusterId: string + /** + * Date on which the pool was created. + */ + createdAt?: Date + /** + * Date on which the pool was last updated. + */ + updatedAt?: Date + /** + * Pool name. + */ + name: string + /** + * Pool status. + */ + status: PoolStatus + /** + * Pool version. + */ + version: string + /** + * Node type is the type of Scaleway Instance wanted for the pool. Nodes with insufficient memory are not eligible (DEV1-S, PLAY2-PICO, STARDUST). 'external' is a special node type used to provision instances from other cloud providers in a Kosmos Cluster. + */ + nodeType: string + /** + * Defines whether the autoscaling feature is enabled for the pool. + */ + autoscaling: boolean + /** + * Size (number of nodes) of the pool. + */ + size: number + /** + * Defines the minimum size of the pool. Note that this field is only used when autoscaling is enabled on the pool. + */ + minSize: number + /** + * Defines the maximum size of the pool. Note that this field is only used when autoscaling is enabled on the pool. + */ + maxSize: number + /** + * Customization of the container runtime is available for each pool. + */ + containerRuntime: Runtime + /** + * Defines whether the autohealing feature is enabled for the pool. + */ + autohealing: boolean + /** + * Tags associated with the pool, see [managing tags](https://www.scaleway.com/en/docs/kubernetes/api-cli/managing-tags). + */ + tags: string[] + /** + * Placement group ID in which all the nodes of the pool will be created, placement groups are limited to 20 instances. + */ + placementGroupId?: string + /** + * Kubelet arguments to be used by this pool. Note that this feature is experimental. + */ + kubeletArgs: Record + /** + * Pool upgrade policy. + */ + upgradePolicy?: PoolUpgradePolicy + /** + * Zone in which the pool's nodes will be spawned. + */ + zone: ScwZone + /** + * * `l_ssd` is a local block storage which means your system is stored locally on your node's hypervisor. This type is not available for all node types +* `sbs-5k` is a remote block storage which means your system is stored on a centralized and resilient cluster with 5k IOPS limits +* `sbs-15k` is a faster remote block storage which means your system is stored on a centralized and resilient cluster with 15k IOPS limits +* `b_ssd` is the legacy remote block storage which means your system is stored on a centralized and resilient cluster. Consider using `sbs-5k` or `sbs-15k` instead. + */ + rootVolumeType: PoolVolumeType + /** + * System volume disk size. + */ + rootVolumeSize?: number + /** + * Defines if the public IP should be removed from Nodes. To use this feature, your Cluster must have an attached Private Network set up with a Public Gateway. + */ + publicIpDisabled: boolean + /** + * @deprecated Defines whether the pool is migrated to new images. + */ + newImagesEnabled?: boolean + /** + * Security group ID in which all the nodes of the pool will be created. If unset, the pool will use default Kapsule security group in current zone. + */ + securityGroupId: string + /** + * Cluster region of the pool. + */ + region: ScwRegion +} + + export interface NodeMetadataCoreV1Taint { key: string value: string @@ -866,7 +866,7 @@ export interface UpdateClusterRequestAutoUpgrade { export interface UpdateClusterRequestAutoscalerConfig { /** - * Disable the cluster autoscaler. + * Forbid cluster autoscaler to scale down the cluster, defaults to false. */ scaleDownDisabled?: boolean /** @@ -878,15 +878,15 @@ export interface UpdateClusterRequestAutoscalerConfig { */ estimator: AutoscalerEstimator /** - * Type of node group expander to be used in scale up. + * Kubernetes autoscaler strategy to fit pods into nodes, see https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders for details. */ expander: AutoscalerExpander /** - * Ignore DaemonSet pods when calculating resource utilization for scaling down. + * Ignore DaemonSet pods when calculating resource utilization for scaling down, defaults to false. */ ignoreDaemonsetsUtilization?: boolean /** - * Detect similar node groups and balance the number of nodes between them. + * Detect similar node groups and balance the number of nodes between them, defaults to false. */ balanceSimilarNodeGroups?: boolean /** @@ -894,15 +894,15 @@ export interface UpdateClusterRequestAutoscalerConfig { */ expendablePodsPriorityCutoff?: number /** - * How long a node should be unneeded before it is eligible to be scaled down. + * How long a node should be unneeded before it is eligible for scale down, defaults to 10 minutes. */ scaleDownUnneededTime?: string /** - * Node utilization level, defined as a sum of requested resources divided by capacity, below which a node can be considered for scale down. + * Node utilization level, defined as a sum of requested resources divided by allocatable capacity, below which a node can be considered for scale down. */ scaleDownUtilizationThreshold?: number /** - * Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. + * Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node, defaults to 600 (10 minutes). */ maxGracefulTerminationSec?: number } diff --git a/packages_generated/product_catalog/src/v2alpha1/index.gen.ts b/packages_generated/product_catalog/src/v2alpha1/index.gen.ts index ddec6c320..da383eb23 100644 --- a/packages_generated/product_catalog/src/v2alpha1/index.gen.ts +++ b/packages_generated/product_catalog/src/v2alpha1/index.gen.ts @@ -31,9 +31,18 @@ export type { PublicCatalogProductPropertiesHardwareRAM, PublicCatalogProductPropertiesHardwareStorage, PublicCatalogProductPropertiesInstance, + PublicCatalogProductPropertiesKeyManager, PublicCatalogProductPropertiesLoadBalancer, PublicCatalogProductPropertiesManagedInference, PublicCatalogProductPropertiesObjectStorage, + PublicCatalogProductPropertiesObjectStorageClassType, + PublicCatalogProductPropertiesObjectStorageClassTypeStorageClass, + PublicCatalogProductPropertiesObjectStorageInternetTrafficType, + PublicCatalogProductPropertiesObjectStorageInternetTrafficTypeTrafficType, + PublicCatalogProductPropertiesObjectStorageRegionTrafficType, + PublicCatalogProductPropertiesObjectStorageRestoreType, + PublicCatalogProductPropertiesObjectStorageRestoreTypeRestoreType, + PublicCatalogProductPropertiesSecretManager, PublicCatalogProductStatus, PublicCatalogProductUnitOfMeasure, PublicCatalogProductUnitOfMeasureCountableUnit, diff --git a/packages_generated/product_catalog/src/v2alpha1/marshalling.gen.ts b/packages_generated/product_catalog/src/v2alpha1/marshalling.gen.ts index 676339d63..84267ca59 100644 --- a/packages_generated/product_catalog/src/v2alpha1/marshalling.gen.ts +++ b/packages_generated/product_catalog/src/v2alpha1/marshalling.gen.ts @@ -8,6 +8,10 @@ import type { PublicCatalogProductPropertiesHardwareNetwork, PublicCatalogProductPropertiesHardwareRAM, PublicCatalogProductPropertiesHardwareStorage, + PublicCatalogProductPropertiesObjectStorageClassType, + PublicCatalogProductPropertiesObjectStorageInternetTrafficType, + PublicCatalogProductPropertiesObjectStorageRegionTrafficType, + PublicCatalogProductPropertiesObjectStorageRestoreType, PublicCatalogProductPropertiesAppleSilicon, PublicCatalogProductPropertiesBlockStorage, PublicCatalogProductPropertiesDedibox, @@ -15,9 +19,11 @@ import type { PublicCatalogProductPropertiesGenerativeApis, PublicCatalogProductPropertiesHardware, PublicCatalogProductPropertiesInstance, + PublicCatalogProductPropertiesKeyManager, PublicCatalogProductPropertiesLoadBalancer, PublicCatalogProductPropertiesManagedInference, PublicCatalogProductPropertiesObjectStorage, + PublicCatalogProductPropertiesSecretManager, PublicCatalogProductEnvironmentalImpactEstimation, PublicCatalogProductLocality, PublicCatalogProductPrice, @@ -128,6 +134,54 @@ const unmarshalPublicCatalogProductPropertiesHardwareStorage = (data: unknown): } as PublicCatalogProductPropertiesHardwareStorage } +const unmarshalPublicCatalogProductPropertiesObjectStorageClassType = (data: unknown): PublicCatalogProductPropertiesObjectStorageClassType => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'PublicCatalogProductPropertiesObjectStorageClassType' failed as data isn't a dictionary.`, + ) + } + + return { + storageClass: data.storage_class, + } as PublicCatalogProductPropertiesObjectStorageClassType +} + +const unmarshalPublicCatalogProductPropertiesObjectStorageInternetTrafficType = (data: unknown): PublicCatalogProductPropertiesObjectStorageInternetTrafficType => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'PublicCatalogProductPropertiesObjectStorageInternetTrafficType' failed as data isn't a dictionary.`, + ) + } + + return { + trafficType: data.traffic_type, + } as PublicCatalogProductPropertiesObjectStorageInternetTrafficType +} + +const unmarshalPublicCatalogProductPropertiesObjectStorageRegionTrafficType = (data: unknown): PublicCatalogProductPropertiesObjectStorageRegionTrafficType => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'PublicCatalogProductPropertiesObjectStorageRegionTrafficType' failed as data isn't a dictionary.`, + ) + } + + return { + regionDestination: data.region_destination, + } as PublicCatalogProductPropertiesObjectStorageRegionTrafficType +} + +const unmarshalPublicCatalogProductPropertiesObjectStorageRestoreType = (data: unknown): PublicCatalogProductPropertiesObjectStorageRestoreType => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'PublicCatalogProductPropertiesObjectStorageRestoreType' failed as data isn't a dictionary.`, + ) + } + + return { + restoreType: data.restore_type, + } as PublicCatalogProductPropertiesObjectStorageRestoreType +} + const unmarshalPublicCatalogProductPropertiesAppleSilicon = (data: unknown): PublicCatalogProductPropertiesAppleSilicon => { if (!isJSONObject(data)) { throw new TypeError( @@ -224,6 +278,17 @@ const unmarshalPublicCatalogProductPropertiesInstance = (data: unknown): PublicC } as PublicCatalogProductPropertiesInstance } +const unmarshalPublicCatalogProductPropertiesKeyManager = (data: unknown): PublicCatalogProductPropertiesKeyManager => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'PublicCatalogProductPropertiesKeyManager' failed as data isn't a dictionary.`, + ) + } + + return { + } as PublicCatalogProductPropertiesKeyManager +} + const unmarshalPublicCatalogProductPropertiesLoadBalancer = (data: unknown): PublicCatalogProductPropertiesLoadBalancer => { if (!isJSONObject(data)) { throw new TypeError( @@ -255,9 +320,24 @@ const unmarshalPublicCatalogProductPropertiesObjectStorage = (data: unknown): Pu } return { + class: data.class ? unmarshalPublicCatalogProductPropertiesObjectStorageClassType(data.class) : undefined, + internetTraffic: data.internet_traffic ? unmarshalPublicCatalogProductPropertiesObjectStorageInternetTrafficType(data.internet_traffic) : undefined, + regionTraffic: data.region_traffic ? unmarshalPublicCatalogProductPropertiesObjectStorageRegionTrafficType(data.region_traffic) : undefined, + restore: data.restore ? unmarshalPublicCatalogProductPropertiesObjectStorageRestoreType(data.restore) : undefined, } as PublicCatalogProductPropertiesObjectStorage } +const unmarshalPublicCatalogProductPropertiesSecretManager = (data: unknown): PublicCatalogProductPropertiesSecretManager => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'PublicCatalogProductPropertiesSecretManager' failed as data isn't a dictionary.`, + ) + } + + return { + } as PublicCatalogProductPropertiesSecretManager +} + const unmarshalPublicCatalogProductEnvironmentalImpactEstimation = (data: unknown): PublicCatalogProductEnvironmentalImpactEstimation => { if (!isJSONObject(data)) { throw new TypeError( @@ -313,9 +393,11 @@ const unmarshalPublicCatalogProductProperties = (data: unknown): PublicCatalogPr generativeApis: data.generative_apis ? unmarshalPublicCatalogProductPropertiesGenerativeApis(data.generative_apis) : undefined, hardware: data.hardware ? unmarshalPublicCatalogProductPropertiesHardware(data.hardware) : undefined, instance: data.instance ? unmarshalPublicCatalogProductPropertiesInstance(data.instance) : undefined, + keyManager: data.key_manager ? unmarshalPublicCatalogProductPropertiesKeyManager(data.key_manager) : undefined, loadBalancer: data.load_balancer ? unmarshalPublicCatalogProductPropertiesLoadBalancer(data.load_balancer) : undefined, managedInference: data.managed_inference ? unmarshalPublicCatalogProductPropertiesManagedInference(data.managed_inference) : undefined, objectStorage: data.object_storage ? unmarshalPublicCatalogProductPropertiesObjectStorage(data.object_storage) : undefined, + secretManager: data.secret_manager ? unmarshalPublicCatalogProductPropertiesSecretManager(data.secret_manager) : undefined, } as PublicCatalogProductProperties } diff --git a/packages_generated/product_catalog/src/v2alpha1/types.gen.ts b/packages_generated/product_catalog/src/v2alpha1/types.gen.ts index 7972f4fd4..bbebcc667 100644 --- a/packages_generated/product_catalog/src/v2alpha1/types.gen.ts +++ b/packages_generated/product_catalog/src/v2alpha1/types.gen.ts @@ -14,6 +14,8 @@ export type ListPublicCatalogProductsRequestProductType = | 'managed_inference' | 'generative_apis' | 'load_balancer' + | 'secret_manager' + | 'key_manager' export type ListPublicCatalogProductsRequestStatus = | 'unknown_status' @@ -47,6 +49,22 @@ export type PublicCatalogProductPropertiesHardwareCPUArch = | 'riscv' | 'apple_silicon' +export type PublicCatalogProductPropertiesObjectStorageClassTypeStorageClass = + | 'unknown_storage_class' + | 'standard' + | 'glacier' + | 'onezone_ia' + +export type PublicCatalogProductPropertiesObjectStorageInternetTrafficTypeTrafficType = + | 'unknown_traffic_type' + | 'ingress' + | 'egress' + | 'alliance' + +export type PublicCatalogProductPropertiesObjectStorageRestoreTypeRestoreType = + | 'unknown_restore_type' + | 'standard' + export type PublicCatalogProductStatus = | 'unknown_status' | 'public_beta' @@ -220,6 +238,38 @@ export interface PublicCatalogProductPropertiesHardwareStorage { } +export interface PublicCatalogProductPropertiesObjectStorageClassType { + /** + * The storage class. + */ + storageClass: PublicCatalogProductPropertiesObjectStorageClassTypeStorageClass +} + + +export interface PublicCatalogProductPropertiesObjectStorageInternetTrafficType { + /** + * The type of internet traffic. + */ + trafficType: PublicCatalogProductPropertiesObjectStorageInternetTrafficTypeTrafficType +} + + +export interface PublicCatalogProductPropertiesObjectStorageRegionTrafficType { + /** + * The destination region for the region traffic. + */ + regionDestination: string +} + + +export interface PublicCatalogProductPropertiesObjectStorageRestoreType { + /** + * The type of restore. + */ + restoreType: PublicCatalogProductPropertiesObjectStorageRestoreTypeRestoreType +} + + export interface PublicCatalogProductPropertiesAppleSilicon { /** * The range of the Apple Silicon server. @@ -315,6 +365,10 @@ export interface PublicCatalogProductPropertiesInstance { } +export interface PublicCatalogProductPropertiesKeyManager { +} + + export interface PublicCatalogProductPropertiesLoadBalancer { } @@ -328,6 +382,34 @@ export interface PublicCatalogProductPropertiesManagedInference { export interface PublicCatalogProductPropertiesObjectStorage { + /** + * The properties related to Object Storage class. + * + * One-of ('type'): at most one of 'class', 'restore', 'internetTraffic', 'regionTraffic' could be set. + */ + class?: PublicCatalogProductPropertiesObjectStorageClassType + /** + * The properties related to Object Storage restore operations. + * + * One-of ('type'): at most one of 'class', 'restore', 'internetTraffic', 'regionTraffic' could be set. + */ + restore?: PublicCatalogProductPropertiesObjectStorageRestoreType + /** + * The properties related to Object Storage internet traffic. + * + * One-of ('type'): at most one of 'class', 'restore', 'internetTraffic', 'regionTraffic' could be set. + */ + internetTraffic?: PublicCatalogProductPropertiesObjectStorageInternetTrafficType + /** + * The properties related to Object Storage region traffic. + * + * One-of ('type'): at most one of 'class', 'restore', 'internetTraffic', 'regionTraffic' could be set. + */ + regionTraffic?: PublicCatalogProductPropertiesObjectStorageRegionTrafficType +} + + +export interface PublicCatalogProductPropertiesSecretManager { } @@ -381,57 +463,67 @@ export interface PublicCatalogProductProperties { /** * The properties of Dedibox products. * - * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer' could be set. + * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer', 'secretManager', 'keyManager' could be set. */ dedibox?: PublicCatalogProductPropertiesDedibox /** * The properties of Elastic Metal products. * - * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer' could be set. + * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer', 'secretManager', 'keyManager' could be set. */ elasticMetal?: PublicCatalogProductPropertiesElasticMetal /** * The properties of Apple Silicon products. * - * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer' could be set. + * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer', 'secretManager', 'keyManager' could be set. */ appleSilicon?: PublicCatalogProductPropertiesAppleSilicon /** * The properties of Instance products. * - * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer' could be set. + * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer', 'secretManager', 'keyManager' could be set. */ instance?: PublicCatalogProductPropertiesInstance /** * The properties of Block Storage products. * - * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer' could be set. + * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer', 'secretManager', 'keyManager' could be set. */ blockStorage?: PublicCatalogProductPropertiesBlockStorage /** * The properties of Object Storage products. * - * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer' could be set. + * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer', 'secretManager', 'keyManager' could be set. */ objectStorage?: PublicCatalogProductPropertiesObjectStorage /** * The properties of Managed Inference products. * - * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer' could be set. + * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer', 'secretManager', 'keyManager' could be set. */ managedInference?: PublicCatalogProductPropertiesManagedInference /** * The properties of Generative APIs products. * - * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer' could be set. + * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer', 'secretManager', 'keyManager' could be set. */ generativeApis?: PublicCatalogProductPropertiesGenerativeApis /** * The properties of Load Balancer products. * - * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer' could be set. + * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer', 'secretManager', 'keyManager' could be set. */ loadBalancer?: PublicCatalogProductPropertiesLoadBalancer + /** + * + * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer', 'secretManager', 'keyManager' could be set. + */ + secretManager?: PublicCatalogProductPropertiesSecretManager + /** + * + * One-of ('properties'): at most one of 'dedibox', 'elasticMetal', 'appleSilicon', 'instance', 'blockStorage', 'objectStorage', 'managedInference', 'generativeApis', 'loadBalancer', 'secretManager', 'keyManager' could be set. + */ + keyManager?: PublicCatalogProductPropertiesKeyManager } diff --git a/packages_generated/webhosting/src/v1/api.gen.ts b/packages_generated/webhosting/src/v1/api.gen.ts index 5a363e695..233402090 100644 --- a/packages_generated/webhosting/src/v1/api.gen.ts +++ b/packages_generated/webhosting/src/v1/api.gen.ts @@ -33,6 +33,7 @@ import { unmarshalHosting, marshalHostingApiAddCustomDomainRequest, marshalHostingApiCreateHostingRequest, + marshalHostingApiMigrateControlPanelRequest, marshalHostingApiRemoveCustomDomainRequest, marshalHostingApiUpdateHostingRequest, unmarshalHostingSummary, @@ -109,6 +110,7 @@ import type { HostingApiGetHostingRequest, HostingApiGetResourceSummaryRequest, HostingApiListHostingsRequest, + HostingApiMigrateControlPanelRequest, HostingApiRemoveCustomDomainRequest, HostingApiResetHostingPasswordRequest, HostingApiUpdateHostingRequest, @@ -1007,6 +1009,26 @@ export class HostingAPI extends ParentAPI { ) + /** + * Migrate a hosting to a new control panel.. Migrate a hosting to a new control panel. + * + * @param request - The request {@link HostingApiMigrateControlPanelRequest} + * @returns A Promise of HostingSummary + */ + migrateControlPanel = (request: Readonly) => + this.client.fetch( + { + body: JSON.stringify( + marshalHostingApiMigrateControlPanelRequest(request, this.client.settings), + ), + headers: jsonContentHeaders, + method: 'POST', + path: `/webhosting/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/hostings/${validatePathParam('hostingId', request.hostingId)}/migrate-control-panel`, + }, + unmarshalHostingSummary, + ) + + } /** diff --git a/packages_generated/webhosting/src/v1/index.gen.ts b/packages_generated/webhosting/src/v1/index.gen.ts index d07a695c5..c556acd6c 100644 --- a/packages_generated/webhosting/src/v1/index.gen.ts +++ b/packages_generated/webhosting/src/v1/index.gen.ts @@ -82,6 +82,7 @@ export type { HostingApiGetHostingRequest, HostingApiGetResourceSummaryRequest, HostingApiListHostingsRequest, + HostingApiMigrateControlPanelRequest, HostingApiRemoveCustomDomainRequest, HostingApiResetHostingPasswordRequest, HostingApiUpdateHostingRequest, diff --git a/packages_generated/webhosting/src/v1/marshalling.gen.ts b/packages_generated/webhosting/src/v1/marshalling.gen.ts index c338029bf..56933a51f 100644 --- a/packages_generated/webhosting/src/v1/marshalling.gen.ts +++ b/packages_generated/webhosting/src/v1/marshalling.gen.ts @@ -67,6 +67,7 @@ import type { CreateHostingRequestDomainConfiguration, OfferOptionRequest, HostingApiCreateHostingRequest, + HostingApiMigrateControlPanelRequest, HostingApiRemoveCustomDomainRequest, HostingApiUpdateHostingRequest, MailAccountApiChangeMailAccountPasswordRequest, @@ -942,6 +943,14 @@ export const marshalHostingApiCreateHostingRequest = ( tags: request.tags, }) +export const marshalHostingApiMigrateControlPanelRequest = ( + request: HostingApiMigrateControlPanelRequest, + defaults: DefaultValues, +): Record => ({ + control_panel_name: request.controlPanelName, + offer_id: request.offerId, +}) + export const marshalHostingApiRemoveCustomDomainRequest = ( request: HostingApiRemoveCustomDomainRequest, defaults: DefaultValues, diff --git a/packages_generated/webhosting/src/v1/types.gen.ts b/packages_generated/webhosting/src/v1/types.gen.ts index b7d1b0f64..4075fc419 100644 --- a/packages_generated/webhosting/src/v1/types.gen.ts +++ b/packages_generated/webhosting/src/v1/types.gen.ts @@ -1609,6 +1609,26 @@ export type HostingApiListHostingsRequest = { } +export type HostingApiMigrateControlPanelRequest = { + /** + * Region to target. If none is passed will use default region from the config. + */ + region?: ScwRegion + /** + * Hosting ID to migrate to a new control panel. + */ + hostingId: string + /** + * Control panel will migrate the hosting to a new server. + */ + controlPanelName: string + /** + * Migration. + */ + offerId: string +} + + export type HostingApiRemoveCustomDomainRequest = { /** * Region to target. If none is passed will use default region from the config.