diff --git a/packages/clients/src/api/rdb/v1/api.gen.ts b/packages/clients/src/api/rdb/v1/api.gen.ts index beaaca593..33a13102a 100644 --- a/packages/clients/src/api/rdb/v1/api.gen.ts +++ b/packages/clients/src/api/rdb/v1/api.gen.ts @@ -138,6 +138,7 @@ import type { PrepareInstanceLogsRequest, PrepareInstanceLogsResponse, Privilege, + PromoteReadReplicaRequest, PurgeInstanceLogsRequest, ReadReplica, RenewInstanceCertificateRequest, @@ -869,6 +870,30 @@ export class API extends ParentAPI { unmarshalReadReplica, ) + /** + * Promote a Read Replica. Promote a Read Replica to Database Instance + * automatically. + * + * @param request - The request {@link PromoteReadReplicaRequest} + * @returns A Promise of Instance + */ + promoteReadReplica = (request: Readonly) => + this.client.fetch( + { + body: '{}', + headers: jsonContentHeaders, + method: 'POST', + path: `/rdb/v1/regions/${validatePathParam( + 'region', + request.region ?? this.client.settings.defaultRegion, + )}/read-replicas/${validatePathParam( + 'readReplicaId', + request.readReplicaId, + )}/promote`, + }, + unmarshalInstance, + ) + /** * Create an endpoint for a Read Replica. Create a new endpoint for a Read * Replica. Read Replicas can have at most one direct access and one Private diff --git a/packages/clients/src/api/rdb/v1/content.gen.ts b/packages/clients/src/api/rdb/v1/content.gen.ts index 1c7474556..acdbf9b7e 100644 --- a/packages/clients/src/api/rdb/v1/content.gen.ts +++ b/packages/clients/src/api/rdb/v1/content.gen.ts @@ -41,6 +41,7 @@ export const READ_REPLICA_TRANSIENT_STATUSES: ReadReplicaStatus[] = [ 'initializing', 'deleting', 'configuring', + 'promoting', ] /** Lists transient statutes of the enum {@link SnapshotStatus}. */ diff --git a/packages/clients/src/api/rdb/v1/index.gen.ts b/packages/clients/src/api/rdb/v1/index.gen.ts index 5b5a665c2..0b0ba3afb 100644 --- a/packages/clients/src/api/rdb/v1/index.gen.ts +++ b/packages/clients/src/api/rdb/v1/index.gen.ts @@ -107,6 +107,7 @@ export type { PrepareInstanceLogsRequest, PrepareInstanceLogsResponse, Privilege, + PromoteReadReplicaRequest, PurgeInstanceLogsRequest, ReadReplica, ReadReplicaEndpointSpec, diff --git a/packages/clients/src/api/rdb/v1/types.gen.ts b/packages/clients/src/api/rdb/v1/types.gen.ts index a74a6c75b..6c0f64f1b 100644 --- a/packages/clients/src/api/rdb/v1/types.gen.ts +++ b/packages/clients/src/api/rdb/v1/types.gen.ts @@ -109,6 +109,7 @@ export type ReadReplicaStatus = | 'error' | 'locked' | 'configuring' + | 'promoting' export type SnapshotStatus = | 'unknown' @@ -1166,6 +1167,16 @@ export type ResetReadReplicaRequest = { readReplicaId: string } +export type PromoteReadReplicaRequest = { + /** + * Region to target. If none is passed will use default region from the + * config. + */ + region?: Region + /** UUID of the Read Replica. */ + readReplicaId: string +} + export type CreateReadReplicaEndpointRequest = { /** * Region to target. If none is passed will use default region from the