From 5da81ecb9f746603fa3e823a576cbb9b6e2fea59 Mon Sep 17 00:00:00 2001 From: scaleway-bot Date: Wed, 28 Feb 2024 15:48:31 +0000 Subject: [PATCH] feat: update generated APIs --- .../clients/src/api/secret/v1beta1/api.gen.ts | 32 +++++++++++++++++++ .../src/api/secret/v1beta1/index.gen.ts | 2 ++ .../src/api/secret/v1beta1/marshalling.gen.ts | 14 ++++++++ .../src/api/secret/v1beta1/types.gen.ts | 19 +++++++++++ 4 files changed, 67 insertions(+) diff --git a/packages/clients/src/api/secret/v1beta1/api.gen.ts b/packages/clients/src/api/secret/v1beta1/api.gen.ts index 27b6beefa..16a5d478d 100644 --- a/packages/clients/src/api/secret/v1beta1/api.gen.ts +++ b/packages/clients/src/api/secret/v1beta1/api.gen.ts @@ -17,6 +17,7 @@ import { unmarshalBrowseSecretsResponse, unmarshalListSecretVersionsResponse, unmarshalListSecretsResponse, + unmarshalListTagsResponse, unmarshalSecret, unmarshalSecretVersion, } from './marshalling.gen' @@ -38,6 +39,8 @@ import type { ListSecretVersionsResponse, ListSecretsRequest, ListSecretsResponse, + ListTagsRequest, + ListTagsResponse, ProtectSecretRequest, Secret, SecretVersion, @@ -393,4 +396,33 @@ export class API extends ParentAPI { }, unmarshalSecretVersion, ) + + protected pageOfListTags = (request: Readonly = {}) => + this.client.fetch( + { + method: 'GET', + path: `/secret-manager/v1beta1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/tags`, + urlParams: urlParams( + ['page', request.page], + [ + 'page_size', + request.pageSize ?? this.client.settings.defaultPageSize, + ], + [ + 'project_id', + request.projectId ?? this.client.settings.defaultProjectId, + ], + ), + }, + unmarshalListTagsResponse, + ) + + /** + * List tags. List all tags associated with secrets within a given Project. + * + * @param request - The request {@link ListTagsRequest} + * @returns A Promise of ListTagsResponse + */ + listTags = (request: Readonly = {}) => + enrichForPagination('tags', this.pageOfListTags, request) } diff --git a/packages/clients/src/api/secret/v1beta1/index.gen.ts b/packages/clients/src/api/secret/v1beta1/index.gen.ts index 700443338..2d7b2b628 100644 --- a/packages/clients/src/api/secret/v1beta1/index.gen.ts +++ b/packages/clients/src/api/secret/v1beta1/index.gen.ts @@ -27,6 +27,8 @@ export type { ListSecretsRequest, ListSecretsRequestOrderBy, ListSecretsResponse, + ListTagsRequest, + ListTagsResponse, Product, ProtectSecretRequest, Secret, diff --git a/packages/clients/src/api/secret/v1beta1/marshalling.gen.ts b/packages/clients/src/api/secret/v1beta1/marshalling.gen.ts index fdb9a5766..71e163be4 100644 --- a/packages/clients/src/api/secret/v1beta1/marshalling.gen.ts +++ b/packages/clients/src/api/secret/v1beta1/marshalling.gen.ts @@ -19,6 +19,7 @@ import type { EphemeralProperties, ListSecretVersionsResponse, ListSecretsResponse, + ListTagsResponse, Secret, SecretVersion, UpdateSecretRequest, @@ -222,6 +223,19 @@ export const unmarshalListSecretsResponse = ( } as ListSecretsResponse } +export const unmarshalListTagsResponse = (data: unknown): ListTagsResponse => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'ListTagsResponse' failed as data isn't a dictionary.`, + ) + } + + return { + tags: data.tags, + totalCount: data.total_count, + } as ListTagsResponse +} + export const marshalAddSecretOwnerRequest = ( request: AddSecretOwnerRequest, defaults: DefaultValues, diff --git a/packages/clients/src/api/secret/v1beta1/types.gen.ts b/packages/clients/src/api/secret/v1beta1/types.gen.ts index 23edce454..840d2bd44 100644 --- a/packages/clients/src/api/secret/v1beta1/types.gen.ts +++ b/packages/clients/src/api/secret/v1beta1/types.gen.ts @@ -425,6 +425,25 @@ export interface ListSecretsResponse { totalCount: number } +export type ListTagsRequest = { + /** + * Region to target. If none is passed will use default region from the + * config. + */ + region?: Region + /** ID of the Project to target. */ + projectId?: string + page?: number + pageSize?: number +} + +export interface ListTagsResponse { + /** List of tags. */ + tags: string[] + /** Count of all tags matching the requested criteria. */ + totalCount: number +} + export type ProtectSecretRequest = { /** * Region to target. If none is passed will use default region from the