diff --git a/packages_generated/instance/src/v1/api.gen.ts b/packages_generated/instance/src/v1/api.gen.ts index 5145c3b16..10e5ed16e 100644 --- a/packages_generated/instance/src/v1/api.gen.ts +++ b/packages_generated/instance/src/v1/api.gen.ts @@ -203,6 +203,7 @@ import type { MigrationPlan, PlanBlockMigrationRequest, PrivateNIC, + ReleaseIpToIpamRequest, ServerActionRequest, ServerActionResponse, ServerCompatibleTypes, @@ -1646,4 +1647,17 @@ The endpoint also returns the validation_key, which must be provided to the [Mig method: 'POST', path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/block-migration/check-organization-quotas`, }) + + /** + * Releases the reserved IP without deleting the reservation.. **The IP remains available in IPAM**, which means that it is still reserved by the Organization, and can be reattached to another resource (Instance or other product). + * + * @param request - The request {@link ReleaseIpToIpamRequest} + */ + releaseIpToIpam = (request: Readonly) => + this.client.fetch({ + body: '{}', + headers: jsonContentHeaders, + method: 'POST', + path: `/instance/v1/zones/${validatePathParam('zone', request.zone ?? this.client.settings.defaultZone)}/ips/${validatePathParam('ipId', request.ipId)}/release-to-ipam`, + }) } diff --git a/packages_generated/instance/src/v1/content.gen.ts b/packages_generated/instance/src/v1/content.gen.ts index 5a5e01166..86340a85d 100644 --- a/packages_generated/instance/src/v1/content.gen.ts +++ b/packages_generated/instance/src/v1/content.gen.ts @@ -57,17 +57,18 @@ export const TASK_TRANSIENT_STATUSES: TaskStatus[] = [ /** Lists transient statutes of the enum {@link VolumeServerState}. */ export const VOLUME_SERVER_TRANSIENT_STATUSES: VolumeServerState[] = [ 'snapshotting', - 'fetching', 'resizing', + 'fetching', 'saving', 'hotsyncing', + 'attaching', ] /** Lists transient statutes of the enum {@link VolumeState}. */ export const VOLUME_TRANSIENT_STATUSES: VolumeState[] = [ 'snapshotting', 'fetching', - 'resizing', 'saving', + 'resizing', 'hotsyncing', ] diff --git a/packages_generated/instance/src/v1/index.gen.ts b/packages_generated/instance/src/v1/index.gen.ts index b01887993..98e1b077a 100644 --- a/packages_generated/instance/src/v1/index.gen.ts +++ b/packages_generated/instance/src/v1/index.gen.ts @@ -116,6 +116,7 @@ export type { PlanBlockMigrationRequest, PrivateNIC, PrivateNICState, + ReleaseIpToIpamRequest, SecurityGroup, SecurityGroupPolicy, SecurityGroupRule, diff --git a/packages_generated/instance/src/v1/types.gen.ts b/packages_generated/instance/src/v1/types.gen.ts index 9e6d5c7a9..45f8e4ca8 100644 --- a/packages_generated/instance/src/v1/types.gen.ts +++ b/packages_generated/instance/src/v1/types.gen.ts @@ -108,10 +108,11 @@ export type TaskStatus = 'pending' | 'started' | 'success' | 'failure' | 'retry' export type VolumeServerState = | 'available' | 'snapshotting' - | 'fetching' | 'resizing' + | 'fetching' | 'saving' | 'hotsyncing' + | 'attaching' | 'error' export type VolumeServerVolumeType = @@ -124,8 +125,8 @@ export type VolumeState = | 'available' | 'snapshotting' | 'fetching' - | 'resizing' | 'saving' + | 'resizing' | 'hotsyncing' | 'error' @@ -2447,6 +2448,17 @@ export type PlanBlockMigrationRequest = { snapshotId?: string } +export type ReleaseIpToIpamRequest = { + /** + * Zone to target. If none is passed will use default zone from the config. + */ + zone?: ScwZone + /** + * ID of the IP you want to release from the Instance but retain in IPAM. + */ + ipId: string +} + export type ServerActionRequest = { /** * Zone to target. If none is passed will use default zone from the config.