Skip to content

Commit df79670

Browse files
authored
feat(secret): retrieve secrets by name (#447)
1 parent 5e9c196 commit df79670

File tree

2 files changed

+77
-8
lines changed

2 files changed

+77
-8
lines changed

packages/clients/src/api/secret/v1alpha1/api.gen.ts

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import {
44
API as ParentAPI,
55
enrichForPagination,
6+
resolveOneOf,
67
urlParams,
78
validatePathParam,
89
} from '../../../bridge'
@@ -80,14 +81,24 @@ export class API extends ParentAPI {
8081
* @param request - The request {@link GetSecretRequest}
8182
* @returns A Promise of Secret
8283
*/
83-
getSecret = (request: Readonly<GetSecretRequest>) =>
84+
getSecret = (request: Readonly<GetSecretRequest> = {}) =>
8485
this.client.fetch<Secret>(
8586
{
8687
method: 'GET',
8788
path: `/secret-manager/v1alpha1/regions/${validatePathParam(
8889
'region',
8990
request.region ?? this.client.settings.defaultRegion,
9091
)}/secrets/${validatePathParam('secretId', request.secretId)}`,
92+
urlParams: urlParams(
93+
...Object.entries(
94+
resolveOneOf([
95+
{
96+
param: 'secret_name',
97+
value: request.secretName,
98+
},
99+
]),
100+
),
101+
),
91102
},
92103
unmarshalSecret,
93104
)
@@ -123,6 +134,7 @@ export class API extends ParentAPI {
123134
request.region ?? this.client.settings.defaultRegion,
124135
)}/secrets`,
125136
urlParams: urlParams(
137+
['name', request.name],
126138
['order_by', request.orderBy ?? 'name_asc'],
127139
[
128140
'organization_id',
@@ -206,6 +218,16 @@ export class API extends ParentAPI {
206218
'secretId',
207219
request.secretId,
208220
)}/versions/${validatePathParam('revision', request.revision)}`,
221+
urlParams: urlParams(
222+
...Object.entries(
223+
resolveOneOf([
224+
{
225+
param: 'secret_name',
226+
value: request.secretName,
227+
},
228+
]),
229+
),
230+
),
209231
},
210232
unmarshalSecretVersion,
211233
)
@@ -236,7 +258,7 @@ export class API extends ParentAPI {
236258
)
237259

238260
protected pageOfListSecretVersions = (
239-
request: Readonly<ListSecretVersionsRequest>,
261+
request: Readonly<ListSecretVersionsRequest> = {},
240262
) =>
241263
this.client.fetch<ListSecretVersionsResponse>(
242264
{
@@ -252,6 +274,14 @@ export class API extends ParentAPI {
252274
request.pageSize ?? this.client.settings.defaultPageSize,
253275
],
254276
['status', request.status],
277+
...Object.entries(
278+
resolveOneOf([
279+
{
280+
param: 'secret_name',
281+
value: request.secretName,
282+
},
283+
]),
284+
),
255285
),
256286
},
257287
unmarshalListSecretVersionsResponse,
@@ -263,7 +293,7 @@ export class API extends ParentAPI {
263293
* @param request - The request {@link ListSecretVersionsRequest}
264294
* @returns A Promise of ListSecretVersionsResponse
265295
*/
266-
listSecretVersions = (request: Readonly<ListSecretVersionsRequest>) =>
296+
listSecretVersions = (request: Readonly<ListSecretVersionsRequest> = {}) =>
267297
enrichForPagination('versions', this.pageOfListSecretVersions, request)
268298

269299
/**
@@ -352,6 +382,16 @@ export class API extends ParentAPI {
352382
'secretId',
353383
request.secretId,
354384
)}/versions/${validatePathParam('revision', request.revision)}/access`,
385+
urlParams: urlParams(
386+
...Object.entries(
387+
resolveOneOf([
388+
{
389+
param: 'secret_name',
390+
value: request.secretName,
391+
},
392+
]),
393+
),
394+
),
355395
},
356396
unmarshalAccessSecretVersionResponse,
357397
)

packages/clients/src/api/secret/v1alpha1/types.gen.ts

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,13 @@ export type GetSecretRequest = {
106106
/** Region to target. If none is passed will use default region from the config */
107107
region?: Region
108108
/** ID of the Secret */
109-
secretId: string
109+
secretId?: string
110+
/**
111+
* Name of the Secret (alternative to secret_id).
112+
*
113+
* One-of ('secretRef'): at most one of 'secretName' could be set.
114+
*/
115+
secretName?: string
110116
}
111117

112118
export type UpdateSecretRequest = {
@@ -131,6 +137,8 @@ export type ListSecretsRequest = {
131137
projectId?: string
132138
/** List of tags to filter on (optional) */
133139
tags?: string[]
140+
/** Name of the secrets (optional) */
141+
name?: string
134142
orderBy?: ListSecretsRequestOrderBy
135143
page?: number
136144
pageSize?: number
@@ -158,9 +166,15 @@ export type GetSecretVersionRequest = {
158166
/** Region to target. If none is passed will use default region from the config */
159167
region?: Region
160168
/** ID of the Secret */
161-
secretId: string
169+
secretId?: string
162170
/** Revision of the SecretVersion (may be a number or "latest") */
163171
revision: string
172+
/**
173+
* Name of the Secret (alternative to secret_id).
174+
*
175+
* One-of ('secretRef'): at most one of 'secretName' could be set.
176+
*/
177+
secretName?: string
164178
}
165179

166180
export type UpdateSecretVersionRequest = {
@@ -178,7 +192,13 @@ export type ListSecretVersionsRequest = {
178192
/** Region to target. If none is passed will use default region from the config */
179193
region?: Region
180194
/** ID of the Secret */
181-
secretId: string
195+
secretId?: string
196+
/**
197+
* Name of the Secret (alternative to secret_id).
198+
*
199+
* One-of ('secretRef'): at most one of 'secretName' could be set.
200+
*/
201+
secretName?: string
182202
page?: number
183203
pageSize?: number
184204
/** Filter results by status */
@@ -216,7 +236,16 @@ export type AccessSecretVersionRequest = {
216236
/** Region to target. If none is passed will use default region from the config */
217237
region?: Region
218238
/** ID of the Secret */
219-
secretId: string
220-
/** Revision of the SecretVersion (may be a number or "latest") */
239+
secretId?: string
240+
/**
241+
* Revision of the SecretVersion (may be a number, "latest" or
242+
* "latest_enabled")
243+
*/
221244
revision: string
245+
/**
246+
* Name of the Secret (alternative to secret_id).
247+
*
248+
* One-of ('secretRef'): at most one of 'secretName' could be set.
249+
*/
250+
secretName?: string
222251
}

0 commit comments

Comments
 (0)