diff --git a/packages/clients/src/api/ipam/v1/api.gen.ts b/packages/clients/src/api/ipam/v1/api.gen.ts index cc22fdd37..6bf100858 100644 --- a/packages/clients/src/api/ipam/v1/api.gen.ts +++ b/packages/clients/src/api/ipam/v1/api.gen.ts @@ -10,6 +10,7 @@ import { import type { Region } from '../../../bridge' import { marshalBookIPRequest, + marshalReleaseIPSetRequest, marshalUpdateIPRequest, unmarshalIP, unmarshalListIPsResponse, @@ -21,6 +22,7 @@ import type { ListIPsRequest, ListIPsResponse, ReleaseIPRequest, + ReleaseIPSetRequest, UpdateIPRequest, } from './types.gen' @@ -72,6 +74,16 @@ export class API extends ParentAPI { path: `/ipam/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/ips/${validatePathParam('ipId', request.ipId)}`, }) + releaseIPSet = (request: Readonly = {}) => + this.client.fetch({ + body: JSON.stringify( + marshalReleaseIPSetRequest(request, this.client.settings), + ), + headers: jsonContentHeaders, + method: 'POST', + path: `/ipam/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/ip-sets/release`, + }) + /** * Get an IP. Retrieve details of an existing IP, specified by its IP ID. * diff --git a/packages/clients/src/api/ipam/v1/index.gen.ts b/packages/clients/src/api/ipam/v1/index.gen.ts index 8e9bc4578..9213a8b72 100644 --- a/packages/clients/src/api/ipam/v1/index.gen.ts +++ b/packages/clients/src/api/ipam/v1/index.gen.ts @@ -9,6 +9,7 @@ export type { ListIPsRequestOrderBy, ListIPsResponse, ReleaseIPRequest, + ReleaseIPSetRequest, Resource, ResourceType, Reverse, diff --git a/packages/clients/src/api/ipam/v1/marshalling.gen.ts b/packages/clients/src/api/ipam/v1/marshalling.gen.ts index 29cb9a54c..844bfd90b 100644 --- a/packages/clients/src/api/ipam/v1/marshalling.gen.ts +++ b/packages/clients/src/api/ipam/v1/marshalling.gen.ts @@ -11,6 +11,7 @@ import type { BookIPRequest, IP, ListIPsResponse, + ReleaseIPSetRequest, Resource, Reverse, Source, @@ -117,6 +118,13 @@ export const marshalBookIPRequest = ( tags: request.tags, }) +export const marshalReleaseIPSetRequest = ( + request: ReleaseIPSetRequest, + defaults: DefaultValues, +): Record => ({ + ip_ids: request.ipIds, +}) + const marshalReverse = ( request: Reverse, defaults: DefaultValues, diff --git a/packages/clients/src/api/ipam/v1/types.gen.ts b/packages/clients/src/api/ipam/v1/types.gen.ts index b452d697d..e0aef148a 100644 --- a/packages/clients/src/api/ipam/v1/types.gen.ts +++ b/packages/clients/src/api/ipam/v1/types.gen.ts @@ -226,6 +226,15 @@ export type ReleaseIPRequest = { ipId: string } +export type ReleaseIPSetRequest = { + /** + * Region to target. If none is passed will use default region from the + * config. + */ + region?: Region + ipIds?: string[] +} + export type UpdateIPRequest = { /** * Region to target. If none is passed will use default region from the diff --git a/packages/clients/src/api/rdb/v1/index.gen.ts b/packages/clients/src/api/rdb/v1/index.gen.ts index 0de1431ea..140c9b5c0 100644 --- a/packages/clients/src/api/rdb/v1/index.gen.ts +++ b/packages/clients/src/api/rdb/v1/index.gen.ts @@ -39,6 +39,7 @@ export type { DeleteReadReplicaRequest, DeleteSnapshotRequest, DeleteUserRequest, + EncryptionAtRest, Endpoint, EndpointDirectAccessDetails, EndpointLoadBalancerDetails, diff --git a/packages/clients/src/api/rdb/v1/marshalling.gen.ts b/packages/clients/src/api/rdb/v1/marshalling.gen.ts index e16babe18..f42135930 100644 --- a/packages/clients/src/api/rdb/v1/marshalling.gen.ts +++ b/packages/clients/src/api/rdb/v1/marshalling.gen.ts @@ -34,6 +34,7 @@ import type { DeleteInstanceACLRulesResponse, DeleteInstanceSettingsRequest, DeleteInstanceSettingsResponse, + EncryptionAtRest, Endpoint, EndpointDirectAccessDetails, EndpointLoadBalancerDetails, @@ -267,6 +268,18 @@ export const unmarshalBackupSchedule = (data: unknown): BackupSchedule => { } as BackupSchedule } +const unmarshalEncryptionAtRest = (data: unknown): EncryptionAtRest => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'EncryptionAtRest' failed as data isn't a dictionary.`, + ) + } + + return { + enabled: data.enabled, + } as EncryptionAtRest +} + const unmarshalInstanceSetting = (data: unknown): InstanceSetting => { if (!isJSONObject(data)) { throw new TypeError( @@ -335,6 +348,9 @@ export const unmarshalInstance = (data: unknown): Instance => { ? unmarshalBackupSchedule(data.backup_schedule) : undefined, createdAt: unmarshalDate(data.created_at), + encryption: data.encryption + ? unmarshalEncryptionAtRest(data.encryption) + : undefined, endpoint: data.endpoint ? unmarshalEndpoint(data.endpoint) : undefined, endpoints: unmarshalArrayOfObject(data.endpoints, unmarshalEndpoint), engine: data.engine, @@ -1002,12 +1018,23 @@ export const marshalCreateInstanceFromSnapshotRequest = ( node_type: request.nodeType, }) +const marshalEncryptionAtRest = ( + request: EncryptionAtRest, + defaults: DefaultValues, +): Record => ({ + enabled: request.enabled, +}) + export const marshalCreateInstanceRequest = ( request: CreateInstanceRequest, defaults: DefaultValues, ): Record => ({ backup_same_region: request.backupSameRegion, disable_backup: request.disableBackup, + encryption: + request.encryption !== undefined + ? marshalEncryptionAtRest(request.encryption, defaults) + : undefined, engine: request.engine, init_endpoints: request.initEndpoints !== undefined diff --git a/packages/clients/src/api/rdb/v1/types.gen.ts b/packages/clients/src/api/rdb/v1/types.gen.ts index ad3136a40..6134cc905 100644 --- a/packages/clients/src/api/rdb/v1/types.gen.ts +++ b/packages/clients/src/api/rdb/v1/types.gen.ts @@ -294,6 +294,10 @@ export interface BackupSchedule { nextRunAt?: Date } +export interface EncryptionAtRest { + enabled: boolean +} + export interface InstanceSetting { name: string value: string @@ -554,6 +558,8 @@ export interface Instance { backupSameRegion: boolean /** List of Database Instance maintenance events. */ maintenances: Maintenance[] + /** Encryption at rest settings for your Database Instance. */ + encryption?: EncryptionAtRest } export interface NodeType { @@ -820,6 +826,8 @@ export type CreateInstanceRequest = { * the Database Instance. */ backupSameRegion: boolean + /** Encryption at rest settings for your Database Instance. */ + encryption?: EncryptionAtRest } export type CreateReadReplicaEndpointRequest = {