@@ -19,6 +19,7 @@ import {
1919 unmarshalSecretVersion ,
2020} from './marshalling.gen'
2121import type {
22+ AccessSecretVersionByNameRequest ,
2223 AccessSecretVersionRequest ,
2324 AccessSecretVersionResponse ,
2425 CreateSecretRequest ,
@@ -27,8 +28,11 @@ import type {
2728 DestroySecretVersionRequest ,
2829 DisableSecretVersionRequest ,
2930 EnableSecretVersionRequest ,
31+ GetSecretByNameRequest ,
3032 GetSecretRequest ,
33+ GetSecretVersionByNameRequest ,
3134 GetSecretVersionRequest ,
35+ ListSecretVersionsByNameRequest ,
3236 ListSecretVersionsRequest ,
3337 ListSecretVersionsResponse ,
3438 ListSecretsRequest ,
@@ -92,6 +96,27 @@ export class API extends ParentAPI {
9296 unmarshalSecret ,
9397 )
9498
99+ /**
100+ * Get metadata of a Secret
101+ *
102+ * @param request - The request {@link GetSecretByNameRequest}
103+ * @returns A Promise of Secret
104+ */
105+ getSecretByName = ( request : Readonly < GetSecretByNameRequest > ) =>
106+ this . client . fetch < Secret > (
107+ {
108+ method : 'GET' ,
109+ path : `/secret-manager/v1alpha1/regions/${ validatePathParam (
110+ 'region' ,
111+ request . region ?? this . client . settings . defaultRegion ,
112+ ) } /secrets-by-name/${ validatePathParam (
113+ 'secretName' ,
114+ request . secretName ,
115+ ) } `,
116+ } ,
117+ unmarshalSecret ,
118+ )
119+
95120 /**
96121 * Update metadata of a Secret
97122 *
@@ -123,21 +148,15 @@ export class API extends ParentAPI {
123148 request . region ?? this . client . settings . defaultRegion ,
124149 ) } /secrets`,
125150 urlParams : urlParams (
151+ [ 'name' , request . name ] ,
126152 [ 'order_by' , request . orderBy ?? 'name_asc' ] ,
127- [
128- 'organization_id' ,
129- request . organizationId ??
130- this . client . settings . defaultOrganizationId ,
131- ] ,
153+ [ 'organization_id' , request . organizationId ] ,
132154 [ 'page' , request . page ] ,
133155 [
134156 'page_size' ,
135157 request . pageSize ?? this . client . settings . defaultPageSize ,
136158 ] ,
137- [
138- 'project_id' ,
139- request . projectId ?? this . client . settings . defaultProjectId ,
140- ] ,
159+ [ 'project_id' , request . projectId ] ,
141160 [ 'tags' , request . tags ] ,
142161 ) ,
143162 } ,
@@ -210,6 +229,27 @@ export class API extends ParentAPI {
210229 unmarshalSecretVersion ,
211230 )
212231
232+ /**
233+ * Get metadata of a SecretVersion
234+ *
235+ * @param request - The request {@link GetSecretVersionByNameRequest}
236+ * @returns A Promise of SecretVersion
237+ */
238+ getSecretVersionByName = ( request : Readonly < GetSecretVersionByNameRequest > ) =>
239+ this . client . fetch < SecretVersion > (
240+ {
241+ method : 'GET' ,
242+ path : `/secret-manager/v1alpha1/regions/${ validatePathParam (
243+ 'region' ,
244+ request . region ?? this . client . settings . defaultRegion ,
245+ ) } /secrets-by-name/${ validatePathParam (
246+ 'secretName' ,
247+ request . secretName ,
248+ ) } /versions/${ validatePathParam ( 'revision' , request . revision ) } `,
249+ } ,
250+ unmarshalSecretVersion ,
251+ )
252+
213253 /**
214254 * Update metadata of a SecretVersion
215255 *
@@ -266,6 +306,46 @@ export class API extends ParentAPI {
266306 listSecretVersions = ( request : Readonly < ListSecretVersionsRequest > ) =>
267307 enrichForPagination ( 'versions' , this . pageOfListSecretVersions , request )
268308
309+ protected pageOfListSecretVersionsByName = (
310+ request : Readonly < ListSecretVersionsByNameRequest > ,
311+ ) =>
312+ this . client . fetch < ListSecretVersionsResponse > (
313+ {
314+ method : 'GET' ,
315+ path : `/secret-manager/v1alpha1/regions/${ validatePathParam (
316+ 'region' ,
317+ request . region ?? this . client . settings . defaultRegion ,
318+ ) } /secrets-by-name/${ validatePathParam (
319+ 'secretName' ,
320+ request . secretName ,
321+ ) } /versions`,
322+ urlParams : urlParams (
323+ [ 'page' , request . page ] ,
324+ [
325+ 'page_size' ,
326+ request . pageSize ?? this . client . settings . defaultPageSize ,
327+ ] ,
328+ [ 'status' , request . status ] ,
329+ ) ,
330+ } ,
331+ unmarshalListSecretVersionsResponse ,
332+ )
333+
334+ /**
335+ * List versions of a secret, not returning any sensitive data
336+ *
337+ * @param request - The request {@link ListSecretVersionsByNameRequest}
338+ * @returns A Promise of ListSecretVersionsResponse
339+ */
340+ listSecretVersionsByName = (
341+ request : Readonly < ListSecretVersionsByNameRequest > ,
342+ ) =>
343+ enrichForPagination (
344+ 'versions' ,
345+ this . pageOfListSecretVersionsByName ,
346+ request ,
347+ )
348+
269349 /**
270350 * Destroy a SecretVersion, permanently destroying the sensitive data
271351 *
@@ -355,4 +435,27 @@ export class API extends ParentAPI {
355435 } ,
356436 unmarshalAccessSecretVersionResponse ,
357437 )
438+
439+ /**
440+ * Access a SecretVersion, returning the sensitive data
441+ *
442+ * @param request - The request {@link AccessSecretVersionByNameRequest}
443+ * @returns A Promise of AccessSecretVersionResponse
444+ */
445+ accessSecretVersionByName = (
446+ request : Readonly < AccessSecretVersionByNameRequest > ,
447+ ) =>
448+ this . client . fetch < AccessSecretVersionResponse > (
449+ {
450+ method : 'GET' ,
451+ path : `/secret-manager/v1alpha1/regions/${ validatePathParam (
452+ 'region' ,
453+ request . region ?? this . client . settings . defaultRegion ,
454+ ) } /secrets-by-name/${ validatePathParam (
455+ 'secretName' ,
456+ request . secretName ,
457+ ) } /versions/${ validatePathParam ( 'revision' , request . revision ) } /access`,
458+ } ,
459+ unmarshalAccessSecretVersionResponse ,
460+ )
358461}
0 commit comments