@ibm-cloud/secrets-manager 1.0.31 → 1.0.34

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.
@@ -25,7 +25,6 @@ import { BaseService, UserOptions } from 'ibm-cloud-sdk-core';
25
25
  * See: https://cloud.ibm.com/docs/secrets-manager
26
26
  */
27
27
  declare class SecretsManagerV1 extends BaseService {
28
- static DEFAULT_SERVICE_URL: string;
29
28
  static DEFAULT_SERVICE_NAME: string;
30
29
  /*************************
31
30
  * Factory method
@@ -57,7 +56,7 @@ declare class SecretsManagerV1 extends BaseService {
57
56
  /**
58
57
  * Create a secret group.
59
58
  *
60
- * Creates a secret group that you can use to organize secrets and control who on your team has access to them.
59
+ * Create a secret group that you can use to organize secrets and control who on your team has access to them.
61
60
  *
62
61
  * A successful request returns the ID value of the secret group, along with other metadata. To learn more about
63
62
  * secret groups, check out the
@@ -73,7 +72,7 @@ declare class SecretsManagerV1 extends BaseService {
73
72
  /**
74
73
  * List secret groups.
75
74
  *
76
- * Retrieves the list of secret groups that are available in your Secrets Manager instance.
75
+ * List the secret groups that are available in your Secrets Manager instance.
77
76
  *
78
77
  * @param {Object} [params] - The parameters to send to the service.
79
78
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
@@ -83,7 +82,7 @@ declare class SecretsManagerV1 extends BaseService {
83
82
  /**
84
83
  * Get a secret group.
85
84
  *
86
- * Retrieves the metadata of an existing secret group by specifying the ID of the group.
85
+ * Get the metadata of an existing secret group by specifying the ID of the group.
87
86
  *
88
87
  * @param {Object} params - The parameters to send to the service.
89
88
  * @param {string} params.id - The v4 UUID that uniquely identifies the secret group.
@@ -94,7 +93,7 @@ declare class SecretsManagerV1 extends BaseService {
94
93
  /**
95
94
  * Update a secret group.
96
95
  *
97
- * Updates the metadata of an existing secret group, such as its name or description.
96
+ * Update the metadata of an existing secret group, such as its name or description.
98
97
  *
99
98
  * @param {Object} params - The parameters to send to the service.
100
99
  * @param {string} params.id - The v4 UUID that uniquely identifies the secret group.
@@ -107,7 +106,7 @@ declare class SecretsManagerV1 extends BaseService {
107
106
  /**
108
107
  * Delete a secret group.
109
108
  *
110
- * Deletes a secret group by specifying the ID of the secret group.
109
+ * Delete a secret group by specifying the ID of the secret group.
111
110
  *
112
111
  * **Note:** To delete a secret group, it must be empty. If you need to remove a secret group that contains secrets,
113
112
  * you must first [delete the secrets](#delete-secret) that are associated with the group.
@@ -145,7 +144,7 @@ declare class SecretsManagerV1 extends BaseService {
145
144
  /**
146
145
  * List secrets by type.
147
146
  *
148
- * Retrieves a list of secrets based on the type that you specify.
147
+ * List the secrets in your Secrets Manager instance based on the type that you specify.
149
148
  *
150
149
  * @param {Object} params - The parameters to send to the service.
151
150
  * @param {string} params.secretType - The secret type.
@@ -154,12 +153,12 @@ declare class SecretsManagerV1 extends BaseService {
154
153
  * resources.
155
154
  *
156
155
  * **Usage:** If you have 20 secrets in your instance, and you want to retrieve only the first 5 secrets, use
157
- * `../secrets/{secret-type}?limit=5`.
156
+ * `../secrets/{secret_type}?limit=5`.
158
157
  * @param {number} [params.offset] - The number of secrets to skip. By specifying `offset`, you retrieve a subset of
159
158
  * items that starts with the `offset` value. Use `offset` with `limit` to page through your available resources.
160
159
  *
161
160
  * **Usage:** If you have 100 secrets in your instance, and you want to retrieve secrets 26 through 50, use
162
- * `../secrets/{secret-type}?offset=25&limit=25`.
161
+ * `..?offset=25&limit=25`.
163
162
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
164
163
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.ListSecrets>>}
165
164
  */
@@ -167,7 +166,7 @@ declare class SecretsManagerV1 extends BaseService {
167
166
  /**
168
167
  * List all secrets.
169
168
  *
170
- * Retrieves a list of all secrets in your Secrets Manager instance.
169
+ * List all of the secrets in your Secrets Manager instance.
171
170
  *
172
171
  * @param {Object} [params] - The parameters to send to the service.
173
172
  * @param {number} [params.limit] - The number of secrets to retrieve. By default, list operations return the first
@@ -175,28 +174,28 @@ declare class SecretsManagerV1 extends BaseService {
175
174
  * resources.
176
175
  *
177
176
  * **Usage:** If you have 20 secrets in your instance, and you want to retrieve only the first 5 secrets, use
178
- * `../secrets/{secret-type}?limit=5`.
177
+ * `../secrets/{secret_type}?limit=5`.
179
178
  * @param {number} [params.offset] - The number of secrets to skip. By specifying `offset`, you retrieve a subset of
180
179
  * items that starts with the `offset` value. Use `offset` with `limit` to page through your available resources.
181
180
  *
182
181
  * **Usage:** If you have 100 secrets in your instance, and you want to retrieve secrets 26 through 50, use
183
- * `../secrets/{secret-type}?offset=25&limit=25`.
182
+ * `..?offset=25&limit=25`.
184
183
  * @param {string} [params.search] - Filter secrets that contain the specified string. The fields that are searched
185
184
  * include: id, name, description, labels, secret_type.
186
185
  *
187
186
  * **Usage:** If you want to list only the secrets that contain the string "text", use
188
- * `../secrets/{secret-type}?search=text`.
187
+ * `../secrets/{secret_type}?search=text`.
189
188
  * @param {string} [params.sortBy] - Sort a list of secrets by the specified field.
190
189
  *
191
190
  * **Usage:** To sort a list of secrets by their creation date, use
192
- * `../secrets/{secret-type}?sort_by=creation_date`.
191
+ * `../secrets/{secret_type}?sort_by=creation_date`.
193
192
  * @param {string[]} [params.groups] - Filter secrets by groups.
194
193
  *
195
194
  * You can apply multiple filters by using a comma-separated list of secret group IDs. If you need to filter secrets
196
195
  * that are in the default secret group, use the `default` keyword.
197
196
  *
198
197
  * **Usage:** To retrieve a list of secrets that are associated with an existing secret group or the default group,
199
- * use `../secrets?groups={secret_group_ID},default`.
198
+ * use `..?groups={secret_group_ID},default`.
200
199
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
201
200
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.ListSecrets>>}
202
201
  */
@@ -220,7 +219,7 @@ declare class SecretsManagerV1 extends BaseService {
220
219
  /**
221
220
  * Invoke an action on a secret.
222
221
  *
223
- * Invokes an action on a specified secret. This method supports the following actions:
222
+ * Invoke an action on a specified secret. This method supports the following actions:
224
223
  *
225
224
  * - `rotate`: Replace the value of a secret.
226
225
  * - `restore`: Restore a previous version of an `iam_credentials` secret.
@@ -239,7 +238,7 @@ declare class SecretsManagerV1 extends BaseService {
239
238
  /**
240
239
  * Delete a secret.
241
240
  *
242
- * Deletes a secret by specifying the ID of the secret.
241
+ * Delete a secret by specifying the ID of the secret.
243
242
  *
244
243
  * @param {Object} params - The parameters to send to the service.
245
244
  * @param {string} params.secretType - The secret type.
@@ -251,7 +250,7 @@ declare class SecretsManagerV1 extends BaseService {
251
250
  /**
252
251
  * List versions of a secret.
253
252
  *
254
- * Retrieves a list of the versions of a secret.
253
+ * List the versions of a secret.
255
254
  *
256
255
  * A successful request returns the list of the versions along with the metadata of each version.
257
256
  *
@@ -265,7 +264,7 @@ declare class SecretsManagerV1 extends BaseService {
265
264
  /**
266
265
  * Get a version of a secret.
267
266
  *
268
- * Retrieves a version of a secret by specifying the ID of the version or the alias `previous`.
267
+ * Get a version of a secret by specifying the ID of the version or the alias `previous`.
269
268
  *
270
269
  * A successful request returns the secret data that is associated with the specified version of your secret, along
271
270
  * with other metadata.
@@ -282,10 +281,30 @@ declare class SecretsManagerV1 extends BaseService {
282
281
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretVersion>>}
283
282
  */
284
283
  getSecretVersion(params: SecretsManagerV1.GetSecretVersionParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretVersion>>;
284
+ /**
285
+ * Invoke an action on a version of a secret.
286
+ *
287
+ * Invoke an action on a specified version of a secret. This method supports the following actions:
288
+ *
289
+ * - `revoke`: Revoke a version of a private certificate.
290
+ *
291
+ * @param {Object} params - The parameters to send to the service.
292
+ * @param {string} params.secretType - The secret type.
293
+ * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
294
+ * @param {string} params.versionId - The v4 UUID that uniquely identifies the secret version. You can also use
295
+ * `previous` to retrieve the previous version.
296
+ *
297
+ * **Note:** To find the version ID of a secret, use the [Get secret metadata](#get-secret-metadata) method and check
298
+ * the response details.
299
+ * @param {string} params.action - The action to perform on the specified secret version.
300
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
301
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecret>>}
302
+ */
303
+ updateSecretVersion(params: SecretsManagerV1.UpdateSecretVersionParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecret>>;
285
304
  /**
286
305
  * Get secret version metadata.
287
306
  *
288
- * Retrieves secret version metadata by specifying the ID of the version or the alias `previous`.
307
+ * Get the metadata of a secret version by specifying the ID of the version or the alias `previous`.
289
308
  *
290
309
  * A successful request returns the metadata that is associated with the specified version of your secret.
291
310
  *
@@ -304,7 +323,7 @@ declare class SecretsManagerV1 extends BaseService {
304
323
  /**
305
324
  * Get secret metadata.
306
325
  *
307
- * Retrieves the details of a secret by specifying the ID.
326
+ * Get the details of a secret by specifying its ID.
308
327
  *
309
328
  * A successful request returns only metadata about the secret, such as its name and creation date. To retrieve the
310
329
  * value of a secret, use the [Get a secret](#get-secret) or [Get a version of a secret](#get-secret-version) methods.
@@ -319,7 +338,7 @@ declare class SecretsManagerV1 extends BaseService {
319
338
  /**
320
339
  * Update secret metadata.
321
340
  *
322
- * Updates the metadata of a secret, such as its name or description.
341
+ * Update the metadata of a secret, such as its name or description.
323
342
  *
324
343
  * To update the actual contents of a secret, rotate the secret by using the [Invoke an action on a
325
344
  * secret](#update-secret) method.
@@ -333,15 +352,223 @@ declare class SecretsManagerV1 extends BaseService {
333
352
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.SecretMetadataRequest>>}
334
353
  */
335
354
  updateSecretMetadata(params: SecretsManagerV1.UpdateSecretMetadataParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.SecretMetadataRequest>>;
355
+ /*************************
356
+ * locks
357
+ ************************/
358
+ /**
359
+ * List secret locks.
360
+ *
361
+ * List the locks that are associated with a specified secret.
362
+ *
363
+ * @param {Object} params - The parameters to send to the service.
364
+ * @param {string} params.secretType - The secret type.
365
+ * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
366
+ * @param {number} [params.limit] - The number of secrets with locks to retrieve. By default, list operations return
367
+ * the first 25 items. To retrieve a different set of items, use `limit` with `offset` to page through your available
368
+ * resources.
369
+ *
370
+ * **Usage:** If you have 20 secrets in your instance, and you want to retrieve only the first 5 with locks, use
371
+ * `..?limit=5`.
372
+ * @param {number} [params.offset] - The number of secrets to skip. By specifying `offset`, you retrieve a subset of
373
+ * items that starts with the `offset` value. Use `offset` with `limit` to page through your available resources.
374
+ *
375
+ * **Usage:** If you have 100 secrets in your instance, and you want to retrieve secrets 26 through 50, use
376
+ * `..?offset=25&limit=25`.
377
+ * @param {string} [params.search] - Filter locks that contain the specified string in the field "name".
378
+ *
379
+ * **Usage:** If you want to list only the locks that contain the string "text" in the field "name", use
380
+ * `..?search=text`.
381
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
382
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.ListSecretLocks>>}
383
+ */
384
+ getLocks(params: SecretsManagerV1.GetLocksParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.ListSecretLocks>>;
385
+ /**
386
+ * Lock a secret.
387
+ *
388
+ * Create a lock on the current version of a secret.
389
+ *
390
+ * A lock can be used to prevent a secret from being deleted or modified while it's in use by your applications. A
391
+ * successful request attaches a new lock to your secret, or replaces a lock of the same name if it already exists.
392
+ * Additionally, you can use this method to clear any matching locks on a secret by using one of the following
393
+ * optional lock modes:
394
+ *
395
+ * - `exclusive`: Removes any other locks with matching names if they are found in the previous version of the secret.
396
+ * - `exclusive_delete`: Same as `exclusive`, but also permanently deletes the data of the previous secret version if
397
+ * it doesn't have any locks.
398
+ *
399
+ * For more information about locking secrets, check out the
400
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-secret-locks).
401
+ *
402
+ * @param {Object} params - The parameters to send to the service.
403
+ * @param {string} params.secretType - The secret type.
404
+ * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
405
+ * @param {LockSecretBodyLocksItem[]} [params.locks] - The lock data to be attached to a secret version.
406
+ * @param {string} [params.mode] - An optional lock mode. At lock creation, you can set one of the following modes to
407
+ * clear any matching locks on a secret version.
408
+ *
409
+ * - `exclusive`: Removes any other locks with matching names if they are found in the previous version of the secret.
410
+ * - `exclusive_delete`: Same as `exclusive`, but also permanently deletes the data of the previous secret version if
411
+ * it doesn't have any locks.
412
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
413
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretLocks>>}
414
+ */
415
+ lockSecret(params: SecretsManagerV1.LockSecretParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretLocks>>;
416
+ /**
417
+ * Unlock a secret.
418
+ *
419
+ * Delete one or more locks that are associated with the current version of a secret.
420
+ *
421
+ * A successful request deletes the locks that you specify. To remove all locks, you can pass `{"locks": ["*"]}` in in
422
+ * the request body. Otherwise, specify the names of the locks that you want to delete. For example, `{"locks":
423
+ * ["lock1", "lock2"]}`.
424
+ *
425
+ * **Note:** A secret is considered unlocked and able to be revoked or deleted only after all of its locks are
426
+ * removed. To understand whether a secret contains locks, check the `locks_total` field that is returned as part of
427
+ * the metadata of your secret.
428
+ *
429
+ * @param {Object} params - The parameters to send to the service.
430
+ * @param {string} params.secretType - The secret type.
431
+ * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
432
+ * @param {string[]} [params.locks] - A comma-separated list of locks to delete.
433
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
434
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretLocks>>}
435
+ */
436
+ unlockSecret(params: SecretsManagerV1.UnlockSecretParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretLocks>>;
437
+ /**
438
+ * List secret version locks.
439
+ *
440
+ * List the locks that are associated with a specified secret version.
441
+ *
442
+ * @param {Object} params - The parameters to send to the service.
443
+ * @param {string} params.secretType - The secret type.
444
+ * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
445
+ * @param {string} params.versionId - The v4 UUID that uniquely identifies the secret version. You can also use
446
+ * `previous` to retrieve the previous version.
447
+ *
448
+ * **Note:** To find the version ID of a secret, use the [Get secret metadata](#get-secret-metadata) method and check
449
+ * the response details.
450
+ * @param {number} [params.limit] - The number of secrets with locks to retrieve. By default, list operations return
451
+ * the first 25 items. To retrieve a different set of items, use `limit` with `offset` to page through your available
452
+ * resources.
453
+ *
454
+ * **Usage:** If you have 20 secrets in your instance, and you want to retrieve only the first 5 with locks, use
455
+ * `..?limit=5`.
456
+ * @param {number} [params.offset] - The number of secrets to skip. By specifying `offset`, you retrieve a subset of
457
+ * items that starts with the `offset` value. Use `offset` with `limit` to page through your available resources.
458
+ *
459
+ * **Usage:** If you have 100 secrets in your instance, and you want to retrieve secrets 26 through 50, use
460
+ * `..?offset=25&limit=25`.
461
+ * @param {string} [params.search] - Filter locks that contain the specified string in the field "name".
462
+ *
463
+ * **Usage:** If you want to list only the locks that contain the string "text" in the field "name", use
464
+ * `..?search=text`.
465
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
466
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.ListSecretLocks>>}
467
+ */
468
+ getSecretVersionLocks(params: SecretsManagerV1.GetSecretVersionLocksParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.ListSecretLocks>>;
469
+ /**
470
+ * Lock a secret version.
471
+ *
472
+ * Create a lock on the specified version of a secret.
473
+ *
474
+ * A lock can be used to prevent a secret from being deleted or modified while it's in use by your applications. A
475
+ * successful request attaches a new lock to the specified version, or replaces a lock of the same name if it already
476
+ * exists. Additionally, you can use this method to clear any matching locks on a secret version by using one of the
477
+ * following optional lock modes:
478
+ *
479
+ * - `exclusive`: Removes any other locks with matching names if they are found in the previous version of the secret.
480
+ * - `exclusive_delete`: Same as `exclusive`, but also permanently deletes the data of the previous secret version if
481
+ * it doesn't have any locks.
482
+ *
483
+ * For more information about locking secrets, check out the
484
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-secret-locks).
485
+ *
486
+ * @param {Object} params - The parameters to send to the service.
487
+ * @param {string} params.secretType - The secret type.
488
+ * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
489
+ * @param {string} params.versionId - The v4 UUID that uniquely identifies the secret version. You can also use
490
+ * `previous` to retrieve the previous version.
491
+ *
492
+ * **Note:** To find the version ID of a secret, use the [Get secret metadata](#get-secret-metadata) method and check
493
+ * the response details.
494
+ * @param {LockSecretBodyLocksItem[]} [params.locks] - The lock data to be attached to a secret version.
495
+ * @param {string} [params.mode] - An optional lock mode. At lock creation, you can set one of the following modes to
496
+ * clear any matching locks on a secret version.
497
+ *
498
+ * - `exclusive`: Removes any other locks with matching names if they are found in the previous version of the secret.
499
+ * - `exclusive_delete`: Same as `exclusive`, but also permanently deletes the data of the previous secret version if
500
+ * it doesn't have any locks.
501
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
502
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretLocks>>}
503
+ */
504
+ lockSecretVersion(params: SecretsManagerV1.LockSecretVersionParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretLocks>>;
505
+ /**
506
+ * Unlock a secret version.
507
+ *
508
+ * Delete one or more locks that are associated with the specified secret version.
509
+ *
510
+ * A successful request deletes the locks that you specify. To remove all locks, you can pass `{"locks": ["*"]}` in in
511
+ * the request body. Otherwise, specify the names of the locks that you want to delete. For example, `{"locks":
512
+ * ["lock-1", "lock-2"]}`.
513
+ *
514
+ * **Note:** A secret is considered unlocked and able to be revoked or deleted only after all of its locks are
515
+ * removed. To understand whether a secret contains locks, check the `locks_total` field that is returned as part of
516
+ * the metadata of your secret.
517
+ *
518
+ * @param {Object} params - The parameters to send to the service.
519
+ * @param {string} params.secretType - The secret type.
520
+ * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
521
+ * @param {string} params.versionId - The v4 UUID that uniquely identifies the secret version. You can also use
522
+ * `previous` to retrieve the previous version.
523
+ *
524
+ * **Note:** To find the version ID of a secret, use the [Get secret metadata](#get-secret-metadata) method and check
525
+ * the response details.
526
+ * @param {string[]} [params.locks] - A comma-separated list of locks to delete.
527
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
528
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretLocks>>}
529
+ */
530
+ unlockSecretVersion(params: SecretsManagerV1.UnlockSecretVersionParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretLocks>>;
531
+ /**
532
+ * List all secrets and locks.
533
+ *
534
+ * List the lock details that are associated with all secrets in your Secrets Manager instance.
535
+ *
536
+ * @param {Object} [params] - The parameters to send to the service.
537
+ * @param {number} [params.limit] - The number of secrets with locks to retrieve. By default, list operations return
538
+ * the first 25 items. To retrieve a different set of items, use `limit` with `offset` to page through your available
539
+ * resources.
540
+ *
541
+ * **Usage:** If you have 20 secrets in your instance, and you want to retrieve only the first 5 with locks, use
542
+ * `..?limit=5`.
543
+ * @param {number} [params.offset] - The number of secrets to skip. By specifying `offset`, you retrieve a subset of
544
+ * items that starts with the `offset` value. Use `offset` with `limit` to page through your available resources.
545
+ *
546
+ * **Usage:** If you have 100 secrets in your instance, and you want to retrieve secrets 26 through 50, use
547
+ * `..?offset=25&limit=25`.
548
+ * @param {string} [params.search] - Filter locks that contain the specified string in the field "name".
549
+ *
550
+ * **Usage:** If you want to list only the locks that contain the string "text" in the field "name", use
551
+ * `..?search=text`.
552
+ * @param {string[]} [params.groups] - Filter secrets by groups.
553
+ *
554
+ * You can apply multiple filters by using a comma-separated list of secret group IDs. If you need to filter secrets
555
+ * that are in the default secret group, use the `default` keyword.
556
+ *
557
+ * **Usage:** To retrieve a list of secrets that are associated with an existing secret group or the default group,
558
+ * use `..?groups={secret_group_ID},default`.
559
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
560
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetInstanceLocks>>}
561
+ */
562
+ listInstanceSecretsLocks(params?: SecretsManagerV1.ListInstanceSecretsLocksParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetInstanceLocks>>;
336
563
  /*************************
337
564
  * policies
338
565
  ************************/
339
566
  /**
340
567
  * Set secret policies.
341
568
  *
342
- * Creates or updates one or more policies, such as an [automatic rotation
343
- * policy](http://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-rotate-secrets#auto-rotate-secret), for the
344
- * specified secret.
569
+ * Create or update one or more policies, such as an [automatic rotation
570
+ * policy](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-automatic-rotation), for the specified
571
+ * secret.
345
572
  *
346
573
  * @param {Object} params - The parameters to send to the service.
347
574
  * @param {string} params.secretType - The secret type.
@@ -356,7 +583,7 @@ declare class SecretsManagerV1 extends BaseService {
356
583
  /**
357
584
  * List secret policies.
358
585
  *
359
- * Retrieves a list of policies that are associated with a specified secret.
586
+ * List the rotation policies that are associated with a specified secret.
360
587
  *
361
588
  * @param {Object} params - The parameters to send to the service.
362
589
  * @param {string} params.secretType - The secret type.
@@ -372,11 +599,11 @@ declare class SecretsManagerV1 extends BaseService {
372
599
  /**
373
600
  * Set the configuration of a secret type.
374
601
  *
375
- * Sets the configuration for the specified secret type.
602
+ * Set the configuration for the specified secret type.
376
603
  *
377
604
  * Use this method to configure the IAM credentials (`iam_credentials`) engine for your service instance. Looking to
378
- * set up certificate ordering? To configure the public certificates (`public_cert`) engine, use the [Add a
379
- * configuration](#create_config_element) method.
605
+ * order or generate certificates? To configure the public certificates (`public_cert`) or private certificates
606
+ * (`private_cert`) engines, use the [Add a configuration](#create_config_element) method.
380
607
  *
381
608
  * @param {Object} params - The parameters to send to the service.
382
609
  * @param {string} params.secretType - The secret type.
@@ -388,7 +615,7 @@ declare class SecretsManagerV1 extends BaseService {
388
615
  /**
389
616
  * Get the configuration of a secret type.
390
617
  *
391
- * Retrieves the configuration that is associated with the specified secret type.
618
+ * Get the configuration that is associated with the specified secret type.
392
619
  *
393
620
  * @param {Object} params - The parameters to send to the service.
394
621
  * @param {string} params.secretType - The secret type.
@@ -399,17 +626,17 @@ declare class SecretsManagerV1 extends BaseService {
399
626
  /**
400
627
  * Add a configuration.
401
628
  *
402
- * Adds a configuration element to the specified secret type.
629
+ * Add a configuration element to the specified secret type.
403
630
  *
404
631
  * Use this method to define the configurations that are required to enable the public certificates (`public_cert`)
405
- * engine and the private certificates (`private_cert`) engine.
632
+ * and private certificates (`private_cert`) engines.
406
633
  *
407
634
  * You can add multiple configurations for your instance as follows:
408
635
  *
409
636
  * - Up to 10 public certificate authority configurations
410
637
  * - Up to 10 DNS provider configurations
411
- * - Up to 10 private root certifiate authority configurations
412
- * - Up to 10 private intermediate certifiate authority configurations
638
+ * - Up to 10 private root certificate authority configurations
639
+ * - Up to 10 private intermediate certificate authority configurations
413
640
  * - Up to 10 certificate templates.
414
641
  *
415
642
  * @param {Object} params - The parameters to send to the service.
@@ -426,7 +653,7 @@ declare class SecretsManagerV1 extends BaseService {
426
653
  /**
427
654
  * List configurations.
428
655
  *
429
- * Lists the configuration elements that are associated with a specified secret type.
656
+ * List the configuration elements that are associated with a specified secret type.
430
657
  *
431
658
  * @param {Object} params - The parameters to send to the service.
432
659
  * @param {string} params.secretType - The secret type.
@@ -438,7 +665,7 @@ declare class SecretsManagerV1 extends BaseService {
438
665
  /**
439
666
  * Get a configuration.
440
667
  *
441
- * Retrieves the details of a specific configuration that is associated with a secret type.
668
+ * Get the details of a specific configuration that is associated with a secret type.
442
669
  *
443
670
  * @param {Object} params - The parameters to send to the service.
444
671
  * @param {string} params.secretType - The secret type.
@@ -451,7 +678,7 @@ declare class SecretsManagerV1 extends BaseService {
451
678
  /**
452
679
  * Update a configuration.
453
680
  *
454
- * Updates a configuration element that is associated with the specified secret type.
681
+ * Update a configuration element that is associated with the specified secret type.
455
682
  *
456
683
  * @param {Object} params - The parameters to send to the service.
457
684
  * @param {string} params.secretType - The secret type.
@@ -464,10 +691,31 @@ declare class SecretsManagerV1 extends BaseService {
464
691
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>}
465
692
  */
466
693
  updateConfigElement(params: SecretsManagerV1.UpdateConfigElementParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>;
694
+ /**
695
+ * Invoke an action on a configuration.
696
+ *
697
+ * Invoke an action on a specified configuration element. This method supports the following actions:
698
+ *
699
+ * - `sign_intermediate`: Sign an intermediate certificate authority.
700
+ * - `sign_csr`: Sign a certificate signing request.
701
+ * - `set_signed`: Set a signed intermediate certificate authority.
702
+ * - `revoke`: Revoke an internally signed intermediate certificate authority certificate.
703
+ * - `rotate_crl`: Rotate the certificate revocation list (CRL) of an intermediate certificate authority.
704
+ *
705
+ * @param {Object} params - The parameters to send to the service.
706
+ * @param {string} params.secretType - The secret type.
707
+ * @param {string} params.configElement - The configuration element on which the action is applied.
708
+ * @param {string} params.configName - The name of the certificate authority.
709
+ * @param {string} params.action - The action to perform on the specified configuration element.
710
+ * @param {ConfigAction} [params.config] - Properties that describe an action on a configuration element.
711
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
712
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.ConfigElementActionResult>>}
713
+ */
714
+ actionOnConfigElement(params: SecretsManagerV1.ActionOnConfigElementParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.ConfigElementActionResult>>;
467
715
  /**
468
716
  * Delete a configuration.
469
717
  *
470
- * Deletes a configuration element from the specified secret type.
718
+ * Delete a configuration element from the specified secret type.
471
719
  *
472
720
  * @param {Object} params - The parameters to send to the service.
473
721
  * @param {string} params.secretType - The secret type.
@@ -483,7 +731,7 @@ declare class SecretsManagerV1 extends BaseService {
483
731
  /**
484
732
  * Register with Event Notifications.
485
733
  *
486
- * Creates a registration between a Secrets Manager instance and [Event
734
+ * Create a registration between a Secrets Manager instance and [Event
487
735
  * Notifications](https://cloud.ibm.com/apidocs/event-notifications).
488
736
  *
489
737
  * A successful request adds Secrets Manager as a source that you can reference from your Event Notifications
@@ -504,7 +752,7 @@ declare class SecretsManagerV1 extends BaseService {
504
752
  /**
505
753
  * Get Event Notifications registration details.
506
754
  *
507
- * Retrieves the details of an existing registration between a Secrets Manager instance and Event Notifications.
755
+ * Get the details of an existing registration between a Secrets Manager instance and Event Notifications.
508
756
  *
509
757
  * @param {Object} [params] - The parameters to send to the service.
510
758
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
@@ -514,7 +762,7 @@ declare class SecretsManagerV1 extends BaseService {
514
762
  /**
515
763
  * Unregister from Event Notifications.
516
764
  *
517
- * Deletes a registration between a Secrets Manager instance and Event Notifications.
765
+ * Delete a registration between a Secrets Manager instance and Event Notifications.
518
766
  *
519
767
  * A successful request removes your Secrets Manager instance as a source in Event Notifications.
520
768
  *
@@ -524,7 +772,7 @@ declare class SecretsManagerV1 extends BaseService {
524
772
  */
525
773
  deleteNotificationsRegistration(params?: SecretsManagerV1.DeleteNotificationsRegistrationParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>;
526
774
  /**
527
- * Send test event.
775
+ * Send a test event.
528
776
  *
529
777
  * Send a test event from a Secrets Manager instance to a configured [Event
530
778
  * Notifications](https://cloud.ibm.com/apidocs/event-notifications) instance.
@@ -627,14 +875,14 @@ declare namespace SecretsManagerV1 {
627
875
  * different set of items, use `limit` with `offset` to page through your available resources.
628
876
  *
629
877
  * **Usage:** If you have 20 secrets in your instance, and you want to retrieve only the first 5 secrets, use
630
- * `../secrets/{secret-type}?limit=5`.
878
+ * `../secrets/{secret_type}?limit=5`.
631
879
  */
632
880
  limit?: number;
633
881
  /** The number of secrets to skip. By specifying `offset`, you retrieve a subset of items that starts with the
634
882
  * `offset` value. Use `offset` with `limit` to page through your available resources.
635
883
  *
636
884
  * **Usage:** If you have 100 secrets in your instance, and you want to retrieve secrets 26 through 50, use
637
- * `../secrets/{secret-type}?offset=25&limit=25`.
885
+ * `..?offset=25&limit=25`.
638
886
  */
639
887
  offset?: number;
640
888
  headers?: OutgoingHttpHeaders;
@@ -658,27 +906,27 @@ declare namespace SecretsManagerV1 {
658
906
  * different set of items, use `limit` with `offset` to page through your available resources.
659
907
  *
660
908
  * **Usage:** If you have 20 secrets in your instance, and you want to retrieve only the first 5 secrets, use
661
- * `../secrets/{secret-type}?limit=5`.
909
+ * `../secrets/{secret_type}?limit=5`.
662
910
  */
663
911
  limit?: number;
664
912
  /** The number of secrets to skip. By specifying `offset`, you retrieve a subset of items that starts with the
665
913
  * `offset` value. Use `offset` with `limit` to page through your available resources.
666
914
  *
667
915
  * **Usage:** If you have 100 secrets in your instance, and you want to retrieve secrets 26 through 50, use
668
- * `../secrets/{secret-type}?offset=25&limit=25`.
916
+ * `..?offset=25&limit=25`.
669
917
  */
670
918
  offset?: number;
671
919
  /** Filter secrets that contain the specified string. The fields that are searched include: id, name,
672
920
  * description, labels, secret_type.
673
921
  *
674
922
  * **Usage:** If you want to list only the secrets that contain the string "text", use
675
- * `../secrets/{secret-type}?search=text`.
923
+ * `../secrets/{secret_type}?search=text`.
676
924
  */
677
925
  search?: string;
678
926
  /** Sort a list of secrets by the specified field.
679
927
  *
680
928
  * **Usage:** To sort a list of secrets by their creation date, use
681
- * `../secrets/{secret-type}?sort_by=creation_date`.
929
+ * `../secrets/{secret_type}?sort_by=creation_date`.
682
930
  */
683
931
  sortBy?: ListAllSecretsConstants.SortBy | string;
684
932
  /** Filter secrets by groups.
@@ -687,14 +935,14 @@ declare namespace SecretsManagerV1 {
687
935
  * secrets that are in the default secret group, use the `default` keyword.
688
936
  *
689
937
  * **Usage:** To retrieve a list of secrets that are associated with an existing secret group or the default group,
690
- * use `../secrets?groups={secret_group_ID},default`.
938
+ * use `..?groups={secret_group_ID},default`.
691
939
  */
692
940
  groups?: string[];
693
941
  headers?: OutgoingHttpHeaders;
694
942
  }
695
943
  /** Constants for the `listAllSecrets` operation. */
696
944
  namespace ListAllSecretsConstants {
697
- /** Sort a list of secrets by the specified field. **Usage:** To sort a list of secrets by their creation date, use `../secrets/{secret-type}?sort_by=creation_date`. */
945
+ /** Sort a list of secrets by the specified field. **Usage:** To sort a list of secrets by their creation date, use `../secrets/{secret_type}?sort_by=creation_date`. */
698
946
  enum SortBy {
699
947
  ID = "id",
700
948
  CREATION_DATE = "creation_date",
@@ -826,6 +1074,34 @@ declare namespace SecretsManagerV1 {
826
1074
  KV = "kv"
827
1075
  }
828
1076
  }
1077
+ /** Parameters for the `updateSecretVersion` operation. */
1078
+ interface UpdateSecretVersionParams {
1079
+ /** The secret type. */
1080
+ secretType: UpdateSecretVersionConstants.SecretType | string;
1081
+ /** The v4 UUID that uniquely identifies the secret. */
1082
+ id: string;
1083
+ /** The v4 UUID that uniquely identifies the secret version. You can also use `previous` to retrieve the
1084
+ * previous version.
1085
+ *
1086
+ * **Note:** To find the version ID of a secret, use the [Get secret metadata](#get-secret-metadata) method and
1087
+ * check the response details.
1088
+ */
1089
+ versionId: string;
1090
+ /** The action to perform on the specified secret version. */
1091
+ action: UpdateSecretVersionConstants.Action | string;
1092
+ headers?: OutgoingHttpHeaders;
1093
+ }
1094
+ /** Constants for the `updateSecretVersion` operation. */
1095
+ namespace UpdateSecretVersionConstants {
1096
+ /** The secret type. */
1097
+ enum SecretType {
1098
+ PRIVATE_CERT = "private_cert"
1099
+ }
1100
+ /** The action to perform on the specified secret version. */
1101
+ enum Action {
1102
+ REVOKE = "revoke"
1103
+ }
1104
+ }
829
1105
  /** Parameters for the `getSecretVersionMetadata` operation. */
830
1106
  interface GetSecretVersionMetadataParams {
831
1107
  /** The secret type. */
@@ -900,86 +1176,342 @@ declare namespace SecretsManagerV1 {
900
1176
  KV = "kv"
901
1177
  }
902
1178
  }
903
- /** Parameters for the `putPolicy` operation. */
904
- interface PutPolicyParams {
1179
+ /** Parameters for the `getLocks` operation. */
1180
+ interface GetLocksParams {
905
1181
  /** The secret type. */
906
- secretType: PutPolicyConstants.SecretType | string;
1182
+ secretType: GetLocksConstants.SecretType | string;
907
1183
  /** The v4 UUID that uniquely identifies the secret. */
908
1184
  id: string;
909
- /** The metadata that describes the resource array. */
910
- metadata: CollectionMetadata;
911
- /** A collection of resources. */
912
- resources: SecretPolicyRotation[];
913
- /** The type of policy that is associated with the specified secret. */
914
- policy?: PutPolicyConstants.Policy | string;
1185
+ /** The number of secrets with locks to retrieve. By default, list operations return the first 25 items. To
1186
+ * retrieve a different set of items, use `limit` with `offset` to page through your available resources.
1187
+ *
1188
+ * **Usage:** If you have 20 secrets in your instance, and you want to retrieve only the first 5 with locks, use
1189
+ * `..?limit=5`.
1190
+ */
1191
+ limit?: number;
1192
+ /** The number of secrets to skip. By specifying `offset`, you retrieve a subset of items that starts with the
1193
+ * `offset` value. Use `offset` with `limit` to page through your available resources.
1194
+ *
1195
+ * **Usage:** If you have 100 secrets in your instance, and you want to retrieve secrets 26 through 50, use
1196
+ * `..?offset=25&limit=25`.
1197
+ */
1198
+ offset?: number;
1199
+ /** Filter locks that contain the specified string in the field "name".
1200
+ *
1201
+ * **Usage:** If you want to list only the locks that contain the string "text" in the field "name", use
1202
+ * `..?search=text`.
1203
+ */
1204
+ search?: string;
915
1205
  headers?: OutgoingHttpHeaders;
916
1206
  }
917
- /** Constants for the `putPolicy` operation. */
918
- namespace PutPolicyConstants {
1207
+ /** Constants for the `getLocks` operation. */
1208
+ namespace GetLocksConstants {
919
1209
  /** The secret type. */
920
1210
  enum SecretType {
921
- USERNAME_PASSWORD = "username_password",
1211
+ ARBITRARY = "arbitrary",
1212
+ IAM_CREDENTIALS = "iam_credentials",
1213
+ IMPORTED_CERT = "imported_cert",
922
1214
  PUBLIC_CERT = "public_cert",
923
- PRIVATE_CERT = "private_cert"
924
- }
925
- /** The type of policy that is associated with the specified secret. */
926
- enum Policy {
927
- ROTATION = "rotation"
1215
+ PRIVATE_CERT = "private_cert",
1216
+ USERNAME_PASSWORD = "username_password",
1217
+ KV = "kv"
928
1218
  }
929
1219
  }
930
- /** Parameters for the `getPolicy` operation. */
931
- interface GetPolicyParams {
1220
+ /** Parameters for the `lockSecret` operation. */
1221
+ interface LockSecretParams {
932
1222
  /** The secret type. */
933
- secretType: GetPolicyConstants.SecretType | string;
1223
+ secretType: LockSecretConstants.SecretType | string;
934
1224
  /** The v4 UUID that uniquely identifies the secret. */
935
1225
  id: string;
936
- /** The type of policy that is associated with the specified secret. */
937
- policy?: GetPolicyConstants.Policy | string;
1226
+ /** The lock data to be attached to a secret version. */
1227
+ locks?: LockSecretBodyLocksItem[];
1228
+ /** An optional lock mode. At lock creation, you can set one of the following modes to clear any matching locks
1229
+ * on a secret version.
1230
+ *
1231
+ * - `exclusive`: Removes any other locks with matching names if they are found in the previous version of the
1232
+ * secret.
1233
+ * - `exclusive_delete`: Same as `exclusive`, but also permanently deletes the data of the previous secret version
1234
+ * if it doesn't have any locks.
1235
+ */
1236
+ mode?: LockSecretConstants.Mode | string;
938
1237
  headers?: OutgoingHttpHeaders;
939
1238
  }
940
- /** Constants for the `getPolicy` operation. */
941
- namespace GetPolicyConstants {
1239
+ /** Constants for the `lockSecret` operation. */
1240
+ namespace LockSecretConstants {
942
1241
  /** The secret type. */
943
1242
  enum SecretType {
944
- USERNAME_PASSWORD = "username_password",
1243
+ ARBITRARY = "arbitrary",
1244
+ IAM_CREDENTIALS = "iam_credentials",
1245
+ IMPORTED_CERT = "imported_cert",
945
1246
  PUBLIC_CERT = "public_cert",
946
- PRIVATE_CERT = "private_cert"
1247
+ PRIVATE_CERT = "private_cert",
1248
+ USERNAME_PASSWORD = "username_password",
1249
+ KV = "kv"
947
1250
  }
948
- /** The type of policy that is associated with the specified secret. */
949
- enum Policy {
950
- ROTATION = "rotation"
1251
+ /** An optional lock mode. At lock creation, you can set one of the following modes to clear any matching locks on a secret version. - `exclusive`: Removes any other locks with matching names if they are found in the previous version of the secret. - `exclusive_delete`: Same as `exclusive`, but also permanently deletes the data of the previous secret version if it doesn't have any locks. */
1252
+ enum Mode {
1253
+ EXCLUSIVE = "exclusive",
1254
+ EXCLUSIVE_DELETE = "exclusive_delete"
951
1255
  }
952
1256
  }
953
- /** Parameters for the `putConfig` operation. */
954
- interface PutConfigParams {
1257
+ /** Parameters for the `unlockSecret` operation. */
1258
+ interface UnlockSecretParams {
955
1259
  /** The secret type. */
956
- secretType: PutConfigConstants.SecretType | string;
957
- /** Properties to update for a secrets engine. */
958
- engineConfig: EngineConfig;
1260
+ secretType: UnlockSecretConstants.SecretType | string;
1261
+ /** The v4 UUID that uniquely identifies the secret. */
1262
+ id: string;
1263
+ /** A comma-separated list of locks to delete. */
1264
+ locks?: string[];
959
1265
  headers?: OutgoingHttpHeaders;
960
1266
  }
961
- /** Constants for the `putConfig` operation. */
962
- namespace PutConfigConstants {
1267
+ /** Constants for the `unlockSecret` operation. */
1268
+ namespace UnlockSecretConstants {
963
1269
  /** The secret type. */
964
1270
  enum SecretType {
965
- IAM_CREDENTIALS = "iam_credentials"
1271
+ ARBITRARY = "arbitrary",
1272
+ IAM_CREDENTIALS = "iam_credentials",
1273
+ IMPORTED_CERT = "imported_cert",
1274
+ PUBLIC_CERT = "public_cert",
1275
+ PRIVATE_CERT = "private_cert",
1276
+ USERNAME_PASSWORD = "username_password",
1277
+ KV = "kv"
966
1278
  }
967
1279
  }
968
- /** Parameters for the `getConfig` operation. */
969
- interface GetConfigParams {
1280
+ /** Parameters for the `getSecretVersionLocks` operation. */
1281
+ interface GetSecretVersionLocksParams {
970
1282
  /** The secret type. */
971
- secretType: GetConfigConstants.SecretType | string;
1283
+ secretType: GetSecretVersionLocksConstants.SecretType | string;
1284
+ /** The v4 UUID that uniquely identifies the secret. */
1285
+ id: string;
1286
+ /** The v4 UUID that uniquely identifies the secret version. You can also use `previous` to retrieve the
1287
+ * previous version.
1288
+ *
1289
+ * **Note:** To find the version ID of a secret, use the [Get secret metadata](#get-secret-metadata) method and
1290
+ * check the response details.
1291
+ */
1292
+ versionId: string;
1293
+ /** The number of secrets with locks to retrieve. By default, list operations return the first 25 items. To
1294
+ * retrieve a different set of items, use `limit` with `offset` to page through your available resources.
1295
+ *
1296
+ * **Usage:** If you have 20 secrets in your instance, and you want to retrieve only the first 5 with locks, use
1297
+ * `..?limit=5`.
1298
+ */
1299
+ limit?: number;
1300
+ /** The number of secrets to skip. By specifying `offset`, you retrieve a subset of items that starts with the
1301
+ * `offset` value. Use `offset` with `limit` to page through your available resources.
1302
+ *
1303
+ * **Usage:** If you have 100 secrets in your instance, and you want to retrieve secrets 26 through 50, use
1304
+ * `..?offset=25&limit=25`.
1305
+ */
1306
+ offset?: number;
1307
+ /** Filter locks that contain the specified string in the field "name".
1308
+ *
1309
+ * **Usage:** If you want to list only the locks that contain the string "text" in the field "name", use
1310
+ * `..?search=text`.
1311
+ */
1312
+ search?: string;
972
1313
  headers?: OutgoingHttpHeaders;
973
1314
  }
974
- /** Constants for the `getConfig` operation. */
975
- namespace GetConfigConstants {
1315
+ /** Constants for the `getSecretVersionLocks` operation. */
1316
+ namespace GetSecretVersionLocksConstants {
976
1317
  /** The secret type. */
977
1318
  enum SecretType {
1319
+ ARBITRARY = "arbitrary",
978
1320
  IAM_CREDENTIALS = "iam_credentials",
1321
+ IMPORTED_CERT = "imported_cert",
979
1322
  PUBLIC_CERT = "public_cert",
980
- PRIVATE_CERT = "private_cert"
981
- }
982
- }
1323
+ PRIVATE_CERT = "private_cert",
1324
+ USERNAME_PASSWORD = "username_password",
1325
+ KV = "kv"
1326
+ }
1327
+ }
1328
+ /** Parameters for the `lockSecretVersion` operation. */
1329
+ interface LockSecretVersionParams {
1330
+ /** The secret type. */
1331
+ secretType: LockSecretVersionConstants.SecretType | string;
1332
+ /** The v4 UUID that uniquely identifies the secret. */
1333
+ id: string;
1334
+ /** The v4 UUID that uniquely identifies the secret version. You can also use `previous` to retrieve the
1335
+ * previous version.
1336
+ *
1337
+ * **Note:** To find the version ID of a secret, use the [Get secret metadata](#get-secret-metadata) method and
1338
+ * check the response details.
1339
+ */
1340
+ versionId: string;
1341
+ /** The lock data to be attached to a secret version. */
1342
+ locks?: LockSecretBodyLocksItem[];
1343
+ /** An optional lock mode. At lock creation, you can set one of the following modes to clear any matching locks
1344
+ * on a secret version.
1345
+ *
1346
+ * - `exclusive`: Removes any other locks with matching names if they are found in the previous version of the
1347
+ * secret.
1348
+ * - `exclusive_delete`: Same as `exclusive`, but also permanently deletes the data of the previous secret version
1349
+ * if it doesn't have any locks.
1350
+ */
1351
+ mode?: LockSecretVersionConstants.Mode | string;
1352
+ headers?: OutgoingHttpHeaders;
1353
+ }
1354
+ /** Constants for the `lockSecretVersion` operation. */
1355
+ namespace LockSecretVersionConstants {
1356
+ /** The secret type. */
1357
+ enum SecretType {
1358
+ ARBITRARY = "arbitrary",
1359
+ IAM_CREDENTIALS = "iam_credentials",
1360
+ IMPORTED_CERT = "imported_cert",
1361
+ PUBLIC_CERT = "public_cert",
1362
+ PRIVATE_CERT = "private_cert",
1363
+ USERNAME_PASSWORD = "username_password",
1364
+ KV = "kv"
1365
+ }
1366
+ /** An optional lock mode. At lock creation, you can set one of the following modes to clear any matching locks on a secret version. - `exclusive`: Removes any other locks with matching names if they are found in the previous version of the secret. - `exclusive_delete`: Same as `exclusive`, but also permanently deletes the data of the previous secret version if it doesn't have any locks. */
1367
+ enum Mode {
1368
+ EXCLUSIVE = "exclusive",
1369
+ EXCLUSIVE_DELETE = "exclusive_delete"
1370
+ }
1371
+ }
1372
+ /** Parameters for the `unlockSecretVersion` operation. */
1373
+ interface UnlockSecretVersionParams {
1374
+ /** The secret type. */
1375
+ secretType: UnlockSecretVersionConstants.SecretType | string;
1376
+ /** The v4 UUID that uniquely identifies the secret. */
1377
+ id: string;
1378
+ /** The v4 UUID that uniquely identifies the secret version. You can also use `previous` to retrieve the
1379
+ * previous version.
1380
+ *
1381
+ * **Note:** To find the version ID of a secret, use the [Get secret metadata](#get-secret-metadata) method and
1382
+ * check the response details.
1383
+ */
1384
+ versionId: string;
1385
+ /** A comma-separated list of locks to delete. */
1386
+ locks?: string[];
1387
+ headers?: OutgoingHttpHeaders;
1388
+ }
1389
+ /** Constants for the `unlockSecretVersion` operation. */
1390
+ namespace UnlockSecretVersionConstants {
1391
+ /** The secret type. */
1392
+ enum SecretType {
1393
+ ARBITRARY = "arbitrary",
1394
+ IAM_CREDENTIALS = "iam_credentials",
1395
+ IMPORTED_CERT = "imported_cert",
1396
+ PUBLIC_CERT = "public_cert",
1397
+ PRIVATE_CERT = "private_cert",
1398
+ USERNAME_PASSWORD = "username_password",
1399
+ KV = "kv"
1400
+ }
1401
+ }
1402
+ /** Parameters for the `listInstanceSecretsLocks` operation. */
1403
+ interface ListInstanceSecretsLocksParams {
1404
+ /** The number of secrets with locks to retrieve. By default, list operations return the first 25 items. To
1405
+ * retrieve a different set of items, use `limit` with `offset` to page through your available resources.
1406
+ *
1407
+ * **Usage:** If you have 20 secrets in your instance, and you want to retrieve only the first 5 with locks, use
1408
+ * `..?limit=5`.
1409
+ */
1410
+ limit?: number;
1411
+ /** The number of secrets to skip. By specifying `offset`, you retrieve a subset of items that starts with the
1412
+ * `offset` value. Use `offset` with `limit` to page through your available resources.
1413
+ *
1414
+ * **Usage:** If you have 100 secrets in your instance, and you want to retrieve secrets 26 through 50, use
1415
+ * `..?offset=25&limit=25`.
1416
+ */
1417
+ offset?: number;
1418
+ /** Filter locks that contain the specified string in the field "name".
1419
+ *
1420
+ * **Usage:** If you want to list only the locks that contain the string "text" in the field "name", use
1421
+ * `..?search=text`.
1422
+ */
1423
+ search?: string;
1424
+ /** Filter secrets by groups.
1425
+ *
1426
+ * You can apply multiple filters by using a comma-separated list of secret group IDs. If you need to filter
1427
+ * secrets that are in the default secret group, use the `default` keyword.
1428
+ *
1429
+ * **Usage:** To retrieve a list of secrets that are associated with an existing secret group or the default group,
1430
+ * use `..?groups={secret_group_ID},default`.
1431
+ */
1432
+ groups?: string[];
1433
+ headers?: OutgoingHttpHeaders;
1434
+ }
1435
+ /** Parameters for the `putPolicy` operation. */
1436
+ interface PutPolicyParams {
1437
+ /** The secret type. */
1438
+ secretType: PutPolicyConstants.SecretType | string;
1439
+ /** The v4 UUID that uniquely identifies the secret. */
1440
+ id: string;
1441
+ /** The metadata that describes the resource array. */
1442
+ metadata: CollectionMetadata;
1443
+ /** A collection of resources. */
1444
+ resources: SecretPolicyRotation[];
1445
+ /** The type of policy that is associated with the specified secret. */
1446
+ policy?: PutPolicyConstants.Policy | string;
1447
+ headers?: OutgoingHttpHeaders;
1448
+ }
1449
+ /** Constants for the `putPolicy` operation. */
1450
+ namespace PutPolicyConstants {
1451
+ /** The secret type. */
1452
+ enum SecretType {
1453
+ USERNAME_PASSWORD = "username_password",
1454
+ PUBLIC_CERT = "public_cert",
1455
+ PRIVATE_CERT = "private_cert"
1456
+ }
1457
+ /** The type of policy that is associated with the specified secret. */
1458
+ enum Policy {
1459
+ ROTATION = "rotation"
1460
+ }
1461
+ }
1462
+ /** Parameters for the `getPolicy` operation. */
1463
+ interface GetPolicyParams {
1464
+ /** The secret type. */
1465
+ secretType: GetPolicyConstants.SecretType | string;
1466
+ /** The v4 UUID that uniquely identifies the secret. */
1467
+ id: string;
1468
+ /** The type of policy that is associated with the specified secret. */
1469
+ policy?: GetPolicyConstants.Policy | string;
1470
+ headers?: OutgoingHttpHeaders;
1471
+ }
1472
+ /** Constants for the `getPolicy` operation. */
1473
+ namespace GetPolicyConstants {
1474
+ /** The secret type. */
1475
+ enum SecretType {
1476
+ USERNAME_PASSWORD = "username_password",
1477
+ PUBLIC_CERT = "public_cert",
1478
+ PRIVATE_CERT = "private_cert"
1479
+ }
1480
+ /** The type of policy that is associated with the specified secret. */
1481
+ enum Policy {
1482
+ ROTATION = "rotation"
1483
+ }
1484
+ }
1485
+ /** Parameters for the `putConfig` operation. */
1486
+ interface PutConfigParams {
1487
+ /** The secret type. */
1488
+ secretType: PutConfigConstants.SecretType | string;
1489
+ /** Properties to update for a secrets engine. */
1490
+ engineConfig: EngineConfig;
1491
+ headers?: OutgoingHttpHeaders;
1492
+ }
1493
+ /** Constants for the `putConfig` operation. */
1494
+ namespace PutConfigConstants {
1495
+ /** The secret type. */
1496
+ enum SecretType {
1497
+ IAM_CREDENTIALS = "iam_credentials"
1498
+ }
1499
+ }
1500
+ /** Parameters for the `getConfig` operation. */
1501
+ interface GetConfigParams {
1502
+ /** The secret type. */
1503
+ secretType: GetConfigConstants.SecretType | string;
1504
+ headers?: OutgoingHttpHeaders;
1505
+ }
1506
+ /** Constants for the `getConfig` operation. */
1507
+ namespace GetConfigConstants {
1508
+ /** The secret type. */
1509
+ enum SecretType {
1510
+ IAM_CREDENTIALS = "iam_credentials",
1511
+ PUBLIC_CERT = "public_cert",
1512
+ PRIVATE_CERT = "private_cert"
1513
+ }
1514
+ }
983
1515
  /** Parameters for the `createConfigElement` operation. */
984
1516
  interface CreateConfigElementParams {
985
1517
  /** The secret type. */
@@ -1114,6 +1646,40 @@ declare namespace SecretsManagerV1 {
1114
1646
  CERTIFICATE_TEMPLATE = "certificate_template"
1115
1647
  }
1116
1648
  }
1649
+ /** Parameters for the `actionOnConfigElement` operation. */
1650
+ interface ActionOnConfigElementParams {
1651
+ /** The secret type. */
1652
+ secretType: ActionOnConfigElementConstants.SecretType | string;
1653
+ /** The configuration element on which the action is applied. */
1654
+ configElement: ActionOnConfigElementConstants.ConfigElement | string;
1655
+ /** The name of the certificate authority. */
1656
+ configName: string;
1657
+ /** The action to perform on the specified configuration element. */
1658
+ action: ActionOnConfigElementConstants.Action | string;
1659
+ /** Properties that describe an action on a configuration element. */
1660
+ config?: ConfigAction;
1661
+ headers?: OutgoingHttpHeaders;
1662
+ }
1663
+ /** Constants for the `actionOnConfigElement` operation. */
1664
+ namespace ActionOnConfigElementConstants {
1665
+ /** The secret type. */
1666
+ enum SecretType {
1667
+ PRIVATE_CERT = "private_cert"
1668
+ }
1669
+ /** The configuration element on which the action is applied. */
1670
+ enum ConfigElement {
1671
+ ROOT_CERTIFICATE_AUTHORITIES = "root_certificate_authorities",
1672
+ INTERMEDIATE_CERTIFICATE_AUTHORITIES = "intermediate_certificate_authorities"
1673
+ }
1674
+ /** The action to perform on the specified configuration element. */
1675
+ enum Action {
1676
+ SIGN_INTERMEDIATE = "sign_intermediate",
1677
+ SIGN_CSR = "sign_csr",
1678
+ SET_SIGNED = "set_signed",
1679
+ REVOKE = "revoke",
1680
+ ROTATE_CRL = "rotate_crl"
1681
+ }
1682
+ }
1117
1683
  /** Parameters for the `deleteConfigElement` operation. */
1118
1684
  interface DeleteConfigElementParams {
1119
1685
  /** The secret type. */
@@ -1165,6 +1731,24 @@ declare namespace SecretsManagerV1 {
1165
1731
  /*************************
1166
1732
  * model interfaces
1167
1733
  ************************/
1734
+ /** The data that is associated with the secret version. The data object contains the following fields: - `certificate`: The contents of the certificate. - `private_key`: The private key that is associated with the certificate. - `intermediate`: The intermediate certificate that is associated with the certificate. */
1735
+ interface CertificateSecretData {
1736
+ }
1737
+ /** Certificate templates configuration. */
1738
+ interface CertificateTemplatesConfigItem {
1739
+ /** The human-readable name to assign to your configuration. */
1740
+ name: string;
1741
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to
1742
+ * define.
1743
+ */
1744
+ type: string;
1745
+ /** Properties that describe a certificate template. You can use a certificate template to control the
1746
+ * parameters that
1747
+ * are applied to your issued private certificates. For more information, see the
1748
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-certificate-templates).
1749
+ */
1750
+ config?: CertificateTemplateConfig;
1751
+ }
1168
1752
  /** The metadata that describes the resource array. */
1169
1753
  interface CollectionMetadata {
1170
1754
  /** The type of resources in the resource array. */
@@ -1172,6 +1756,29 @@ declare namespace SecretsManagerV1 {
1172
1756
  /** The number of elements in the resource array. */
1173
1757
  collection_total: number;
1174
1758
  }
1759
+ /** Properties that describe an action on a configuration element. */
1760
+ interface ConfigAction {
1761
+ }
1762
+ /** The configuration to add or update. */
1763
+ interface ConfigElementActionData {
1764
+ /** The human-readable name to assign to your configuration. */
1765
+ name: string;
1766
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to
1767
+ * define.
1768
+ */
1769
+ type: string;
1770
+ config: ConfigElementActionResultConfig;
1771
+ }
1772
+ /** Properties that describe an action on a configuration element. */
1773
+ interface ConfigElementActionResult {
1774
+ /** The metadata that describes the resource array. */
1775
+ metadata: CollectionMetadata;
1776
+ /** A collection of resources. */
1777
+ resources: ConfigElementActionData[];
1778
+ }
1779
+ /** ConfigElementActionResultConfig. */
1780
+ interface ConfigElementActionResultConfig {
1781
+ }
1175
1782
  /** The configuration to add or update. */
1176
1783
  interface ConfigElementDef {
1177
1784
  /** The human-readable name to assign to your configuration. */
@@ -1225,6 +1832,13 @@ declare namespace SecretsManagerV1 {
1225
1832
  /** GetConfigResourcesItem. */
1226
1833
  interface GetConfigResourcesItem {
1227
1834
  }
1835
+ /** Properties that describe the locks that are associated with an instance. */
1836
+ interface GetInstanceLocks {
1837
+ /** The metadata that describes the resource array. */
1838
+ metadata: CollectionMetadata;
1839
+ /** A collection of resources. */
1840
+ resources: InstanceSecretsLocks[];
1841
+ }
1228
1842
  /** Properties that describe an existing registration with Event Notifications. */
1229
1843
  interface GetNotificationsSettings {
1230
1844
  /** The metadata that describes the resource array. */
@@ -1239,6 +1853,13 @@ declare namespace SecretsManagerV1 {
1239
1853
  /** A collection of resources. */
1240
1854
  resources: SecretResource[];
1241
1855
  }
1856
+ /** Properties that describe the lock of a secret or a secret version. */
1857
+ interface GetSecretLocks {
1858
+ /** The metadata that describes the resource array. */
1859
+ metadata: CollectionMetadata;
1860
+ /** A collection of resources. */
1861
+ resources: SecretsLocks[];
1862
+ }
1242
1863
  /** GetSecretPolicies. */
1243
1864
  interface GetSecretPolicies {
1244
1865
  }
@@ -1263,6 +1884,33 @@ declare namespace SecretsManagerV1 {
1263
1884
  /** A collection of resources. */
1264
1885
  resources: ConfigElementDef[];
1265
1886
  }
1887
+ /** Properties that describe the locks that are associated with an instance. */
1888
+ interface InstanceSecretsLocks {
1889
+ /** The unique ID of the secret. */
1890
+ secret_id?: string;
1891
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
1892
+ *
1893
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
1894
+ */
1895
+ secret_group_id?: string;
1896
+ /** The secret type. */
1897
+ secret_type?: string;
1898
+ /** A collection of locks that are attached to a secret version. */
1899
+ versions?: SecretLockVersion[];
1900
+ /** InstanceSecretsLocks accepts additional properties. */
1901
+ [propName: string]: any;
1902
+ }
1903
+ /** Intermediate certificate authorities configuration. */
1904
+ interface IntermediateCertificateAuthoritiesConfigItem {
1905
+ /** The human-readable name to assign to your configuration. */
1906
+ name: string;
1907
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to
1908
+ * define.
1909
+ */
1910
+ type: string;
1911
+ /** Intermediate certificate authority configuration. */
1912
+ config?: IntermediateCertificateAuthorityConfig;
1913
+ }
1266
1914
  /** Issuance information that is associated with your certificate. */
1267
1915
  interface IssuanceInfo {
1268
1916
  /** The date the certificate was ordered. The date format follows RFC 3339. */
@@ -1290,6 +1938,13 @@ declare namespace SecretsManagerV1 {
1290
1938
  /** The name that was assigned to the DNS provider configuration. */
1291
1939
  dns?: string;
1292
1940
  }
1941
+ /** Properties that describe the locks of a secret or a secret version. */
1942
+ interface ListSecretLocks {
1943
+ /** The metadata that describes the resource array. */
1944
+ metadata: CollectionMetadata;
1945
+ /** A collection of resources. */
1946
+ resources: SecretLockData[];
1947
+ }
1293
1948
  /** Properties that describe a list of versions of a secret. */
1294
1949
  interface ListSecretVersions {
1295
1950
  /** The metadata that describes the resource array. */
@@ -1304,11 +1959,39 @@ declare namespace SecretsManagerV1 {
1304
1959
  /** A collection of resources. */
1305
1960
  resources?: SecretResource[];
1306
1961
  }
1962
+ /** LockSecretBodyLocksItem. */
1963
+ interface LockSecretBodyLocksItem {
1964
+ /** A human-readable name to assign to the lock. The lock name must be unique per secret version.
1965
+ *
1966
+ * To protect your privacy, do not use personal data, such as your name or location, as a name for your secret
1967
+ * lock.
1968
+ */
1969
+ name: string;
1970
+ /** An extended description of the lock.
1971
+ *
1972
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
1973
+ * secret lock.
1974
+ */
1975
+ description: string;
1976
+ /** Optional information to associate with a lock, such as resources CRNs to be used by automation. */
1977
+ attributes: JsonObject;
1978
+ }
1307
1979
  /** The Event Notifications details. */
1308
1980
  interface NotificationsSettings {
1309
1981
  /** The Cloud Resource Name (CRN) of the connected Event Notifications instance. */
1310
1982
  event_notifications_instance_crn: string;
1311
1983
  }
1984
+ /** Root certificate authorities configuration. */
1985
+ interface RootCertificateAuthoritiesConfigItem {
1986
+ /** The human-readable name to assign to your configuration. */
1987
+ name: string;
1988
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to
1989
+ * define.
1990
+ */
1991
+ type: string;
1992
+ /** Root certificate authority configuration. */
1993
+ config?: RootCertificateAuthorityConfig;
1994
+ }
1312
1995
  /** Rotation. */
1313
1996
  interface Rotation {
1314
1997
  /** Determines whether Secrets Manager rotates your certificate automatically.
@@ -1325,18 +2008,18 @@ declare namespace SecretsManagerV1 {
1325
2008
  *
1326
2009
  * If set to `true`, the service generates and stores a new private key for your rotated certificate.
1327
2010
  *
1328
- * **Note:** Use this field only for public certificates. Ignored for private certificates.
2011
+ * **Note:** Use this field only for public certificates. It is ignored for private certificates.
1329
2012
  */
1330
2013
  rotate_keys?: boolean;
1331
2014
  /** Used together with the `unit` field to specify the rotation interval. The minimum interval is one day, and
1332
2015
  * the maximum interval is 3 years (1095 days). Required in case `auto_rotate` is set to `true`.
1333
2016
  *
1334
- * **Note:** Use this field only for private certificates Ignored for public certificates.
2017
+ * **Note:** Use this field only for private certificates. It is ignored for public certificates.
1335
2018
  */
1336
2019
  interval?: number;
1337
2020
  /** The time unit of the rotation interval.
1338
2021
  *
1339
- * **Note:** Use this field only for private certificates. Ignored for public certificates.
2022
+ * **Note:** Use this field only for private certificates. It is ignored for public certificates.
1340
2023
  */
1341
2024
  unit?: string;
1342
2025
  }
@@ -1390,6 +2073,56 @@ declare namespace SecretsManagerV1 {
1390
2073
  /** SecretGroupResource accepts additional properties. */
1391
2074
  [propName: string]: any;
1392
2075
  }
2076
+ /** Properties that describe a lock. */
2077
+ interface SecretLockData {
2078
+ /** A human-readable name to assign to the secret lock.
2079
+ *
2080
+ * To protect your privacy, do not use personal data, such as your name or location, as a name for the secret lock.
2081
+ */
2082
+ name?: string;
2083
+ /** An extended description of the secret lock.
2084
+ *
2085
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for the
2086
+ * secret lock.
2087
+ */
2088
+ description?: string;
2089
+ /** The date the secret lock was created. The date format follows RFC 3339. */
2090
+ creation_date?: string;
2091
+ /** The unique identifier for the entity that created the secret lock. */
2092
+ created_by?: string;
2093
+ /** The information that is associated with a lock, such as resources CRNs to be used by automation. */
2094
+ attributes?: JsonObject;
2095
+ /** The v4 UUID that uniquely identifies the secret version. */
2096
+ secret_version_id?: string;
2097
+ /** The v4 UUID that uniquely identifies the secret. */
2098
+ secret_id?: string;
2099
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
2100
+ *
2101
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
2102
+ */
2103
+ secret_group_id?: string;
2104
+ /** Updates when the actual secret is modified. The date format follows RFC 3339. */
2105
+ last_update_date?: string;
2106
+ /** A representation for the 2 last secret versions. Could be "current" for version (n) or "previous" for
2107
+ * version (n-1).
2108
+ */
2109
+ secret_version_alias?: string;
2110
+ }
2111
+ /** Properties that describe the secret locks. */
2112
+ interface SecretLockVersion {
2113
+ /** The v4 UUID that uniquely identifies the lock. */
2114
+ id?: string;
2115
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
2116
+ * is used for version `n-1`.
2117
+ */
2118
+ alias?: string;
2119
+ /** The names of all locks that are associated with this secret. */
2120
+ locks?: string[];
2121
+ /** Indicates whether the payload for the secret version is stored and available. */
2122
+ payload_available?: boolean;
2123
+ /** SecretLockVersion accepts additional properties. */
2124
+ [propName: string]: any;
2125
+ }
1393
2126
  /** SecretMetadata. */
1394
2127
  interface SecretMetadata {
1395
2128
  }
@@ -1421,11 +2154,51 @@ declare namespace SecretsManagerV1 {
1421
2154
  /** SecretVersionMetadata. */
1422
2155
  interface SecretVersionMetadata {
1423
2156
  }
2157
+ /** Properties that describe the secret locks. */
2158
+ interface SecretsLocks {
2159
+ /** The unique ID of the secret. */
2160
+ secret_id?: string;
2161
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
2162
+ *
2163
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
2164
+ */
2165
+ secret_group_id?: string;
2166
+ /** A collection of locks that are attached to a secret version. */
2167
+ versions?: SecretLockVersion[];
2168
+ /** SecretsLocks accepts additional properties. */
2169
+ [propName: string]: any;
2170
+ }
2171
+ /** Properties that are returned with a successful `sign` action. */
2172
+ interface SignActionResultData {
2173
+ /** The PEM-encoded certificate. */
2174
+ certificate?: string;
2175
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
2176
+ serial_number?: string;
2177
+ /** The PEM-encoded certificate of the certificate authority that signed and issued this certificate. */
2178
+ issuing_ca?: string;
2179
+ /** The chain of certificate authorities that are associated with the certificate. */
2180
+ ca_chain?: string[];
2181
+ /** The time until the certificate expires. */
2182
+ expiration?: number;
2183
+ }
2184
+ /** Properties that are returned with a successful `sign` action. */
2185
+ interface SignIntermediateActionResultData {
2186
+ /** The PEM-encoded certificate. */
2187
+ certificate?: string;
2188
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
2189
+ serial_number?: string;
2190
+ /** The PEM-encoded certificate of the certificate authority that signed and issued this certificate. */
2191
+ issuing_ca?: string;
2192
+ /** The chain of certificate authorities that are associated with the certificate. */
2193
+ ca_chain?: string[];
2194
+ /** The time until the certificate expires. */
2195
+ expiration?: number;
2196
+ }
1424
2197
  /** CertificateValidity. */
1425
2198
  interface CertificateValidity {
1426
- /** The date the certificate validity period begins. */
2199
+ /** The date and time that the certificate validity period begins. */
1427
2200
  not_before?: string;
1428
- /** The date the certificate validity period ends. */
2201
+ /** The date and time that the certificate validity period ends. */
1429
2202
  not_after?: string;
1430
2203
  }
1431
2204
  /** Metadata properties that describe an arbitrary secret. */
@@ -1473,8 +2246,10 @@ declare namespace SecretsManagerV1 {
1473
2246
  created_by?: string;
1474
2247
  /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
1475
2248
  last_update_date?: string;
1476
- /** The number of versions the secret has. */
2249
+ /** The number of versions that are associated with a secret. */
1477
2250
  versions_total?: number;
2251
+ /** The number of locks that are associated with a secret. */
2252
+ locks_total?: number;
1478
2253
  /** The date the secret material expires. The date format follows RFC 3339.
1479
2254
  *
1480
2255
  * You can set an expiration date on supported secret types at their creation. If you create a secret without
@@ -1536,6 +2311,8 @@ declare namespace SecretsManagerV1 {
1536
2311
  * see [Get secret version metadata](#get-secret-version-metadata).
1537
2312
  */
1538
2313
  versions?: JsonObject[];
2314
+ /** The number of locks that are associated with a secret. */
2315
+ locks_total?: number;
1539
2316
  /** The date the secret material expires. The date format follows RFC 3339.
1540
2317
  *
1541
2318
  * You can set an expiration date on supported secret types at their creation. If you create a secret without
@@ -1564,6 +2341,8 @@ declare namespace SecretsManagerV1 {
1564
2341
  creation_date?: string;
1565
2342
  /** The unique identifier for the entity that created the secret version. */
1566
2343
  created_by?: string;
2344
+ /** The number of locks that are associated with a secret version. */
2345
+ locks_total?: number;
1567
2346
  /** The data that is associated with the secret version.
1568
2347
  *
1569
2348
  * The data object contains the field `payload`.
@@ -1601,6 +2380,8 @@ declare namespace SecretsManagerV1 {
1601
2380
  * service API.
1602
2381
  */
1603
2382
  downloaded?: boolean;
2383
+ /** The number of locks that are associated with a secret version. */
2384
+ locks_total?: number;
1604
2385
  }
1605
2386
  /** Metadata properties that describe a certificate secret. */
1606
2387
  interface CertificateSecretMetadata extends SecretMetadata {
@@ -1647,16 +2428,18 @@ declare namespace SecretsManagerV1 {
1647
2428
  created_by?: string;
1648
2429
  /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
1649
2430
  last_update_date?: string;
1650
- /** The number of versions the secret has. */
2431
+ /** The number of versions that are associated with a secret. */
1651
2432
  versions_total?: number;
2433
+ /** The number of locks that are associated with a secret. */
2434
+ locks_total?: number;
1652
2435
  /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1653
2436
  serial_number?: string;
1654
2437
  /** The identifier for the cryptographic algorithm that was used by the issuing certificate authority to sign
1655
2438
  * the certificate.
1656
2439
  */
1657
2440
  algorithm?: string;
1658
- /** The identifier for the cryptographic algorithm that was used to generate the public key that is associated
1659
- * with the certificate.
2441
+ /** The identifier for the cryptographic algorithm that was used to generate the public and private keys that
2442
+ * are associated with the certificate.
1660
2443
  */
1661
2444
  key_algorithm?: string;
1662
2445
  /** The distinguished name that identifies the entity that signed and issued the certificate. */
@@ -1723,6 +2506,8 @@ declare namespace SecretsManagerV1 {
1723
2506
  * see [Get secret version metadata](#get-secret-version-metadata).
1724
2507
  */
1725
2508
  versions?: JsonObject[];
2509
+ /** The number of locks that are associated with a secret. */
2510
+ locks_total?: number;
1726
2511
  /** The contents of your certificate. The data must be formatted on a single line with embedded newline
1727
2512
  * characters.
1728
2513
  */
@@ -1737,11 +2522,9 @@ declare namespace SecretsManagerV1 {
1737
2522
  intermediate?: string;
1738
2523
  /** The data that is associated with the secret. The data object contains the following fields:
1739
2524
  *
1740
- * `certificate`: The contents of the certificate.
1741
- *
1742
- * `private_key`: The private key that is associated with the certificate.
1743
- *
1744
- * `intermediate`: The intermediate certificate that is associated with the certificate.
2525
+ * - `certificate`: The contents of the certificate.
2526
+ * - `private_key`: The private key that is associated with the certificate.
2527
+ * - `intermediate`: The intermediate certificate that is associated with the certificate.
1745
2528
  */
1746
2529
  secret_data?: JsonObject;
1747
2530
  /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
@@ -1750,8 +2533,8 @@ declare namespace SecretsManagerV1 {
1750
2533
  * the certificate.
1751
2534
  */
1752
2535
  algorithm?: string;
1753
- /** The identifier for the cryptographic algorithm that was used to generate the public key that is associated
1754
- * with the certificate.
2536
+ /** The identifier for the cryptographic algorithm that was used to generate the public and private keys that
2537
+ * are associated with the certificate.
1755
2538
  */
1756
2539
  key_algorithm?: string;
1757
2540
  /** The distinguished name that identifies the entity that signed and issued the certificate. */
@@ -1763,8 +2546,13 @@ declare namespace SecretsManagerV1 {
1763
2546
  intermediate_included?: boolean;
1764
2547
  /** Indicates whether the certificate was imported with an associated private key. */
1765
2548
  private_key_included?: boolean;
1766
- /** The alternative names that are defined for the certificate. */
1767
- alt_names?: string[];
2549
+ /** The alternative names that are defined for the certificate.
2550
+ *
2551
+ * For public certificates, this value is provided as an array of strings. For private certificates, this value is
2552
+ * provided as a comma-delimited list (string). In the API response, this value is returned as an array of strings
2553
+ * for all the types of certificate secrets.
2554
+ */
2555
+ alt_names?: any;
1768
2556
  /** The date that the certificate expires. The date format follows RFC 3339. */
1769
2557
  expiration_date?: string;
1770
2558
  }
@@ -1778,6 +2566,8 @@ declare namespace SecretsManagerV1 {
1778
2566
  creation_date?: string;
1779
2567
  /** The unique identifier for the entity that created the secret version. */
1780
2568
  created_by?: string;
2569
+ /** The number of locks that are associated with a secret version. */
2570
+ locks_total?: number;
1781
2571
  validity?: CertificateValidity;
1782
2572
  /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1783
2573
  serial_number?: string;
@@ -1785,13 +2575,11 @@ declare namespace SecretsManagerV1 {
1785
2575
  expiration_date?: string;
1786
2576
  /** The data that is associated with the secret version. The data object contains the following fields:
1787
2577
  *
1788
- * `certificate`: The contents of the certificate.
1789
- *
1790
- * `private_key`: The private key that is associated with the certificate.
1791
- *
1792
- * `intermediate`: The intermediate certificate that is associated with the certificate.
2578
+ * - `certificate`: The contents of the certificate.
2579
+ * - `private_key`: The private key that is associated with the certificate.
2580
+ * - `intermediate`: The intermediate certificate that is associated with the certificate.
1793
2581
  */
1794
- secret_data?: JsonObject;
2582
+ secret_data?: CertificateSecretData;
1795
2583
  }
1796
2584
  /** CertificateSecretVersionInfo. */
1797
2585
  interface CertificateSecretVersionInfo extends SecretVersionInfo {
@@ -1829,12 +2617,185 @@ declare namespace SecretsManagerV1 {
1829
2617
  * service API.
1830
2618
  */
1831
2619
  downloaded?: boolean;
2620
+ /** The number of locks that are associated with a secret version. */
2621
+ locks_total?: number;
1832
2622
  /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1833
2623
  serial_number?: string;
1834
2624
  /** The date that the certificate expires. The date format follows RFC 3339. */
1835
2625
  expiration_date?: string;
1836
2626
  validity?: CertificateValidity;
1837
2627
  }
2628
+ /** Properties that describe a certificate template. You can use a certificate template to control the parameters that are applied to your issued private certificates. For more information, see the [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-certificate-templates). */
2629
+ interface CertificateTemplateConfig extends ConfigElementDefConfig {
2630
+ /** The name of the intermediate certificate authority. */
2631
+ certificate_authority: string;
2632
+ /** Scopes the creation of private certificates to only the secret groups that you specify.
2633
+ *
2634
+ * This field can be supplied as a comma-delimited list of secret group IDs.
2635
+ */
2636
+ allowed_secret_groups?: string;
2637
+ /** The maximum time-to-live (TTL) for certificates that are created by this CA.
2638
+ *
2639
+ * The value can be supplied as a string representation of a duration in hours, for example '8760h'. In the API
2640
+ * response, this value is returned in seconds (integer).
2641
+ *
2642
+ * Minimum value is one hour (`1h`). Maximum value is 100 years (`876000h`).
2643
+ */
2644
+ max_ttl?: any;
2645
+ /** The time-to-live (TTL) to assign to a private certificate.
2646
+ *
2647
+ * The value can be supplied as a string representation of a duration, such as `12h`. Hour (`h`) is the largest
2648
+ * time suffix. The value can't exceed the `max_ttl` that is defined in the associated certificate template. In the
2649
+ * API response, this value is returned in seconds (integer).
2650
+ */
2651
+ ttl?: any;
2652
+ /** Determines whether to allow `localhost` to be included as one of the requested common names. */
2653
+ allow_localhost?: boolean;
2654
+ /** The domains to define for the certificate template. This property is used along with the
2655
+ * `allow_bare_domains` and `allow_subdomains` options.
2656
+ */
2657
+ allowed_domains?: string[];
2658
+ /** Determines whether to allow the domains that are supplied in the `allowed_domains` field to contain access
2659
+ * control list (ACL) templates.
2660
+ */
2661
+ allowed_domains_template?: boolean;
2662
+ /** Determines whether to allow clients to request private certificates that match the value of the actual
2663
+ * domains on the final certificate.
2664
+ *
2665
+ * For example, if you specify `example.com` in the `allowed_domains` field, you grant clients the ability to
2666
+ * request a certificate that contains the name `example.com` as one of the DNS values on the final certificate.
2667
+ *
2668
+ * **Important:** In some scenarios, allowing bare domains can be considered a security risk.
2669
+ */
2670
+ allow_bare_domains?: boolean;
2671
+ /** Determines whether to allow clients to request private certificates with common names (CN) that are
2672
+ * subdomains of the CNs that are allowed by the other certificate template options. This includes wildcard
2673
+ * subdomains.
2674
+ *
2675
+ * For example, if `allowed_domains` has a value of `example.com` and `allow_subdomains`is set to `true`, then the
2676
+ * following subdomains are allowed: `foo.example.com`, `bar.example.com`, `*.example.com`.
2677
+ *
2678
+ * **Note:** This field is redundant if you use the `allow_any_name` option.
2679
+ */
2680
+ allow_subdomains?: boolean;
2681
+ /** Determines whether to allow glob patterns, for example, `ftp*.example.com`, in the names that are specified
2682
+ * in the `allowed_domains` field.
2683
+ *
2684
+ * If set to `true`, clients are allowed to request private certificates with names that match the glob patterns.
2685
+ */
2686
+ allow_glob_domains?: boolean;
2687
+ /** Determines whether to allow clients to request a private certificate that matches any common name. */
2688
+ allow_any_name?: boolean;
2689
+ /** Determines whether to enforce only valid host names for common names, DNS Subject Alternative Names, and the
2690
+ * host section of email addresses.
2691
+ */
2692
+ enforce_hostnames?: boolean;
2693
+ /** Determines whether to allow clients to request a private certificate with IP Subject Alternative Names. */
2694
+ allow_ip_sans?: boolean;
2695
+ /** The URI Subject Alternative Names to allow for private certificates.
2696
+ *
2697
+ * Values can contain glob patterns, for example `spiffe://hostname/_*`.
2698
+ */
2699
+ allowed_uri_sans?: string[];
2700
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names (SANs) to allow for private
2701
+ * certificates.
2702
+ *
2703
+ * The format for each element in the list is the same as OpenSSL: `<oid>:<type>:<value>` where the current valid
2704
+ * type is `UTF8`. To allow any value for an OID, use `*` as its value. Alternatively, specify a single `*` to
2705
+ * allow any `other_sans` input.
2706
+ */
2707
+ allowed_other_sans?: string[];
2708
+ /** Determines whether private certificates are flagged for server use. */
2709
+ server_flag?: boolean;
2710
+ /** Determines whether private certificates are flagged for client use. */
2711
+ client_flag?: boolean;
2712
+ /** Determines whether private certificates are flagged for code signing use. */
2713
+ code_signing_flag?: boolean;
2714
+ /** Determines whether private certificates are flagged for email protection use. */
2715
+ email_protection_flag?: boolean;
2716
+ /** The type of private key to generate for private certificates and the type of key that is expected for
2717
+ * submitted certificate signing requests (CSRs).
2718
+ *
2719
+ * Allowable values are: `rsa` and `ec`.
2720
+ */
2721
+ key_type?: string;
2722
+ /** The number of bits to use when generating the private key.
2723
+ *
2724
+ * Allowable values for RSA keys are: `2048` and `4096`. Allowable values for EC keys are: `224`, `256`, `384`, and
2725
+ * `521`. The default for RSA keys is `2048`. The default for EC keys is `256`.
2726
+ */
2727
+ key_bits?: number;
2728
+ /** The allowed key usage constraint to define for private certificates.
2729
+ *
2730
+ * You can find valid values in the [Go x509 package documentation](https://pkg.go.dev/crypto/x509#KeyUsage). Omit
2731
+ * the `KeyUsage` part of the value. Values are not case-sensitive. To specify no key usage constraints, set this
2732
+ * field to an empty list.
2733
+ */
2734
+ key_usage?: string[];
2735
+ /** The allowed extended key usage constraint on private certificates.
2736
+ *
2737
+ * You can find valid values in the [Go x509 package
2738
+ * documentation](https://golang.org/pkg/crypto/x509/#ExtKeyUsage). Omit the `ExtKeyUsage` part of the value.
2739
+ * Values are not case-sensitive. To specify no key usage constraints, set this field to an empty list.
2740
+ */
2741
+ ext_key_usage?: string[];
2742
+ /** A list of extended key usage Object Identifiers (OIDs). */
2743
+ ext_key_usage_oids?: string[];
2744
+ /** When used with the `sign_csr` action, this field determines whether to use the common name (CN) from a
2745
+ * certificate signing request (CSR) instead of the CN that's included in the JSON data of the certificate.
2746
+ *
2747
+ * Does not include any requested Subject Alternative Names (SANs) in the CSR. To use the alternative names,
2748
+ * include the `use_csr_sans` property.
2749
+ */
2750
+ use_csr_common_name?: boolean;
2751
+ /** When used with the `sign_csr` action, this field determines whether to use the Subject Alternative Names
2752
+ * (SANs) from a certificate signing request (CSR) instead of the SANs that are included in the JSON data of the
2753
+ * certificate.
2754
+ *
2755
+ * Does not include the common name in the CSR. To use the common name, include the `use_csr_common_name` property.
2756
+ */
2757
+ use_csr_sans?: boolean;
2758
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting certificate. */
2759
+ ou?: string[];
2760
+ /** The Organization (O) values to define in the subject field of the resulting certificate. */
2761
+ organization?: string[];
2762
+ /** The Country (C) values to define in the subject field of the resulting certificate. */
2763
+ country?: string[];
2764
+ /** The Locality (L) values to define in the subject field of the resulting certificate. */
2765
+ locality?: string[];
2766
+ /** The Province (ST) values to define in the subject field of the resulting certificate. */
2767
+ province?: string[];
2768
+ /** The Street Address values in the subject field of the resulting certificate. */
2769
+ street_address?: string[];
2770
+ /** The Postal Code values in the subject field of the resulting certificate. */
2771
+ postal_code?: string[];
2772
+ /** The serial number to assign to the generated certificate. To assign a random serial number, you can omit
2773
+ * this field.
2774
+ */
2775
+ serial_number?: string;
2776
+ /** Determines whether to require a common name to create a private certificate.
2777
+ *
2778
+ * By default, a common name is required to generate a certificate. To make the `common_name` field optional, set
2779
+ * the `require_cn` option to `false`.
2780
+ */
2781
+ require_cn?: boolean;
2782
+ /** A list of policy Object Identifiers (OIDs). */
2783
+ policy_identifiers?: string[];
2784
+ /** Determines whether to mark the Basic Constraints extension of an issued private certificate as valid for
2785
+ * non-CA certificates.
2786
+ */
2787
+ basic_constraints_valid_for_non_ca?: boolean;
2788
+ /** The duration in seconds by which to backdate the `not_before` property of an issued private certificate.
2789
+ *
2790
+ * The value can be supplied as a string representation of a duration, such as `30s`. In the API response, this
2791
+ * value is returned in seconds (integer).
2792
+ */
2793
+ not_before_duration?: any;
2794
+ }
2795
+ /** Certificate templates configuration. */
2796
+ interface CertificateTemplatesConfig extends GetConfigElementsResourcesItem {
2797
+ certificate_templates: CertificateTemplatesConfigItem[];
2798
+ }
1838
2799
  /** Properties that describe an IBM Cloud classic infrastructure (SoftLayer) configuration. */
1839
2800
  interface ConfigElementDefConfigClassicInfrastructureConfig extends ConfigElementDefConfig {
1840
2801
  /** The username that is associated with your classic infrastructure account.
@@ -1930,7 +2891,7 @@ declare namespace SecretsManagerV1 {
1930
2891
  /** The hash value of the IBM Cloud API key that is used to create and manage service IDs. */
1931
2892
  api_key_hash?: string;
1932
2893
  }
1933
- /** Metadata properties that describe a iam_credentials secret. */
2894
+ /** Metadata properties that describe an `iam_credentials` secret. */
1934
2895
  interface IAMCredentialsSecretMetadata extends SecretMetadata {
1935
2896
  /** The unique ID of the secret. */
1936
2897
  id?: string;
@@ -1975,9 +2936,13 @@ declare namespace SecretsManagerV1 {
1975
2936
  created_by?: string;
1976
2937
  /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
1977
2938
  last_update_date?: string;
1978
- /** The number of versions the secret has. */
2939
+ /** The number of versions that are associated with a secret. */
1979
2940
  versions_total?: number;
1980
- /** Specifies the Time To Live value provided as a string duration with time suffix. */
2941
+ /** The number of locks that are associated with a secret. */
2942
+ locks_total?: number;
2943
+ /** The time-to-live (TTL) or lease duration that is assigned to the secret. For `iam_credentials` secrets, the
2944
+ * TTL defines for how long each generated API key remains valid.
2945
+ */
1981
2946
  ttl?: string;
1982
2947
  /** Determines whether to use the same service ID and API key for future read operations on an
1983
2948
  * `iam_credentials` secret.
@@ -2052,6 +3017,8 @@ declare namespace SecretsManagerV1 {
2052
3017
  * see [Get secret version metadata](#get-secret-version-metadata).
2053
3018
  */
2054
3019
  versions?: JsonObject[];
3020
+ /** The number of locks that are associated with a secret. */
3021
+ locks_total?: number;
2055
3022
  /** The time-to-live (TTL) or lease duration to assign to generated credentials.
2056
3023
  *
2057
3024
  * For `iam_credentials` secrets, the TTL defines for how long each generated API key remains valid. The value can
@@ -2113,13 +3080,13 @@ declare namespace SecretsManagerV1 {
2113
3080
  creation_date?: string;
2114
3081
  /** The unique identifier for the entity that created the secret version. */
2115
3082
  created_by?: string;
3083
+ /** The number of locks that are associated with a secret version. */
3084
+ locks_total?: number;
2116
3085
  /** The data that is associated with the secret version. The data object contains the following fields:
2117
3086
  *
2118
- * `api_key`: The API key that is generated for this secret.
2119
- *
2120
- * `api_key_id`: The ID of the API key that is generated for this secret.
2121
- *
2122
- * `service_id`: The service ID under which the API key is created.
3087
+ * - `api_key`: The API key that is generated for this secret.
3088
+ * - `api_key_id`: The ID of the API key that is generated for this secret.
3089
+ * - `service_id`: The service ID under which the API key is created.
2123
3090
  */
2124
3091
  secret_data?: JsonObject;
2125
3092
  }
@@ -2153,10 +3120,268 @@ declare namespace SecretsManagerV1 {
2153
3120
  /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
2154
3121
  * service API.
2155
3122
  */
2156
- downloaded?: boolean;
3123
+ downloaded?: boolean;
3124
+ /** The number of locks that are associated with a secret version. */
3125
+ locks_total?: number;
3126
+ }
3127
+ /** Intermediate certificate authorities configuration. */
3128
+ interface IntermediateCertificateAuthoritiesConfig extends GetConfigElementsResourcesItem {
3129
+ intermediate_certificate_authorities: IntermediateCertificateAuthoritiesConfigItem[];
3130
+ }
3131
+ /** Intermediate certificate authority configuration. */
3132
+ interface IntermediateCertificateAuthorityConfig extends ConfigElementDefConfig {
3133
+ /** The maximum time-to-live (TTL) for certificates that are created by this CA.
3134
+ *
3135
+ * The value can be supplied as a string representation of a duration in hours, for example '8760h'. In the API
3136
+ * response, this value is returned in seconds (integer).
3137
+ *
3138
+ * Minimum value is one hour (`1h`). Maximum value is 100 years (`876000h`).
3139
+ */
3140
+ max_ttl: any;
3141
+ /** The signing method to use with this certificate authority to generate private certificates.
3142
+ *
3143
+ * You can choose between internal or externally signed options. For more information, see the
3144
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-intermediate-certificate-authorities).
3145
+ */
3146
+ signing_method: string;
3147
+ /** The certificate authority that signed and issued the certificate.
3148
+ *
3149
+ * If the certificate is signed internally, the `issuer` field is required and must match the name of a certificate
3150
+ * authority that is configured in the Secrets Manager service instance.
3151
+ */
3152
+ issuer?: string;
3153
+ /** The time until the certificate revocation list (CRL) expires.
3154
+ *
3155
+ * The value can be supplied as a string representation of a duration in hours, such as `48h`. The default is 72
3156
+ * hours. In the API response, this value is returned in seconds (integer).
3157
+ *
3158
+ * **Note:** The CRL is rotated automatically before it expires.
3159
+ */
3160
+ crl_expiry?: any;
3161
+ /** Disables or enables certificate revocation list (CRL) building.
3162
+ *
3163
+ * If CRL building is disabled, a signed but zero-length CRL is returned when downloading the CRL. If CRL building
3164
+ * is enabled, it will rebuild the CRL.
3165
+ */
3166
+ crl_disable?: boolean;
3167
+ /** Determines whether to encode the certificate revocation list (CRL) distribution points in the certificates
3168
+ * that are issued by this certificate authority.
3169
+ */
3170
+ crl_distribution_points_encoded?: boolean;
3171
+ /** Determines whether to encode the URL of the issuing certificate in the certificates that are issued by this
3172
+ * certificate authority.
3173
+ */
3174
+ issuing_certificates_urls_encoded?: boolean;
3175
+ /** The fully qualified domain name or host domain name for the certificate. */
3176
+ common_name: string;
3177
+ /** The status of the certificate authority. The status of a root certificate authority is either `configured`
3178
+ * or `expired`. For intermediate certificate authorities, possible statuses include `signing_required`,
3179
+ * `signed_certificate_required`, `certificate_template_required`, `configured`, `expired` or `revoked`.
3180
+ */
3181
+ status?: string;
3182
+ /** The date that the certificate expires. The date format follows RFC 3339. */
3183
+ expiration_date?: string;
3184
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
3185
+ *
3186
+ * The alternative names can be host names or email addresses.
3187
+ */
3188
+ alt_names?: string;
3189
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3190
+ ip_sans?: string;
3191
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3192
+ uri_sans?: string;
3193
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
3194
+ * certificate.
3195
+ *
3196
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
3197
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
3198
+ * valid type is `UTF8`.
3199
+ */
3200
+ other_sans?: string[];
3201
+ /** The format of the returned data. */
3202
+ format?: string;
3203
+ /** The format of the generated private key. */
3204
+ private_key_format?: string;
3205
+ /** The type of private key to generate. */
3206
+ key_type?: string;
3207
+ /** The number of bits to use when generating the private key.
3208
+ *
3209
+ * Allowable values for RSA keys are: `2048` and `4096`. Allowable values for EC keys are: `224`, `256`, `384`, and
3210
+ * `521`. The default for RSA keys is `2048`. The default for EC keys is `256`.
3211
+ */
3212
+ key_bits?: number;
3213
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
3214
+ *
3215
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
3216
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
3217
+ */
3218
+ exclude_cn_from_sans?: boolean;
3219
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting certificate. */
3220
+ ou?: string[];
3221
+ /** The Organization (O) values to define in the subject field of the resulting certificate. */
3222
+ organization?: string[];
3223
+ /** The Country (C) values to define in the subject field of the resulting certificate. */
3224
+ country?: string[];
3225
+ /** The Locality (L) values to define in the subject field of the resulting certificate. */
3226
+ locality?: string[];
3227
+ /** The Province (ST) values to define in the subject field of the resulting certificate. */
3228
+ province?: string[];
3229
+ /** The Street Address values in the subject field of the resulting certificate. */
3230
+ street_address?: string[];
3231
+ /** The Postal Code values in the subject field of the resulting certificate. */
3232
+ postal_code?: string[];
3233
+ /** The serial number to assign to the generated certificate. To assign a random serial number, you can omit
3234
+ * this field.
3235
+ */
3236
+ serial_number?: string;
3237
+ /** The data that is associated with the intermediate certificate authority. The data object contains the
3238
+ * following fields:
3239
+ *
3240
+ * - `csr`: The PEM-encoded certificate signing request.
3241
+ * - `private_key`: The private key.
3242
+ * - `private_key_type`: The type of private key, for example `rsa`.
3243
+ */
3244
+ data?: JsonObject;
3245
+ }
3246
+ /** Metadata properties that describe a key-value secret. */
3247
+ interface KvSecretMetadata extends SecretMetadata {
3248
+ /** The unique ID of the secret. */
3249
+ id?: string;
3250
+ /** Labels that you can use to filter for secrets in your instance.
3251
+ *
3252
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
3253
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
3254
+ * character (|).
3255
+ *
3256
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
3257
+ */
3258
+ labels?: string[];
3259
+ /** A human-readable alias to assign to your secret.
3260
+ *
3261
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
3262
+ */
3263
+ name: string;
3264
+ /** An extended description of your secret.
3265
+ *
3266
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
3267
+ * secret.
3268
+ */
3269
+ description?: string;
3270
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
3271
+ *
3272
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
3273
+ */
3274
+ secret_group_id?: string;
3275
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
3276
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
3277
+ */
3278
+ state?: number;
3279
+ /** A text representation of the secret state. */
3280
+ state_description?: string;
3281
+ /** The secret type. */
3282
+ secret_type?: string;
3283
+ /** The Cloud Resource Name (CRN) that uniquely identifies the resource. */
3284
+ crn?: string;
3285
+ /** The date the secret was created. The date format follows RFC 3339. */
3286
+ creation_date?: string;
3287
+ /** The unique identifier for the entity that created the secret. */
3288
+ created_by?: string;
3289
+ /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
3290
+ last_update_date?: string;
3291
+ /** The number of versions that are associated with a secret. */
3292
+ versions_total?: number;
3293
+ /** The number of locks that are associated with a secret. */
3294
+ locks_total?: number;
3295
+ }
3296
+ /** Properties that describe a secret. */
3297
+ interface KvSecretResource extends SecretResource {
3298
+ /** The v4 UUID that uniquely identifies the secret. */
3299
+ id?: string;
3300
+ /** A human-readable alias to assign to your secret.
3301
+ *
3302
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
3303
+ */
3304
+ name: string;
3305
+ /** An extended description of your secret.
3306
+ *
3307
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
3308
+ * secret.
3309
+ */
3310
+ description?: string;
3311
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
3312
+ *
3313
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
3314
+ */
3315
+ secret_group_id?: string;
3316
+ /** Labels that you can use to filter for secrets in your instance.
3317
+ *
3318
+ * Up to 30 labels can be created. Labels can be 2 - 30 characters, including spaces. Special characters that are
3319
+ * not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
3320
+ *
3321
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
3322
+ */
3323
+ labels?: string[];
3324
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
3325
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
3326
+ */
3327
+ state?: number;
3328
+ /** A text representation of the secret state. */
3329
+ state_description?: string;
3330
+ /** The secret type. */
3331
+ secret_type?: string;
3332
+ /** The Cloud Resource Name (CRN) that uniquely identifies your Secrets Manager resource. */
3333
+ crn?: string;
3334
+ /** The date the secret was created. The date format follows RFC 3339. */
3335
+ creation_date?: string;
3336
+ /** The unique identifier for the entity that created the secret. */
3337
+ created_by?: string;
3338
+ /** Updates when the actual secret is modified. The date format follows RFC 3339. */
3339
+ last_update_date?: string;
3340
+ /** The number of versions that are associated with a secret. */
3341
+ versions_total?: number;
3342
+ /** An array that contains metadata for each secret version. For more information on the metadata properties,
3343
+ * see [Get secret version metadata](#get-secret-version-metadata).
3344
+ */
3345
+ versions?: JsonObject[];
3346
+ /** The number of locks that are associated with a secret. */
3347
+ locks_total?: number;
3348
+ /** The date the secret material expires. The date format follows RFC 3339.
3349
+ *
3350
+ * You can set an expiration date on supported secret types at their creation. If you create a secret without
3351
+ * specifying an expiration date, the secret does not expire. The `expiration_date` field is supported for the
3352
+ * following secret types:
3353
+ *
3354
+ * - `arbitrary`
3355
+ * - `username_password`.
3356
+ */
3357
+ expiration_date?: string;
3358
+ /** The new secret data to assign to the secret. */
3359
+ payload?: JsonObject;
3360
+ /** The data that is associated with the secret version.
3361
+ *
3362
+ * The data object contains the field `payload`.
3363
+ */
3364
+ secret_data?: JsonObject;
2157
3365
  }
2158
- /** Metadata properties that describe a key-value secret. */
2159
- interface KvSecretMetadata extends SecretMetadata {
3366
+ /** The `private_cert` secret rotation policy. */
3367
+ interface PrivateCertPolicyRotation extends SecretPolicyRotationRotation {
3368
+ auto_rotate: boolean;
3369
+ /** The length of the secret rotation time interval. */
3370
+ interval?: number;
3371
+ /** The units for the secret rotation time interval. */
3372
+ unit?: string;
3373
+ }
3374
+ /** Configuration for the private certificates engine. */
3375
+ interface PrivateCertSecretEngineRootConfig extends GetConfigResourcesItem {
3376
+ /** The root certificate authority configurations that are associated with your instance. */
3377
+ root_certificate_authorities?: RootCertificateAuthoritiesConfigItem[];
3378
+ /** The intermediate certificate authority configurations that are associated with your instance. */
3379
+ intermediate_certificate_authorities?: IntermediateCertificateAuthoritiesConfigItem[];
3380
+ /** The certificate templates that are associated with your instance. */
3381
+ certificate_templates?: CertificateTemplatesConfigItem[];
3382
+ }
3383
+ /** Metadata properties that describe a private certificate secret. */
3384
+ interface PrivateCertificateSecretMetadata extends SecretMetadata {
2160
3385
  /** The unique ID of the secret. */
2161
3386
  id?: string;
2162
3387
  /** Labels that you can use to filter for secrets in your instance.
@@ -2200,11 +3425,39 @@ declare namespace SecretsManagerV1 {
2200
3425
  created_by?: string;
2201
3426
  /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
2202
3427
  last_update_date?: string;
2203
- /** The number of versions the secret has. */
3428
+ /** The number of versions that are associated with a secret. */
2204
3429
  versions_total?: number;
3430
+ /** The number of locks that are associated with a secret. */
3431
+ locks_total?: number;
3432
+ /** The name of the certificate template. */
3433
+ certificate_template?: string;
3434
+ /** The intermediate certificate authority that signed this certificate. */
3435
+ certificate_authority?: string;
3436
+ /** The fully qualified domain name or host domain name for the certificate. */
3437
+ common_name?: string;
3438
+ /** The alternative names that are defined for the certificate. */
3439
+ alt_names?: string[];
3440
+ rotation?: Rotation;
3441
+ /** The identifier for the cryptographic algorithm that was used by the issuing certificate authority to sign
3442
+ * the certificate.
3443
+ */
3444
+ algorithm?: string;
3445
+ /** The identifier for the cryptographic algorithm that was used to generate the public and private keys that
3446
+ * are associated with the certificate.
3447
+ */
3448
+ key_algorithm?: string;
3449
+ /** The certificate authority that signed and issued the certificate. */
3450
+ issuer?: string;
3451
+ validity?: CertificateValidity;
3452
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
3453
+ serial_number?: string;
3454
+ /** The timestamp of the certificate revocation. */
3455
+ revocation_time?: number;
3456
+ /** The date and time that the certificate was revoked. The date format follows RFC 3339. */
3457
+ revocation_time_rfc3339?: string;
2205
3458
  }
2206
3459
  /** Properties that describe a secret. */
2207
- interface KvSecretResource extends SecretResource {
3460
+ interface PrivateCertificateSecretResource extends SecretResource {
2208
3461
  /** The v4 UUID that uniquely identifies the secret. */
2209
3462
  id?: string;
2210
3463
  /** A human-readable alias to assign to your secret.
@@ -2253,71 +3506,180 @@ declare namespace SecretsManagerV1 {
2253
3506
  * see [Get secret version metadata](#get-secret-version-metadata).
2254
3507
  */
2255
3508
  versions?: JsonObject[];
2256
- /** The date the secret material expires. The date format follows RFC 3339.
3509
+ /** The number of locks that are associated with a secret. */
3510
+ locks_total?: number;
3511
+ /** The name of the certificate template. */
3512
+ certificate_template: string;
3513
+ /** The intermediate certificate authority that signed this certificate. */
3514
+ certificate_authority?: string;
3515
+ /** The fully qualified domain name or host domain name for the certificate. */
3516
+ common_name: string;
3517
+ /** The alternative names that are defined for the certificate.
3518
+ *
3519
+ * For public certificates, this value is provided as an array of strings. For private certificates, this value is
3520
+ * provided as a comma-delimited list (string). In the API response, this value is returned as an array of strings
3521
+ * for all the types of certificate secrets.
3522
+ */
3523
+ alt_names?: any;
3524
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3525
+ ip_sans?: string;
3526
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3527
+ uri_sans?: string;
3528
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
3529
+ * certificate.
2257
3530
  *
2258
- * You can set an expiration date on supported secret types at their creation. If you create a secret without
2259
- * specifying an expiration date, the secret does not expire. The `expiration_date` field is supported for the
2260
- * following secret types:
3531
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
3532
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
3533
+ * valid type is `UTF8`.
3534
+ */
3535
+ other_sans?: string[];
3536
+ /** The time-to-live (TTL) to assign to a private certificate.
2261
3537
  *
2262
- * - `arbitrary`
2263
- * - `username_password`.
3538
+ * The value can be supplied as a string representation of a duration in hours, for example '12h'. The value can't
3539
+ * exceed the `max_ttl` that is defined in the associated certificate template.
2264
3540
  */
2265
- expiration_date?: string;
2266
- /** The new secret data to assign to the secret. */
2267
- payload?: JsonObject;
2268
- /** The data that is associated with the secret version.
3541
+ ttl?: any;
3542
+ /** The format of the returned data. */
3543
+ format?: string;
3544
+ /** The format of the generated private key. */
3545
+ private_key_format?: string;
3546
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
2269
3547
  *
2270
- * The data object contains the field `payload`.
3548
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
3549
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
3550
+ */
3551
+ exclude_cn_from_sans?: boolean;
3552
+ rotation?: Rotation;
3553
+ /** The identifier for the cryptographic algorithm that was used by the issuing certificate authority to sign
3554
+ * the certificate.
3555
+ */
3556
+ algorithm?: string;
3557
+ /** The identifier for the cryptographic algorithm that was used to generate the public and private keys that
3558
+ * are associated with the certificate.
3559
+ */
3560
+ key_algorithm?: string;
3561
+ /** The certificate authority that signed and issued the certificate. */
3562
+ issuer?: string;
3563
+ validity?: CertificateValidity;
3564
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
3565
+ serial_number?: string;
3566
+ /** The timestamp of the certificate revocation. */
3567
+ revocation_time?: number;
3568
+ /** The date and time that the certificate was revoked. The date format follows RFC 3339. */
3569
+ revocation_time_rfc3339?: string;
3570
+ /** The data that is associated with the secret. The data object contains the following fields:
3571
+ *
3572
+ * - `certificate`: The contents of the certificate.
3573
+ * - `private_key`: The private key that is associated with the certificate.
3574
+ * - `issuing_ca`: The certificate of the certificate authority that signed and issued this certificate.
3575
+ * - `ca_chain`: The chain of certificate authorities that are associated with the certificate.
2271
3576
  */
2272
3577
  secret_data?: JsonObject;
2273
3578
  }
2274
- /** Metadata properties that describe a private certificate secret. */
2275
- interface PrivateCertificateSecretMetadata extends SecretMetadata {
2276
- /** The unique ID of the secret. */
3579
+ /** PrivateCertificateSecretVersion. */
3580
+ interface PrivateCertificateSecretVersion extends SecretVersion {
3581
+ /** The v4 UUID that uniquely identifies the secret. */
2277
3582
  id?: string;
2278
- /** Labels that you can use to filter for secrets in your instance.
2279
- *
2280
- * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
2281
- * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
2282
- * character (|).
2283
- *
2284
- * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2285
- */
2286
- labels?: string[];
2287
- /** A human-readable alias to assign to your secret.
3583
+ /** The ID of the secret version. */
3584
+ version_id?: string;
3585
+ /** The date that the version of the secret was created. */
3586
+ creation_date?: string;
3587
+ /** The unique identifier for the entity that created the secret version. */
3588
+ created_by?: string;
3589
+ /** The number of locks that are associated with a secret version. */
3590
+ locks_total?: number;
3591
+ validity?: CertificateValidity;
3592
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
3593
+ serial_number?: string;
3594
+ /** The date that the certificate expires. The date format follows RFC 3339. */
3595
+ expiration_date?: string;
3596
+ /** The data that is associated with the secret version. The data object contains the following fields:
2288
3597
  *
2289
- * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
3598
+ * - `certificate`: The contents of the certificate.
3599
+ * - `private_key`: The private key that is associated with the certificate.
3600
+ * - `intermediate`: The intermediate certificate that is associated with the certificate.
2290
3601
  */
2291
- name: string;
2292
- /** An extended description of your secret.
2293
- *
2294
- * To protect your privacy, do not use personal data, such as your name or location, as a description for your
2295
- * secret.
3602
+ secret_data?: CertificateSecretData;
3603
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
3604
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
2296
3605
  */
2297
- description?: string;
2298
- /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
2299
- *
2300
- * If you omit this parameter, your secret is assigned to the `default` secret group.
3606
+ state?: number;
3607
+ /** A text representation of the secret state. */
3608
+ state_description?: string;
3609
+ /** The timestamp of the certificate revocation. */
3610
+ revocation_time?: number;
3611
+ /** The date and time that the certificate was revoked. The date format follows RFC 3339. */
3612
+ revocation_time_rfc3339?: string;
3613
+ /** Indicates whether the version of the secret was created by automatic rotation. */
3614
+ auto_rotated?: boolean;
3615
+ }
3616
+ /** PrivateCertificateSecretVersionInfo. */
3617
+ interface PrivateCertificateSecretVersionInfo extends SecretVersionInfo {
3618
+ /** The ID of the secret version. */
3619
+ id?: string;
3620
+ /** The date that the version of the secret was created. */
3621
+ creation_date?: string;
3622
+ /** The unique identifier for the entity that created the secret version. */
3623
+ created_by?: string;
3624
+ /** Indicates whether the payload for the secret version is stored and available. */
3625
+ payload_available?: boolean;
3626
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
3627
+ * service API.
2301
3628
  */
2302
- secret_group_id?: string;
3629
+ downloaded?: boolean;
3630
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
3631
+ serial_number?: string;
3632
+ /** The date that the certificate expires. The date format follows RFC 3339. */
3633
+ expiration_date?: string;
3634
+ validity?: CertificateValidity;
2303
3635
  /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
2304
3636
  * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
2305
3637
  */
2306
3638
  state?: number;
2307
3639
  /** A text representation of the secret state. */
2308
3640
  state_description?: string;
2309
- /** The secret type. */
2310
- secret_type?: string;
2311
- /** The Cloud Resource Name (CRN) that uniquely identifies the resource. */
2312
- crn?: string;
2313
- /** The date the secret was created. The date format follows RFC 3339. */
3641
+ /** The timestamp of the certificate revocation. */
3642
+ revocation_time?: number;
3643
+ /** The date and time that the certificate was revoked. The date format follows RFC 3339. */
3644
+ revocation_time_rfc3339?: string;
3645
+ /** Indicates whether the version of the secret was created by automatic rotation. */
3646
+ auto_rotated?: boolean;
3647
+ }
3648
+ /** Properties that describe a secret version. */
3649
+ interface PrivateCertificateSecretVersionMetadata extends SecretVersionMetadata {
3650
+ /** The v4 UUID that uniquely identifies the secret. */
3651
+ id?: string;
3652
+ /** The ID of the secret version. */
3653
+ version_id?: string;
3654
+ /** The date that the version of the secret was created. */
2314
3655
  creation_date?: string;
2315
- /** The unique identifier for the entity that created the secret. */
3656
+ /** The unique identifier for the entity that created the secret version. */
2316
3657
  created_by?: string;
2317
- /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
2318
- last_update_date?: string;
2319
- /** The number of versions the secret has. */
2320
- versions_total?: number;
3658
+ /** Indicates whether the payload for the secret version is stored and available. */
3659
+ payload_available?: boolean;
3660
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
3661
+ * service API.
3662
+ */
3663
+ downloaded?: boolean;
3664
+ /** The number of locks that are associated with a secret version. */
3665
+ locks_total?: number;
3666
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
3667
+ serial_number?: string;
3668
+ /** The date that the certificate expires. The date format follows RFC 3339. */
3669
+ expiration_date?: string;
3670
+ validity?: CertificateValidity;
3671
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
3672
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
3673
+ */
3674
+ state?: number;
3675
+ /** A text representation of the secret state. */
3676
+ state_description?: string;
3677
+ /** The timestamp of the certificate revocation. */
3678
+ revocation_time?: number;
3679
+ /** The date and time that the certificate was revoked. The date format follows RFC 3339. */
3680
+ revocation_time_rfc3339?: string;
3681
+ /** Indicates whether the version of the secret was created by automatic rotation. */
3682
+ auto_rotated?: boolean;
2321
3683
  }
2322
3684
  /** Configuration for the public certificates engine. */
2323
3685
  interface PublicCertSecretEngineRootConfig extends GetConfigResourcesItem {
@@ -2371,8 +3733,10 @@ declare namespace SecretsManagerV1 {
2371
3733
  created_by?: string;
2372
3734
  /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
2373
3735
  last_update_date?: string;
2374
- /** The number of versions the secret has. */
3736
+ /** The number of versions that are associated with a secret. */
2375
3737
  versions_total?: number;
3738
+ /** The number of locks that are associated with a secret. */
3739
+ locks_total?: number;
2376
3740
  /** The distinguished name that identifies the entity that signed and issued the certificate. */
2377
3741
  issuer?: string;
2378
3742
  /** Determines whether your issued certificate is bundled with intermediate certificates.
@@ -2453,6 +3817,8 @@ declare namespace SecretsManagerV1 {
2453
3817
  * see [Get secret version metadata](#get-secret-version-metadata).
2454
3818
  */
2455
3819
  versions?: JsonObject[];
3820
+ /** The number of locks that are associated with a secret. */
3821
+ locks_total?: number;
2456
3822
  /** The distinguished name that identifies the entity that signed and issued the certificate. */
2457
3823
  issuer?: string;
2458
3824
  /** Determines whether your issued certificate is bundled with intermediate certificates.
@@ -2482,8 +3848,13 @@ declare namespace SecretsManagerV1 {
2482
3848
  * provide more encryption protection.
2483
3849
  */
2484
3850
  key_algorithm?: string;
2485
- /** The alternative names that are defined for the certificate. */
2486
- alt_names?: string[];
3851
+ /** The alternative names that are defined for the certificate.
3852
+ *
3853
+ * For public certificates, this value is provided as an array of strings. For private certificates, this value is
3854
+ * provided as a comma-delimited list (string). In the API response, this value is returned as an array of strings
3855
+ * for all the types of certificate secrets.
3856
+ */
3857
+ alt_names?: any;
2487
3858
  /** The fully qualified domain name or host domain name for the certificate. */
2488
3859
  common_name?: string;
2489
3860
  /** Indicates whether the issued certificate includes a private key. */
@@ -2498,11 +3869,9 @@ declare namespace SecretsManagerV1 {
2498
3869
  serial_number?: string;
2499
3870
  /** The data that is associated with the secret. The data object contains the following fields:
2500
3871
  *
2501
- * `certificate`: The contents of the certificate.
2502
- *
2503
- * `private_key`: The private key that is associated with the certificate.
2504
- *
2505
- * `intermediate`: The intermediate certificate that is associated with the certificate.
3872
+ * - `certificate`: The contents of the certificate.
3873
+ * - `private_key`: The private key that is associated with the certificate.
3874
+ * - `intermediate`: The intermediate certificate that is associated with the certificate.
2506
3875
  */
2507
3876
  secret_data?: JsonObject;
2508
3877
  }
@@ -2511,6 +3880,138 @@ declare namespace SecretsManagerV1 {
2511
3880
  /** The ID of the target version or the alias `previous`. */
2512
3881
  version_id: string;
2513
3882
  }
3883
+ /** A request to revoke the certificate of an internally signed intermediate certificate authority. */
3884
+ interface RevokeAction extends ConfigAction {
3885
+ /** The serial number of the certificate. */
3886
+ serial_number: string;
3887
+ }
3888
+ /** Properties that are returned with a successful `revoke` action. */
3889
+ interface RevokeActionResult extends ConfigElementActionResultConfig {
3890
+ /** The time until the certificate authority is revoked. */
3891
+ revocation_time?: number;
3892
+ }
3893
+ /** Root certificate authorities configuration. */
3894
+ interface RootCertificateAuthoritiesConfig extends GetConfigElementsResourcesItem {
3895
+ root_certificate_authorities: RootCertificateAuthoritiesConfigItem[];
3896
+ }
3897
+ /** Root certificate authority configuration. */
3898
+ interface RootCertificateAuthorityConfig extends ConfigElementDefConfig {
3899
+ /** The maximum time-to-live (TTL) for certificates that are created by this CA.
3900
+ *
3901
+ * The value can be supplied as a string representation of a duration in hours, for example '8760h'. In the API
3902
+ * response, this value is returned in seconds (integer).
3903
+ *
3904
+ * Minimum value is one hour (`1h`). Maximum value is 100 years (`876000h`).
3905
+ */
3906
+ max_ttl: any;
3907
+ /** The time until the certificate revocation list (CRL) expires.
3908
+ *
3909
+ * The value can be supplied as a string representation of a duration in hours, such as `48h`. The default is 72
3910
+ * hours. In the API response, this value is returned in seconds (integer).
3911
+ *
3912
+ * **Note:** The CRL is rotated automatically before it expires.
3913
+ */
3914
+ crl_expiry?: any;
3915
+ /** Disables or enables certificate revocation list (CRL) building.
3916
+ *
3917
+ * If CRL building is disabled, a signed but zero-length CRL is returned when downloading the CRL. If CRL building
3918
+ * is enabled, it will rebuild the CRL.
3919
+ */
3920
+ crl_disable?: boolean;
3921
+ /** Determines whether to encode the certificate revocation list (CRL) distribution points in the certificates
3922
+ * that are issued by this certificate authority.
3923
+ */
3924
+ crl_distribution_points_encoded?: boolean;
3925
+ /** Determines whether to encode the URL of the issuing certificate in the certificates that are issued by this
3926
+ * certificate authority.
3927
+ */
3928
+ issuing_certificates_urls_encoded?: boolean;
3929
+ /** The fully qualified domain name or host domain name for the certificate. */
3930
+ common_name: string;
3931
+ /** The status of the certificate authority. The status of a root certificate authority is either `configured`
3932
+ * or `expired`. For intermediate certificate authorities, possible statuses include `signing_required`,
3933
+ * `signed_certificate_required`, `certificate_template_required`, `configured`, `expired` or `revoked`.
3934
+ */
3935
+ status?: string;
3936
+ /** The date that the certificate expires. The date format follows RFC 3339. */
3937
+ expiration_date?: string;
3938
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
3939
+ *
3940
+ * The alternative names can be host names or email addresses.
3941
+ */
3942
+ alt_names?: string;
3943
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3944
+ ip_sans?: string;
3945
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3946
+ uri_sans?: string;
3947
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
3948
+ * certificate.
3949
+ *
3950
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
3951
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
3952
+ * valid type is `UTF8`.
3953
+ */
3954
+ other_sans?: string[];
3955
+ /** The time-to-live (TTL) to assign to this CA certificate.
3956
+ *
3957
+ * The value can be supplied as a string representation of a duration, such as `12h`. The value can't exceed the
3958
+ * `max_ttl` that is defined in the associated certificate template. In the API response, this value is returned in
3959
+ * seconds (integer).
3960
+ */
3961
+ ttl?: any;
3962
+ /** The format of the returned data. */
3963
+ format?: string;
3964
+ /** The format of the generated private key. */
3965
+ private_key_format?: string;
3966
+ /** The type of private key to generate. */
3967
+ key_type?: string;
3968
+ /** The number of bits to use when generating the private key.
3969
+ *
3970
+ * Allowable values for RSA keys are: `2048` and `4096`. Allowable values for EC keys are: `224`, `256`, `384`, and
3971
+ * `521`. The default for RSA keys is `2048`. The default for EC keys is `256`.
3972
+ */
3973
+ key_bits?: number;
3974
+ /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3975
+ *
3976
+ * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
3977
+ * signing certificate. A limit of `0` means a literal path length of zero.
3978
+ */
3979
+ max_path_length?: number;
3980
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
3981
+ *
3982
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
3983
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
3984
+ */
3985
+ exclude_cn_from_sans?: boolean;
3986
+ /** The allowed DNS domains or subdomains for the certificates to be signed and issued by this CA certificate. */
3987
+ permitted_dns_domains?: string[];
3988
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting certificate. */
3989
+ ou?: string[];
3990
+ /** The Organization (O) values to define in the subject field of the resulting certificate. */
3991
+ organization?: string[];
3992
+ /** The Country (C) values to define in the subject field of the resulting certificate. */
3993
+ country?: string[];
3994
+ /** The Locality (L) values to define in the subject field of the resulting certificate. */
3995
+ locality?: string[];
3996
+ /** The Province (ST) values to define in the subject field of the resulting certificate. */
3997
+ province?: string[];
3998
+ /** The Street Address values in the subject field of the resulting certificate. */
3999
+ street_address?: string[];
4000
+ /** The Postal Code values in the subject field of the resulting certificate. */
4001
+ postal_code?: string[];
4002
+ /** The serial number to assign to the generated certificate. To assign a random serial number, you can omit
4003
+ * this field.
4004
+ */
4005
+ serial_number?: string;
4006
+ /** The data that is associated with the root certificate authority. The data object contains the following
4007
+ * fields:
4008
+ *
4009
+ * - `certificate`: The root certificate content.
4010
+ * - `issuing_ca`: The certificate of the certificate authority that signed and issued this certificate.
4011
+ * - `serial_number`: The unique serial number of the root certificate.
4012
+ */
4013
+ data?: JsonObject;
4014
+ }
2514
4015
  /** The request body of a `rotate` action. */
2515
4016
  interface RotateArbitrarySecretBody extends SecretAction {
2516
4017
  /** The new secret data to assign to an `arbitrary` secret. */
@@ -2525,6 +4026,9 @@ declare namespace SecretsManagerV1 {
2525
4026
  /** The new intermediate certificate to associate with the certificate. */
2526
4027
  intermediate?: string;
2527
4028
  }
4029
+ /** Properties that are returned with a successful `rotate_crl` action. */
4030
+ interface RotateCrlActionResult extends ConfigElementActionResultConfig {
4031
+ }
2528
4032
  /** The request body of a `rotate` action. */
2529
4033
  interface RotateKvSecretBody extends SecretAction {
2530
4034
  /** The new secret data to assign to a key-value secret. */
@@ -2542,9 +4046,9 @@ declare namespace SecretsManagerV1 {
2542
4046
  }
2543
4047
  /** The secret rotation time interval. */
2544
4048
  interface SecretPolicyRotationRotationPolicyRotation extends SecretPolicyRotationRotation {
2545
- /** Specifies the length of the secret rotation time interval. */
4049
+ /** The length of the secret rotation time interval. */
2546
4050
  interval: number;
2547
- /** Specifies the units for the secret rotation time interval. */
4051
+ /** The units for the secret rotation time interval. */
2548
4052
  unit: string;
2549
4053
  }
2550
4054
  /** The `public_cert` secret rotation policy. */
@@ -2552,6 +4056,324 @@ declare namespace SecretsManagerV1 {
2552
4056
  auto_rotate: boolean;
2553
4057
  rotate_keys: boolean;
2554
4058
  }
4059
+ /** A request to set a signed certificate in an intermediate certificate authority. */
4060
+ interface SetSignedAction extends ConfigAction {
4061
+ /** The PEM-encoded certificate. */
4062
+ certificate: string;
4063
+ }
4064
+ /** Properties that are returned with a successful `set_signed` action. */
4065
+ interface SetSignedActionResult extends ConfigElementActionResultConfig {
4066
+ }
4067
+ /** A request to sign a certificate signing request (CSR). */
4068
+ interface SignCsrAction extends ConfigAction {
4069
+ /** The fully qualified domain name or host domain name for the certificate. */
4070
+ common_name?: string;
4071
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
4072
+ *
4073
+ * The alternative names can be host names or email addresses.
4074
+ */
4075
+ alt_names?: string;
4076
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
4077
+ ip_sans?: string;
4078
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
4079
+ uri_sans?: string;
4080
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
4081
+ * certificate.
4082
+ *
4083
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
4084
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
4085
+ * valid type is `UTF8`.
4086
+ */
4087
+ other_sans?: string[];
4088
+ /** The time-to-live (TTL) to assign to a private certificate.
4089
+ *
4090
+ * The value can be supplied as a string representation of a duration in hours, such as `12h`. The value can't
4091
+ * exceed the `max_ttl` that is defined in the associated certificate template.
4092
+ */
4093
+ ttl?: any;
4094
+ /** The format of the returned data. */
4095
+ format?: string;
4096
+ /** The maximum path length to encode in the generated certificate. `-1` means no limit.
4097
+ *
4098
+ * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
4099
+ * signing certificate. A limit of `0` means a literal path length of zero.
4100
+ */
4101
+ max_path_length?: number;
4102
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
4103
+ *
4104
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
4105
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
4106
+ */
4107
+ exclude_cn_from_sans?: boolean;
4108
+ /** The allowed DNS domains or subdomains for the certificates to be signed and issued by this CA certificate. */
4109
+ permitted_dns_domains?: string[];
4110
+ /** Determines whether to use values from a certificate signing request (CSR) to complete a `sign_csr` action.
4111
+ * If set to `true`, then:
4112
+ *
4113
+ * 1) Subject information, including names and alternate names, are preserved from the CSR rather than using the
4114
+ * values provided in the other parameters to this operation.
4115
+ *
4116
+ * 2) Any key usages (for example, non-repudiation) that are requested in the CSR are added to the basic set of key
4117
+ * usages used for CA certs signed by this intermediate authority.
4118
+ *
4119
+ * 3) Extensions that are requested in the CSR are copied into the issued private certificate.
4120
+ */
4121
+ use_csr_values?: boolean;
4122
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting certificate. */
4123
+ ou?: string[];
4124
+ /** The Organization (O) values to define in the subject field of the resulting certificate. */
4125
+ organization?: string[];
4126
+ /** The Country (C) values to define in the subject field of the resulting certificate. */
4127
+ country?: string[];
4128
+ /** The Locality (L) values to define in the subject field of the resulting certificate. */
4129
+ locality?: string[];
4130
+ /** The Province (ST) values to define in the subject field of the resulting certificate. */
4131
+ province?: string[];
4132
+ /** The Street Address values in the subject field of the resulting certificate. */
4133
+ street_address?: string[];
4134
+ /** The Postal Code values in the subject field of the resulting certificate. */
4135
+ postal_code?: string[];
4136
+ /** The serial number to assign to the generated certificate. To assign a random serial number, you can omit
4137
+ * this field.
4138
+ */
4139
+ serial_number?: string;
4140
+ /** The PEM-encoded certificate signing request (CSR). This field is required for the `sign_csr` action. */
4141
+ csr: string;
4142
+ }
4143
+ /** Properties that are returned with a successful `sign_csr` action. */
4144
+ interface SignCsrActionResult extends ConfigElementActionResultConfig {
4145
+ /** The fully qualified domain name or host domain name for the certificate. */
4146
+ common_name?: string;
4147
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
4148
+ *
4149
+ * The alternative names can be host names or email addresses.
4150
+ */
4151
+ alt_names?: string;
4152
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
4153
+ ip_sans?: string;
4154
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
4155
+ uri_sans?: string;
4156
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
4157
+ * certificate.
4158
+ *
4159
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
4160
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
4161
+ * valid type is `UTF8`.
4162
+ */
4163
+ other_sans?: string[];
4164
+ /** The time-to-live (TTL) to assign to a private certificate.
4165
+ *
4166
+ * The value can be supplied as a string representation of a duration in hours, such as `12h`. The value can't
4167
+ * exceed the `max_ttl` that is defined in the associated certificate template.
4168
+ */
4169
+ ttl?: any;
4170
+ /** The format of the returned data. */
4171
+ format?: string;
4172
+ /** The maximum path length to encode in the generated certificate. `-1` means no limit.
4173
+ *
4174
+ * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
4175
+ * signing certificate. A limit of `0` means a literal path length of zero.
4176
+ */
4177
+ max_path_length?: number;
4178
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
4179
+ *
4180
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
4181
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
4182
+ */
4183
+ exclude_cn_from_sans?: boolean;
4184
+ /** The allowed DNS domains or subdomains for the certificates to be signed and issued by this CA certificate. */
4185
+ permitted_dns_domains?: string[];
4186
+ /** Determines whether to use values from a certificate signing request (CSR) to complete a `sign_csr` action.
4187
+ * If set to `true`, then:
4188
+ *
4189
+ * 1) Subject information, including names and alternate names, are preserved from the CSR rather than using the
4190
+ * values provided in the other parameters to this operation.
4191
+ *
4192
+ * 2) Any key usages (for example, non-repudiation) that are requested in the CSR are added to the basic set of key
4193
+ * usages used for CA certs signed by this intermediate authority.
4194
+ *
4195
+ * 3) Extensions that are requested in the CSR are copied into the issued private certificate.
4196
+ */
4197
+ use_csr_values?: boolean;
4198
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting certificate. */
4199
+ ou?: string[];
4200
+ /** The Organization (O) values to define in the subject field of the resulting certificate. */
4201
+ organization?: string[];
4202
+ /** The Country (C) values to define in the subject field of the resulting certificate. */
4203
+ country?: string[];
4204
+ /** The Locality (L) values to define in the subject field of the resulting certificate. */
4205
+ locality?: string[];
4206
+ /** The Province (ST) values to define in the subject field of the resulting certificate. */
4207
+ province?: string[];
4208
+ /** The Street Address values in the subject field of the resulting certificate. */
4209
+ street_address?: string[];
4210
+ /** The Postal Code values in the subject field of the resulting certificate. */
4211
+ postal_code?: string[];
4212
+ /** The serial number to assign to the generated certificate. To assign a random serial number, you can omit
4213
+ * this field.
4214
+ */
4215
+ serial_number?: string;
4216
+ /** Properties that are returned with a successful `sign` action. */
4217
+ data: SignActionResultData;
4218
+ /** The PEM-encoded certificate signing request (CSR). */
4219
+ csr: string;
4220
+ }
4221
+ /** A request to sign an intermediate certificate authority. */
4222
+ interface SignIntermediateAction extends ConfigAction {
4223
+ /** The fully qualified domain name or host domain name for the certificate. */
4224
+ common_name?: string;
4225
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
4226
+ *
4227
+ * The alternative names can be host names or email addresses.
4228
+ */
4229
+ alt_names?: string;
4230
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
4231
+ ip_sans?: string;
4232
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
4233
+ uri_sans?: string;
4234
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
4235
+ * certificate.
4236
+ *
4237
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
4238
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
4239
+ * valid type is `UTF8`.
4240
+ */
4241
+ other_sans?: string[];
4242
+ /** The time-to-live (TTL) to assign to a private certificate.
4243
+ *
4244
+ * The value can be supplied as a string representation of a duration in hours, such as `12h`. The value can't
4245
+ * exceed the `max_ttl` that is defined in the associated certificate template.
4246
+ */
4247
+ ttl?: any;
4248
+ /** The format of the returned data. */
4249
+ format?: string;
4250
+ /** The maximum path length to encode in the generated certificate. `-1` means no limit.
4251
+ *
4252
+ * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
4253
+ * signing certificate. A limit of `0` means a literal path length of zero.
4254
+ */
4255
+ max_path_length?: number;
4256
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
4257
+ *
4258
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
4259
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
4260
+ */
4261
+ exclude_cn_from_sans?: boolean;
4262
+ /** The allowed DNS domains or subdomains for the certificates to be signed and issued by this CA certificate. */
4263
+ permitted_dns_domains?: string[];
4264
+ /** Determines whether to use values from a certificate signing request (CSR) to complete a `sign_csr` action.
4265
+ * If set to `true`, then:
4266
+ *
4267
+ * 1) Subject information, including names and alternate names, are preserved from the CSR rather than using the
4268
+ * values provided in the other parameters to this operation.
4269
+ *
4270
+ * 2) Any key usages (for example, non-repudiation) that are requested in the CSR are added to the basic set of key
4271
+ * usages used for CA certs signed by this intermediate authority.
4272
+ *
4273
+ * 3) Extensions that are requested in the CSR are copied into the issued private certificate.
4274
+ */
4275
+ use_csr_values?: boolean;
4276
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting certificate. */
4277
+ ou?: string[];
4278
+ /** The Organization (O) values to define in the subject field of the resulting certificate. */
4279
+ organization?: string[];
4280
+ /** The Country (C) values to define in the subject field of the resulting certificate. */
4281
+ country?: string[];
4282
+ /** The Locality (L) values to define in the subject field of the resulting certificate. */
4283
+ locality?: string[];
4284
+ /** The Province (ST) values to define in the subject field of the resulting certificate. */
4285
+ province?: string[];
4286
+ /** The Street Address values in the subject field of the resulting certificate. */
4287
+ street_address?: string[];
4288
+ /** The Postal Code values in the subject field of the resulting certificate. */
4289
+ postal_code?: string[];
4290
+ /** The serial number to assign to the generated certificate. To assign a random serial number, you can omit
4291
+ * this field.
4292
+ */
4293
+ serial_number?: string;
4294
+ /** The intermediate certificate authority to be signed. The name must match one of the pre-configured
4295
+ * intermediate certificate authorities.
4296
+ */
4297
+ intermediate_certificate_authority: string;
4298
+ }
4299
+ /** Properties that are returned with a successful `sign_intermediate` action. */
4300
+ interface SignIntermediateActionResult extends ConfigElementActionResultConfig {
4301
+ /** The fully qualified domain name or host domain name for the certificate. */
4302
+ common_name?: string;
4303
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
4304
+ *
4305
+ * The alternative names can be host names or email addresses.
4306
+ */
4307
+ alt_names?: string;
4308
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
4309
+ ip_sans?: string;
4310
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
4311
+ uri_sans?: string;
4312
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
4313
+ * certificate.
4314
+ *
4315
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
4316
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
4317
+ * valid type is `UTF8`.
4318
+ */
4319
+ other_sans?: string[];
4320
+ /** The time-to-live (TTL) to assign to a private certificate.
4321
+ *
4322
+ * The value can be supplied as a string representation of a duration in hours, such as `12h`. The value can't
4323
+ * exceed the `max_ttl` that is defined in the associated certificate template.
4324
+ */
4325
+ ttl?: any;
4326
+ /** The format of the returned data. */
4327
+ format?: string;
4328
+ /** The maximum path length to encode in the generated certificate. `-1` means no limit.
4329
+ *
4330
+ * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
4331
+ * signing certificate. A limit of `0` means a literal path length of zero.
4332
+ */
4333
+ max_path_length?: number;
4334
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
4335
+ *
4336
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
4337
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
4338
+ */
4339
+ exclude_cn_from_sans?: boolean;
4340
+ /** The allowed DNS domains or subdomains for the certificates to be signed and issued by this CA certificate. */
4341
+ permitted_dns_domains?: string[];
4342
+ /** Determines whether to use values from a certificate signing request (CSR) to complete a `sign_csr` action.
4343
+ * If set to `true`, then:
4344
+ *
4345
+ * 1) Subject information, including names and alternate names, are preserved from the CSR rather than using the
4346
+ * values provided in the other parameters to this operation.
4347
+ *
4348
+ * 2) Any key usages (for example, non-repudiation) that are requested in the CSR are added to the basic set of key
4349
+ * usages used for CA certs signed by this intermediate authority.
4350
+ *
4351
+ * 3) Extensions that are requested in the CSR are copied into the issued private certificate.
4352
+ */
4353
+ use_csr_values?: boolean;
4354
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting certificate. */
4355
+ ou?: string[];
4356
+ /** The Organization (O) values to define in the subject field of the resulting certificate. */
4357
+ organization?: string[];
4358
+ /** The Country (C) values to define in the subject field of the resulting certificate. */
4359
+ country?: string[];
4360
+ /** The Locality (L) values to define in the subject field of the resulting certificate. */
4361
+ locality?: string[];
4362
+ /** The Province (ST) values to define in the subject field of the resulting certificate. */
4363
+ province?: string[];
4364
+ /** The Street Address values in the subject field of the resulting certificate. */
4365
+ street_address?: string[];
4366
+ /** The Postal Code values in the subject field of the resulting certificate. */
4367
+ postal_code?: string[];
4368
+ /** The serial number to assign to the generated certificate. To assign a random serial number, you can omit
4369
+ * this field.
4370
+ */
4371
+ serial_number?: string;
4372
+ /** Properties that are returned with a successful `sign` action. */
4373
+ data: SignIntermediateActionResultData;
4374
+ /** The signed intermediate certificate authority. */
4375
+ intermediate_certificate_authority: string;
4376
+ }
2555
4377
  /** Metadata properties that describe a username_password secret. */
2556
4378
  interface UsernamePasswordSecretMetadata extends SecretMetadata {
2557
4379
  /** The unique ID of the secret. */
@@ -2597,8 +4419,10 @@ declare namespace SecretsManagerV1 {
2597
4419
  created_by?: string;
2598
4420
  /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
2599
4421
  last_update_date?: string;
2600
- /** The number of versions the secret has. */
4422
+ /** The number of versions that are associated with a secret. */
2601
4423
  versions_total?: number;
4424
+ /** The number of locks that are associated with a secret. */
4425
+ locks_total?: number;
2602
4426
  /** The date the secret material expires. The date format follows RFC 3339.
2603
4427
  *
2604
4428
  * You can set an expiration date on supported secret types at their creation. If you create a secret without
@@ -2660,15 +4484,16 @@ declare namespace SecretsManagerV1 {
2660
4484
  * see [Get secret version metadata](#get-secret-version-metadata).
2661
4485
  */
2662
4486
  versions?: JsonObject[];
4487
+ /** The number of locks that are associated with a secret. */
4488
+ locks_total?: number;
2663
4489
  /** The username to assign to this secret. */
2664
4490
  username?: string;
2665
4491
  /** The password to assign to this secret. */
2666
4492
  password?: string;
2667
4493
  /** The data that is associated with the secret version. The data object contains the following fields:
2668
4494
  *
2669
- * `username`: The username that is associated with the secret version.
2670
- *
2671
- * `password`: The password that is associated with the secret version.
4495
+ * - `username`: The username that is associated with the secret version.
4496
+ * - `password`: The password that is associated with the secret version.
2672
4497
  */
2673
4498
  secret_data?: JsonObject;
2674
4499
  /** The date the secret material expires. The date format follows RFC 3339.
@@ -2698,13 +4523,14 @@ declare namespace SecretsManagerV1 {
2698
4523
  creation_date?: string;
2699
4524
  /** The unique identifier for the entity that created the secret version. */
2700
4525
  created_by?: string;
4526
+ /** The number of locks that are associated with a secret version. */
4527
+ locks_total?: number;
2701
4528
  /** Indicates whether the version of the secret was created by automatic rotation. */
2702
4529
  auto_rotated?: boolean;
2703
4530
  /** The data that is associated with the secret version. The data object contains the following fields:
2704
4531
  *
2705
- * `username`: The username that is associated with the secret version.
2706
- *
2707
- * `password`: The password that is associated with the secret version.
4532
+ * - `username`: The username that is associated with the secret version.
4533
+ * - `password`: The password that is associated with the secret version.
2708
4534
  */
2709
4535
  secret_data?: JsonObject;
2710
4536
  }
@@ -2741,6 +4567,8 @@ declare namespace SecretsManagerV1 {
2741
4567
  * service API.
2742
4568
  */
2743
4569
  downloaded?: boolean;
4570
+ /** The number of locks that are associated with a secret version. */
4571
+ locks_total?: number;
2744
4572
  /** Indicates whether the version of the secret was created by automatic rotation. */
2745
4573
  auto_rotated?: boolean;
2746
4574
  }