diff --git a/packages/clients/src/api/secret/v1beta1/api.gen.ts b/packages/clients/src/api/secret/v1beta1/api.gen.ts index e227869d7..118cdd318 100644 --- a/packages/clients/src/api/secret/v1beta1/api.gen.ts +++ b/packages/clients/src/api/secret/v1beta1/api.gen.ts @@ -46,6 +46,8 @@ import type { ListTagsRequest, ListTagsResponse, ProtectSecretRequest, + RestoreSecretRequest, + RestoreSecretVersionRequest, Secret, SecretVersion, UnprotectSecretRequest, @@ -497,4 +499,40 @@ export class API extends ParentAPI { */ listSecretTypes = (request: Readonly = {}) => enrichForPagination('types', this.pageOfListSecretTypes, request) + + /** + * Restore a version. Restore a secret's version specified by the `region`, + * `secret_id` and `revision` parameters. + * + * @param request - The request {@link RestoreSecretVersionRequest} + * @returns A Promise of SecretVersion + */ + restoreSecretVersion = (request: Readonly) => + this.client.fetch( + { + body: '{}', + headers: jsonContentHeaders, + method: 'POST', + path: `/secret-manager/v1beta1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam('secretId', request.secretId)}/versions/${validatePathParam('revision', request.revision)}/restore`, + }, + unmarshalSecretVersion, + ) + + /** + * Restore a secret. Restore a secret and all its versions scheduled for + * deletion specified by the `region` and `secret_id` parameters. + * + * @param request - The request {@link RestoreSecretRequest} + * @returns A Promise of Secret + */ + restoreSecret = (request: Readonly) => + this.client.fetch( + { + body: '{}', + headers: jsonContentHeaders, + method: 'POST', + path: `/secret-manager/v1beta1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam('secretId', request.secretId)}/restore`, + }, + unmarshalSecret, + ) } diff --git a/packages/clients/src/api/secret/v1beta1/index.gen.ts b/packages/clients/src/api/secret/v1beta1/index.gen.ts index b54f53655..6a798365c 100644 --- a/packages/clients/src/api/secret/v1beta1/index.gen.ts +++ b/packages/clients/src/api/secret/v1beta1/index.gen.ts @@ -36,6 +36,8 @@ export type { ListTagsResponse, Product, ProtectSecretRequest, + RestoreSecretRequest, + RestoreSecretVersionRequest, SSHKey, Secret, SecretStatus, diff --git a/packages/clients/src/api/secret/v1beta1/types.gen.ts b/packages/clients/src/api/secret/v1beta1/types.gen.ts index 212a3b06c..5b3903a9c 100644 --- a/packages/clients/src/api/secret/v1beta1/types.gen.ts +++ b/packages/clients/src/api/secret/v1beta1/types.gen.ts @@ -550,6 +550,25 @@ export type ProtectSecretRequest = { secretId: string } +export type RestoreSecretRequest = { + /** + * Region to target. If none is passed will use default region from the + * config. + */ + region?: ScwRegion + secretId: string +} + +export type RestoreSecretVersionRequest = { + /** + * Region to target. If none is passed will use default region from the + * config. + */ + region?: ScwRegion + secretId: string + revision: string +} + export interface SSHKey { /** The private SSH key. */ sshPrivateKey: string