@scaleway/sdk-secret 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,179 @@
1
+ import { API as ParentAPI } from '@scaleway/sdk-client';
2
+ import type { Region as ScwRegion } from '@scaleway/sdk-client';
3
+ import type { AccessSecretVersionByPathRequest, AccessSecretVersionRequest, AccessSecretVersionResponse, AddSecretOwnerRequest, BrowseSecretsRequest, BrowseSecretsResponse, CreateSecretRequest, CreateSecretVersionRequest, DeleteSecretRequest, DeleteSecretVersionRequest, DisableSecretVersionRequest, EnableSecretVersionRequest, GetSecretRequest, GetSecretVersionRequest, ListSecretTypesRequest, ListSecretTypesResponse, ListSecretVersionsRequest, ListSecretVersionsResponse, ListSecretsRequest, ListSecretsResponse, ListTagsRequest, ListTagsResponse, ProtectSecretRequest, RestoreSecretRequest, RestoreSecretVersionRequest, Secret, SecretVersion, UnprotectSecretRequest, UpdateSecretRequest, UpdateSecretVersionRequest } from './types.gen';
4
+ /**
5
+ * Secret Manager API.
6
+
7
+ This API allows you to manage your Secret Manager services, for storing, accessing and sharing sensitive data such as passwords, API keys and certificates.
8
+ */
9
+ export declare class API extends ParentAPI {
10
+ /** Lists the available regions of the API. */
11
+ static readonly LOCALITIES: ScwRegion[];
12
+ /**
13
+ * Create a secret. Create a secret in a given region specified by the `region` parameter.
14
+ *
15
+ * @param request - The request {@link CreateSecretRequest}
16
+ * @returns A Promise of Secret
17
+ */
18
+ createSecret: (request: Readonly<CreateSecretRequest>) => Promise<Secret>;
19
+ /**
20
+ * Get metadata using the secret's ID. Retrieve the metadata of a secret specified by the `region` and `secret_id` parameters.
21
+ *
22
+ * @param request - The request {@link GetSecretRequest}
23
+ * @returns A Promise of Secret
24
+ */
25
+ getSecret: (request: Readonly<GetSecretRequest>) => Promise<Secret>;
26
+ /**
27
+ * Update metadata of a secret. Edit a secret's metadata such as name, tag(s), description and ephemeral policy. The secret to update is specified by the `secret_id` and `region` parameters.
28
+ *
29
+ * @param request - The request {@link UpdateSecretRequest}
30
+ * @returns A Promise of Secret
31
+ */
32
+ updateSecret: (request: Readonly<UpdateSecretRequest>) => Promise<Secret>;
33
+ /**
34
+ * Delete a secret. Delete a given secret specified by the `region` and `secret_id` parameters.
35
+ *
36
+ * @param request - The request {@link DeleteSecretRequest}
37
+ */
38
+ deleteSecret: (request: Readonly<DeleteSecretRequest>) => Promise<void>;
39
+ protected pageOfListSecrets: (request: Readonly<ListSecretsRequest>) => Promise<ListSecretsResponse>;
40
+ /**
41
+ * List secrets. Retrieve the list of secrets created within an Organization and/or Project. You must specify either the `organization_id` or the `project_id` and the `region`.
42
+ *
43
+ * @param request - The request {@link ListSecretsRequest}
44
+ * @returns A Promise of ListSecretsResponse
45
+ */
46
+ listSecrets: (request: Readonly<ListSecretsRequest>) => Promise<ListSecretsResponse> & {
47
+ all: () => Promise<Secret[]>;
48
+ [Symbol.asyncIterator]: () => AsyncGenerator<Secret[], void, void>;
49
+ };
50
+ /**
51
+ * Browse secrets. Retrieve the list of secrets and folders for the given prefix. You must specify either the `organization_id` or the `project_id` and the `region`.
52
+ *
53
+ * @param request - The request {@link BrowseSecretsRequest}
54
+ * @returns A Promise of BrowseSecretsResponse
55
+ */
56
+ browseSecrets: (request: Readonly<BrowseSecretsRequest>) => Promise<BrowseSecretsResponse>;
57
+ /**
58
+ * Enable secret protection. Enable secret protection for a given secret specified by the `secret_id` parameter. Enabling secret protection means that your secret can be read and modified, but it cannot be deleted.
59
+ *
60
+ * @param request - The request {@link ProtectSecretRequest}
61
+ * @returns A Promise of Secret
62
+ */
63
+ protectSecret: (request: Readonly<ProtectSecretRequest>) => Promise<Secret>;
64
+ /**
65
+ * Disable secret protection. Disable secret protection for a given secret specified by the `secret_id` parameter. Disabling secret protection means that your secret can be read, modified and deleted.
66
+ *
67
+ * @param request - The request {@link UnprotectSecretRequest}
68
+ * @returns A Promise of Secret
69
+ */
70
+ unprotectSecret: (request: Readonly<UnprotectSecretRequest>) => Promise<Secret>;
71
+ /**
72
+ * Allow a product to use the secret.
73
+ *
74
+ * @param request - The request {@link AddSecretOwnerRequest}
75
+ */
76
+ addSecretOwner: (request: Readonly<AddSecretOwnerRequest>) => Promise<void>;
77
+ /**
78
+ * Create a version. Create a version of a given secret specified by the `region` and `secret_id` parameters.
79
+ *
80
+ * @param request - The request {@link CreateSecretVersionRequest}
81
+ * @returns A Promise of SecretVersion
82
+ */
83
+ createSecretVersion: (request: Readonly<CreateSecretVersionRequest>) => Promise<SecretVersion>;
84
+ /**
85
+ * Get metadata of a secret's version using the secret's ID. Retrieve the metadata of a secret's given version specified by the `region`, `secret_id` and `revision` parameters.
86
+ *
87
+ * @param request - The request {@link GetSecretVersionRequest}
88
+ * @returns A Promise of SecretVersion
89
+ */
90
+ getSecretVersion: (request: Readonly<GetSecretVersionRequest>) => Promise<SecretVersion>;
91
+ /**
92
+ * Update metadata of a version. Edit the metadata of a secret's given version, specified by the `region`, `secret_id` and `revision` parameters.
93
+ *
94
+ * @param request - The request {@link UpdateSecretVersionRequest}
95
+ * @returns A Promise of SecretVersion
96
+ */
97
+ updateSecretVersion: (request: Readonly<UpdateSecretVersionRequest>) => Promise<SecretVersion>;
98
+ /**
99
+ * Delete a version. Delete a secret's version and the sensitive data contained in it. Deleting a version is permanent and cannot be undone.
100
+ *
101
+ * @param request - The request {@link DeleteSecretVersionRequest}
102
+ */
103
+ deleteSecretVersion: (request: Readonly<DeleteSecretVersionRequest>) => Promise<void>;
104
+ protected pageOfListSecretVersions: (request: Readonly<ListSecretVersionsRequest>) => Promise<ListSecretVersionsResponse>;
105
+ /**
106
+ * List versions of a secret using the secret's ID. Retrieve the list of a given secret's versions specified by the `secret_id` and `region` parameters.
107
+ *
108
+ * @param request - The request {@link ListSecretVersionsRequest}
109
+ * @returns A Promise of ListSecretVersionsResponse
110
+ */
111
+ listSecretVersions: (request: Readonly<ListSecretVersionsRequest>) => Promise<ListSecretVersionsResponse> & {
112
+ all: () => Promise<SecretVersion[]>;
113
+ [Symbol.asyncIterator]: () => AsyncGenerator<SecretVersion[], void, void>;
114
+ };
115
+ /**
116
+ * Access a secret's version using the secret's ID. Access sensitive data in a secret's version specified by the `region`, `secret_id` and `revision` parameters.
117
+ *
118
+ * @param request - The request {@link AccessSecretVersionRequest}
119
+ * @returns A Promise of AccessSecretVersionResponse
120
+ */
121
+ accessSecretVersion: (request: Readonly<AccessSecretVersionRequest>) => Promise<AccessSecretVersionResponse>;
122
+ /**
123
+ * Access a secret's version using the secret's name and path. Access sensitive data in a secret's version specified by the `region`, `secret_name`, `secret_path` and `revision` parameters.
124
+ *
125
+ * @param request - The request {@link AccessSecretVersionByPathRequest}
126
+ * @returns A Promise of AccessSecretVersionResponse
127
+ */
128
+ accessSecretVersionByPath: (request: Readonly<AccessSecretVersionByPathRequest>) => Promise<AccessSecretVersionResponse>;
129
+ /**
130
+ * Enable a version. Make a specific version accessible. You must specify the `region`, `secret_id` and `revision` parameters.
131
+ *
132
+ * @param request - The request {@link EnableSecretVersionRequest}
133
+ * @returns A Promise of SecretVersion
134
+ */
135
+ enableSecretVersion: (request: Readonly<EnableSecretVersionRequest>) => Promise<SecretVersion>;
136
+ /**
137
+ * Disable a version. Make a specific version inaccessible. You must specify the `region`, `secret_id` and `revision` parameters.
138
+ *
139
+ * @param request - The request {@link DisableSecretVersionRequest}
140
+ * @returns A Promise of SecretVersion
141
+ */
142
+ disableSecretVersion: (request: Readonly<DisableSecretVersionRequest>) => Promise<SecretVersion>;
143
+ protected pageOfListTags: (request?: Readonly<ListTagsRequest>) => Promise<ListTagsResponse>;
144
+ /**
145
+ * List tags. List all tags associated with secrets within a given Project.
146
+ *
147
+ * @param request - The request {@link ListTagsRequest}
148
+ * @returns A Promise of ListTagsResponse
149
+ */
150
+ listTags: (request?: Readonly<ListTagsRequest>) => Promise<ListTagsResponse> & {
151
+ all: () => Promise<string[]>;
152
+ [Symbol.asyncIterator]: () => AsyncGenerator<string[], void, void>;
153
+ };
154
+ protected pageOfListSecretTypes: (request?: Readonly<ListSecretTypesRequest>) => Promise<ListSecretTypesResponse>;
155
+ /**
156
+ * List secret types. List all secret types created within a given Project.
157
+ *
158
+ * @param request - The request {@link ListSecretTypesRequest}
159
+ * @returns A Promise of ListSecretTypesResponse
160
+ */
161
+ listSecretTypes: (request?: Readonly<ListSecretTypesRequest>) => Promise<ListSecretTypesResponse> & {
162
+ all: () => Promise<import("./types.gen").SecretType[]>;
163
+ [Symbol.asyncIterator]: () => AsyncGenerator<import("./types.gen").SecretType[], void, void>;
164
+ };
165
+ /**
166
+ * Restore a version. Restore a secret's version specified by the `region`, `secret_id` and `revision` parameters.
167
+ *
168
+ * @param request - The request {@link RestoreSecretVersionRequest}
169
+ * @returns A Promise of SecretVersion
170
+ */
171
+ restoreSecretVersion: (request: Readonly<RestoreSecretVersionRequest>) => Promise<SecretVersion>;
172
+ /**
173
+ * Restore a secret. Restore a secret and all its versions scheduled for deletion specified by the `region` and `secret_id` parameters.
174
+ *
175
+ * @param request - The request {@link RestoreSecretRequest}
176
+ * @returns A Promise of Secret
177
+ */
178
+ restoreSecret: (request: Readonly<RestoreSecretRequest>) => Promise<Secret>;
179
+ }
@@ -0,0 +1,392 @@
1
+ import { API as API$1, validatePathParam, urlParams, enrichForPagination } from "@scaleway/sdk-client";
2
+ import { marshalCreateSecretRequest, unmarshalSecret, marshalUpdateSecretRequest, unmarshalListSecretsResponse, unmarshalBrowseSecretsResponse, marshalAddSecretOwnerRequest, marshalCreateSecretVersionRequest, unmarshalSecretVersion, marshalUpdateSecretVersionRequest, unmarshalListSecretVersionsResponse, unmarshalAccessSecretVersionResponse, unmarshalListTagsResponse, unmarshalListSecretTypesResponse } from "./marshalling.gen.js";
3
+ const jsonContentHeaders = {
4
+ "Content-Type": "application/json; charset=utf-8"
5
+ };
6
+ class API extends API$1 {
7
+ /** Lists the available regions of the API. */
8
+ static LOCALITIES = [
9
+ "fr-par",
10
+ "nl-ams",
11
+ "pl-waw"
12
+ ];
13
+ /**
14
+ * Create a secret. Create a secret in a given region specified by the `region` parameter.
15
+ *
16
+ * @param request - The request {@link CreateSecretRequest}
17
+ * @returns A Promise of Secret
18
+ */
19
+ createSecret = (request) => this.client.fetch(
20
+ {
21
+ body: JSON.stringify(
22
+ marshalCreateSecretRequest(request, this.client.settings)
23
+ ),
24
+ headers: jsonContentHeaders,
25
+ method: "POST",
26
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets`
27
+ },
28
+ unmarshalSecret
29
+ );
30
+ /**
31
+ * Get metadata using the secret's ID. Retrieve the metadata of a secret specified by the `region` and `secret_id` parameters.
32
+ *
33
+ * @param request - The request {@link GetSecretRequest}
34
+ * @returns A Promise of Secret
35
+ */
36
+ getSecret = (request) => this.client.fetch(
37
+ {
38
+ method: "GET",
39
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}`
40
+ },
41
+ unmarshalSecret
42
+ );
43
+ /**
44
+ * Update metadata of a secret. Edit a secret's metadata such as name, tag(s), description and ephemeral policy. The secret to update is specified by the `secret_id` and `region` parameters.
45
+ *
46
+ * @param request - The request {@link UpdateSecretRequest}
47
+ * @returns A Promise of Secret
48
+ */
49
+ updateSecret = (request) => this.client.fetch(
50
+ {
51
+ body: JSON.stringify(
52
+ marshalUpdateSecretRequest(request, this.client.settings)
53
+ ),
54
+ headers: jsonContentHeaders,
55
+ method: "PATCH",
56
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}`
57
+ },
58
+ unmarshalSecret
59
+ );
60
+ /**
61
+ * Delete a secret. Delete a given secret specified by the `region` and `secret_id` parameters.
62
+ *
63
+ * @param request - The request {@link DeleteSecretRequest}
64
+ */
65
+ deleteSecret = (request) => this.client.fetch({
66
+ method: "DELETE",
67
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}`
68
+ });
69
+ pageOfListSecrets = (request) => this.client.fetch(
70
+ {
71
+ method: "GET",
72
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets`,
73
+ urlParams: urlParams(
74
+ ["ephemeral", request.ephemeral],
75
+ ["name", request.name],
76
+ ["order_by", request.orderBy],
77
+ ["organization_id", request.organizationId],
78
+ ["page", request.page],
79
+ [
80
+ "page_size",
81
+ request.pageSize ?? this.client.settings.defaultPageSize
82
+ ],
83
+ ["path", request.path],
84
+ ["project_id", request.projectId],
85
+ ["scheduled_for_deletion", request.scheduledForDeletion],
86
+ ["tags", request.tags],
87
+ ["type", request.type]
88
+ )
89
+ },
90
+ unmarshalListSecretsResponse
91
+ );
92
+ /**
93
+ * List secrets. Retrieve the list of secrets created within an Organization and/or Project. You must specify either the `organization_id` or the `project_id` and the `region`.
94
+ *
95
+ * @param request - The request {@link ListSecretsRequest}
96
+ * @returns A Promise of ListSecretsResponse
97
+ */
98
+ listSecrets = (request) => enrichForPagination("secrets", this.pageOfListSecrets, request);
99
+ /**
100
+ * Browse secrets. Retrieve the list of secrets and folders for the given prefix. You must specify either the `organization_id` or the `project_id` and the `region`.
101
+ *
102
+ * @param request - The request {@link BrowseSecretsRequest}
103
+ * @returns A Promise of BrowseSecretsResponse
104
+ */
105
+ browseSecrets = (request) => this.client.fetch(
106
+ {
107
+ method: "GET",
108
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/browse`,
109
+ urlParams: urlParams(
110
+ ["order_by", request.orderBy],
111
+ ["page", request.page],
112
+ [
113
+ "page_size",
114
+ request.pageSize ?? this.client.settings.defaultPageSize
115
+ ],
116
+ ["prefix", request.prefix],
117
+ ["project_id", request.projectId],
118
+ ["tags", request.tags],
119
+ ["type", request.type]
120
+ )
121
+ },
122
+ unmarshalBrowseSecretsResponse
123
+ );
124
+ /**
125
+ * Enable secret protection. Enable secret protection for a given secret specified by the `secret_id` parameter. Enabling secret protection means that your secret can be read and modified, but it cannot be deleted.
126
+ *
127
+ * @param request - The request {@link ProtectSecretRequest}
128
+ * @returns A Promise of Secret
129
+ */
130
+ protectSecret = (request) => this.client.fetch(
131
+ {
132
+ body: "{}",
133
+ headers: jsonContentHeaders,
134
+ method: "POST",
135
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}/protect`
136
+ },
137
+ unmarshalSecret
138
+ );
139
+ /**
140
+ * Disable secret protection. Disable secret protection for a given secret specified by the `secret_id` parameter. Disabling secret protection means that your secret can be read, modified and deleted.
141
+ *
142
+ * @param request - The request {@link UnprotectSecretRequest}
143
+ * @returns A Promise of Secret
144
+ */
145
+ unprotectSecret = (request) => this.client.fetch(
146
+ {
147
+ body: "{}",
148
+ headers: jsonContentHeaders,
149
+ method: "POST",
150
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}/unprotect`
151
+ },
152
+ unmarshalSecret
153
+ );
154
+ /**
155
+ * Allow a product to use the secret.
156
+ *
157
+ * @param request - The request {@link AddSecretOwnerRequest}
158
+ */
159
+ addSecretOwner = (request) => this.client.fetch({
160
+ body: JSON.stringify(
161
+ marshalAddSecretOwnerRequest(request, this.client.settings)
162
+ ),
163
+ headers: jsonContentHeaders,
164
+ method: "POST",
165
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}/add-owner`
166
+ });
167
+ /**
168
+ * Create a version. Create a version of a given secret specified by the `region` and `secret_id` parameters.
169
+ *
170
+ * @param request - The request {@link CreateSecretVersionRequest}
171
+ * @returns A Promise of SecretVersion
172
+ */
173
+ createSecretVersion = (request) => this.client.fetch(
174
+ {
175
+ body: JSON.stringify(
176
+ marshalCreateSecretVersionRequest(request, this.client.settings)
177
+ ),
178
+ headers: jsonContentHeaders,
179
+ method: "POST",
180
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}/versions`
181
+ },
182
+ unmarshalSecretVersion
183
+ );
184
+ /**
185
+ * Get metadata of a secret's version using the secret's ID. Retrieve the metadata of a secret's given version specified by the `region`, `secret_id` and `revision` parameters.
186
+ *
187
+ * @param request - The request {@link GetSecretVersionRequest}
188
+ * @returns A Promise of SecretVersion
189
+ */
190
+ getSecretVersion = (request) => this.client.fetch(
191
+ {
192
+ method: "GET",
193
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}/versions/${validatePathParam("revision", request.revision)}`
194
+ },
195
+ unmarshalSecretVersion
196
+ );
197
+ /**
198
+ * Update metadata of a version. Edit the metadata of a secret's given version, specified by the `region`, `secret_id` and `revision` parameters.
199
+ *
200
+ * @param request - The request {@link UpdateSecretVersionRequest}
201
+ * @returns A Promise of SecretVersion
202
+ */
203
+ updateSecretVersion = (request) => this.client.fetch(
204
+ {
205
+ body: JSON.stringify(
206
+ marshalUpdateSecretVersionRequest(request, this.client.settings)
207
+ ),
208
+ headers: jsonContentHeaders,
209
+ method: "PATCH",
210
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}/versions/${validatePathParam("revision", request.revision)}`
211
+ },
212
+ unmarshalSecretVersion
213
+ );
214
+ /**
215
+ * Delete a version. Delete a secret's version and the sensitive data contained in it. Deleting a version is permanent and cannot be undone.
216
+ *
217
+ * @param request - The request {@link DeleteSecretVersionRequest}
218
+ */
219
+ deleteSecretVersion = (request) => this.client.fetch({
220
+ method: "DELETE",
221
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}/versions/${validatePathParam("revision", request.revision)}`
222
+ });
223
+ pageOfListSecretVersions = (request) => this.client.fetch(
224
+ {
225
+ method: "GET",
226
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}/versions`,
227
+ urlParams: urlParams(
228
+ ["page", request.page],
229
+ [
230
+ "page_size",
231
+ request.pageSize ?? this.client.settings.defaultPageSize
232
+ ],
233
+ ["status", request.status]
234
+ )
235
+ },
236
+ unmarshalListSecretVersionsResponse
237
+ );
238
+ /**
239
+ * List versions of a secret using the secret's ID. Retrieve the list of a given secret's versions specified by the `secret_id` and `region` parameters.
240
+ *
241
+ * @param request - The request {@link ListSecretVersionsRequest}
242
+ * @returns A Promise of ListSecretVersionsResponse
243
+ */
244
+ listSecretVersions = (request) => enrichForPagination("versions", this.pageOfListSecretVersions, request);
245
+ /**
246
+ * Access a secret's version using the secret's ID. Access sensitive data in a secret's version specified by the `region`, `secret_id` and `revision` parameters.
247
+ *
248
+ * @param request - The request {@link AccessSecretVersionRequest}
249
+ * @returns A Promise of AccessSecretVersionResponse
250
+ */
251
+ accessSecretVersion = (request) => this.client.fetch(
252
+ {
253
+ method: "GET",
254
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}/versions/${validatePathParam("revision", request.revision)}/access`
255
+ },
256
+ unmarshalAccessSecretVersionResponse
257
+ );
258
+ /**
259
+ * Access a secret's version using the secret's name and path. Access sensitive data in a secret's version specified by the `region`, `secret_name`, `secret_path` and `revision` parameters.
260
+ *
261
+ * @param request - The request {@link AccessSecretVersionByPathRequest}
262
+ * @returns A Promise of AccessSecretVersionResponse
263
+ */
264
+ accessSecretVersionByPath = (request) => this.client.fetch(
265
+ {
266
+ method: "GET",
267
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets-by-path/versions/${validatePathParam("revision", request.revision)}/access`,
268
+ urlParams: urlParams(
269
+ [
270
+ "project_id",
271
+ request.projectId ?? this.client.settings.defaultProjectId
272
+ ],
273
+ ["secret_name", request.secretName],
274
+ ["secret_path", request.secretPath]
275
+ )
276
+ },
277
+ unmarshalAccessSecretVersionResponse
278
+ );
279
+ /**
280
+ * Enable a version. Make a specific version accessible. You must specify the `region`, `secret_id` and `revision` parameters.
281
+ *
282
+ * @param request - The request {@link EnableSecretVersionRequest}
283
+ * @returns A Promise of SecretVersion
284
+ */
285
+ enableSecretVersion = (request) => this.client.fetch(
286
+ {
287
+ body: "{}",
288
+ headers: jsonContentHeaders,
289
+ method: "POST",
290
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}/versions/${validatePathParam("revision", request.revision)}/enable`
291
+ },
292
+ unmarshalSecretVersion
293
+ );
294
+ /**
295
+ * Disable a version. Make a specific version inaccessible. You must specify the `region`, `secret_id` and `revision` parameters.
296
+ *
297
+ * @param request - The request {@link DisableSecretVersionRequest}
298
+ * @returns A Promise of SecretVersion
299
+ */
300
+ disableSecretVersion = (request) => this.client.fetch(
301
+ {
302
+ body: "{}",
303
+ headers: jsonContentHeaders,
304
+ method: "POST",
305
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}/versions/${validatePathParam("revision", request.revision)}/disable`
306
+ },
307
+ unmarshalSecretVersion
308
+ );
309
+ pageOfListTags = (request = {}) => this.client.fetch(
310
+ {
311
+ method: "GET",
312
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/tags`,
313
+ urlParams: urlParams(
314
+ ["page", request.page],
315
+ [
316
+ "page_size",
317
+ request.pageSize ?? this.client.settings.defaultPageSize
318
+ ],
319
+ [
320
+ "project_id",
321
+ request.projectId ?? this.client.settings.defaultProjectId
322
+ ]
323
+ )
324
+ },
325
+ unmarshalListTagsResponse
326
+ );
327
+ /**
328
+ * List tags. List all tags associated with secrets within a given Project.
329
+ *
330
+ * @param request - The request {@link ListTagsRequest}
331
+ * @returns A Promise of ListTagsResponse
332
+ */
333
+ listTags = (request = {}) => enrichForPagination("tags", this.pageOfListTags, request);
334
+ pageOfListSecretTypes = (request = {}) => this.client.fetch(
335
+ {
336
+ method: "GET",
337
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secret-types`,
338
+ urlParams: urlParams(
339
+ ["page", request.page],
340
+ [
341
+ "page_size",
342
+ request.pageSize ?? this.client.settings.defaultPageSize
343
+ ],
344
+ [
345
+ "project_id",
346
+ request.projectId ?? this.client.settings.defaultProjectId
347
+ ]
348
+ )
349
+ },
350
+ unmarshalListSecretTypesResponse
351
+ );
352
+ /**
353
+ * List secret types. List all secret types created within a given Project.
354
+ *
355
+ * @param request - The request {@link ListSecretTypesRequest}
356
+ * @returns A Promise of ListSecretTypesResponse
357
+ */
358
+ listSecretTypes = (request = {}) => enrichForPagination("types", this.pageOfListSecretTypes, request);
359
+ /**
360
+ * Restore a version. Restore a secret's version specified by the `region`, `secret_id` and `revision` parameters.
361
+ *
362
+ * @param request - The request {@link RestoreSecretVersionRequest}
363
+ * @returns A Promise of SecretVersion
364
+ */
365
+ restoreSecretVersion = (request) => this.client.fetch(
366
+ {
367
+ body: "{}",
368
+ headers: jsonContentHeaders,
369
+ method: "POST",
370
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}/versions/${validatePathParam("revision", request.revision)}/restore`
371
+ },
372
+ unmarshalSecretVersion
373
+ );
374
+ /**
375
+ * Restore a secret. Restore a secret and all its versions scheduled for deletion specified by the `region` and `secret_id` parameters.
376
+ *
377
+ * @param request - The request {@link RestoreSecretRequest}
378
+ * @returns A Promise of Secret
379
+ */
380
+ restoreSecret = (request) => this.client.fetch(
381
+ {
382
+ body: "{}",
383
+ headers: jsonContentHeaders,
384
+ method: "POST",
385
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}/restore`
386
+ },
387
+ unmarshalSecret
388
+ );
389
+ }
390
+ export {
391
+ API
392
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const api_gen = require("./api.gen.cjs");
4
+ const marshalling_gen = require("./marshalling.gen.cjs");
5
+ const validationRules_gen = require("./validation-rules.gen.cjs");
6
+ exports.API = api_gen.API;
7
+ exports.marshalAddSecretOwnerRequest = marshalling_gen.marshalAddSecretOwnerRequest;
8
+ exports.marshalCreateSecretRequest = marshalling_gen.marshalCreateSecretRequest;
9
+ exports.marshalCreateSecretVersionRequest = marshalling_gen.marshalCreateSecretVersionRequest;
10
+ exports.marshalUpdateSecretRequest = marshalling_gen.marshalUpdateSecretRequest;
11
+ exports.marshalUpdateSecretVersionRequest = marshalling_gen.marshalUpdateSecretVersionRequest;
12
+ exports.unmarshalAccessSecretVersionResponse = marshalling_gen.unmarshalAccessSecretVersionResponse;
13
+ exports.unmarshalBrowseSecretsResponse = marshalling_gen.unmarshalBrowseSecretsResponse;
14
+ exports.unmarshalListSecretTypesResponse = marshalling_gen.unmarshalListSecretTypesResponse;
15
+ exports.unmarshalListSecretVersionsResponse = marshalling_gen.unmarshalListSecretVersionsResponse;
16
+ exports.unmarshalListSecretsResponse = marshalling_gen.unmarshalListSecretsResponse;
17
+ exports.unmarshalListTagsResponse = marshalling_gen.unmarshalListTagsResponse;
18
+ exports.unmarshalSecret = marshalling_gen.unmarshalSecret;
19
+ exports.unmarshalSecretVersion = marshalling_gen.unmarshalSecretVersion;
20
+ exports.ValidationRules = validationRules_gen;
@@ -0,0 +1,4 @@
1
+ export { API } from './api.gen';
2
+ export * from './marshalling.gen';
3
+ export type { AccessSecretVersionByPathRequest, AccessSecretVersionRequest, AccessSecretVersionResponse, AddSecretOwnerRequest, BasicCredentials, BrowseSecretsRequest, BrowseSecretsRequestOrderBy, BrowseSecretsResponse, BrowseSecretsResponseItem, BrowseSecretsResponseItemFolderDetails, BrowseSecretsResponseItemSecretDetails, CreateSecretRequest, CreateSecretVersionRequest, DatabaseCredentials, DeleteSecretRequest, DeleteSecretVersionRequest, DisableSecretVersionRequest, EnableSecretVersionRequest, EphemeralPolicy, EphemeralPolicyAction, EphemeralProperties, GetSecretRequest, GetSecretVersionRequest, ListSecretTypesRequest, ListSecretTypesResponse, ListSecretVersionsRequest, ListSecretVersionsResponse, ListSecretsRequest, ListSecretsRequestOrderBy, ListSecretsResponse, ListTagsRequest, ListTagsResponse, Product, ProtectSecretRequest, RestoreSecretRequest, RestoreSecretVersionRequest, SSHKey, Secret, SecretStatus, SecretType, SecretVersion, SecretVersionStatus, UnprotectSecretRequest, UpdateSecretRequest, UpdateSecretVersionRequest, } from './types.gen';
4
+ export * as ValidationRules from './validation-rules.gen';
@@ -0,0 +1,20 @@
1
+ import { API } from "./api.gen.js";
2
+ import { marshalAddSecretOwnerRequest, marshalCreateSecretRequest, marshalCreateSecretVersionRequest, marshalUpdateSecretRequest, marshalUpdateSecretVersionRequest, unmarshalAccessSecretVersionResponse, unmarshalBrowseSecretsResponse, unmarshalListSecretTypesResponse, unmarshalListSecretVersionsResponse, unmarshalListSecretsResponse, unmarshalListTagsResponse, unmarshalSecret, unmarshalSecretVersion } from "./marshalling.gen.js";
3
+ import * as validationRules_gen from "./validation-rules.gen.js";
4
+ export {
5
+ API,
6
+ validationRules_gen as ValidationRules,
7
+ marshalAddSecretOwnerRequest,
8
+ marshalCreateSecretRequest,
9
+ marshalCreateSecretVersionRequest,
10
+ marshalUpdateSecretRequest,
11
+ marshalUpdateSecretVersionRequest,
12
+ unmarshalAccessSecretVersionResponse,
13
+ unmarshalBrowseSecretsResponse,
14
+ unmarshalListSecretTypesResponse,
15
+ unmarshalListSecretVersionsResponse,
16
+ unmarshalListSecretsResponse,
17
+ unmarshalListTagsResponse,
18
+ unmarshalSecret,
19
+ unmarshalSecretVersion
20
+ };