@ibm-cloud/secrets-manager 1.0.2 → 1.0.32

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * (C) Copyright IBM Corp. 2021.
2
+ * (C) Copyright IBM Corp. 2022.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -18,14 +18,13 @@ import { IncomingHttpHeaders, OutgoingHttpHeaders } from 'http';
18
18
  import { BaseService, UserOptions } from 'ibm-cloud-sdk-core';
19
19
  /**
20
20
  * With IBM Cloud® Secrets Manager, you can create, lease, and centrally manage secrets that are used in IBM Cloud
21
- * services or your custom-built applications. Secrets are stored in a dedicated instance of Secrets Manager, built on
22
- * open source HashiCorp Vault.
21
+ * services or your custom-built applications. Secrets are stored in a dedicated instance of Secrets Manager, which is
22
+ * built on open source HashiCorp Vault.
23
23
  *
24
24
  * API Version: 1.0.0
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.
@@ -124,7 +123,7 @@ declare class SecretsManagerV1 extends BaseService {
124
123
  /**
125
124
  * Create a secret.
126
125
  *
127
- * Creates a secret or imports an existing value that you can use to access or authenticate to a protected resource.
126
+ * Create a secret or import an existing value that you can use to access or authenticate to a protected resource.
128
127
  *
129
128
  * Use this method to either generate or import an existing secret, such as an arbitrary value or a TLS certificate,
130
129
  * that you can manage in your Secrets Manager service instance. A successful request stores the secret in your
@@ -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.
@@ -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
@@ -204,7 +203,7 @@ declare class SecretsManagerV1 extends BaseService {
204
203
  /**
205
204
  * Get a secret.
206
205
  *
207
- * Retrieves a secret and its details by specifying the ID of the secret.
206
+ * Get a secret and its details by specifying the ID of the secret.
208
207
  *
209
208
  * A successful request returns the secret data that is associated with your secret, along with other metadata. To
210
209
  * view only the details of a specified secret without retrieving its value, use the [Get secret
@@ -220,16 +219,18 @@ 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
- * - `rotate`: Replace the value of an `arbitrary`, `username_password`, `public_cert` or `imported_cert` secret.
224
+ * - `rotate`: Replace the value of a secret.
225
+ * - `restore`: Restore a previous version of an `iam_credentials` secret.
226
+ * - `revoke`: Revoke a private certificate.
226
227
  * - `delete_credentials`: Delete the API key that is associated with an `iam_credentials` secret.
227
228
  *
228
229
  * @param {Object} params - The parameters to send to the service.
229
230
  * @param {string} params.secretType - The secret type.
230
231
  * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
231
232
  * @param {string} params.action - The action to perform on the specified secret.
232
- * @param {SecretAction} params.secretAction - The properties to update for the secret.
233
+ * @param {SecretAction} [params.secretAction] - The properties to update for the secret.
233
234
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
234
235
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecret>>}
235
236
  */
@@ -237,7 +238,7 @@ declare class SecretsManagerV1 extends BaseService {
237
238
  /**
238
239
  * Delete a secret.
239
240
  *
240
- * Deletes a secret by specifying the ID of the secret.
241
+ * Delete a secret by specifying the ID of the secret.
241
242
  *
242
243
  * @param {Object} params - The parameters to send to the service.
243
244
  * @param {string} params.secretType - The secret type.
@@ -246,10 +247,24 @@ declare class SecretsManagerV1 extends BaseService {
246
247
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>}
247
248
  */
248
249
  deleteSecret(params: SecretsManagerV1.DeleteSecretParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>;
250
+ /**
251
+ * List versions of a secret.
252
+ *
253
+ * List the versions of a secret.
254
+ *
255
+ * A successful request returns the list of the versions along with the metadata of each version.
256
+ *
257
+ * @param {Object} params - The parameters to send to the service.
258
+ * @param {string} params.secretType - The secret type.
259
+ * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
260
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
261
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.ListSecretVersions>>}
262
+ */
263
+ listSecretVersions(params: SecretsManagerV1.ListSecretVersionsParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.ListSecretVersions>>;
249
264
  /**
250
265
  * Get a version of a secret.
251
266
  *
252
- * 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`.
253
268
  *
254
269
  * A successful request returns the secret data that is associated with the specified version of your secret, along
255
270
  * with other metadata.
@@ -266,10 +281,30 @@ declare class SecretsManagerV1 extends BaseService {
266
281
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretVersion>>}
267
282
  */
268
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>>;
269
304
  /**
270
305
  * Get secret version metadata.
271
306
  *
272
- * 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`.
273
308
  *
274
309
  * A successful request returns the metadata that is associated with the specified version of your secret.
275
310
  *
@@ -288,7 +323,7 @@ declare class SecretsManagerV1 extends BaseService {
288
323
  /**
289
324
  * Get secret metadata.
290
325
  *
291
- * Retrieves the details of a secret by specifying the ID.
326
+ * Get the details of a secret by specifying its ID.
292
327
  *
293
328
  * A successful request returns only metadata about the secret, such as its name and creation date. To retrieve the
294
329
  * value of a secret, use the [Get a secret](#get-secret) or [Get a version of a secret](#get-secret-version) methods.
@@ -303,7 +338,7 @@ declare class SecretsManagerV1 extends BaseService {
303
338
  /**
304
339
  * Update secret metadata.
305
340
  *
306
- * 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.
307
342
  *
308
343
  * To update the actual contents of a secret, rotate the secret by using the [Invoke an action on a
309
344
  * secret](#update-secret) method.
@@ -323,9 +358,9 @@ declare class SecretsManagerV1 extends BaseService {
323
358
  /**
324
359
  * Set secret policies.
325
360
  *
326
- * Creates or updates one or more policies, such as an [automatic rotation
327
- * policy](http://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-rotate-secrets#auto-rotate-secret), for the
328
- * specified secret.
361
+ * Create or update one or more policies, such as an [automatic rotation
362
+ * policy](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-automatic-rotation), for the specified
363
+ * secret.
329
364
  *
330
365
  * @param {Object} params - The parameters to send to the service.
331
366
  * @param {string} params.secretType - The secret type.
@@ -340,7 +375,7 @@ declare class SecretsManagerV1 extends BaseService {
340
375
  /**
341
376
  * List secret policies.
342
377
  *
343
- * Retrieves a list of policies that are associated with a specified secret.
378
+ * List the rotation policies that are associated with a specified secret.
344
379
  *
345
380
  * @param {Object} params - The parameters to send to the service.
346
381
  * @param {string} params.secretType - The secret type.
@@ -356,14 +391,14 @@ declare class SecretsManagerV1 extends BaseService {
356
391
  /**
357
392
  * Set the configuration of a secret type.
358
393
  *
359
- * Sets the configuration for the specified secret type.
394
+ * Set the configuration for the specified secret type.
360
395
  *
361
396
  * Use this method to configure the IAM credentials (`iam_credentials`) engine for your service instance. Looking to
362
- * set up certificate ordering? To configure the public certificates (`public_cert`) engine, use the [Add a
363
- * configuration](#create_config_element) method.
397
+ * order or generate certificates? To configure the public certificates (`public_cert`) or private certificates
398
+ * (`private_cert`) engines, use the [Add a configuration](#create_config_element) method.
364
399
  *
365
400
  * @param {Object} params - The parameters to send to the service.
366
- * @param {string} params.secretType -
401
+ * @param {string} params.secretType - The secret type.
367
402
  * @param {EngineConfig} params.engineConfig - Properties to update for a secrets engine.
368
403
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
369
404
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>}
@@ -372,7 +407,7 @@ declare class SecretsManagerV1 extends BaseService {
372
407
  /**
373
408
  * Get the configuration of a secret type.
374
409
  *
375
- * Retrieves the configuration that is associated with the specified secret type.
410
+ * Get the configuration that is associated with the specified secret type.
376
411
  *
377
412
  * @param {Object} params - The parameters to send to the service.
378
413
  * @param {string} params.secretType - The secret type.
@@ -383,10 +418,18 @@ declare class SecretsManagerV1 extends BaseService {
383
418
  /**
384
419
  * Add a configuration.
385
420
  *
386
- * Adds a configuration element to the specified secret type.
421
+ * Add a configuration element to the specified secret type.
422
+ *
423
+ * Use this method to define the configurations that are required to enable the public certificates (`public_cert`)
424
+ * and private certificates (`private_cert`) engines.
387
425
  *
388
- * Use this method to define the configurations that are required to enable the public certificates (`public_cert`)
389
- * engine. You can add up to 10 certificate authority and DNS provider configurations for your instance.
426
+ * You can add multiple configurations for your instance as follows:
427
+ *
428
+ * - Up to 10 public certificate authority configurations
429
+ * - Up to 10 DNS provider configurations
430
+ * - Up to 10 private root certificate authority configurations
431
+ * - Up to 10 private intermediate certificate authority configurations
432
+ * - Up to 10 certificate templates.
390
433
  *
391
434
  * @param {Object} params - The parameters to send to the service.
392
435
  * @param {string} params.secretType - The secret type.
@@ -402,7 +445,7 @@ declare class SecretsManagerV1 extends BaseService {
402
445
  /**
403
446
  * List configurations.
404
447
  *
405
- * Lists the configuration elements that are associated with a specified secret type.
448
+ * List the configuration elements that are associated with a specified secret type.
406
449
  *
407
450
  * @param {Object} params - The parameters to send to the service.
408
451
  * @param {string} params.secretType - The secret type.
@@ -414,7 +457,7 @@ declare class SecretsManagerV1 extends BaseService {
414
457
  /**
415
458
  * Get a configuration.
416
459
  *
417
- * Retrieves the details of a specific configuration that is associated with a secret type.
460
+ * Get the details of a specific configuration that is associated with a secret type.
418
461
  *
419
462
  * @param {Object} params - The parameters to send to the service.
420
463
  * @param {string} params.secretType - The secret type.
@@ -427,7 +470,7 @@ declare class SecretsManagerV1 extends BaseService {
427
470
  /**
428
471
  * Update a configuration.
429
472
  *
430
- * Updates a configuration element that is associated with the specified secret type.
473
+ * Update a configuration element that is associated with the specified secret type.
431
474
  *
432
475
  * @param {Object} params - The parameters to send to the service.
433
476
  * @param {string} params.secretType - The secret type.
@@ -435,15 +478,36 @@ declare class SecretsManagerV1 extends BaseService {
435
478
  * @param {string} params.configName - The name of your configuration.
436
479
  * @param {string} params.type - The type of configuration. Value options differ depending on the `config_element`
437
480
  * property that you want to define.
438
- * @param {JsonObject} params.config -
481
+ * @param {JsonObject} params.config - Properties that describe a configuration, which depends on type.
439
482
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
440
483
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>}
441
484
  */
442
485
  updateConfigElement(params: SecretsManagerV1.UpdateConfigElementParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>;
486
+ /**
487
+ * Invoke an action on a configuration.
488
+ *
489
+ * Invoke an action on a specified configuration element. This method supports the following actions:
490
+ *
491
+ * - `sign_intermediate`: Sign an intermediate certificate authority.
492
+ * - `sign_csr`: Sign a certificate signing request.
493
+ * - `set_signed`: Set a signed intermediate certificate authority.
494
+ * - `revoke`: Revoke an internally signed intermediate certificate authority certificate.
495
+ * - `rotate_crl`: Rotate the certificate revocation list (CRL) of an intermediate certificate authority.
496
+ *
497
+ * @param {Object} params - The parameters to send to the service.
498
+ * @param {string} params.secretType - The secret type.
499
+ * @param {string} params.configElement - The configuration element on which the action is applied.
500
+ * @param {string} params.configName - The name of the certificate authority.
501
+ * @param {string} params.action - The action to perform on the specified configuration element.
502
+ * @param {ConfigAction} [params.config] - Properties that describe an action on a configuration element.
503
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
504
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.ConfigElementActionResult>>}
505
+ */
506
+ actionOnConfigElement(params: SecretsManagerV1.ActionOnConfigElementParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.ConfigElementActionResult>>;
443
507
  /**
444
508
  * Delete a configuration.
445
509
  *
446
- * Deletes a configuration element from the specified secret type.
510
+ * Delete a configuration element from the specified secret type.
447
511
  *
448
512
  * @param {Object} params - The parameters to send to the service.
449
513
  * @param {string} params.secretType - The secret type.
@@ -453,6 +517,67 @@ declare class SecretsManagerV1 extends BaseService {
453
517
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>}
454
518
  */
455
519
  deleteConfigElement(params: SecretsManagerV1.DeleteConfigElementParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>;
520
+ /*************************
521
+ * notifications
522
+ ************************/
523
+ /**
524
+ * Register with Event Notifications.
525
+ *
526
+ * Create a registration between a Secrets Manager instance and [Event
527
+ * Notifications](https://cloud.ibm.com/apidocs/event-notifications).
528
+ *
529
+ * A successful request adds Secrets Manager as a source that you can reference from your Event Notifications
530
+ * instance. For more information about enabling notifications for Secrets Manager, check out the
531
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-event-notifications).
532
+ *
533
+ * @param {Object} params - The parameters to send to the service.
534
+ * @param {string} params.eventNotificationsInstanceCrn - The Cloud Resource Name (CRN) of the connected Event
535
+ * Notifications instance.
536
+ * @param {string} params.eventNotificationsSourceName - The name that is displayed as a source in your Event
537
+ * Notifications instance.
538
+ * @param {string} [params.eventNotificationsSourceDescription] - An optional description for the source in your Event
539
+ * Notifications instance.
540
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
541
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetNotificationsSettings>>}
542
+ */
543
+ createNotificationsRegistration(params: SecretsManagerV1.CreateNotificationsRegistrationParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetNotificationsSettings>>;
544
+ /**
545
+ * Get Event Notifications registration details.
546
+ *
547
+ * Get the details of an existing registration between a Secrets Manager instance and Event Notifications.
548
+ *
549
+ * @param {Object} [params] - The parameters to send to the service.
550
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
551
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetNotificationsSettings>>}
552
+ */
553
+ getNotificationsRegistration(params?: SecretsManagerV1.GetNotificationsRegistrationParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetNotificationsSettings>>;
554
+ /**
555
+ * Unregister from Event Notifications.
556
+ *
557
+ * Delete a registration between a Secrets Manager instance and Event Notifications.
558
+ *
559
+ * A successful request removes your Secrets Manager instance as a source in Event Notifications.
560
+ *
561
+ * @param {Object} [params] - The parameters to send to the service.
562
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
563
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>}
564
+ */
565
+ deleteNotificationsRegistration(params?: SecretsManagerV1.DeleteNotificationsRegistrationParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>;
566
+ /**
567
+ * Send a test event.
568
+ *
569
+ * Send a test event from a Secrets Manager instance to a configured [Event
570
+ * Notifications](https://cloud.ibm.com/apidocs/event-notifications) instance.
571
+ *
572
+ * A successful request sends a test event to the Event Notifications instance. For more information about enabling
573
+ * notifications for Secrets Manager, check out the
574
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-event-notifications).
575
+ *
576
+ * @param {Object} [params] - The parameters to send to the service.
577
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
578
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>}
579
+ */
580
+ sendTestNotification(params?: SecretsManagerV1.SendTestNotificationParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>;
456
581
  }
457
582
  /*************************
458
583
  * interfaces
@@ -529,7 +654,9 @@ declare namespace SecretsManagerV1 {
529
654
  IAM_CREDENTIALS = "iam_credentials",
530
655
  IMPORTED_CERT = "imported_cert",
531
656
  PUBLIC_CERT = "public_cert",
532
- USERNAME_PASSWORD = "username_password"
657
+ PRIVATE_CERT = "private_cert",
658
+ USERNAME_PASSWORD = "username_password",
659
+ KV = "kv"
533
660
  }
534
661
  }
535
662
  /** Parameters for the `listSecrets` operation. */
@@ -560,7 +687,9 @@ declare namespace SecretsManagerV1 {
560
687
  IAM_CREDENTIALS = "iam_credentials",
561
688
  IMPORTED_CERT = "imported_cert",
562
689
  PUBLIC_CERT = "public_cert",
563
- USERNAME_PASSWORD = "username_password"
690
+ PRIVATE_CERT = "private_cert",
691
+ USERNAME_PASSWORD = "username_password",
692
+ KV = "kv"
564
693
  }
565
694
  }
566
695
  /** Parameters for the `listAllSecrets` operation. */
@@ -630,7 +759,9 @@ declare namespace SecretsManagerV1 {
630
759
  IAM_CREDENTIALS = "iam_credentials",
631
760
  IMPORTED_CERT = "imported_cert",
632
761
  PUBLIC_CERT = "public_cert",
633
- USERNAME_PASSWORD = "username_password"
762
+ PRIVATE_CERT = "private_cert",
763
+ USERNAME_PASSWORD = "username_password",
764
+ KV = "kv"
634
765
  }
635
766
  }
636
767
  /** Parameters for the `updateSecret` operation. */
@@ -642,7 +773,7 @@ declare namespace SecretsManagerV1 {
642
773
  /** The action to perform on the specified secret. */
643
774
  action: UpdateSecretConstants.Action | string;
644
775
  /** The properties to update for the secret. */
645
- secretAction: SecretAction;
776
+ secretAction?: SecretAction;
646
777
  headers?: OutgoingHttpHeaders;
647
778
  }
648
779
  /** Constants for the `updateSecret` operation. */
@@ -653,11 +784,15 @@ declare namespace SecretsManagerV1 {
653
784
  IAM_CREDENTIALS = "iam_credentials",
654
785
  IMPORTED_CERT = "imported_cert",
655
786
  PUBLIC_CERT = "public_cert",
656
- USERNAME_PASSWORD = "username_password"
787
+ PRIVATE_CERT = "private_cert",
788
+ USERNAME_PASSWORD = "username_password",
789
+ KV = "kv"
657
790
  }
658
791
  /** The action to perform on the specified secret. */
659
792
  enum Action {
660
793
  ROTATE = "rotate",
794
+ RESTORE = "restore",
795
+ REVOKE = "revoke",
661
796
  DELETE_CREDENTIALS = "delete_credentials"
662
797
  }
663
798
  }
@@ -677,7 +812,30 @@ declare namespace SecretsManagerV1 {
677
812
  IAM_CREDENTIALS = "iam_credentials",
678
813
  IMPORTED_CERT = "imported_cert",
679
814
  PUBLIC_CERT = "public_cert",
680
- USERNAME_PASSWORD = "username_password"
815
+ PRIVATE_CERT = "private_cert",
816
+ USERNAME_PASSWORD = "username_password",
817
+ KV = "kv"
818
+ }
819
+ }
820
+ /** Parameters for the `listSecretVersions` operation. */
821
+ interface ListSecretVersionsParams {
822
+ /** The secret type. */
823
+ secretType: ListSecretVersionsConstants.SecretType | string;
824
+ /** The v4 UUID that uniquely identifies the secret. */
825
+ id: string;
826
+ headers?: OutgoingHttpHeaders;
827
+ }
828
+ /** Constants for the `listSecretVersions` operation. */
829
+ namespace ListSecretVersionsConstants {
830
+ /** The secret type. */
831
+ enum SecretType {
832
+ ARBITRARY = "arbitrary",
833
+ IAM_CREDENTIALS = "iam_credentials",
834
+ IMPORTED_CERT = "imported_cert",
835
+ PUBLIC_CERT = "public_cert",
836
+ PRIVATE_CERT = "private_cert",
837
+ USERNAME_PASSWORD = "username_password",
838
+ KV = "kv"
681
839
  }
682
840
  }
683
841
  /** Parameters for the `getSecretVersion` operation. */
@@ -699,8 +857,41 @@ declare namespace SecretsManagerV1 {
699
857
  namespace GetSecretVersionConstants {
700
858
  /** The secret type. */
701
859
  enum SecretType {
860
+ ARBITRARY = "arbitrary",
861
+ IAM_CREDENTIALS = "iam_credentials",
702
862
  IMPORTED_CERT = "imported_cert",
703
- PUBLIC_CERT = "public_cert"
863
+ PUBLIC_CERT = "public_cert",
864
+ PRIVATE_CERT = "private_cert",
865
+ USERNAME_PASSWORD = "username_password",
866
+ KV = "kv"
867
+ }
868
+ }
869
+ /** Parameters for the `updateSecretVersion` operation. */
870
+ interface UpdateSecretVersionParams {
871
+ /** The secret type. */
872
+ secretType: UpdateSecretVersionConstants.SecretType | string;
873
+ /** The v4 UUID that uniquely identifies the secret. */
874
+ id: string;
875
+ /** The v4 UUID that uniquely identifies the secret version. You can also use `previous` to retrieve the
876
+ * previous version.
877
+ *
878
+ * **Note:** To find the version ID of a secret, use the [Get secret metadata](#get-secret-metadata) method and
879
+ * check the response details.
880
+ */
881
+ versionId: string;
882
+ /** The action to perform on the specified secret version. */
883
+ action: UpdateSecretVersionConstants.Action | string;
884
+ headers?: OutgoingHttpHeaders;
885
+ }
886
+ /** Constants for the `updateSecretVersion` operation. */
887
+ namespace UpdateSecretVersionConstants {
888
+ /** The secret type. */
889
+ enum SecretType {
890
+ PRIVATE_CERT = "private_cert"
891
+ }
892
+ /** The action to perform on the specified secret version. */
893
+ enum Action {
894
+ REVOKE = "revoke"
704
895
  }
705
896
  }
706
897
  /** Parameters for the `getSecretVersionMetadata` operation. */
@@ -722,8 +913,13 @@ declare namespace SecretsManagerV1 {
722
913
  namespace GetSecretVersionMetadataConstants {
723
914
  /** The secret type. */
724
915
  enum SecretType {
916
+ ARBITRARY = "arbitrary",
917
+ IAM_CREDENTIALS = "iam_credentials",
725
918
  IMPORTED_CERT = "imported_cert",
726
- PUBLIC_CERT = "public_cert"
919
+ PUBLIC_CERT = "public_cert",
920
+ PRIVATE_CERT = "private_cert",
921
+ USERNAME_PASSWORD = "username_password",
922
+ KV = "kv"
727
923
  }
728
924
  }
729
925
  /** Parameters for the `getSecretMetadata` operation. */
@@ -742,7 +938,9 @@ declare namespace SecretsManagerV1 {
742
938
  IAM_CREDENTIALS = "iam_credentials",
743
939
  IMPORTED_CERT = "imported_cert",
744
940
  PUBLIC_CERT = "public_cert",
745
- USERNAME_PASSWORD = "username_password"
941
+ PRIVATE_CERT = "private_cert",
942
+ USERNAME_PASSWORD = "username_password",
943
+ KV = "kv"
746
944
  }
747
945
  }
748
946
  /** Parameters for the `updateSecretMetadata` operation. */
@@ -765,7 +963,9 @@ declare namespace SecretsManagerV1 {
765
963
  IAM_CREDENTIALS = "iam_credentials",
766
964
  IMPORTED_CERT = "imported_cert",
767
965
  PUBLIC_CERT = "public_cert",
768
- USERNAME_PASSWORD = "username_password"
966
+ PRIVATE_CERT = "private_cert",
967
+ USERNAME_PASSWORD = "username_password",
968
+ KV = "kv"
769
969
  }
770
970
  }
771
971
  /** Parameters for the `putPolicy` operation. */
@@ -787,7 +987,8 @@ declare namespace SecretsManagerV1 {
787
987
  /** The secret type. */
788
988
  enum SecretType {
789
989
  USERNAME_PASSWORD = "username_password",
790
- PUBLIC_CERT = "public_cert"
990
+ PUBLIC_CERT = "public_cert",
991
+ PRIVATE_CERT = "private_cert"
791
992
  }
792
993
  /** The type of policy that is associated with the specified secret. */
793
994
  enum Policy {
@@ -809,7 +1010,8 @@ declare namespace SecretsManagerV1 {
809
1010
  /** The secret type. */
810
1011
  enum SecretType {
811
1012
  USERNAME_PASSWORD = "username_password",
812
- PUBLIC_CERT = "public_cert"
1013
+ PUBLIC_CERT = "public_cert",
1014
+ PRIVATE_CERT = "private_cert"
813
1015
  }
814
1016
  /** The type of policy that is associated with the specified secret. */
815
1017
  enum Policy {
@@ -818,6 +1020,7 @@ declare namespace SecretsManagerV1 {
818
1020
  }
819
1021
  /** Parameters for the `putConfig` operation. */
820
1022
  interface PutConfigParams {
1023
+ /** The secret type. */
821
1024
  secretType: PutConfigConstants.SecretType | string;
822
1025
  /** Properties to update for a secrets engine. */
823
1026
  engineConfig: EngineConfig;
@@ -825,7 +1028,7 @@ declare namespace SecretsManagerV1 {
825
1028
  }
826
1029
  /** Constants for the `putConfig` operation. */
827
1030
  namespace PutConfigConstants {
828
- /** SecretType */
1031
+ /** The secret type. */
829
1032
  enum SecretType {
830
1033
  IAM_CREDENTIALS = "iam_credentials"
831
1034
  }
@@ -841,7 +1044,8 @@ declare namespace SecretsManagerV1 {
841
1044
  /** The secret type. */
842
1045
  enum SecretType {
843
1046
  IAM_CREDENTIALS = "iam_credentials",
844
- PUBLIC_CERT = "public_cert"
1047
+ PUBLIC_CERT = "public_cert",
1048
+ PRIVATE_CERT = "private_cert"
845
1049
  }
846
1050
  }
847
1051
  /** Parameters for the `createConfigElement` operation. */
@@ -864,19 +1068,26 @@ declare namespace SecretsManagerV1 {
864
1068
  namespace CreateConfigElementConstants {
865
1069
  /** The secret type. */
866
1070
  enum SecretType {
867
- PUBLIC_CERT = "public_cert"
1071
+ PUBLIC_CERT = "public_cert",
1072
+ PRIVATE_CERT = "private_cert"
868
1073
  }
869
1074
  /** The configuration element to define or manage. */
870
1075
  enum ConfigElement {
871
1076
  CERTIFICATE_AUTHORITIES = "certificate_authorities",
872
- DNS_PROVIDERS = "dns_providers"
1077
+ DNS_PROVIDERS = "dns_providers",
1078
+ ROOT_CERTIFICATE_AUTHORITIES = "root_certificate_authorities",
1079
+ INTERMEDIATE_CERTIFICATE_AUTHORITIES = "intermediate_certificate_authorities",
1080
+ CERTIFICATE_TEMPLATES = "certificate_templates"
873
1081
  }
874
1082
  /** The type of configuration. Value options differ depending on the `config_element` property that you want to define. */
875
1083
  enum Type {
876
1084
  LETSENCRYPT = "letsencrypt",
877
1085
  LETSENCRYPT_STAGE = "letsencrypt-stage",
878
1086
  CIS = "cis",
879
- CLASSIC_INFRASTRUCTURE = "classic_infrastructure"
1087
+ CLASSIC_INFRASTRUCTURE = "classic_infrastructure",
1088
+ ROOT_CERTIFICATE_AUTHORITY = "root_certificate_authority",
1089
+ INTERMEDIATE_CERTIFICATE_AUTHORITY = "intermediate_certificate_authority",
1090
+ CERTIFICATE_TEMPLATE = "certificate_template"
880
1091
  }
881
1092
  }
882
1093
  /** Parameters for the `getConfigElements` operation. */
@@ -891,12 +1102,16 @@ declare namespace SecretsManagerV1 {
891
1102
  namespace GetConfigElementsConstants {
892
1103
  /** The secret type. */
893
1104
  enum SecretType {
894
- PUBLIC_CERT = "public_cert"
1105
+ PUBLIC_CERT = "public_cert",
1106
+ PRIVATE_CERT = "private_cert"
895
1107
  }
896
1108
  /** The configuration element to define or manage. */
897
1109
  enum ConfigElement {
898
1110
  CERTIFICATE_AUTHORITIES = "certificate_authorities",
899
- DNS_PROVIDERS = "dns_providers"
1111
+ DNS_PROVIDERS = "dns_providers",
1112
+ ROOT_CERTIFICATE_AUTHORITIES = "root_certificate_authorities",
1113
+ INTERMEDIATE_CERTIFICATE_AUTHORITIES = "intermediate_certificate_authorities",
1114
+ CERTIFICATE_TEMPLATES = "certificate_templates"
900
1115
  }
901
1116
  }
902
1117
  /** Parameters for the `getConfigElement` operation. */
@@ -913,12 +1128,16 @@ declare namespace SecretsManagerV1 {
913
1128
  namespace GetConfigElementConstants {
914
1129
  /** The secret type. */
915
1130
  enum SecretType {
916
- PUBLIC_CERT = "public_cert"
1131
+ PUBLIC_CERT = "public_cert",
1132
+ PRIVATE_CERT = "private_cert"
917
1133
  }
918
1134
  /** The configuration element to define or manage. */
919
1135
  enum ConfigElement {
920
1136
  CERTIFICATE_AUTHORITIES = "certificate_authorities",
921
- DNS_PROVIDERS = "dns_providers"
1137
+ DNS_PROVIDERS = "dns_providers",
1138
+ ROOT_CERTIFICATE_AUTHORITIES = "root_certificate_authorities",
1139
+ INTERMEDIATE_CERTIFICATE_AUTHORITIES = "intermediate_certificate_authorities",
1140
+ CERTIFICATE_TEMPLATES = "certificate_templates"
922
1141
  }
923
1142
  }
924
1143
  /** Parameters for the `updateConfigElement` operation. */
@@ -933,6 +1152,7 @@ declare namespace SecretsManagerV1 {
933
1152
  * define.
934
1153
  */
935
1154
  type: UpdateConfigElementConstants.Type | string;
1155
+ /** Properties that describe a configuration, which depends on type. */
936
1156
  config: JsonObject;
937
1157
  headers?: OutgoingHttpHeaders;
938
1158
  }
@@ -940,19 +1160,60 @@ declare namespace SecretsManagerV1 {
940
1160
  namespace UpdateConfigElementConstants {
941
1161
  /** The secret type. */
942
1162
  enum SecretType {
943
- PUBLIC_CERT = "public_cert"
1163
+ PUBLIC_CERT = "public_cert",
1164
+ PRIVATE_CERT = "private_cert"
944
1165
  }
945
1166
  /** The configuration element to define or manage. */
946
1167
  enum ConfigElement {
947
1168
  CERTIFICATE_AUTHORITIES = "certificate_authorities",
948
- DNS_PROVIDERS = "dns_providers"
1169
+ DNS_PROVIDERS = "dns_providers",
1170
+ ROOT_CERTIFICATE_AUTHORITIES = "root_certificate_authorities",
1171
+ INTERMEDIATE_CERTIFICATE_AUTHORITIES = "intermediate_certificate_authorities",
1172
+ CERTIFICATE_TEMPLATES = "certificate_templates"
949
1173
  }
950
1174
  /** The type of configuration. Value options differ depending on the `config_element` property that you want to define. */
951
1175
  enum Type {
952
1176
  LETSENCRYPT = "letsencrypt",
953
1177
  LETSENCRYPT_STAGE = "letsencrypt-stage",
954
1178
  CIS = "cis",
955
- CLASSIC_INFRASTRUCTURE = "classic_infrastructure"
1179
+ CLASSIC_INFRASTRUCTURE = "classic_infrastructure",
1180
+ ROOT_CERTIFICATE_AUTHORITY = "root_certificate_authority",
1181
+ INTERMEDIATE_CERTIFICATE_AUTHORITY = "intermediate_certificate_authority",
1182
+ CERTIFICATE_TEMPLATE = "certificate_template"
1183
+ }
1184
+ }
1185
+ /** Parameters for the `actionOnConfigElement` operation. */
1186
+ interface ActionOnConfigElementParams {
1187
+ /** The secret type. */
1188
+ secretType: ActionOnConfigElementConstants.SecretType | string;
1189
+ /** The configuration element on which the action is applied. */
1190
+ configElement: ActionOnConfigElementConstants.ConfigElement | string;
1191
+ /** The name of the certificate authority. */
1192
+ configName: string;
1193
+ /** The action to perform on the specified configuration element. */
1194
+ action: ActionOnConfigElementConstants.Action | string;
1195
+ /** Properties that describe an action on a configuration element. */
1196
+ config?: ConfigAction;
1197
+ headers?: OutgoingHttpHeaders;
1198
+ }
1199
+ /** Constants for the `actionOnConfigElement` operation. */
1200
+ namespace ActionOnConfigElementConstants {
1201
+ /** The secret type. */
1202
+ enum SecretType {
1203
+ PRIVATE_CERT = "private_cert"
1204
+ }
1205
+ /** The configuration element on which the action is applied. */
1206
+ enum ConfigElement {
1207
+ ROOT_CERTIFICATE_AUTHORITIES = "root_certificate_authorities",
1208
+ INTERMEDIATE_CERTIFICATE_AUTHORITIES = "intermediate_certificate_authorities"
1209
+ }
1210
+ /** The action to perform on the specified configuration element. */
1211
+ enum Action {
1212
+ SIGN_INTERMEDIATE = "sign_intermediate",
1213
+ SIGN_CSR = "sign_csr",
1214
+ SET_SIGNED = "set_signed",
1215
+ REVOKE = "revoke",
1216
+ ROTATE_CRL = "rotate_crl"
956
1217
  }
957
1218
  }
958
1219
  /** Parameters for the `deleteConfigElement` operation. */
@@ -969,25 +1230,45 @@ declare namespace SecretsManagerV1 {
969
1230
  namespace DeleteConfigElementConstants {
970
1231
  /** The secret type. */
971
1232
  enum SecretType {
972
- PUBLIC_CERT = "public_cert"
1233
+ PUBLIC_CERT = "public_cert",
1234
+ PRIVATE_CERT = "private_cert"
973
1235
  }
974
1236
  /** The configuration element to define or manage. */
975
1237
  enum ConfigElement {
976
1238
  CERTIFICATE_AUTHORITIES = "certificate_authorities",
977
- DNS_PROVIDERS = "dns_providers"
1239
+ DNS_PROVIDERS = "dns_providers",
1240
+ ROOT_CERTIFICATE_AUTHORITIES = "root_certificate_authorities",
1241
+ INTERMEDIATE_CERTIFICATE_AUTHORITIES = "intermediate_certificate_authorities",
1242
+ CERTIFICATE_TEMPLATES = "certificate_templates"
978
1243
  }
979
1244
  }
1245
+ /** Parameters for the `createNotificationsRegistration` operation. */
1246
+ interface CreateNotificationsRegistrationParams {
1247
+ /** The Cloud Resource Name (CRN) of the connected Event Notifications instance. */
1248
+ eventNotificationsInstanceCrn: string;
1249
+ /** The name that is displayed as a source in your Event Notifications instance. */
1250
+ eventNotificationsSourceName: string;
1251
+ /** An optional description for the source in your Event Notifications instance. */
1252
+ eventNotificationsSourceDescription?: string;
1253
+ headers?: OutgoingHttpHeaders;
1254
+ }
1255
+ /** Parameters for the `getNotificationsRegistration` operation. */
1256
+ interface GetNotificationsRegistrationParams {
1257
+ headers?: OutgoingHttpHeaders;
1258
+ }
1259
+ /** Parameters for the `deleteNotificationsRegistration` operation. */
1260
+ interface DeleteNotificationsRegistrationParams {
1261
+ headers?: OutgoingHttpHeaders;
1262
+ }
1263
+ /** Parameters for the `sendTestNotification` operation. */
1264
+ interface SendTestNotificationParams {
1265
+ headers?: OutgoingHttpHeaders;
1266
+ }
980
1267
  /*************************
981
1268
  * model interfaces
982
1269
  ************************/
983
- /** CertificateSecretData. */
1270
+ /** 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. */
984
1271
  interface CertificateSecretData {
985
- /** The contents of the certificate. */
986
- certificate?: string;
987
- /** The private key that is associated with the certificate. */
988
- private_key?: string;
989
- /** The intermediate certificate that is associated with the certificate. */
990
- intermediate?: string;
991
1272
  }
992
1273
  /** The metadata that describes the resource array. */
993
1274
  interface CollectionMetadata {
@@ -996,6 +1277,29 @@ declare namespace SecretsManagerV1 {
996
1277
  /** The number of elements in the resource array. */
997
1278
  collection_total: number;
998
1279
  }
1280
+ /** Properties that describe an action on a configuration element. */
1281
+ interface ConfigAction {
1282
+ }
1283
+ /** The configuration to add or update. */
1284
+ interface ConfigElementActionData {
1285
+ /** The human-readable name to assign to your configuration. */
1286
+ name: string;
1287
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to
1288
+ * define.
1289
+ */
1290
+ type: string;
1291
+ config: ConfigElementActionResultConfig;
1292
+ }
1293
+ /** Properties that describe an action on a configuration element. */
1294
+ interface ConfigElementActionResult {
1295
+ /** The metadata that describes the resource array. */
1296
+ metadata: CollectionMetadata;
1297
+ /** A collection of resources. */
1298
+ resources: ConfigElementActionData[];
1299
+ }
1300
+ /** ConfigElementActionResultConfig. */
1301
+ interface ConfigElementActionResultConfig {
1302
+ }
999
1303
  /** The configuration to add or update. */
1000
1304
  interface ConfigElementDef {
1001
1305
  /** The human-readable name to assign to your configuration. */
@@ -1049,6 +1353,13 @@ declare namespace SecretsManagerV1 {
1049
1353
  /** GetConfigResourcesItem. */
1050
1354
  interface GetConfigResourcesItem {
1051
1355
  }
1356
+ /** Properties that describe an existing registration with Event Notifications. */
1357
+ interface GetNotificationsSettings {
1358
+ /** The metadata that describes the resource array. */
1359
+ metadata: CollectionMetadata;
1360
+ /** A collection of resources. */
1361
+ resources: NotificationsSettings[];
1362
+ }
1052
1363
  /** Properties that describe a secret. */
1053
1364
  interface GetSecret {
1054
1365
  /** The metadata that describes the resource array. */
@@ -1059,24 +1370,6 @@ declare namespace SecretsManagerV1 {
1059
1370
  /** GetSecretPolicies. */
1060
1371
  interface GetSecretPolicies {
1061
1372
  }
1062
- /** Properties that describe a rotation policy. */
1063
- interface GetSecretPolicyRotationResourcesItem {
1064
- /** The v4 UUID that uniquely identifies the policy. */
1065
- id: string;
1066
- /** The Cloud Resource Name (CRN) that uniquely identifies your cloud resources. */
1067
- crn?: string;
1068
- /** The date the policy was created. The date format follows RFC 3339. */
1069
- creation_date?: string;
1070
- /** The unique identifier for the entity that created the policy. */
1071
- created_by?: string;
1072
- /** Updates when the policy is replaced or modified. The date format follows RFC 3339. */
1073
- last_update_date?: string;
1074
- /** The unique identifier for the entity that updated the policy. */
1075
- updated_by?: string;
1076
- /** The MIME type that represents the policy. Currently, only the default is supported. */
1077
- type: string;
1078
- rotation: SecretPolicyRotationRotation;
1079
- }
1080
1373
  /** Properties that describe the version of a secret. */
1081
1374
  interface GetSecretVersion {
1082
1375
  /** The metadata that describes the resource array. */
@@ -1098,11 +1391,22 @@ declare namespace SecretsManagerV1 {
1098
1391
  /** A collection of resources. */
1099
1392
  resources: ConfigElementDef[];
1100
1393
  }
1394
+ /** Intermediate certificate authorities configuration. */
1395
+ interface IntermediateCertificateAuthoritiesConfigItem {
1396
+ /** The human-readable name to assign to your configuration. */
1397
+ name: string;
1398
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to
1399
+ * define.
1400
+ */
1401
+ type: string;
1402
+ /** Intermediate certificate authority configuration. */
1403
+ config?: IntermediateCertificateAuthorityConfig;
1404
+ }
1101
1405
  /** Issuance information that is associated with your certificate. */
1102
1406
  interface IssuanceInfo {
1103
1407
  /** The date the certificate was ordered. The date format follows RFC 3339. */
1104
1408
  ordered_on?: string;
1105
- /** An code that identifies an issuance error.
1409
+ /** A code that identifies an issuance error.
1106
1410
  *
1107
1411
  * This field, along with `error_message`, is returned when Secrets Manager successfully processes your request,
1108
1412
  * but a certificate is unable to be issued by the certificate authority.
@@ -1125,6 +1429,13 @@ declare namespace SecretsManagerV1 {
1125
1429
  /** The name that was assigned to the DNS provider configuration. */
1126
1430
  dns?: string;
1127
1431
  }
1432
+ /** Properties that describe a list of versions of a secret. */
1433
+ interface ListSecretVersions {
1434
+ /** The metadata that describes the resource array. */
1435
+ metadata: CollectionMetadata;
1436
+ /** A collection of resources. */
1437
+ resources?: SecretVersionInfo[];
1438
+ }
1128
1439
  /** Properties that describe a list of secrets. */
1129
1440
  interface ListSecrets {
1130
1441
  /** The metadata that describes the resource array. */
@@ -1132,19 +1443,52 @@ declare namespace SecretsManagerV1 {
1132
1443
  /** A collection of resources. */
1133
1444
  resources?: SecretResource[];
1134
1445
  }
1446
+ /** The Event Notifications details. */
1447
+ interface NotificationsSettings {
1448
+ /** The Cloud Resource Name (CRN) of the connected Event Notifications instance. */
1449
+ event_notifications_instance_crn: string;
1450
+ }
1451
+ /** Root certificate authorities configuration. */
1452
+ interface RootCertificateAuthoritiesConfigItem {
1453
+ /** The human-readable name to assign to your configuration. */
1454
+ name: string;
1455
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to
1456
+ * define.
1457
+ */
1458
+ type: string;
1459
+ /** Root certificate authority configuration. */
1460
+ config?: RootCertificateAuthorityConfig;
1461
+ }
1135
1462
  /** Rotation. */
1136
1463
  interface Rotation {
1137
1464
  /** Determines whether Secrets Manager rotates your certificate automatically.
1138
1465
  *
1139
- * If set to `true`, the service reorders your certificate 31 days before it expires. To access the previous
1140
- * version of the certifcate, you can use the [Get a version of a secret](#get-secret-version) method.
1466
+ * For public certificates, if `auto_rotate` is set to `true` the service reorders your certificate 31 days before
1467
+ * it expires. For private certificates, the certificate is rotated according to the time interval specified in the
1468
+ * `interval` and `unit` fields.
1469
+ *
1470
+ * To access the previous version of the certificate, you can use the
1471
+ * [Get a version of a secret](#get-secret-version) method.
1141
1472
  */
1142
1473
  auto_rotate?: boolean;
1143
1474
  /** Determines whether Secrets Manager rotates the private key for your certificate automatically.
1144
1475
  *
1145
1476
  * If set to `true`, the service generates and stores a new private key for your rotated certificate.
1477
+ *
1478
+ * **Note:** Use this field only for public certificates. It is ignored for private certificates.
1146
1479
  */
1147
1480
  rotate_keys?: boolean;
1481
+ /** Used together with the `unit` field to specify the rotation interval. The minimum interval is one day, and
1482
+ * the maximum interval is 3 years (1095 days). Required in case `auto_rotate` is set to `true`.
1483
+ *
1484
+ * **Note:** Use this field only for private certificates. It is ignored for public certificates.
1485
+ */
1486
+ interval?: number;
1487
+ /** The time unit of the rotation interval.
1488
+ *
1489
+ * **Note:** Use this field only for private certificates. It is ignored for public certificates.
1490
+ */
1491
+ unit?: string;
1148
1492
  }
1149
1493
  /** SecretAction. */
1150
1494
  interface SecretAction {
@@ -1221,14 +1565,43 @@ declare namespace SecretsManagerV1 {
1221
1565
  /** SecretVersion. */
1222
1566
  interface SecretVersion {
1223
1567
  }
1568
+ /** Properties that describe a secret version within a list of secret versions. */
1569
+ interface SecretVersionInfo {
1570
+ }
1224
1571
  /** SecretVersionMetadata. */
1225
1572
  interface SecretVersionMetadata {
1226
1573
  }
1574
+ /** Properties that are returned with a successful `sign` action. */
1575
+ interface SignActionResultData {
1576
+ /** The PEM-encoded certificate. */
1577
+ certificate?: string;
1578
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1579
+ serial_number?: string;
1580
+ /** The PEM-encoded certificate of the certificate authority that signed and issued this certificate. */
1581
+ issuing_ca?: string;
1582
+ /** The chain of certificate authorities that are associated with the certificate. */
1583
+ ca_chain?: string[];
1584
+ /** The time until the certificate expires. */
1585
+ expiration?: number;
1586
+ }
1587
+ /** Properties that are returned with a successful `sign` action. */
1588
+ interface SignIntermediateActionResultData {
1589
+ /** The PEM-encoded certificate. */
1590
+ certificate?: string;
1591
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1592
+ serial_number?: string;
1593
+ /** The PEM-encoded certificate of the certificate authority that signed and issued this certificate. */
1594
+ issuing_ca?: string;
1595
+ /** The chain of certificate authorities that are associated with the certificate. */
1596
+ ca_chain?: string[];
1597
+ /** The time until the certificate expires. */
1598
+ expiration?: number;
1599
+ }
1227
1600
  /** CertificateValidity. */
1228
1601
  interface CertificateValidity {
1229
- /** The date the certificate validity period begins. */
1602
+ /** The date and time that the certificate validity period begins. */
1230
1603
  not_before?: string;
1231
- /** The date the certificate validity period ends. */
1604
+ /** The date and time that the certificate validity period ends. */
1232
1605
  not_after?: string;
1233
1606
  }
1234
1607
  /** Metadata properties that describe an arbitrary secret. */
@@ -1237,8 +1610,9 @@ declare namespace SecretsManagerV1 {
1237
1610
  id?: string;
1238
1611
  /** Labels that you can use to filter for secrets in your instance.
1239
1612
  *
1240
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1241
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1613
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
1614
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
1615
+ * character (|).
1242
1616
  *
1243
1617
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1244
1618
  */
@@ -1310,8 +1684,8 @@ declare namespace SecretsManagerV1 {
1310
1684
  secret_group_id?: string;
1311
1685
  /** Labels that you can use to filter for secrets in your instance.
1312
1686
  *
1313
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1314
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1687
+ * Up to 30 labels can be created. Labels can be 2 - 30 characters, including spaces. Special characters that are
1688
+ * not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1315
1689
  *
1316
1690
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1317
1691
  */
@@ -1350,16 +1724,59 @@ declare namespace SecretsManagerV1 {
1350
1724
  expiration_date?: string;
1351
1725
  /** The new secret data to assign to the secret. */
1352
1726
  payload?: string;
1727
+ /** The data that is associated with the secret version.
1728
+ *
1729
+ * The data object contains the field `payload`.
1730
+ */
1731
+ secret_data?: JsonObject;
1732
+ }
1733
+ /** ArbitrarySecretVersion. */
1734
+ interface ArbitrarySecretVersion extends SecretVersion {
1735
+ /** The v4 UUID that uniquely identifies the secret. */
1736
+ id?: string;
1737
+ /** The ID of the secret version. */
1738
+ version_id?: string;
1739
+ /** The date that the version of the secret was created. */
1740
+ creation_date?: string;
1741
+ /** The unique identifier for the entity that created the secret version. */
1742
+ created_by?: string;
1743
+ /** The data that is associated with the secret version.
1744
+ *
1745
+ * The data object contains the field `payload`.
1746
+ */
1353
1747
  secret_data?: JsonObject;
1354
1748
  }
1749
+ /** ArbitrarySecretVersionInfo. */
1750
+ interface ArbitrarySecretVersionInfo extends SecretVersionInfo {
1751
+ /** The ID of the secret version. */
1752
+ id?: string;
1753
+ /** The date that the version of the secret was created. */
1754
+ creation_date?: string;
1755
+ /** The unique identifier for the entity that created the secret version. */
1756
+ created_by?: string;
1757
+ /** Indicates whether the payload for the secret version is stored and available. */
1758
+ payload_available?: boolean;
1759
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
1760
+ * service API.
1761
+ */
1762
+ downloaded?: boolean;
1763
+ }
1355
1764
  /** Properties that describe a secret version. */
1356
1765
  interface ArbitrarySecretVersionMetadata extends SecretVersionMetadata {
1357
- /** The ID of the secret version. */
1766
+ /** The v4 UUID that uniquely identifies the secret. */
1358
1767
  id?: string;
1768
+ /** The ID of the secret version. */
1769
+ version_id?: string;
1359
1770
  /** The date that the version of the secret was created. */
1360
1771
  creation_date?: string;
1361
1772
  /** The unique identifier for the entity that created the secret version. */
1362
1773
  created_by?: string;
1774
+ /** Indicates whether the payload for the secret version is stored and available. */
1775
+ payload_available?: boolean;
1776
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
1777
+ * service API.
1778
+ */
1779
+ downloaded?: boolean;
1363
1780
  }
1364
1781
  /** Metadata properties that describe a certificate secret. */
1365
1782
  interface CertificateSecretMetadata extends SecretMetadata {
@@ -1367,8 +1784,9 @@ declare namespace SecretsManagerV1 {
1367
1784
  id?: string;
1368
1785
  /** Labels that you can use to filter for secrets in your instance.
1369
1786
  *
1370
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1371
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1787
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
1788
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
1789
+ * character (|).
1372
1790
  *
1373
1791
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1374
1792
  */
@@ -1409,12 +1827,12 @@ declare namespace SecretsManagerV1 {
1409
1827
  versions_total?: number;
1410
1828
  /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1411
1829
  serial_number?: string;
1412
- /** The identifier for the cryptographic algorthim that was used by the issuing certificate authority to sign
1413
- * the ceritificate.
1830
+ /** The identifier for the cryptographic algorithm that was used by the issuing certificate authority to sign
1831
+ * the certificate.
1414
1832
  */
1415
1833
  algorithm?: string;
1416
- /** The identifier for the cryptographic algorithm that was used to generate the public key that is associated
1417
- * with the certificate.
1834
+ /** The identifier for the cryptographic algorithm that was used to generate the public and private keys that
1835
+ * are associated with the certificate.
1418
1836
  */
1419
1837
  key_algorithm?: string;
1420
1838
  /** The distinguished name that identifies the entity that signed and issued the certificate. */
@@ -1453,8 +1871,8 @@ declare namespace SecretsManagerV1 {
1453
1871
  secret_group_id?: string;
1454
1872
  /** Labels that you can use to filter for secrets in your instance.
1455
1873
  *
1456
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1457
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1874
+ * Up to 30 labels can be created. Labels can be 2 - 30 characters, including spaces. Special characters that are
1875
+ * not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1458
1876
  *
1459
1877
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1460
1878
  */
@@ -1493,15 +1911,21 @@ declare namespace SecretsManagerV1 {
1493
1911
  * line with embedded newline characters.
1494
1912
  */
1495
1913
  intermediate?: string;
1914
+ /** The data that is associated with the secret. The data object contains the following fields:
1915
+ *
1916
+ * - `certificate`: The contents of the certificate.
1917
+ * - `private_key`: The private key that is associated with the certificate.
1918
+ * - `intermediate`: The intermediate certificate that is associated with the certificate.
1919
+ */
1496
1920
  secret_data?: JsonObject;
1497
1921
  /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1498
1922
  serial_number?: string;
1499
- /** The identifier for the cryptographic algorthim that was used by the issuing certificate authority to sign
1500
- * the ceritificate.
1923
+ /** The identifier for the cryptographic algorithm that was used by the issuing certificate authority to sign
1924
+ * the certificate.
1501
1925
  */
1502
1926
  algorithm?: string;
1503
- /** The identifier for the cryptographic algorithm that was used to generate the public key that is associated
1504
- * with the certificate.
1927
+ /** The identifier for the cryptographic algorithm that was used to generate the public and private keys that
1928
+ * are associated with the certificate.
1505
1929
  */
1506
1930
  key_algorithm?: string;
1507
1931
  /** The distinguished name that identifies the entity that signed and issued the certificate. */
@@ -1522,8 +1946,6 @@ declare namespace SecretsManagerV1 {
1522
1946
  interface CertificateSecretVersion extends SecretVersion {
1523
1947
  /** The v4 UUID that uniquely identifies the secret. */
1524
1948
  id?: string;
1525
- /** The Cloud Resource Name (CRN) that uniquely identifies the secret. */
1526
- crn?: string;
1527
1949
  /** The ID of the secret version. */
1528
1950
  version_id?: string;
1529
1951
  /** The date that the version of the secret was created. */
@@ -1535,45 +1957,241 @@ declare namespace SecretsManagerV1 {
1535
1957
  serial_number?: string;
1536
1958
  /** The date that the certificate expires. The date format follows RFC 3339. */
1537
1959
  expiration_date?: string;
1960
+ /** The data that is associated with the secret version. The data object contains the following fields:
1961
+ *
1962
+ * - `certificate`: The contents of the certificate.
1963
+ * - `private_key`: The private key that is associated with the certificate.
1964
+ * - `intermediate`: The intermediate certificate that is associated with the certificate.
1965
+ */
1538
1966
  secret_data?: CertificateSecretData;
1539
1967
  }
1540
- /** Properties that describe a secret version. */
1541
- interface CertificateSecretVersionMetadata extends SecretVersionMetadata {
1968
+ /** CertificateSecretVersionInfo. */
1969
+ interface CertificateSecretVersionInfo extends SecretVersionInfo {
1542
1970
  /** The ID of the secret version. */
1543
1971
  id?: string;
1544
1972
  /** The date that the version of the secret was created. */
1545
1973
  creation_date?: string;
1546
1974
  /** The unique identifier for the entity that created the secret version. */
1547
1975
  created_by?: string;
1976
+ /** Indicates whether the payload for the secret version is stored and available. */
1977
+ payload_available?: boolean;
1978
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
1979
+ * service API.
1980
+ */
1981
+ downloaded?: boolean;
1548
1982
  /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1549
1983
  serial_number?: string;
1550
1984
  /** The date that the certificate expires. The date format follows RFC 3339. */
1551
1985
  expiration_date?: string;
1552
1986
  validity?: CertificateValidity;
1553
1987
  }
1554
- /** Properties that describe an IBM Cloud classic infrastructure (SoftLayer) configuration. */
1555
- interface ConfigElementDefConfigClassicInfrastructureConfig extends ConfigElementDefConfig {
1556
- /** The username that is associated with your classic infrastructure account.
1557
- *
1558
- * In most cases, your classic infrastructure username is your `<account_id>_<email_address>`. In the console, you
1559
- * can find your username by going to **Manage > Access (IAM) > Users > name > VPN password.** For more
1560
- * information, see the
1561
- * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#authorize-classic-infrastructure).
1562
- */
1563
- classic_infrastructure_username: string;
1564
- /** Your classic infrastructure API key.
1565
- *
1566
- * In the console, you can view or create a classic infrastructure API key by going to **Manage > Access (IAM)
1567
- * > Users > name > API keys.** For more information, see the
1568
- * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#authorize-classic-infrastructure).
1569
- */
1570
- classic_infrastructure_password: string;
1571
- }
1572
- /** Properties that describe an IBM Cloud Internet Services (CIS) configuration. */
1988
+ /** Properties that describe a secret version. */
1989
+ interface CertificateSecretVersionMetadata extends SecretVersionMetadata {
1990
+ /** The v4 UUID that uniquely identifies the secret. */
1991
+ id?: string;
1992
+ /** The ID of the secret version. */
1993
+ version_id?: string;
1994
+ /** The date that the version of the secret was created. */
1995
+ creation_date?: string;
1996
+ /** The unique identifier for the entity that created the secret version. */
1997
+ created_by?: string;
1998
+ /** Indicates whether the payload for the secret version is stored and available. */
1999
+ payload_available?: boolean;
2000
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
2001
+ * service API.
2002
+ */
2003
+ downloaded?: boolean;
2004
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
2005
+ serial_number?: string;
2006
+ /** The date that the certificate expires. The date format follows RFC 3339. */
2007
+ expiration_date?: string;
2008
+ validity?: CertificateValidity;
2009
+ }
2010
+ /** 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). */
2011
+ interface CertificateTemplateConfig extends ConfigElementDefConfig {
2012
+ /** The name of the intermediate certificate authority. */
2013
+ certificate_authority: string;
2014
+ /** Scopes the creation of private certificates to only the secret groups that you specify.
2015
+ *
2016
+ * This field can be supplied as a comma-delimited list of secret group IDs.
2017
+ */
2018
+ allowed_secret_groups?: string;
2019
+ /** The maximum time-to-live (TTL) for certificates that are created by this CA. The value can be supplied as a
2020
+ * string representation of a duration in hours, for example '8760h'. Note that in the API response the value is
2021
+ * returned in seconds (integer).
2022
+ *
2023
+ * Minimum value is one hour (`1h`). Maximum value is 100 years (`876000h`).
2024
+ */
2025
+ max_ttl?: any;
2026
+ /** The time-to-live (TTL) or lease duration to assign to a private certificate.
2027
+ *
2028
+ * The value can be supplied as a string representation of a duration, such as `12h`. Hour (`h`) is the largest
2029
+ * time suffix. The value can't exceed the `max_ttl` that is defined in the associated certificate template. Note
2030
+ * that in the API response the value is returned in seconds (integer).
2031
+ */
2032
+ ttl?: string;
2033
+ /** Determines whether to allow `localhost` to be included as one of the requested common names. */
2034
+ allow_localhost?: boolean;
2035
+ /** The domains to define for the certificate template. This property is used along with the
2036
+ * `allow_bare_domains` and `allow_subdomains` options.
2037
+ */
2038
+ allowed_domains?: string[];
2039
+ /** Determines whether to allow the domains that are supplied in the `allowed_domains` field to contain access
2040
+ * control list (ACL) templates.
2041
+ */
2042
+ allowed_domains_template?: boolean;
2043
+ /** Determines whether to allow clients to request private certificates that match the value of the actual
2044
+ * domains on the final certificate.
2045
+ *
2046
+ * For example, if you specify `example.com` in the `allowed_domains` field, you grant clients the ability to
2047
+ * request a certificate that contains the name `example.com` as one of the DNS values on the final certificate.
2048
+ *
2049
+ * **Important:** In some scenarios, allowing bare domains can be considered a security risk.
2050
+ */
2051
+ allow_bare_domains?: boolean;
2052
+ /** Determines whether to allow clients to request private certificates with common names (CN) that are
2053
+ * subdomains of the CNs that are allowed by the other certificate template options. This includes wildcard
2054
+ * subdomains.
2055
+ *
2056
+ * For example, if `allowed_domains` has a value of `example.com` and `allow_subdomains`is set to `true`, then the
2057
+ * following subdomains are allowed: `foo.example.com`, `bar.example.com`, `*.example.com`.
2058
+ *
2059
+ * **Note:** This field is redundant if you use the `allow_any_name` option.
2060
+ */
2061
+ allow_subdomains?: boolean;
2062
+ /** Determines whether to allow glob patterns, for example, `ftp*.example.com`, in the names that are specified
2063
+ * in the `allowed_domains` field.
2064
+ *
2065
+ * If set to `true`, clients are allowed to request private certificates with names that match the glob patterns.
2066
+ */
2067
+ allow_glob_domains?: boolean;
2068
+ /** Determines whether to allow clients to request a private certificate that matches any common name. */
2069
+ allow_any_name?: boolean;
2070
+ /** Determines whether to enforce only valid host names for common names, DNS Subject Alternative Names, and the
2071
+ * host section of email addresses.
2072
+ */
2073
+ enforce_hostnames?: boolean;
2074
+ /** Determines whether to allow clients to request a private certificate with IP Subject Alternative Names. */
2075
+ allow_ip_sans?: boolean;
2076
+ /** The URI Subject Alternative Names to allow for private certificates.
2077
+ *
2078
+ * Values can contain glob patterns, for example `spiffe://hostname/_*`.
2079
+ */
2080
+ allowed_uri_sans?: string[];
2081
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names (SANs) to allow for private
2082
+ * certificates.
2083
+ *
2084
+ * The format for each element in the list is the same as OpenSSL: `<oid>:<type>:<value>` where the current valid
2085
+ * type is `UTF8`. To allow any value for an OID, use `*` as its value. Alternatively, specify a single `*` to
2086
+ * allow any `other_sans` input.
2087
+ */
2088
+ allowed_other_sans?: string[];
2089
+ /** Determines whether private certificates are flagged for server use. */
2090
+ server_flag?: boolean;
2091
+ /** Determines whether private certificates are flagged for client use. */
2092
+ client_flag?: boolean;
2093
+ /** Determines whether private certificates are flagged for code signing use. */
2094
+ code_signing_flag?: boolean;
2095
+ /** Determines whether private certificates are flagged for email protection use. */
2096
+ email_protection_flag?: boolean;
2097
+ /** The type of private key to generate for private certificates and the type of key that is expected for
2098
+ * submitted certificate signing requests (CSRs).
2099
+ *
2100
+ * Allowable values are: `rsa` and `ec`.
2101
+ */
2102
+ key_type?: string;
2103
+ /** The number of bits to use when generating the private key.
2104
+ *
2105
+ * Allowable values for RSA keys are: 2048 and 4096. Allowable values for EC keys are: 224, 256, 384 And 521. The
2106
+ * default for RSA keys is 2048, and the default for EC keys is 256.
2107
+ */
2108
+ key_bits?: number;
2109
+ /** The allowed key usage constraint to define for private certificates.
2110
+ *
2111
+ * You can find valid values in the [Go x509 package documentation](https://pkg.go.dev/crypto/x509#KeyUsage). Omit
2112
+ * the `KeyUsage` part of the value. Values are not case-sensitive. To specify no key usage constraints, set this
2113
+ * field to an empty list.
2114
+ */
2115
+ key_usage?: string[];
2116
+ /** The allowed extended key usage constraint on private certificates.
2117
+ *
2118
+ * You can find valid values in the [Go x509 package
2119
+ * documentation](https://golang.org/pkg/crypto/x509/#ExtKeyUsage). Omit the `ExtKeyUsage` part of the value.
2120
+ * Values are not case-sensitive. To specify no key usage constraints, set this field to an empty list.
2121
+ */
2122
+ ext_key_usage?: string[];
2123
+ /** A list of extended key usage Object Identifiers (OIDs). */
2124
+ ext_key_usage_oids?: string[];
2125
+ /** When used with the `sign_csr` action, this field determines whether to use the common name (CN) from a
2126
+ * certificate signing request (CSR) instead of the CN that's included in the JSON data of the certificate.
2127
+ *
2128
+ * Does not include any requested Subject Alternative Names (SANs) in the CSR. To use the alternative names,
2129
+ * include the `use_csr_sans` property.
2130
+ */
2131
+ use_csr_common_name?: boolean;
2132
+ /** When used with the `sign_csr` action, this field determines whether to use the Subject Alternative Names
2133
+ * (SANs) from a certificate signing request (CSR) instead of the SANs that are included in the JSON data of the
2134
+ * certificate.
2135
+ *
2136
+ * Does not include the common name in the CSR. To use the common name, include the `use_csr_common_name` property.
2137
+ */
2138
+ use_csr_sans?: boolean;
2139
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting CA certificate. */
2140
+ ou?: string[];
2141
+ /** The Organization (O) values to define in the subject field of the resulting CA certificate. */
2142
+ organization?: string[];
2143
+ /** The Country (C) values to define in the subject field of the resulting CA certificate. */
2144
+ country?: string[];
2145
+ /** The Locality (L) values to define in the subject field of the resulting CA certificate. */
2146
+ locality?: string[];
2147
+ /** The Province (ST) values to define in the subject field of the resulting CA certificate. */
2148
+ province?: string[];
2149
+ /** The Street Address values in the subject field of the resulting CA certificate. */
2150
+ street_address?: string[];
2151
+ /** The Postal Code values in the subject field of the resulting CA certificate. */
2152
+ postal_code?: string[];
2153
+ /** The serial number to assign to the generated private certificate. To assign a random serial number, you can
2154
+ * omit this field.
2155
+ */
2156
+ serial_number?: string;
2157
+ /** Determines whether to require a common name to create a private certificate.
2158
+ *
2159
+ * By default, a common name is required to generate a certificate. To make the `common_name` field optional, set
2160
+ * the `require_cn` option to `false`.
2161
+ */
2162
+ require_cn?: boolean;
2163
+ /** A list of policy Object Identifiers (OIDs). */
2164
+ policy_identifiers?: string[];
2165
+ /** Determines whether to mark the Basic Constraints extension of an issued private certificate as valid for
2166
+ * non-CA certificates.
2167
+ */
2168
+ basic_constraints_valid_for_non_ca?: boolean;
2169
+ /** The duration in seconds by which to backdate the `not_before` property of an issued private certificate. The
2170
+ * value can be supplied as a string representation of a duration, such as `30s`. Note that in the API response the
2171
+ * value is returned in seconds (integer).
2172
+ */
2173
+ not_before_duration?: any;
2174
+ }
2175
+ /** Properties that describe an IBM Cloud classic infrastructure (SoftLayer) configuration. */
2176
+ interface ConfigElementDefConfigClassicInfrastructureConfig extends ConfigElementDefConfig {
2177
+ /** The username that is associated with your classic infrastructure account.
2178
+ *
2179
+ * In most cases, your classic infrastructure username is your `<account_id>_<email_address>`. For more
2180
+ * information, see the [docs](https://cloud.ibm.com/docs/account?topic=account-classic_keys).
2181
+ */
2182
+ classic_infrastructure_username: string;
2183
+ /** Your classic infrastructure API key.
2184
+ *
2185
+ * For information about viewing and accessing your classic infrastructure API key, see the
2186
+ * [docs](https://cloud.ibm.com/docs/account?topic=account-classic_keys).
2187
+ */
2188
+ classic_infrastructure_password: string;
2189
+ }
2190
+ /** Properties that describe an IBM Cloud Internet Services (CIS) configuration. */
1573
2191
  interface ConfigElementDefConfigCloudInternetServicesConfig extends ConfigElementDefConfig {
1574
2192
  /** The Cloud Resource Name (CRN) that is associated with the CIS instance. */
1575
2193
  cis_crn: string;
1576
- /** An IBM Cloud API key that has the capability to list domains in your CIS instance.
2194
+ /** An IBM Cloud API key that can to list domains in your CIS instance.
1577
2195
  *
1578
2196
  * To grant Secrets Manager the ability to view the CIS instance and all of its domains, the API key must be
1579
2197
  * assigned the Reader service role on Internet Services (`internet-svcs`).
@@ -1590,7 +2208,7 @@ declare namespace SecretsManagerV1 {
1590
2208
  interface ConfigElementDefConfigLetsEncryptConfig extends ConfigElementDefConfig {
1591
2209
  /** The private key that is associated with your Automatic Certificate Management Environment (ACME) account.
1592
2210
  *
1593
- * If you have a working ACME client or account for Let's Encrypt, you can use the existing private key to enable
2211
+ * If you have a working ACME client or account for Let's Encrypt, you can use the existing private key to enable
1594
2212
  * communications with Secrets Manager. If you don't have an account yet, you can create one. For more information,
1595
2213
  * see the
1596
2214
  * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#create-acme-account).
@@ -1599,56 +2217,537 @@ declare namespace SecretsManagerV1 {
1599
2217
  }
1600
2218
  /** Configuration for the IAM credentials engine. */
1601
2219
  interface CreateIAMCredentialsSecretEngineRootConfig extends EngineConfig {
1602
- /** An IBM Cloud API key that has the capability to create and manage service IDs.
2220
+ /** An IBM Cloud API key that can create and manage service IDs.
2221
+ *
2222
+ * The API key must be assigned the Editor platform role on the Access Groups Service and the Operator platform
2223
+ * role on the IAM Identity Service. For more information, see the
2224
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-configure-iam-engine).
2225
+ */
2226
+ api_key: string;
2227
+ /** The hash value of the IBM Cloud API key that is used to create and manage service IDs. */
2228
+ api_key_hash?: string;
2229
+ }
2230
+ /** Delete the credentials that are associated with an `iam_credentials` secret. */
2231
+ interface DeleteCredentialsForIAMCredentialsSecret extends SecretAction {
2232
+ /** The ID of the API key that you want to delete. If the secret was created with a static service ID, only the
2233
+ * API key is deleted. Otherwise, the service ID is deleted together with its API key.
2234
+ */
2235
+ api_key_id?: string;
2236
+ /** The service ID that you want to delete. This property can be used instead of the `api_key_id` field, but
2237
+ * only for secrets that were created with a service ID that was generated by Secrets Manager.
2238
+ *
2239
+ * **Deprecated.** Use the `api_key_id` field instead.
2240
+ */
2241
+ service_id?: string;
2242
+ }
2243
+ /** Certificate authorities configuration. */
2244
+ interface GetConfigElementsResourcesItemCertificateAuthoritiesConfig extends GetConfigElementsResourcesItem {
2245
+ certificate_authorities: ConfigElementMetadata[];
2246
+ }
2247
+ /** DNS providers configuration. */
2248
+ interface GetConfigElementsResourcesItemDnsProvidersConfig extends GetConfigElementsResourcesItem {
2249
+ dns_providers: ConfigElementMetadata[];
2250
+ }
2251
+ /** Properties that describe a rotation policy. */
2252
+ interface GetSecretPolicyRotation extends GetSecretPolicies {
2253
+ /** The metadata that describes the resource array. */
2254
+ metadata: CollectionMetadata;
2255
+ /** A collection of resources. */
2256
+ resources: JsonObject[];
2257
+ }
2258
+ /** Configuration for the IAM credentials engine. */
2259
+ interface IAMCredentialsSecretEngineRootConfig extends GetConfigResourcesItem {
2260
+ /** An IBM Cloud API key that can create and manage service IDs.
2261
+ *
2262
+ * The API key must be assigned the Editor platform role on the Access Groups Service and the Operator platform
2263
+ * role on the IAM Identity Service. For more information, see the
2264
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-configure-iam-engine).
2265
+ */
2266
+ api_key: string;
2267
+ /** The hash value of the IBM Cloud API key that is used to create and manage service IDs. */
2268
+ api_key_hash?: string;
2269
+ }
2270
+ /** Metadata properties that describe an `iam_credentials` secret. */
2271
+ interface IAMCredentialsSecretMetadata extends SecretMetadata {
2272
+ /** The unique ID of the secret. */
2273
+ id?: string;
2274
+ /** Labels that you can use to filter for secrets in your instance.
2275
+ *
2276
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
2277
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
2278
+ * character (|).
2279
+ *
2280
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2281
+ */
2282
+ labels?: string[];
2283
+ /** A human-readable alias to assign to your secret.
2284
+ *
2285
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
2286
+ */
2287
+ name: string;
2288
+ /** An extended description of your secret.
2289
+ *
2290
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
2291
+ * secret.
2292
+ */
2293
+ description?: string;
2294
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
2295
+ *
2296
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
2297
+ */
2298
+ secret_group_id?: string;
2299
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
2300
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
2301
+ */
2302
+ state?: number;
2303
+ /** A text representation of the secret state. */
2304
+ state_description?: string;
2305
+ /** The secret type. */
2306
+ secret_type?: string;
2307
+ /** The Cloud Resource Name (CRN) that uniquely identifies the resource. */
2308
+ crn?: string;
2309
+ /** The date the secret was created. The date format follows RFC 3339. */
2310
+ creation_date?: string;
2311
+ /** The unique identifier for the entity that created the secret. */
2312
+ created_by?: string;
2313
+ /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
2314
+ last_update_date?: string;
2315
+ /** The number of versions the secret has. */
2316
+ versions_total?: number;
2317
+ /** The time-to-live (TTL) or lease duration that is assigned to the secret. For `iam_credentials` secrets, the
2318
+ * TTL defines for how long each generated API key remains valid.
2319
+ */
2320
+ ttl?: string;
2321
+ /** Determines whether to use the same service ID and API key for future read operations on an
2322
+ * `iam_credentials` secret.
2323
+ *
2324
+ * If set to `true`, the service reuses the current credentials. If set to `false`, a new service ID and API key
2325
+ * are generated each time that the secret is read or accessed.
2326
+ */
2327
+ reuse_api_key?: boolean;
2328
+ /** Indicates whether an `iam_credentials` secret was created with a static service ID.
2329
+ *
2330
+ * If the value is `true`, the service ID for the secret was provided by the user at secret creation. If the value
2331
+ * is `false`, the service ID was generated by Secrets Manager.
2332
+ */
2333
+ service_id_is_static?: boolean;
2334
+ /** The service ID under which the API key is created. The service ID is included in the metadata only if the
2335
+ * secret was created with a static service ID.
2336
+ */
2337
+ service_id?: string;
2338
+ /** The access groups that define the capabilities of the service ID and API key that are generated for an
2339
+ * `iam_credentials` secret. The access groups are included in the metadata only if the secret was created with a
2340
+ * service ID that was generated by Secrets Manager.
2341
+ */
2342
+ access_groups?: string[];
2343
+ }
2344
+ /** Properties that describe a secret. */
2345
+ interface IAMCredentialsSecretResource extends SecretResource {
2346
+ /** The v4 UUID that uniquely identifies the secret. */
2347
+ id?: string;
2348
+ /** A human-readable alias to assign to your secret.
2349
+ *
2350
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
2351
+ */
2352
+ name: string;
2353
+ /** An extended description of your secret.
2354
+ *
2355
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
2356
+ * secret.
2357
+ */
2358
+ description?: string;
2359
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
2360
+ *
2361
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
2362
+ */
2363
+ secret_group_id?: string;
2364
+ /** Labels that you can use to filter for secrets in your instance.
2365
+ *
2366
+ * Up to 30 labels can be created. Labels can be 2 - 30 characters, including spaces. Special characters that are
2367
+ * not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
2368
+ *
2369
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2370
+ */
2371
+ labels?: string[];
2372
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
2373
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
2374
+ */
2375
+ state?: number;
2376
+ /** A text representation of the secret state. */
2377
+ state_description?: string;
2378
+ /** The secret type. */
2379
+ secret_type?: string;
2380
+ /** The Cloud Resource Name (CRN) that uniquely identifies your Secrets Manager resource. */
2381
+ crn?: string;
2382
+ /** The date the secret was created. The date format follows RFC 3339. */
2383
+ creation_date?: string;
2384
+ /** The unique identifier for the entity that created the secret. */
2385
+ created_by?: string;
2386
+ /** Updates when the actual secret is modified. The date format follows RFC 3339. */
2387
+ last_update_date?: string;
2388
+ /** The number of versions that are associated with a secret. */
2389
+ versions_total?: number;
2390
+ /** An array that contains metadata for each secret version. For more information on the metadata properties,
2391
+ * see [Get secret version metadata](#get-secret-version-metadata).
2392
+ */
2393
+ versions?: JsonObject[];
2394
+ /** The time-to-live (TTL) or lease duration to assign to generated credentials.
2395
+ *
2396
+ * For `iam_credentials` secrets, the TTL defines for how long each generated API key remains valid. The value can
2397
+ * be either an integer that specifies the number of seconds, or the string representation of a duration, such as
2398
+ * `120m` or `24h`.
2399
+ *
2400
+ * Minimum duration is 1 minute. Maximum is 90 days.
2401
+ */
2402
+ ttl?: string;
2403
+ /** The access groups that define the capabilities of the service ID and API key that are generated for an
2404
+ * `iam_credentials` secret. If you prefer to use an existing service ID that is already assigned the access
2405
+ * policies that you require, you can omit this parameter and use the `service_id` field instead.
2406
+ *
2407
+ * **Tip:** To list the access groups that are available in an account, you can use the [IAM Access Groups
2408
+ * API](https://cloud.ibm.com/apidocs/iam-access-groups#list-access-groups). To find the ID of an access group in
2409
+ * the console, go to **Manage > Access (IAM) > Access groups**. Select the access group to inspect, and click
2410
+ * **Details** to view its ID.
2411
+ */
2412
+ access_groups?: string[];
2413
+ /** The API key that is generated for this secret.
2414
+ *
2415
+ * After the secret reaches the end of its lease (see the `ttl` field), the API key is deleted automatically. If
2416
+ * you want to continue to use the same API key for future read operations, see the `reuse_api_key` field.
2417
+ */
2418
+ api_key?: string;
2419
+ /** The ID of the API key that is generated for this secret. */
2420
+ api_key_id?: string;
2421
+ /** The service ID under which the API key (see the `api_key` field) is created.
2422
+ *
2423
+ * If you omit this parameter, Secrets Manager generates a new service ID for your secret at its creation and adds
2424
+ * it to the access groups that you assign.
2425
+ *
2426
+ * Optionally, you can use this field to provide your own service ID if you prefer to manage its access directly or
2427
+ * retain the service ID after your secret expires, is rotated, or deleted. If you provide a service ID, do not
2428
+ * include the `access_groups` parameter.
2429
+ */
2430
+ service_id?: string;
2431
+ /** Indicates whether an `iam_credentials` secret was created with a static service ID.
2432
+ *
2433
+ * If `true`, the service ID for the secret was provided by the user at secret creation. If `false`, the service ID
2434
+ * was generated by Secrets Manager.
2435
+ */
2436
+ service_id_is_static?: boolean;
2437
+ /** Determines whether to use the same service ID and API key for future read operations on an
2438
+ * `iam_credentials` secret.
2439
+ *
2440
+ * If set to `true`, the service reuses the current credentials. If set to `false`, a new service ID and API key
2441
+ * are generated each time that the secret is read or accessed.
2442
+ */
2443
+ reuse_api_key?: boolean;
2444
+ }
2445
+ /** IAMCredentialsSecretVersion. */
2446
+ interface IAMCredentialsSecretVersion extends SecretVersion {
2447
+ /** The v4 UUID that uniquely identifies the secret. */
2448
+ id?: string;
2449
+ /** The ID of the secret version. */
2450
+ version_id?: string;
2451
+ /** The date that the version of the secret was created. */
2452
+ creation_date?: string;
2453
+ /** The unique identifier for the entity that created the secret version. */
2454
+ created_by?: string;
2455
+ /** The data that is associated with the secret version. The data object contains the following fields:
2456
+ *
2457
+ * - `api_key`: The API key that is generated for this secret.
2458
+ * - `api_key_id`: The ID of the API key that is generated for this secret.
2459
+ * - `service_id`: The service ID under which the API key is created.
2460
+ */
2461
+ secret_data?: JsonObject;
2462
+ }
2463
+ /** IAMCredentialsSecretVersionInfo. */
2464
+ interface IAMCredentialsSecretVersionInfo extends SecretVersionInfo {
2465
+ /** The ID of the secret version. */
2466
+ id?: string;
2467
+ /** The date that the version of the secret was created. */
2468
+ creation_date?: string;
2469
+ /** The unique identifier for the entity that created the secret version. */
2470
+ created_by?: string;
2471
+ /** Indicates whether the payload for the secret version is stored and available. */
2472
+ payload_available?: boolean;
2473
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
2474
+ * service API.
2475
+ */
2476
+ downloaded?: boolean;
2477
+ }
2478
+ /** Properties that describe a secret version. */
2479
+ interface IAMCredentialsSecretVersionMetadata extends SecretVersionMetadata {
2480
+ /** The v4 UUID that uniquely identifies the secret. */
2481
+ id?: string;
2482
+ /** The ID of the secret version. */
2483
+ version_id?: string;
2484
+ /** The date that the version of the secret was created. */
2485
+ creation_date?: string;
2486
+ /** The unique identifier for the entity that created the secret version. */
2487
+ created_by?: string;
2488
+ /** Indicates whether the payload for the secret version is stored and available. */
2489
+ payload_available?: boolean;
2490
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
2491
+ * service API.
2492
+ */
2493
+ downloaded?: boolean;
2494
+ }
2495
+ /** Intermediate certificate authorities configuration. */
2496
+ interface IntermediateCertificateAuthoritiesConfig extends GetConfigElementsResourcesItem {
2497
+ intermediate_certificate_authorities: IntermediateCertificateAuthoritiesConfigItem[];
2498
+ }
2499
+ /** Intermediate certificate authority configuration. */
2500
+ interface IntermediateCertificateAuthorityConfig extends ConfigElementDefConfig {
2501
+ /** The maximum time-to-live (TTL) for certificates that are created by this CA. The value can be supplied as a
2502
+ * string representation of a duration in hours, for example '8760h'. Note that in the API response the value is
2503
+ * returned in seconds (integer).
2504
+ *
2505
+ * Minimum value is one hour (`1h`). Maximum value is 100 years (`876000h`).
2506
+ */
2507
+ max_ttl: any;
2508
+ /** The signing method to use with this certificate authority to generate private certificates.
2509
+ *
2510
+ * You can choose between internal or externally signed options. For more information, see the
2511
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-intermediate-certificate-authorities).
2512
+ */
2513
+ signing_method: string;
2514
+ /** The certificate authority that signed and issued the certificate.
2515
+ *
2516
+ * If the certificate is signed internally, the `issuer` field is required and must match the name of a certificate
2517
+ * authority that is configured in the Secrets Manager service instance.
2518
+ */
2519
+ issuer?: string;
2520
+ /** The time until the certificate revocation list (CRL) expires. The value can be supplied as a string
2521
+ * representation of a duration in hours, such as `48h`. The default is 72 hours. Note that in the API response the
2522
+ * value is returned in seconds (integer).
2523
+ */
2524
+ crl_expiry?: any;
2525
+ /** Determines whether to disable certificate revocation list (CRL) building.
2526
+ *
2527
+ * By default, each request rebuilds a CRL. To disable CRL building, set this field to `true`.
2528
+ */
2529
+ crl_disable?: boolean;
2530
+ /** Determines whether to encode the certificate revocation list (CRL) distribution points in the private
2531
+ * certificates that are issued by a certificate authority.
2532
+ */
2533
+ crl_distribution_points_encoded?: boolean;
2534
+ /** Determines whether to encode the URL of the issuing certificate in the private certificates that are issued
2535
+ * by a certificate authority.
2536
+ */
2537
+ issuing_certificates_urls_encoded?: boolean;
2538
+ /** The fully qualified domain name or host domain name for the certificate. */
2539
+ common_name: string;
2540
+ /** The status of the certificate authority. The status of a root certificate authority is either `configured`
2541
+ * or `expired`. For intermediate certificate authorities, possible statuses include `signing_required`,
2542
+ * `signed_certificate_required`, `certificate_template_required`, `configured`, `expired` or `revoked`.
2543
+ */
2544
+ status?: string;
2545
+ /** The date that the certificate expires. The date format follows RFC 3339. */
2546
+ expiration_date?: string;
2547
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
2548
+ *
2549
+ * The alternative names can be host names or email addresses.
2550
+ */
2551
+ alt_names?: string[];
2552
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
2553
+ ip_sans?: string;
2554
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
2555
+ uri_sans?: string;
2556
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
2557
+ * certificate.
2558
+ *
2559
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
2560
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
2561
+ * valid type is `UTF8`.
2562
+ */
2563
+ other_sans?: string[];
2564
+ /** The format of the returned data. */
2565
+ format?: string;
2566
+ /** The format of the generated private key. */
2567
+ private_key_format?: string;
2568
+ /** The type of private key to generate. */
2569
+ key_type?: string;
2570
+ /** The number of bits to use when generating the private key.
2571
+ *
2572
+ * Allowable values for RSA keys are: 2048 and 4096. Allowable values for EC keys are: 224, 256, 384 And 521. The
2573
+ * default for RSA keys is 2048, and the default for EC keys is 256.
2574
+ */
2575
+ key_bits?: number;
2576
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
2577
+ *
2578
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
2579
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
2580
+ */
2581
+ exclude_cn_from_sans?: boolean;
2582
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting CA certificate. */
2583
+ ou?: string[];
2584
+ /** The Organization (O) values to define in the subject field of the resulting CA certificate. */
2585
+ organization?: string[];
2586
+ /** The Country (C) values to define in the subject field of the resulting CA certificate. */
2587
+ country?: string[];
2588
+ /** The Locality (L) values to define in the subject field of the resulting CA certificate. */
2589
+ locality?: string[];
2590
+ /** The Province (ST) values to define in the subject field of the resulting CA certificate. */
2591
+ province?: string[];
2592
+ /** The Street Address values in the subject field of the resulting CA certificate. */
2593
+ street_address?: string[];
2594
+ /** The Postal Code values in the subject field of the resulting CA certificate. */
2595
+ postal_code?: string[];
2596
+ /** The serial number to assign to the generated private certificate. To assign a random serial number, you can
2597
+ * omit this field.
2598
+ */
2599
+ serial_number?: string;
2600
+ /** The data that is associated with the intermediate certificate authority. The data object contains the
2601
+ * following fields:
2602
+ *
2603
+ * - `csr`: The PEM-encoded certificate signing request.
2604
+ * - `private_key`: The private key.
2605
+ * - `private_key_type`: The type of private key, for example `rsa`.
2606
+ */
2607
+ data?: JsonObject;
2608
+ }
2609
+ /** Metadata properties that describe a key-value secret. */
2610
+ interface KvSecretMetadata extends SecretMetadata {
2611
+ /** The unique ID of the secret. */
2612
+ id?: string;
2613
+ /** Labels that you can use to filter for secrets in your instance.
2614
+ *
2615
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
2616
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
2617
+ * character (|).
2618
+ *
2619
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2620
+ */
2621
+ labels?: string[];
2622
+ /** A human-readable alias to assign to your secret.
2623
+ *
2624
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
2625
+ */
2626
+ name: string;
2627
+ /** An extended description of your secret.
2628
+ *
2629
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
2630
+ * secret.
2631
+ */
2632
+ description?: string;
2633
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
2634
+ *
2635
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
2636
+ */
2637
+ secret_group_id?: string;
2638
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
2639
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
2640
+ */
2641
+ state?: number;
2642
+ /** A text representation of the secret state. */
2643
+ state_description?: string;
2644
+ /** The secret type. */
2645
+ secret_type?: string;
2646
+ /** The Cloud Resource Name (CRN) that uniquely identifies the resource. */
2647
+ crn?: string;
2648
+ /** The date the secret was created. The date format follows RFC 3339. */
2649
+ creation_date?: string;
2650
+ /** The unique identifier for the entity that created the secret. */
2651
+ created_by?: string;
2652
+ /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
2653
+ last_update_date?: string;
2654
+ /** The number of versions the secret has. */
2655
+ versions_total?: number;
2656
+ }
2657
+ /** Properties that describe a secret. */
2658
+ interface KvSecretResource extends SecretResource {
2659
+ /** The v4 UUID that uniquely identifies the secret. */
2660
+ id?: string;
2661
+ /** A human-readable alias to assign to your secret.
2662
+ *
2663
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
2664
+ */
2665
+ name: string;
2666
+ /** An extended description of your secret.
2667
+ *
2668
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
2669
+ * secret.
2670
+ */
2671
+ description?: string;
2672
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
2673
+ *
2674
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
2675
+ */
2676
+ secret_group_id?: string;
2677
+ /** Labels that you can use to filter for secrets in your instance.
2678
+ *
2679
+ * Up to 30 labels can be created. Labels can be 2 - 30 characters, including spaces. Special characters that are
2680
+ * not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
2681
+ *
2682
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2683
+ */
2684
+ labels?: string[];
2685
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
2686
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
2687
+ */
2688
+ state?: number;
2689
+ /** A text representation of the secret state. */
2690
+ state_description?: string;
2691
+ /** The secret type. */
2692
+ secret_type?: string;
2693
+ /** The Cloud Resource Name (CRN) that uniquely identifies your Secrets Manager resource. */
2694
+ crn?: string;
2695
+ /** The date the secret was created. The date format follows RFC 3339. */
2696
+ creation_date?: string;
2697
+ /** The unique identifier for the entity that created the secret. */
2698
+ created_by?: string;
2699
+ /** Updates when the actual secret is modified. The date format follows RFC 3339. */
2700
+ last_update_date?: string;
2701
+ /** The number of versions that are associated with a secret. */
2702
+ versions_total?: number;
2703
+ /** An array that contains metadata for each secret version. For more information on the metadata properties,
2704
+ * see [Get secret version metadata](#get-secret-version-metadata).
2705
+ */
2706
+ versions?: JsonObject[];
2707
+ /** The date the secret material expires. The date format follows RFC 3339.
1603
2708
  *
1604
- * The API key must be assigned the Editor platform role on the Access Groups Service and the Operator platform
1605
- * role on the IAM Identity Service. For more information, see the
1606
- * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-configure-iam-engine).
2709
+ * You can set an expiration date on supported secret types at their creation. If you create a secret without
2710
+ * specifying an expiration date, the secret does not expire. The `expiration_date` field is supported for the
2711
+ * following secret types:
2712
+ *
2713
+ * - `arbitrary`
2714
+ * - `username_password`.
1607
2715
  */
1608
- api_key: string;
1609
- /** The hash value of the IBM Cloud API key that is used to create and manage service IDs. */
1610
- api_key_hash?: string;
1611
- }
1612
- /** Delete the credentials that are associated with an `iam_credentials` secret. */
1613
- interface DeleteCredentialsForIAMCredentialsSecret extends SecretAction {
1614
- /** The service ID that you want to delete. It is deleted together with its API key. */
1615
- service_id: string;
1616
- }
1617
- /** Certificate authorities configuration. */
1618
- interface GetConfigElementsResourcesItemCertificateAuthoritiesConfig extends GetConfigElementsResourcesItem {
1619
- certificate_authorities: ConfigElementMetadata[];
1620
- }
1621
- /** DNS providers configuration. */
1622
- interface GetConfigElementsResourcesItemDnsProvidersConfig extends GetConfigElementsResourcesItem {
1623
- dns_providers: ConfigElementMetadata[];
1624
- }
1625
- /** Properties that describe a rotation policy. */
1626
- interface GetSecretPolicyRotation extends GetSecretPolicies {
1627
- /** The metadata that describes the resource array. */
1628
- metadata: CollectionMetadata;
1629
- /** A collection of resources. */
1630
- resources: GetSecretPolicyRotationResourcesItem[];
1631
- }
1632
- /** Configuration for the IAM credentials engine. */
1633
- interface IAMCredentialsSecretEngineRootConfig extends GetConfigResourcesItem {
1634
- /** An IBM Cloud API key that has the capability to create and manage service IDs.
2716
+ expiration_date?: string;
2717
+ /** The new secret data to assign to the secret. */
2718
+ payload?: JsonObject;
2719
+ /** The data that is associated with the secret version.
1635
2720
  *
1636
- * The API key must be assigned the Editor platform role on the Access Groups Service and the Operator platform
1637
- * role on the IAM Identity Service. For more information, see the
1638
- * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-configure-iam-engine).
2721
+ * The data object contains the field `payload`.
1639
2722
  */
1640
- api_key: string;
1641
- /** The hash value of the IBM Cloud API key that is used to create and manage service IDs. */
1642
- api_key_hash?: string;
2723
+ secret_data?: JsonObject;
1643
2724
  }
1644
- /** Metadata properties that describe a iam_credentials secret. */
1645
- interface IAMCredentialsSecretMetadata extends SecretMetadata {
2725
+ /** The `private_cert` secret rotation policy. */
2726
+ interface PrivateCertPolicyRotation extends SecretPolicyRotationRotation {
2727
+ auto_rotate: boolean;
2728
+ /** The length of the secret rotation time interval. */
2729
+ interval?: number;
2730
+ /** The units for the secret rotation time interval. */
2731
+ unit?: string;
2732
+ }
2733
+ /** Configuration for the private certificates engine. */
2734
+ interface PrivateCertSecretEngineRootConfig extends GetConfigResourcesItem {
2735
+ /** The root certificate authority configurations that are associated with your instance. */
2736
+ root_certificate_authorities?: RootCertificateAuthorityConfig[];
2737
+ /** The intermediate certificate authority configurations that are associated with your instance. */
2738
+ intermdiate_certificate_authorities?: IntermediateCertificateAuthorityConfig[];
2739
+ /** The certificate templates that are associated with your instance. */
2740
+ certificate_templates?: CertificateTemplateConfig[];
2741
+ }
2742
+ /** Metadata properties that describe a private certificate secret. */
2743
+ interface PrivateCertificateSecretMetadata extends SecretMetadata {
1646
2744
  /** The unique ID of the secret. */
1647
2745
  id?: string;
1648
2746
  /** Labels that you can use to filter for secrets in your instance.
1649
2747
  *
1650
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1651
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
2748
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
2749
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
2750
+ * character (|).
1652
2751
  *
1653
2752
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1654
2753
  */
@@ -1687,21 +2786,65 @@ declare namespace SecretsManagerV1 {
1687
2786
  last_update_date?: string;
1688
2787
  /** The number of versions the secret has. */
1689
2788
  versions_total?: number;
1690
- /** The time-to-live (TTL) or lease duration to assign to generated credentials.
2789
+ /** The name of the certificate template. */
2790
+ certificate_template: string;
2791
+ /** The intermediate certificate authority that signed this certificate. */
2792
+ certificate_authority?: string;
2793
+ /** The fully qualified domain name or host domain name for the certificate. */
2794
+ common_name: string;
2795
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
1691
2796
  *
1692
- * For `iam_credentials` secrets, the TTL defines for how long each generated API key remains valid. The value can
1693
- * be either an integer that specifies the number of seconds, or the string representation of a duration, such as
1694
- * `120m` or `24h`.
2797
+ * The alternative names can be host names or email addresses.
2798
+ */
2799
+ alt_names?: string[];
2800
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
2801
+ ip_sans?: string;
2802
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
2803
+ uri_sans?: string;
2804
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
2805
+ * certificate.
2806
+ *
2807
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
2808
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
2809
+ * valid type is `UTF8`.
2810
+ */
2811
+ other_sans?: string[];
2812
+ /** The time-to-live (TTL) or lease duration to assign to a private certificate. The value can be supplied as a
2813
+ * string representation of a duration in hours, for example '12h'. The value can't exceed the `max_ttl` that is
2814
+ * defined in the associated certificate template.
2815
+ */
2816
+ ttl?: string;
2817
+ /** The format of the returned data. */
2818
+ format?: string;
2819
+ /** The format of the generated private key. */
2820
+ private_key_format?: string;
2821
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
2822
+ *
2823
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
2824
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
2825
+ */
2826
+ exclude_cn_from_sans?: boolean;
2827
+ rotation?: Rotation;
2828
+ /** The identifier for the cryptographic algorithm that was used by the issuing certificate authority to sign
2829
+ * the certificate.
1695
2830
  */
1696
- ttl?: any;
1697
- /** For `iam_credentials` secrets, this field controls whether to use the same service ID and API key for future
1698
- * read operations on this secret. If set to `true`, the service reuses the current credentials. If set to `false`,
1699
- * a new service ID and API key is generated each time that the secret is read or accessed.
2831
+ algorithm?: string;
2832
+ /** The identifier for the cryptographic algorithm that was used to generate the public and private keys that
2833
+ * are associated with the certificate.
1700
2834
  */
1701
- reuse_api_key?: boolean;
2835
+ key_algorithm?: string;
2836
+ /** The certificate authority that signed and issued the certificate. */
2837
+ issuer?: string;
2838
+ validity?: CertificateValidity;
2839
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
2840
+ serial_number?: string;
2841
+ /** The timestamp of the certificate revocation. */
2842
+ revocation_time?: number;
2843
+ /** The date and time that the certificate was revoked. The date format follows RFC 3339. */
2844
+ revocation_time_rfc3339?: string;
1702
2845
  }
1703
2846
  /** Properties that describe a secret. */
1704
- interface IAMCredentialsSecretResource extends SecretResource {
2847
+ interface PrivateCertificateSecretResource extends SecretResource {
1705
2848
  /** The v4 UUID that uniquely identifies the secret. */
1706
2849
  id?: string;
1707
2850
  /** A human-readable alias to assign to your secret.
@@ -1722,8 +2865,8 @@ declare namespace SecretsManagerV1 {
1722
2865
  secret_group_id?: string;
1723
2866
  /** Labels that you can use to filter for secrets in your instance.
1724
2867
  *
1725
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1726
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
2868
+ * Up to 30 labels can be created. Labels can be 2 - 30 characters, including spaces. Special characters that are
2869
+ * not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1727
2870
  *
1728
2871
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1729
2872
  */
@@ -1750,48 +2893,171 @@ declare namespace SecretsManagerV1 {
1750
2893
  * see [Get secret version metadata](#get-secret-version-metadata).
1751
2894
  */
1752
2895
  versions?: JsonObject[];
1753
- /** The time-to-live (TTL) or lease duration to assign to generated credentials.
2896
+ /** The name of the certificate template. */
2897
+ certificate_template: string;
2898
+ /** The intermediate certificate authority that signed this certificate. */
2899
+ certificate_authority?: string;
2900
+ /** The fully qualified domain name or host domain name for the certificate. */
2901
+ common_name: string;
2902
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
1754
2903
  *
1755
- * For `iam_credentials` secrets, the TTL defines for how long each generated API key remains valid. The value can
1756
- * be either an integer that specifies the number of seconds, or the string representation of a duration, such as
1757
- * `120m` or `24h`.
2904
+ * The alternative names can be host names or email addresses.
1758
2905
  */
1759
- ttl?: any;
1760
- /** The access groups that define the capabilities of the service ID and API key that are generated for an
1761
- * `iam_credentials` secret.
2906
+ alt_names?: string[];
2907
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
2908
+ ip_sans?: string;
2909
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
2910
+ uri_sans?: string;
2911
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
2912
+ * certificate.
2913
+ *
2914
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
2915
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
2916
+ * valid type is `UTF8`.
2917
+ */
2918
+ other_sans?: string[];
2919
+ /** The time-to-live (TTL) or lease duration to assign to a private certificate. The value can be supplied as a
2920
+ * string representation of a duration in hours, for example '12h'. The value can't exceed the `max_ttl` that is
2921
+ * defined in the associated certificate template.
2922
+ */
2923
+ ttl?: string;
2924
+ /** The format of the returned data. */
2925
+ format?: string;
2926
+ /** The format of the generated private key. */
2927
+ private_key_format?: string;
2928
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
2929
+ *
2930
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
2931
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
2932
+ */
2933
+ exclude_cn_from_sans?: boolean;
2934
+ rotation?: Rotation;
2935
+ /** The identifier for the cryptographic algorithm that was used by the issuing certificate authority to sign
2936
+ * the certificate.
2937
+ */
2938
+ algorithm?: string;
2939
+ /** The identifier for the cryptographic algorithm that was used to generate the public and private keys that
2940
+ * are associated with the certificate.
2941
+ */
2942
+ key_algorithm?: string;
2943
+ /** The certificate authority that signed and issued the certificate. */
2944
+ issuer?: string;
2945
+ validity?: CertificateValidity;
2946
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
2947
+ serial_number?: string;
2948
+ /** The timestamp of the certificate revocation. */
2949
+ revocation_time?: number;
2950
+ /** The date and time that the certificate was revoked. The date format follows RFC 3339. */
2951
+ revocation_time_rfc3339?: string;
2952
+ /** The data that is associated with the secret. The data object contains the following fields:
1762
2953
  *
1763
- * **Tip:** To list the access groups that are available in an account, you can use the [IAM Access Groups
1764
- * API](https://cloud.ibm.com/apidocs/iam-access-groups#list-access-groups). To find the ID of an access group in
1765
- * the console, go to **Manage > Access (IAM) > Access groups**. Select the access group to inspect, and click
1766
- * **Details** to view its ID.
2954
+ * - `certificate`: The contents of the certificate.
2955
+ * - `private_key`: The private key that is associated with the certificate.
2956
+ * - `issuing_ca`: The certificate of the certificate authority that signed and issued this certificate.
2957
+ * - `ca_chain`: The chain of certificate authorities that are associated with the certificate.
1767
2958
  */
1768
- access_groups?: string[];
1769
- /** The API key that is generated for this secret.
2959
+ secret_data?: JsonObject;
2960
+ }
2961
+ /** PrivateCertificateSecretVersion. */
2962
+ interface PrivateCertificateSecretVersion extends SecretVersion {
2963
+ /** The v4 UUID that uniquely identifies the secret. */
2964
+ id?: string;
2965
+ /** The ID of the secret version. */
2966
+ version_id?: string;
2967
+ /** The date that the version of the secret was created. */
2968
+ creation_date?: string;
2969
+ /** The unique identifier for the entity that created the secret version. */
2970
+ created_by?: string;
2971
+ validity?: CertificateValidity;
2972
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
2973
+ serial_number?: string;
2974
+ /** The date that the certificate expires. The date format follows RFC 3339. */
2975
+ expiration_date?: string;
2976
+ /** The data that is associated with the secret version. The data object contains the following fields:
1770
2977
  *
1771
- * After the secret reaches the end of its lease (see the `ttl` field), the API key is deleted automatically. If
1772
- * you want to continue to use the same API key for future read operations, see the `reuse_api_key` field.
2978
+ * - `certificate`: The contents of the certificate.
2979
+ * - `private_key`: The private key that is associated with the certificate.
2980
+ * - `intermediate`: The intermediate certificate that is associated with the certificate.
1773
2981
  */
1774
- api_key?: string;
1775
- /** The service ID under which the API key (see the `api_key` field) is created. This service ID is added to the
1776
- * access groups that you assign for this secret.
2982
+ secret_data?: CertificateSecretData;
2983
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
2984
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
1777
2985
  */
1778
- service_id?: string;
1779
- /** Set to `true` to reuse the service ID and API key for this secret.
1780
- *
1781
- * Use this field to control whether to use the same service ID and API key for future read operations on this
1782
- * secret. If set to `true`, the service reuses the current credentials. If set to `false`, a new service ID and
1783
- * API key is generated each time that the secret is read or accessed.
2986
+ state?: number;
2987
+ /** A text representation of the secret state. */
2988
+ state_description?: string;
2989
+ /** The timestamp of the certificate revocation. */
2990
+ revocation_time?: number;
2991
+ /** The date and time that the certificate was revoked. The date format follows RFC 3339. */
2992
+ revocation_time_rfc3339?: string;
2993
+ /** Indicates whether the version of the secret was created by automatic rotation. */
2994
+ auto_rotated?: boolean;
2995
+ }
2996
+ /** PrivateCertificateSecretVersionInfo. */
2997
+ interface PrivateCertificateSecretVersionInfo extends SecretVersionInfo {
2998
+ /** The ID of the secret version. */
2999
+ id?: string;
3000
+ /** The date that the version of the secret was created. */
3001
+ creation_date?: string;
3002
+ /** The unique identifier for the entity that created the secret version. */
3003
+ created_by?: string;
3004
+ /** Indicates whether the payload for the secret version is stored and available. */
3005
+ payload_available?: boolean;
3006
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
3007
+ * service API.
1784
3008
  */
1785
- reuse_api_key?: boolean;
3009
+ downloaded?: boolean;
3010
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
3011
+ serial_number?: string;
3012
+ /** The date that the certificate expires. The date format follows RFC 3339. */
3013
+ expiration_date?: string;
3014
+ validity?: CertificateValidity;
3015
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
3016
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
3017
+ */
3018
+ state?: number;
3019
+ /** A text representation of the secret state. */
3020
+ state_description?: string;
3021
+ /** The timestamp of the certificate revocation. */
3022
+ revocation_time?: number;
3023
+ /** The date and time that the certificate was revoked. The date format follows RFC 3339. */
3024
+ revocation_time_rfc3339?: string;
3025
+ /** Indicates whether the version of the secret was created by automatic rotation. */
3026
+ auto_rotated?: boolean;
1786
3027
  }
1787
3028
  /** Properties that describe a secret version. */
1788
- interface IAMCredentialsSecretVersionMetadata extends SecretVersionMetadata {
1789
- /** The ID of the secret version. */
3029
+ interface PrivateCertificateSecretVersionMetadata extends SecretVersionMetadata {
3030
+ /** The v4 UUID that uniquely identifies the secret. */
1790
3031
  id?: string;
3032
+ /** The ID of the secret version. */
3033
+ version_id?: string;
1791
3034
  /** The date that the version of the secret was created. */
1792
3035
  creation_date?: string;
1793
3036
  /** The unique identifier for the entity that created the secret version. */
1794
3037
  created_by?: string;
3038
+ /** Indicates whether the payload for the secret version is stored and available. */
3039
+ payload_available?: boolean;
3040
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
3041
+ * service API.
3042
+ */
3043
+ downloaded?: boolean;
3044
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
3045
+ serial_number?: string;
3046
+ /** The date that the certificate expires. The date format follows RFC 3339. */
3047
+ expiration_date?: string;
3048
+ validity?: CertificateValidity;
3049
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
3050
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
3051
+ */
3052
+ state?: number;
3053
+ /** A text representation of the secret state. */
3054
+ state_description?: string;
3055
+ /** The timestamp of the certificate revocation. */
3056
+ revocation_time?: number;
3057
+ /** The date and time that the certificate was revoked. The date format follows RFC 3339. */
3058
+ revocation_time_rfc3339?: string;
3059
+ /** Indicates whether the version of the secret was created by automatic rotation. */
3060
+ auto_rotated?: boolean;
1795
3061
  }
1796
3062
  /** Configuration for the public certificates engine. */
1797
3063
  interface PublicCertSecretEngineRootConfig extends GetConfigResourcesItem {
@@ -1801,13 +3067,14 @@ declare namespace SecretsManagerV1 {
1801
3067
  dns_providers?: ConfigElementMetadata[];
1802
3068
  }
1803
3069
  /** Metadata properties that describe a public certificate secret. */
1804
- interface PublicCertificateMetadataSecretResource extends SecretMetadata {
3070
+ interface PublicCertificateSecretMetadata extends SecretMetadata {
1805
3071
  /** The unique ID of the secret. */
1806
3072
  id?: string;
1807
3073
  /** Labels that you can use to filter for secrets in your instance.
1808
3074
  *
1809
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1810
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
3075
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
3076
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
3077
+ * character (|).
1811
3078
  *
1812
3079
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1813
3080
  */
@@ -1853,8 +3120,8 @@ declare namespace SecretsManagerV1 {
1853
3120
  * Set to `false` for the certificate file to contain only the issued certificate.
1854
3121
  */
1855
3122
  bundle_certs?: boolean;
1856
- /** The identifier for the cryptographic algorthim to be used by the issuing certificate authority to sign the
1857
- * ceritificate.
3123
+ /** The identifier for the cryptographic algorithm to be used by the issuing certificate authority to sign the
3124
+ * certificate.
1858
3125
  */
1859
3126
  algorithm?: string;
1860
3127
  /** The identifier for the cryptographic algorithm to be used to generate the public key that is associated with
@@ -1872,6 +3139,9 @@ declare namespace SecretsManagerV1 {
1872
3139
  rotation?: Rotation;
1873
3140
  /** Issuance information that is associated with your certificate. */
1874
3141
  issuance_info?: IssuanceInfo;
3142
+ validity?: CertificateValidity;
3143
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
3144
+ serial_number?: string;
1875
3145
  }
1876
3146
  /** Properties that describe a secret. */
1877
3147
  interface PublicCertificateSecretResource extends SecretResource {
@@ -1895,8 +3165,8 @@ declare namespace SecretsManagerV1 {
1895
3165
  secret_group_id?: string;
1896
3166
  /** Labels that you can use to filter for secrets in your instance.
1897
3167
  *
1898
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1899
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
3168
+ * Up to 30 labels can be created. Labels can be 2 - 30 characters, including spaces. Special characters that are
3169
+ * not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1900
3170
  *
1901
3171
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1902
3172
  */
@@ -1940,15 +3210,15 @@ declare namespace SecretsManagerV1 {
1940
3210
  * To view a list of your configured authorities, use the [List configurations API](#get-secret-config-element).
1941
3211
  */
1942
3212
  dns?: string;
1943
- /** The identifier for the cryptographic algorthim to be used by the issuing certificate authority to sign the
1944
- * ceritificate.
3213
+ /** The identifier for the cryptographic algorithm to be used by the issuing certificate authority to sign the
3214
+ * certificate.
1945
3215
  */
1946
3216
  algorithm?: string;
1947
3217
  /** The identifier for the cryptographic algorithm to be used to generate the public key that is associated with
1948
3218
  * the certificate.
1949
3219
  *
1950
- * The algorithm that you select determines the encryption algorthim (`RSA` or `ECDSA`) and key size to be used to
1951
- * generate keys and sign certificates. For longer living certificates it is recommended to use longer keys to
3220
+ * The algorithm that you select determines the encryption algorithm (`RSA` or `ECDSA`) and key size to be used to
3221
+ * generate keys and sign certificates. For longer living certificates, it is recommended to use longer keys to
1952
3222
  * provide more encryption protection.
1953
3223
  */
1954
3224
  key_algorithm?: string;
@@ -1956,12 +3226,156 @@ declare namespace SecretsManagerV1 {
1956
3226
  alt_names?: string[];
1957
3227
  /** The fully qualified domain name or host domain name for the certificate. */
1958
3228
  common_name?: string;
3229
+ /** Indicates whether the issued certificate includes a private key. */
3230
+ private_key_included?: boolean;
3231
+ /** Indicates whether the issued certificate includes an intermediate certificate. */
3232
+ intermediate_included?: boolean;
1959
3233
  rotation?: Rotation;
1960
3234
  /** Issuance information that is associated with your certificate. */
1961
3235
  issuance_info?: IssuanceInfo;
1962
- /** The data that is associated with the secret. */
3236
+ validity?: CertificateValidity;
3237
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
3238
+ serial_number?: string;
3239
+ /** The data that is associated with the secret. The data object contains the following fields:
3240
+ *
3241
+ * - `certificate`: The contents of the certificate.
3242
+ * - `private_key`: The private key that is associated with the certificate.
3243
+ * - `intermediate`: The intermediate certificate that is associated with the certificate.
3244
+ */
1963
3245
  secret_data?: JsonObject;
1964
3246
  }
3247
+ /** The request body of a `restore` action. */
3248
+ interface RestoreIAMCredentialsSecretBody extends SecretAction {
3249
+ /** The ID of the target version or the alias `previous`. */
3250
+ version_id: string;
3251
+ }
3252
+ /** A request to revoke the certificate of an internally signed intermediate certificate authority. */
3253
+ interface RevokeAction extends ConfigAction {
3254
+ /** The serial number of the certificate. */
3255
+ serial_number: string;
3256
+ }
3257
+ /** Properties that are returned with a successful `revoke` action. */
3258
+ interface RevokeActionResult extends ConfigElementActionResultConfig {
3259
+ /** The time until the certificate authority is revoked. */
3260
+ revocation_time?: number;
3261
+ }
3262
+ /** Root certificate authorities configuration. */
3263
+ interface RootCertificateAuthoritiesConfig extends GetConfigElementsResourcesItem {
3264
+ root_certificate_authorities: RootCertificateAuthoritiesConfigItem[];
3265
+ }
3266
+ /** Root certificate authority configuration. */
3267
+ interface RootCertificateAuthorityConfig extends ConfigElementDefConfig {
3268
+ /** The maximum time-to-live (TTL) for certificates that are created by this CA. The value can be supplied as a
3269
+ * string representation of a duration in hours, for example '8760h'. Note that in the API response the value is
3270
+ * returned in seconds (integer).
3271
+ *
3272
+ * Minimum value is one hour (`1h`). Maximum value is 100 years (`876000h`).
3273
+ */
3274
+ max_ttl: any;
3275
+ /** The time until the certificate revocation list (CRL) expires. The value can be supplied as a string
3276
+ * representation of a duration in hours, such as `48h`. The default is 72 hours. Note that in the API response the
3277
+ * value is returned in seconds (integer).
3278
+ */
3279
+ crl_expiry?: any;
3280
+ /** Determines whether to disable certificate revocation list (CRL) building.
3281
+ *
3282
+ * By default, each request rebuilds a CRL. To disable CRL building, set this field to `true`.
3283
+ */
3284
+ crl_disable?: boolean;
3285
+ /** Determines whether to encode the certificate revocation list (CRL) distribution points in the private
3286
+ * certificates that are issued by a certificate authority.
3287
+ */
3288
+ crl_distribution_points_encoded?: boolean;
3289
+ /** Determines whether to encode the URL of the issuing certificate in the private certificates that are issued
3290
+ * by a certificate authority.
3291
+ */
3292
+ issuing_certificates_urls_encoded?: boolean;
3293
+ /** The fully qualified domain name or host domain name for the certificate. */
3294
+ common_name: string;
3295
+ /** The status of the certificate authority. The status of a root certificate authority is either `configured`
3296
+ * or `expired`. For intermediate certificate authorities, possible statuses include `signing_required`,
3297
+ * `signed_certificate_required`, `certificate_template_required`, `configured`, `expired` or `revoked`.
3298
+ */
3299
+ status?: string;
3300
+ /** The date that the certificate expires. The date format follows RFC 3339. */
3301
+ expiration_date?: string;
3302
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
3303
+ *
3304
+ * The alternative names can be host names or email addresses.
3305
+ */
3306
+ alt_names?: string[];
3307
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3308
+ ip_sans?: string;
3309
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3310
+ uri_sans?: string;
3311
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
3312
+ * certificate.
3313
+ *
3314
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
3315
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
3316
+ * valid type is `UTF8`.
3317
+ */
3318
+ other_sans?: string[];
3319
+ /** The time-to-live (TTL) or lease duration to assign to a private certificate.
3320
+ *
3321
+ * The value can be supplied as a string representation of a duration, such as `12h`. The value can't exceed the
3322
+ * `max_ttl` that is defined in the associated certificate template. Note that in the API response the value is
3323
+ * returned in seconds (integer).
3324
+ */
3325
+ ttl?: string;
3326
+ /** The format of the returned data. */
3327
+ format?: string;
3328
+ /** The format of the generated private key. */
3329
+ private_key_format?: string;
3330
+ /** The type of private key to generate. */
3331
+ key_type?: string;
3332
+ /** The number of bits to use when generating the private key.
3333
+ *
3334
+ * Allowable values for RSA keys are: 2048 and 4096. Allowable values for EC keys are: 224, 256, 384 And 521. The
3335
+ * default for RSA keys is 2048, and the default for EC keys is 256.
3336
+ */
3337
+ key_bits?: number;
3338
+ /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3339
+ *
3340
+ * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
3341
+ * signing certificate. A limit of `0` means a literal path length of zero.
3342
+ */
3343
+ max_path_length?: number;
3344
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
3345
+ *
3346
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
3347
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
3348
+ */
3349
+ exclude_cn_from_sans?: boolean;
3350
+ /** The allowed DNS domains or subdomains for the certificates to be signed and issued by this CA certificate. */
3351
+ permitted_dns_domains?: string[];
3352
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting CA certificate. */
3353
+ ou?: string[];
3354
+ /** The Organization (O) values to define in the subject field of the resulting CA certificate. */
3355
+ organization?: string[];
3356
+ /** The Country (C) values to define in the subject field of the resulting CA certificate. */
3357
+ country?: string[];
3358
+ /** The Locality (L) values to define in the subject field of the resulting CA certificate. */
3359
+ locality?: string[];
3360
+ /** The Province (ST) values to define in the subject field of the resulting CA certificate. */
3361
+ province?: string[];
3362
+ /** The Street Address values in the subject field of the resulting CA certificate. */
3363
+ street_address?: string[];
3364
+ /** The Postal Code values in the subject field of the resulting CA certificate. */
3365
+ postal_code?: string[];
3366
+ /** The serial number to assign to the generated private certificate. To assign a random serial number, you can
3367
+ * omit this field.
3368
+ */
3369
+ serial_number?: string;
3370
+ /** The data that is associated with the root certificate authority. The data object contains the following
3371
+ * fields:
3372
+ *
3373
+ * - `certificate`: The root certificate content.
3374
+ * - `issuing_ca`: The certificate of the certificate authority that signed and issued this certificate.
3375
+ * - `serial_number`: The unique serial number of the root certificate.
3376
+ */
3377
+ data?: JsonObject;
3378
+ }
1965
3379
  /** The request body of a `rotate` action. */
1966
3380
  interface RotateArbitrarySecretBody extends SecretAction {
1967
3381
  /** The new secret data to assign to an `arbitrary` secret. */
@@ -1976,9 +3390,17 @@ declare namespace SecretsManagerV1 {
1976
3390
  /** The new intermediate certificate to associate with the certificate. */
1977
3391
  intermediate?: string;
1978
3392
  }
3393
+ /** Properties that are returned with a successful `rotate_crl` action. */
3394
+ interface RotateCrlActionResult extends ConfigElementActionResultConfig {
3395
+ }
3396
+ /** The request body of a `rotate` action. */
3397
+ interface RotateKvSecretBody extends SecretAction {
3398
+ /** The new secret data to assign to a key-value secret. */
3399
+ payload: JsonObject;
3400
+ }
1979
3401
  /** The request body of a `rotate` action. */
1980
3402
  interface RotatePublicCertBody extends SecretAction {
1981
- /** Determine whether keys should be rotated. */
3403
+ /** Determine whether keys must be rotated. */
1982
3404
  rotate_keys: boolean;
1983
3405
  }
1984
3406
  /** The request body of a `rotate` action. */
@@ -1988,9 +3410,9 @@ declare namespace SecretsManagerV1 {
1988
3410
  }
1989
3411
  /** The secret rotation time interval. */
1990
3412
  interface SecretPolicyRotationRotationPolicyRotation extends SecretPolicyRotationRotation {
1991
- /** Specifies the length of the secret rotation time interval. */
3413
+ /** The length of the secret rotation time interval. */
1992
3414
  interval: number;
1993
- /** Specifies the units for the secret rotation time interval. */
3415
+ /** The units for the secret rotation time interval. */
1994
3416
  unit: string;
1995
3417
  }
1996
3418
  /** The `public_cert` secret rotation policy. */
@@ -1998,14 +3420,333 @@ declare namespace SecretsManagerV1 {
1998
3420
  auto_rotate: boolean;
1999
3421
  rotate_keys: boolean;
2000
3422
  }
3423
+ /** A request to set a signed certificate in an intermediate certificate authority. */
3424
+ interface SetSignedAction extends ConfigAction {
3425
+ /** The PEM-encoded certificate. */
3426
+ certificate: string;
3427
+ }
3428
+ /** Properties that are returned with a successful `set_signed` action. */
3429
+ interface SetSignedActionResult extends ConfigElementActionResultConfig {
3430
+ }
3431
+ /** A request to sign a certificate signing request (CSR). */
3432
+ interface SignCsrAction extends ConfigAction {
3433
+ /** The fully qualified domain name or host domain name for the certificate. */
3434
+ common_name?: string;
3435
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
3436
+ *
3437
+ * The alternative names can be host names or email addresses.
3438
+ */
3439
+ alt_names?: string[];
3440
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3441
+ ip_sans?: string;
3442
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3443
+ uri_sans?: string;
3444
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
3445
+ * certificate.
3446
+ *
3447
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
3448
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
3449
+ * valid type is `UTF8`.
3450
+ */
3451
+ other_sans?: string[];
3452
+ /** The time-to-live (TTL) or lease duration to assign to a private certificate.
3453
+ *
3454
+ * The value can be supplied as a string representation of a duration in hours, such as `12h`. The value can't
3455
+ * exceed the `max_ttl` that is defined in the associated certificate template.
3456
+ */
3457
+ ttl?: string;
3458
+ /** The format of the returned data. */
3459
+ format?: string;
3460
+ /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3461
+ *
3462
+ * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
3463
+ * signing certificate. A limit of `0` means a literal path length of zero.
3464
+ */
3465
+ max_path_length?: number;
3466
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
3467
+ *
3468
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
3469
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
3470
+ */
3471
+ exclude_cn_from_sans?: boolean;
3472
+ /** The allowed DNS domains or subdomains for the certificates to be signed and issued by this CA certificate. */
3473
+ permitted_dns_domains?: string[];
3474
+ /** Determines whether to use values from a certificate signing request (CSR) to complete a `sign_csr` action.
3475
+ * If set to `true`, then:
3476
+ *
3477
+ * 1) Subject information, including names and alternate names, are preserved from the CSR rather than using the
3478
+ * values provided in the other parameters to this operation.
3479
+ *
3480
+ * 2) Any key usages (for example, non-repudiation) that are requested in the CSR are added to the basic set of key
3481
+ * usages used for CA certs signed by this intermediate authority.
3482
+ *
3483
+ * 3) Extensions that are requested in the CSR are copied into the issued private certificate.
3484
+ */
3485
+ use_csr_values?: boolean;
3486
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting CA certificate. */
3487
+ ou?: string[];
3488
+ /** The Organization (O) values to define in the subject field of the resulting CA certificate. */
3489
+ organization?: string[];
3490
+ /** The Country (C) values to define in the subject field of the resulting CA certificate. */
3491
+ country?: string[];
3492
+ /** The Locality (L) values to define in the subject field of the resulting CA certificate. */
3493
+ locality?: string[];
3494
+ /** The Province (ST) values to define in the subject field of the resulting CA certificate. */
3495
+ province?: string[];
3496
+ /** The Street Address values in the subject field of the resulting CA certificate. */
3497
+ street_address?: string[];
3498
+ /** The Postal Code values in the subject field of the resulting CA certificate. */
3499
+ postal_code?: string[];
3500
+ /** The serial number to assign to the generated private certificate. To assign a random serial number, you can
3501
+ * omit this field.
3502
+ */
3503
+ serial_number?: string;
3504
+ /** The PEM-encoded certificate signing request (CSR). This field is required for the `sign_csr` action. */
3505
+ csr: string;
3506
+ }
3507
+ /** Properties that are returned with a successful `sign_csr` action. */
3508
+ interface SignCsrActionResult extends ConfigElementActionResultConfig {
3509
+ /** The fully qualified domain name or host domain name for the certificate. */
3510
+ common_name?: string;
3511
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
3512
+ *
3513
+ * The alternative names can be host names or email addresses.
3514
+ */
3515
+ alt_names?: string[];
3516
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3517
+ ip_sans?: string;
3518
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3519
+ uri_sans?: string;
3520
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
3521
+ * certificate.
3522
+ *
3523
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
3524
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
3525
+ * valid type is `UTF8`.
3526
+ */
3527
+ other_sans?: string[];
3528
+ /** The time-to-live (TTL) or lease duration to assign to a private certificate.
3529
+ *
3530
+ * The value can be supplied as a string representation of a duration in hours, such as `12h`. The value can't
3531
+ * exceed the `max_ttl` that is defined in the associated certificate template.
3532
+ */
3533
+ ttl?: string;
3534
+ /** The format of the returned data. */
3535
+ format?: string;
3536
+ /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3537
+ *
3538
+ * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
3539
+ * signing certificate. A limit of `0` means a literal path length of zero.
3540
+ */
3541
+ max_path_length?: number;
3542
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
3543
+ *
3544
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
3545
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
3546
+ */
3547
+ exclude_cn_from_sans?: boolean;
3548
+ /** The allowed DNS domains or subdomains for the certificates to be signed and issued by this CA certificate. */
3549
+ permitted_dns_domains?: string[];
3550
+ /** Determines whether to use values from a certificate signing request (CSR) to complete a `sign_csr` action.
3551
+ * If set to `true`, then:
3552
+ *
3553
+ * 1) Subject information, including names and alternate names, are preserved from the CSR rather than using the
3554
+ * values provided in the other parameters to this operation.
3555
+ *
3556
+ * 2) Any key usages (for example, non-repudiation) that are requested in the CSR are added to the basic set of key
3557
+ * usages used for CA certs signed by this intermediate authority.
3558
+ *
3559
+ * 3) Extensions that are requested in the CSR are copied into the issued private certificate.
3560
+ */
3561
+ use_csr_values?: boolean;
3562
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting CA certificate. */
3563
+ ou?: string[];
3564
+ /** The Organization (O) values to define in the subject field of the resulting CA certificate. */
3565
+ organization?: string[];
3566
+ /** The Country (C) values to define in the subject field of the resulting CA certificate. */
3567
+ country?: string[];
3568
+ /** The Locality (L) values to define in the subject field of the resulting CA certificate. */
3569
+ locality?: string[];
3570
+ /** The Province (ST) values to define in the subject field of the resulting CA certificate. */
3571
+ province?: string[];
3572
+ /** The Street Address values in the subject field of the resulting CA certificate. */
3573
+ street_address?: string[];
3574
+ /** The Postal Code values in the subject field of the resulting CA certificate. */
3575
+ postal_code?: string[];
3576
+ /** The serial number to assign to the generated private certificate. To assign a random serial number, you can
3577
+ * omit this field.
3578
+ */
3579
+ serial_number?: string;
3580
+ /** Properties that are returned with a successful `sign` action. */
3581
+ data: SignActionResultData;
3582
+ /** The PEM-encoded certificate signing request (CSR). */
3583
+ csr: string;
3584
+ }
3585
+ /** A request to sign an intermediate certificate authority. */
3586
+ interface SignIntermediateAction extends ConfigAction {
3587
+ /** The fully qualified domain name or host domain name for the certificate. */
3588
+ common_name?: string;
3589
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
3590
+ *
3591
+ * The alternative names can be host names or email addresses.
3592
+ */
3593
+ alt_names?: string[];
3594
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3595
+ ip_sans?: string;
3596
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3597
+ uri_sans?: string;
3598
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
3599
+ * certificate.
3600
+ *
3601
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
3602
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
3603
+ * valid type is `UTF8`.
3604
+ */
3605
+ other_sans?: string[];
3606
+ /** The time-to-live (TTL) or lease duration to assign to a private certificate.
3607
+ *
3608
+ * The value can be supplied as a string representation of a duration in hours, such as `12h`. The value can't
3609
+ * exceed the `max_ttl` that is defined in the associated certificate template.
3610
+ */
3611
+ ttl?: string;
3612
+ /** The format of the returned data. */
3613
+ format?: string;
3614
+ /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3615
+ *
3616
+ * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
3617
+ * signing certificate. A limit of `0` means a literal path length of zero.
3618
+ */
3619
+ max_path_length?: number;
3620
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
3621
+ *
3622
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
3623
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
3624
+ */
3625
+ exclude_cn_from_sans?: boolean;
3626
+ /** The allowed DNS domains or subdomains for the certificates to be signed and issued by this CA certificate. */
3627
+ permitted_dns_domains?: string[];
3628
+ /** Determines whether to use values from a certificate signing request (CSR) to complete a `sign_csr` action.
3629
+ * If set to `true`, then:
3630
+ *
3631
+ * 1) Subject information, including names and alternate names, are preserved from the CSR rather than using the
3632
+ * values provided in the other parameters to this operation.
3633
+ *
3634
+ * 2) Any key usages (for example, non-repudiation) that are requested in the CSR are added to the basic set of key
3635
+ * usages used for CA certs signed by this intermediate authority.
3636
+ *
3637
+ * 3) Extensions that are requested in the CSR are copied into the issued private certificate.
3638
+ */
3639
+ use_csr_values?: boolean;
3640
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting CA certificate. */
3641
+ ou?: string[];
3642
+ /** The Organization (O) values to define in the subject field of the resulting CA certificate. */
3643
+ organization?: string[];
3644
+ /** The Country (C) values to define in the subject field of the resulting CA certificate. */
3645
+ country?: string[];
3646
+ /** The Locality (L) values to define in the subject field of the resulting CA certificate. */
3647
+ locality?: string[];
3648
+ /** The Province (ST) values to define in the subject field of the resulting CA certificate. */
3649
+ province?: string[];
3650
+ /** The Street Address values in the subject field of the resulting CA certificate. */
3651
+ street_address?: string[];
3652
+ /** The Postal Code values in the subject field of the resulting CA certificate. */
3653
+ postal_code?: string[];
3654
+ /** The serial number to assign to the generated private certificate. To assign a random serial number, you can
3655
+ * omit this field.
3656
+ */
3657
+ serial_number?: string;
3658
+ /** The intermediate certificate authority to be signed. The name must match one of the pre-configured
3659
+ * intermediate certificate authorities.
3660
+ */
3661
+ intermediate_certificate_authority: string;
3662
+ }
3663
+ /** Properties that are returned with a successful `sign_intermediate` action. */
3664
+ interface SignIntermediateActionResult extends ConfigElementActionResultConfig {
3665
+ /** The fully qualified domain name or host domain name for the certificate. */
3666
+ common_name?: string;
3667
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
3668
+ *
3669
+ * The alternative names can be host names or email addresses.
3670
+ */
3671
+ alt_names?: string[];
3672
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3673
+ ip_sans?: string;
3674
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3675
+ uri_sans?: string;
3676
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
3677
+ * certificate.
3678
+ *
3679
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
3680
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
3681
+ * valid type is `UTF8`.
3682
+ */
3683
+ other_sans?: string[];
3684
+ /** The time-to-live (TTL) or lease duration to assign to a private certificate.
3685
+ *
3686
+ * The value can be supplied as a string representation of a duration in hours, such as `12h`. The value can't
3687
+ * exceed the `max_ttl` that is defined in the associated certificate template.
3688
+ */
3689
+ ttl?: string;
3690
+ /** The format of the returned data. */
3691
+ format?: string;
3692
+ /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3693
+ *
3694
+ * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
3695
+ * signing certificate. A limit of `0` means a literal path length of zero.
3696
+ */
3697
+ max_path_length?: number;
3698
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
3699
+ *
3700
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
3701
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
3702
+ */
3703
+ exclude_cn_from_sans?: boolean;
3704
+ /** The allowed DNS domains or subdomains for the certificates to be signed and issued by this CA certificate. */
3705
+ permitted_dns_domains?: string[];
3706
+ /** Determines whether to use values from a certificate signing request (CSR) to complete a `sign_csr` action.
3707
+ * If set to `true`, then:
3708
+ *
3709
+ * 1) Subject information, including names and alternate names, are preserved from the CSR rather than using the
3710
+ * values provided in the other parameters to this operation.
3711
+ *
3712
+ * 2) Any key usages (for example, non-repudiation) that are requested in the CSR are added to the basic set of key
3713
+ * usages used for CA certs signed by this intermediate authority.
3714
+ *
3715
+ * 3) Extensions that are requested in the CSR are copied into the issued private certificate.
3716
+ */
3717
+ use_csr_values?: boolean;
3718
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting CA certificate. */
3719
+ ou?: string[];
3720
+ /** The Organization (O) values to define in the subject field of the resulting CA certificate. */
3721
+ organization?: string[];
3722
+ /** The Country (C) values to define in the subject field of the resulting CA certificate. */
3723
+ country?: string[];
3724
+ /** The Locality (L) values to define in the subject field of the resulting CA certificate. */
3725
+ locality?: string[];
3726
+ /** The Province (ST) values to define in the subject field of the resulting CA certificate. */
3727
+ province?: string[];
3728
+ /** The Street Address values in the subject field of the resulting CA certificate. */
3729
+ street_address?: string[];
3730
+ /** The Postal Code values in the subject field of the resulting CA certificate. */
3731
+ postal_code?: string[];
3732
+ /** The serial number to assign to the generated private certificate. To assign a random serial number, you can
3733
+ * omit this field.
3734
+ */
3735
+ serial_number?: string;
3736
+ /** Properties that are returned with a successful `sign` action. */
3737
+ data: SignIntermediateActionResultData;
3738
+ /** The signed intermediate certificate authority. */
3739
+ intermediate_certificate_authority: string;
3740
+ }
2001
3741
  /** Metadata properties that describe a username_password secret. */
2002
3742
  interface UsernamePasswordSecretMetadata extends SecretMetadata {
2003
3743
  /** The unique ID of the secret. */
2004
3744
  id?: string;
2005
3745
  /** Labels that you can use to filter for secrets in your instance.
2006
3746
  *
2007
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
2008
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
3747
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
3748
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
3749
+ * character (|).
2009
3750
  *
2010
3751
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2011
3752
  */
@@ -2077,8 +3818,8 @@ declare namespace SecretsManagerV1 {
2077
3818
  secret_group_id?: string;
2078
3819
  /** Labels that you can use to filter for secrets in your instance.
2079
3820
  *
2080
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
2081
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
3821
+ * Up to 30 labels can be created. Labels can be 2 - 30 characters, including spaces. Special characters that are
3822
+ * not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
2082
3823
  *
2083
3824
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2084
3825
  */
@@ -2109,6 +3850,11 @@ declare namespace SecretsManagerV1 {
2109
3850
  username?: string;
2110
3851
  /** The password to assign to this secret. */
2111
3852
  password?: string;
3853
+ /** The data that is associated with the secret version. The data object contains the following fields:
3854
+ *
3855
+ * - `username`: The username that is associated with the secret version.
3856
+ * - `password`: The password that is associated with the secret version.
3857
+ */
2112
3858
  secret_data?: JsonObject;
2113
3859
  /** The date the secret material expires. The date format follows RFC 3339.
2114
3860
  *
@@ -2127,14 +3873,58 @@ declare namespace SecretsManagerV1 {
2127
3873
  */
2128
3874
  next_rotation_date?: string;
2129
3875
  }
3876
+ /** UsernamePasswordSecretVersion. */
3877
+ interface UsernamePasswordSecretVersion extends SecretVersion {
3878
+ /** The v4 UUID that uniquely identifies the secret. */
3879
+ id?: string;
3880
+ /** The ID of the secret version. */
3881
+ version_id?: string;
3882
+ /** The date that the version of the secret was created. */
3883
+ creation_date?: string;
3884
+ /** The unique identifier for the entity that created the secret version. */
3885
+ created_by?: string;
3886
+ /** Indicates whether the version of the secret was created by automatic rotation. */
3887
+ auto_rotated?: boolean;
3888
+ /** The data that is associated with the secret version. The data object contains the following fields:
3889
+ *
3890
+ * - `username`: The username that is associated with the secret version.
3891
+ * - `password`: The password that is associated with the secret version.
3892
+ */
3893
+ secret_data?: JsonObject;
3894
+ }
3895
+ /** UsernamePasswordSecretVersionInfo. */
3896
+ interface UsernamePasswordSecretVersionInfo extends SecretVersionInfo {
3897
+ /** The ID of the secret version. */
3898
+ id?: string;
3899
+ /** The date that the version of the secret was created. */
3900
+ creation_date?: string;
3901
+ /** The unique identifier for the entity that created the secret version. */
3902
+ created_by?: string;
3903
+ /** Indicates whether the payload for the secret version is stored and available. */
3904
+ payload_available?: boolean;
3905
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
3906
+ * service API.
3907
+ */
3908
+ downloaded?: boolean;
3909
+ /** Indicates whether the version of the secret was created by automatic rotation. */
3910
+ auto_rotated?: boolean;
3911
+ }
2130
3912
  /** Properties that describe a secret version. */
2131
3913
  interface UsernamePasswordSecretVersionMetadata extends SecretVersionMetadata {
2132
- /** The ID of the secret version. */
3914
+ /** The v4 UUID that uniquely identifies the secret. */
2133
3915
  id?: string;
3916
+ /** The ID of the secret version. */
3917
+ version_id?: string;
2134
3918
  /** The date that the version of the secret was created. */
2135
3919
  creation_date?: string;
2136
3920
  /** The unique identifier for the entity that created the secret version. */
2137
3921
  created_by?: string;
3922
+ /** Indicates whether the payload for the secret version is stored and available. */
3923
+ payload_available?: boolean;
3924
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
3925
+ * service API.
3926
+ */
3927
+ downloaded?: boolean;
2138
3928
  /** Indicates whether the version of the secret was created by automatic rotation. */
2139
3929
  auto_rotated?: boolean;
2140
3930
  }