@ibm-cloud/secrets-manager 1.0.3 → 1.0.33

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.
@@ -21,11 +21,10 @@ import { BaseService, UserOptions } from 'ibm-cloud-sdk-core';
21
21
  * services or your custom-built applications. Secrets are stored in a dedicated instance of Secrets Manager, which is
22
22
  * built on open source HashiCorp Vault.
23
23
  *
24
- * API Version: 1.0.0
24
+ * API Version: 1.0.33
25
25
  * See: https://cloud.ibm.com/docs/secrets-manager
26
26
  */
27
27
  declare class SecretsManagerV1 extends BaseService {
28
- static DEFAULT_SERVICE_URL: string;
29
28
  static DEFAULT_SERVICE_NAME: string;
30
29
  /*************************
31
30
  * Factory method
@@ -57,7 +56,7 @@ declare class SecretsManagerV1 extends BaseService {
57
56
  /**
58
57
  * Create a secret group.
59
58
  *
60
- * Creates a secret group that you can use to organize secrets and control who on your team has access to them.
59
+ * Create a secret group that you can use to organize secrets and control who on your team has access to them.
61
60
  *
62
61
  * A successful request returns the ID value of the secret group, along with other metadata. To learn more about
63
62
  * secret groups, check out the
@@ -73,7 +72,7 @@ declare class SecretsManagerV1 extends BaseService {
73
72
  /**
74
73
  * List secret groups.
75
74
  *
76
- * Retrieves the list of secret groups that are available in your Secrets Manager instance.
75
+ * List the secret groups that are available in your Secrets Manager instance.
77
76
  *
78
77
  * @param {Object} [params] - The parameters to send to the service.
79
78
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
@@ -83,7 +82,7 @@ declare class SecretsManagerV1 extends BaseService {
83
82
  /**
84
83
  * Get a secret group.
85
84
  *
86
- * Retrieves the metadata of an existing secret group by specifying the ID of the group.
85
+ * Get the metadata of an existing secret group by specifying the ID of the group.
87
86
  *
88
87
  * @param {Object} params - The parameters to send to the service.
89
88
  * @param {string} params.id - The v4 UUID that uniquely identifies the secret group.
@@ -94,7 +93,7 @@ declare class SecretsManagerV1 extends BaseService {
94
93
  /**
95
94
  * Update a secret group.
96
95
  *
97
- * Updates the metadata of an existing secret group, such as its name or description.
96
+ * Update the metadata of an existing secret group, such as its name or description.
98
97
  *
99
98
  * @param {Object} params - The parameters to send to the service.
100
99
  * @param {string} params.id - The v4 UUID that uniquely identifies the secret group.
@@ -107,7 +106,7 @@ declare class SecretsManagerV1 extends BaseService {
107
106
  /**
108
107
  * Delete a secret group.
109
108
  *
110
- * Deletes a secret group by specifying the ID of the secret group.
109
+ * Delete a secret group by specifying the ID of the secret group.
111
110
  *
112
111
  * **Note:** To delete a secret group, it must be empty. If you need to remove a secret group that contains secrets,
113
112
  * you must first [delete the secrets](#delete-secret) that are associated with the group.
@@ -145,7 +144,7 @@ declare class SecretsManagerV1 extends BaseService {
145
144
  /**
146
145
  * List secrets by type.
147
146
  *
148
- * Retrieves a list of secrets based on the type that you specify.
147
+ * List the secrets in your Secrets Manager instance based on the type that you specify.
149
148
  *
150
149
  * @param {Object} params - The parameters to send to the service.
151
150
  * @param {string} params.secretType - The secret type.
@@ -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
@@ -220,10 +219,11 @@ declare class SecretsManagerV1 extends BaseService {
220
219
  /**
221
220
  * Invoke an action on a secret.
222
221
  *
223
- * Invokes an action on a specified secret. This method supports the following actions:
222
+ * Invoke an action on a specified secret. This method supports the following actions:
224
223
  *
225
224
  * - `rotate`: Replace the value of a secret.
226
225
  * - `restore`: Restore a previous version of an `iam_credentials` secret.
226
+ * - `revoke`: Revoke a private certificate.
227
227
  * - `delete_credentials`: Delete the API key that is associated with an `iam_credentials` secret.
228
228
  *
229
229
  * @param {Object} params - The parameters to send to the service.
@@ -238,7 +238,7 @@ declare class SecretsManagerV1 extends BaseService {
238
238
  /**
239
239
  * Delete a secret.
240
240
  *
241
- * Deletes a secret by specifying the ID of the secret.
241
+ * Delete a secret by specifying the ID of the secret.
242
242
  *
243
243
  * @param {Object} params - The parameters to send to the service.
244
244
  * @param {string} params.secretType - The secret type.
@@ -250,7 +250,7 @@ declare class SecretsManagerV1 extends BaseService {
250
250
  /**
251
251
  * List versions of a secret.
252
252
  *
253
- * Retrieves a list of the versions of a secret.
253
+ * List the versions of a secret.
254
254
  *
255
255
  * A successful request returns the list of the versions along with the metadata of each version.
256
256
  *
@@ -264,7 +264,7 @@ declare class SecretsManagerV1 extends BaseService {
264
264
  /**
265
265
  * Get a version of a secret.
266
266
  *
267
- * 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`.
268
268
  *
269
269
  * A successful request returns the secret data that is associated with the specified version of your secret, along
270
270
  * with other metadata.
@@ -281,10 +281,30 @@ declare class SecretsManagerV1 extends BaseService {
281
281
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretVersion>>}
282
282
  */
283
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>>;
284
304
  /**
285
305
  * Get secret version metadata.
286
306
  *
287
- * 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`.
288
308
  *
289
309
  * A successful request returns the metadata that is associated with the specified version of your secret.
290
310
  *
@@ -303,7 +323,7 @@ declare class SecretsManagerV1 extends BaseService {
303
323
  /**
304
324
  * Get secret metadata.
305
325
  *
306
- * Retrieves the details of a secret by specifying the ID.
326
+ * Get the details of a secret by specifying its ID.
307
327
  *
308
328
  * A successful request returns only metadata about the secret, such as its name and creation date. To retrieve the
309
329
  * value of a secret, use the [Get a secret](#get-secret) or [Get a version of a secret](#get-secret-version) methods.
@@ -318,7 +338,7 @@ declare class SecretsManagerV1 extends BaseService {
318
338
  /**
319
339
  * Update secret metadata.
320
340
  *
321
- * 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.
322
342
  *
323
343
  * To update the actual contents of a secret, rotate the secret by using the [Invoke an action on a
324
344
  * secret](#update-secret) method.
@@ -338,9 +358,9 @@ declare class SecretsManagerV1 extends BaseService {
338
358
  /**
339
359
  * Set secret policies.
340
360
  *
341
- * Creates or updates one or more policies, such as an [automatic rotation
342
- * policy](http://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-rotate-secrets#auto-rotate-secret), for the
343
- * 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.
344
364
  *
345
365
  * @param {Object} params - The parameters to send to the service.
346
366
  * @param {string} params.secretType - The secret type.
@@ -355,7 +375,7 @@ declare class SecretsManagerV1 extends BaseService {
355
375
  /**
356
376
  * List secret policies.
357
377
  *
358
- * Retrieves a list of policies that are associated with a specified secret.
378
+ * List the rotation policies that are associated with a specified secret.
359
379
  *
360
380
  * @param {Object} params - The parameters to send to the service.
361
381
  * @param {string} params.secretType - The secret type.
@@ -371,11 +391,11 @@ declare class SecretsManagerV1 extends BaseService {
371
391
  /**
372
392
  * Set the configuration of a secret type.
373
393
  *
374
- * Sets the configuration for the specified secret type.
394
+ * Set the configuration for the specified secret type.
375
395
  *
376
396
  * Use this method to configure the IAM credentials (`iam_credentials`) engine for your service instance. Looking to
377
- * set up certificate ordering? To configure the public certificates (`public_cert`) engine, use the [Add a
378
- * 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.
379
399
  *
380
400
  * @param {Object} params - The parameters to send to the service.
381
401
  * @param {string} params.secretType - The secret type.
@@ -387,7 +407,7 @@ declare class SecretsManagerV1 extends BaseService {
387
407
  /**
388
408
  * Get the configuration of a secret type.
389
409
  *
390
- * Retrieves the configuration that is associated with the specified secret type.
410
+ * Get the configuration that is associated with the specified secret type.
391
411
  *
392
412
  * @param {Object} params - The parameters to send to the service.
393
413
  * @param {string} params.secretType - The secret type.
@@ -398,10 +418,18 @@ declare class SecretsManagerV1 extends BaseService {
398
418
  /**
399
419
  * Add a configuration.
400
420
  *
401
- * Adds a configuration element to the specified secret type.
421
+ * Add a configuration element to the specified secret type.
402
422
  *
403
423
  * Use this method to define the configurations that are required to enable the public certificates (`public_cert`)
404
- * engine. You can add up to 10 certificate authority and DNS provider configurations for your instance.
424
+ * and private certificates (`private_cert`) engines.
425
+ *
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.
405
433
  *
406
434
  * @param {Object} params - The parameters to send to the service.
407
435
  * @param {string} params.secretType - The secret type.
@@ -409,7 +437,7 @@ declare class SecretsManagerV1 extends BaseService {
409
437
  * @param {string} params.name - The human-readable name to assign to your configuration.
410
438
  * @param {string} params.type - The type of configuration. Value options differ depending on the `config_element`
411
439
  * property that you want to define.
412
- * @param {JsonObject} params.config - The configuration to define for the specified secret type.
440
+ * @param {ConfigElementDefConfig} params.config - The configuration to define for the specified secret type.
413
441
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
414
442
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>}
415
443
  */
@@ -417,7 +445,7 @@ declare class SecretsManagerV1 extends BaseService {
417
445
  /**
418
446
  * List configurations.
419
447
  *
420
- * 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.
421
449
  *
422
450
  * @param {Object} params - The parameters to send to the service.
423
451
  * @param {string} params.secretType - The secret type.
@@ -429,7 +457,7 @@ declare class SecretsManagerV1 extends BaseService {
429
457
  /**
430
458
  * Get a configuration.
431
459
  *
432
- * 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.
433
461
  *
434
462
  * @param {Object} params - The parameters to send to the service.
435
463
  * @param {string} params.secretType - The secret type.
@@ -442,7 +470,7 @@ declare class SecretsManagerV1 extends BaseService {
442
470
  /**
443
471
  * Update a configuration.
444
472
  *
445
- * 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.
446
474
  *
447
475
  * @param {Object} params - The parameters to send to the service.
448
476
  * @param {string} params.secretType - The secret type.
@@ -455,10 +483,31 @@ declare class SecretsManagerV1 extends BaseService {
455
483
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>}
456
484
  */
457
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>>;
458
507
  /**
459
508
  * Delete a configuration.
460
509
  *
461
- * Deletes a configuration element from the specified secret type.
510
+ * Delete a configuration element from the specified secret type.
462
511
  *
463
512
  * @param {Object} params - The parameters to send to the service.
464
513
  * @param {string} params.secretType - The secret type.
@@ -468,6 +517,67 @@ declare class SecretsManagerV1 extends BaseService {
468
517
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>}
469
518
  */
470
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>>;
471
581
  }
472
582
  /*************************
473
583
  * interfaces
@@ -544,6 +654,7 @@ declare namespace SecretsManagerV1 {
544
654
  IAM_CREDENTIALS = "iam_credentials",
545
655
  IMPORTED_CERT = "imported_cert",
546
656
  PUBLIC_CERT = "public_cert",
657
+ PRIVATE_CERT = "private_cert",
547
658
  USERNAME_PASSWORD = "username_password",
548
659
  KV = "kv"
549
660
  }
@@ -576,6 +687,7 @@ declare namespace SecretsManagerV1 {
576
687
  IAM_CREDENTIALS = "iam_credentials",
577
688
  IMPORTED_CERT = "imported_cert",
578
689
  PUBLIC_CERT = "public_cert",
690
+ PRIVATE_CERT = "private_cert",
579
691
  USERNAME_PASSWORD = "username_password",
580
692
  KV = "kv"
581
693
  }
@@ -647,6 +759,7 @@ declare namespace SecretsManagerV1 {
647
759
  IAM_CREDENTIALS = "iam_credentials",
648
760
  IMPORTED_CERT = "imported_cert",
649
761
  PUBLIC_CERT = "public_cert",
762
+ PRIVATE_CERT = "private_cert",
650
763
  USERNAME_PASSWORD = "username_password",
651
764
  KV = "kv"
652
765
  }
@@ -671,6 +784,7 @@ declare namespace SecretsManagerV1 {
671
784
  IAM_CREDENTIALS = "iam_credentials",
672
785
  IMPORTED_CERT = "imported_cert",
673
786
  PUBLIC_CERT = "public_cert",
787
+ PRIVATE_CERT = "private_cert",
674
788
  USERNAME_PASSWORD = "username_password",
675
789
  KV = "kv"
676
790
  }
@@ -678,6 +792,7 @@ declare namespace SecretsManagerV1 {
678
792
  enum Action {
679
793
  ROTATE = "rotate",
680
794
  RESTORE = "restore",
795
+ REVOKE = "revoke",
681
796
  DELETE_CREDENTIALS = "delete_credentials"
682
797
  }
683
798
  }
@@ -697,6 +812,7 @@ declare namespace SecretsManagerV1 {
697
812
  IAM_CREDENTIALS = "iam_credentials",
698
813
  IMPORTED_CERT = "imported_cert",
699
814
  PUBLIC_CERT = "public_cert",
815
+ PRIVATE_CERT = "private_cert",
700
816
  USERNAME_PASSWORD = "username_password",
701
817
  KV = "kv"
702
818
  }
@@ -717,6 +833,7 @@ declare namespace SecretsManagerV1 {
717
833
  IAM_CREDENTIALS = "iam_credentials",
718
834
  IMPORTED_CERT = "imported_cert",
719
835
  PUBLIC_CERT = "public_cert",
836
+ PRIVATE_CERT = "private_cert",
720
837
  USERNAME_PASSWORD = "username_password",
721
838
  KV = "kv"
722
839
  }
@@ -744,10 +861,39 @@ declare namespace SecretsManagerV1 {
744
861
  IAM_CREDENTIALS = "iam_credentials",
745
862
  IMPORTED_CERT = "imported_cert",
746
863
  PUBLIC_CERT = "public_cert",
864
+ PRIVATE_CERT = "private_cert",
747
865
  USERNAME_PASSWORD = "username_password",
748
866
  KV = "kv"
749
867
  }
750
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"
895
+ }
896
+ }
751
897
  /** Parameters for the `getSecretVersionMetadata` operation. */
752
898
  interface GetSecretVersionMetadataParams {
753
899
  /** The secret type. */
@@ -771,6 +917,7 @@ declare namespace SecretsManagerV1 {
771
917
  IAM_CREDENTIALS = "iam_credentials",
772
918
  IMPORTED_CERT = "imported_cert",
773
919
  PUBLIC_CERT = "public_cert",
920
+ PRIVATE_CERT = "private_cert",
774
921
  USERNAME_PASSWORD = "username_password",
775
922
  KV = "kv"
776
923
  }
@@ -791,6 +938,7 @@ declare namespace SecretsManagerV1 {
791
938
  IAM_CREDENTIALS = "iam_credentials",
792
939
  IMPORTED_CERT = "imported_cert",
793
940
  PUBLIC_CERT = "public_cert",
941
+ PRIVATE_CERT = "private_cert",
794
942
  USERNAME_PASSWORD = "username_password",
795
943
  KV = "kv"
796
944
  }
@@ -815,6 +963,7 @@ declare namespace SecretsManagerV1 {
815
963
  IAM_CREDENTIALS = "iam_credentials",
816
964
  IMPORTED_CERT = "imported_cert",
817
965
  PUBLIC_CERT = "public_cert",
966
+ PRIVATE_CERT = "private_cert",
818
967
  USERNAME_PASSWORD = "username_password",
819
968
  KV = "kv"
820
969
  }
@@ -838,7 +987,8 @@ declare namespace SecretsManagerV1 {
838
987
  /** The secret type. */
839
988
  enum SecretType {
840
989
  USERNAME_PASSWORD = "username_password",
841
- PUBLIC_CERT = "public_cert"
990
+ PUBLIC_CERT = "public_cert",
991
+ PRIVATE_CERT = "private_cert"
842
992
  }
843
993
  /** The type of policy that is associated with the specified secret. */
844
994
  enum Policy {
@@ -860,7 +1010,8 @@ declare namespace SecretsManagerV1 {
860
1010
  /** The secret type. */
861
1011
  enum SecretType {
862
1012
  USERNAME_PASSWORD = "username_password",
863
- PUBLIC_CERT = "public_cert"
1013
+ PUBLIC_CERT = "public_cert",
1014
+ PRIVATE_CERT = "private_cert"
864
1015
  }
865
1016
  /** The type of policy that is associated with the specified secret. */
866
1017
  enum Policy {
@@ -893,7 +1044,8 @@ declare namespace SecretsManagerV1 {
893
1044
  /** The secret type. */
894
1045
  enum SecretType {
895
1046
  IAM_CREDENTIALS = "iam_credentials",
896
- PUBLIC_CERT = "public_cert"
1047
+ PUBLIC_CERT = "public_cert",
1048
+ PRIVATE_CERT = "private_cert"
897
1049
  }
898
1050
  }
899
1051
  /** Parameters for the `createConfigElement` operation. */
@@ -909,26 +1061,33 @@ declare namespace SecretsManagerV1 {
909
1061
  */
910
1062
  type: CreateConfigElementConstants.Type | string;
911
1063
  /** The configuration to define for the specified secret type. */
912
- config: JsonObject;
1064
+ config: ConfigElementDefConfig;
913
1065
  headers?: OutgoingHttpHeaders;
914
1066
  }
915
1067
  /** Constants for the `createConfigElement` operation. */
916
1068
  namespace CreateConfigElementConstants {
917
1069
  /** The secret type. */
918
1070
  enum SecretType {
919
- PUBLIC_CERT = "public_cert"
1071
+ PUBLIC_CERT = "public_cert",
1072
+ PRIVATE_CERT = "private_cert"
920
1073
  }
921
1074
  /** The configuration element to define or manage. */
922
1075
  enum ConfigElement {
923
1076
  CERTIFICATE_AUTHORITIES = "certificate_authorities",
924
- 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"
925
1081
  }
926
1082
  /** The type of configuration. Value options differ depending on the `config_element` property that you want to define. */
927
1083
  enum Type {
928
1084
  LETSENCRYPT = "letsencrypt",
929
1085
  LETSENCRYPT_STAGE = "letsencrypt-stage",
930
1086
  CIS = "cis",
931
- 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"
932
1091
  }
933
1092
  }
934
1093
  /** Parameters for the `getConfigElements` operation. */
@@ -943,12 +1102,16 @@ declare namespace SecretsManagerV1 {
943
1102
  namespace GetConfigElementsConstants {
944
1103
  /** The secret type. */
945
1104
  enum SecretType {
946
- PUBLIC_CERT = "public_cert"
1105
+ PUBLIC_CERT = "public_cert",
1106
+ PRIVATE_CERT = "private_cert"
947
1107
  }
948
1108
  /** The configuration element to define or manage. */
949
1109
  enum ConfigElement {
950
1110
  CERTIFICATE_AUTHORITIES = "certificate_authorities",
951
- 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"
952
1115
  }
953
1116
  }
954
1117
  /** Parameters for the `getConfigElement` operation. */
@@ -965,12 +1128,16 @@ declare namespace SecretsManagerV1 {
965
1128
  namespace GetConfigElementConstants {
966
1129
  /** The secret type. */
967
1130
  enum SecretType {
968
- PUBLIC_CERT = "public_cert"
1131
+ PUBLIC_CERT = "public_cert",
1132
+ PRIVATE_CERT = "private_cert"
969
1133
  }
970
1134
  /** The configuration element to define or manage. */
971
1135
  enum ConfigElement {
972
1136
  CERTIFICATE_AUTHORITIES = "certificate_authorities",
973
- 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"
974
1141
  }
975
1142
  }
976
1143
  /** Parameters for the `updateConfigElement` operation. */
@@ -993,19 +1160,60 @@ declare namespace SecretsManagerV1 {
993
1160
  namespace UpdateConfigElementConstants {
994
1161
  /** The secret type. */
995
1162
  enum SecretType {
996
- PUBLIC_CERT = "public_cert"
1163
+ PUBLIC_CERT = "public_cert",
1164
+ PRIVATE_CERT = "private_cert"
997
1165
  }
998
1166
  /** The configuration element to define or manage. */
999
1167
  enum ConfigElement {
1000
1168
  CERTIFICATE_AUTHORITIES = "certificate_authorities",
1001
- 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"
1002
1173
  }
1003
1174
  /** The type of configuration. Value options differ depending on the `config_element` property that you want to define. */
1004
1175
  enum Type {
1005
1176
  LETSENCRYPT = "letsencrypt",
1006
1177
  LETSENCRYPT_STAGE = "letsencrypt-stage",
1007
1178
  CIS = "cis",
1008
- 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"
1009
1217
  }
1010
1218
  }
1011
1219
  /** Parameters for the `deleteConfigElement` operation. */
@@ -1022,17 +1230,61 @@ declare namespace SecretsManagerV1 {
1022
1230
  namespace DeleteConfigElementConstants {
1023
1231
  /** The secret type. */
1024
1232
  enum SecretType {
1025
- PUBLIC_CERT = "public_cert"
1233
+ PUBLIC_CERT = "public_cert",
1234
+ PRIVATE_CERT = "private_cert"
1026
1235
  }
1027
1236
  /** The configuration element to define or manage. */
1028
1237
  enum ConfigElement {
1029
1238
  CERTIFICATE_AUTHORITIES = "certificate_authorities",
1030
- 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"
1031
1243
  }
1032
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
+ }
1033
1267
  /*************************
1034
1268
  * model interfaces
1035
1269
  ************************/
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. */
1271
+ interface CertificateSecretData {
1272
+ }
1273
+ /** Certificate templates configuration. */
1274
+ interface CertificateTemplatesConfigItem {
1275
+ /** The human-readable name to assign to your configuration. */
1276
+ name: string;
1277
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to
1278
+ * define.
1279
+ */
1280
+ type: string;
1281
+ /** Properties that describe a certificate template. You can use a certificate template to control the
1282
+ * parameters that
1283
+ * are applied to your issued private certificates. For more information, see the
1284
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-certificate-templates).
1285
+ */
1286
+ config?: CertificateTemplateConfig;
1287
+ }
1036
1288
  /** The metadata that describes the resource array. */
1037
1289
  interface CollectionMetadata {
1038
1290
  /** The type of resources in the resource array. */
@@ -1040,6 +1292,29 @@ declare namespace SecretsManagerV1 {
1040
1292
  /** The number of elements in the resource array. */
1041
1293
  collection_total: number;
1042
1294
  }
1295
+ /** Properties that describe an action on a configuration element. */
1296
+ interface ConfigAction {
1297
+ }
1298
+ /** The configuration to add or update. */
1299
+ interface ConfigElementActionData {
1300
+ /** The human-readable name to assign to your configuration. */
1301
+ name: string;
1302
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to
1303
+ * define.
1304
+ */
1305
+ type: string;
1306
+ config: ConfigElementActionResultConfig;
1307
+ }
1308
+ /** Properties that describe an action on a configuration element. */
1309
+ interface ConfigElementActionResult {
1310
+ /** The metadata that describes the resource array. */
1311
+ metadata: CollectionMetadata;
1312
+ /** A collection of resources. */
1313
+ resources: ConfigElementActionData[];
1314
+ }
1315
+ /** ConfigElementActionResultConfig. */
1316
+ interface ConfigElementActionResultConfig {
1317
+ }
1043
1318
  /** The configuration to add or update. */
1044
1319
  interface ConfigElementDef {
1045
1320
  /** The human-readable name to assign to your configuration. */
@@ -1049,7 +1324,10 @@ declare namespace SecretsManagerV1 {
1049
1324
  */
1050
1325
  type: string;
1051
1326
  /** The configuration to define for the specified secret type. */
1052
- config: JsonObject;
1327
+ config: ConfigElementDefConfig;
1328
+ }
1329
+ /** The configuration to define for the specified secret type. */
1330
+ interface ConfigElementDefConfig {
1053
1331
  }
1054
1332
  /** Properties that describe a configuration element. */
1055
1333
  interface ConfigElementMetadata {
@@ -1090,6 +1368,13 @@ declare namespace SecretsManagerV1 {
1090
1368
  /** GetConfigResourcesItem. */
1091
1369
  interface GetConfigResourcesItem {
1092
1370
  }
1371
+ /** Properties that describe an existing registration with Event Notifications. */
1372
+ interface GetNotificationsSettings {
1373
+ /** The metadata that describes the resource array. */
1374
+ metadata: CollectionMetadata;
1375
+ /** A collection of resources. */
1376
+ resources: NotificationsSettings[];
1377
+ }
1093
1378
  /** Properties that describe a secret. */
1094
1379
  interface GetSecret {
1095
1380
  /** The metadata that describes the resource array. */
@@ -1121,6 +1406,17 @@ declare namespace SecretsManagerV1 {
1121
1406
  /** A collection of resources. */
1122
1407
  resources: ConfigElementDef[];
1123
1408
  }
1409
+ /** Intermediate certificate authorities configuration. */
1410
+ interface IntermediateCertificateAuthoritiesConfigItem {
1411
+ /** The human-readable name to assign to your configuration. */
1412
+ name: string;
1413
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to
1414
+ * define.
1415
+ */
1416
+ type: string;
1417
+ /** Intermediate certificate authority configuration. */
1418
+ config?: IntermediateCertificateAuthorityConfig;
1419
+ }
1124
1420
  /** Issuance information that is associated with your certificate. */
1125
1421
  interface IssuanceInfo {
1126
1422
  /** The date the certificate was ordered. The date format follows RFC 3339. */
@@ -1162,19 +1458,52 @@ declare namespace SecretsManagerV1 {
1162
1458
  /** A collection of resources. */
1163
1459
  resources?: SecretResource[];
1164
1460
  }
1461
+ /** The Event Notifications details. */
1462
+ interface NotificationsSettings {
1463
+ /** The Cloud Resource Name (CRN) of the connected Event Notifications instance. */
1464
+ event_notifications_instance_crn: string;
1465
+ }
1466
+ /** Root certificate authorities configuration. */
1467
+ interface RootCertificateAuthoritiesConfigItem {
1468
+ /** The human-readable name to assign to your configuration. */
1469
+ name: string;
1470
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to
1471
+ * define.
1472
+ */
1473
+ type: string;
1474
+ /** Root certificate authority configuration. */
1475
+ config?: RootCertificateAuthorityConfig;
1476
+ }
1165
1477
  /** Rotation. */
1166
1478
  interface Rotation {
1167
1479
  /** Determines whether Secrets Manager rotates your certificate automatically.
1168
1480
  *
1169
- * If set to `true`, the service reorders your certificate 31 days before it expires. To access the previous
1170
- * version of the certificate, you can use the [Get a version of a secret](#get-secret-version) method.
1481
+ * For public certificates, if `auto_rotate` is set to `true` the service reorders your certificate 31 days before
1482
+ * it expires. For private certificates, the certificate is rotated according to the time interval specified in the
1483
+ * `interval` and `unit` fields.
1484
+ *
1485
+ * To access the previous version of the certificate, you can use the
1486
+ * [Get a version of a secret](#get-secret-version) method.
1171
1487
  */
1172
1488
  auto_rotate?: boolean;
1173
1489
  /** Determines whether Secrets Manager rotates the private key for your certificate automatically.
1174
1490
  *
1175
1491
  * If set to `true`, the service generates and stores a new private key for your rotated certificate.
1492
+ *
1493
+ * **Note:** Use this field only for public certificates. It is ignored for private certificates.
1176
1494
  */
1177
1495
  rotate_keys?: boolean;
1496
+ /** Used together with the `unit` field to specify the rotation interval. The minimum interval is one day, and
1497
+ * the maximum interval is 3 years (1095 days). Required in case `auto_rotate` is set to `true`.
1498
+ *
1499
+ * **Note:** Use this field only for private certificates. It is ignored for public certificates.
1500
+ */
1501
+ interval?: number;
1502
+ /** The time unit of the rotation interval.
1503
+ *
1504
+ * **Note:** Use this field only for private certificates. It is ignored for public certificates.
1505
+ */
1506
+ unit?: string;
1178
1507
  }
1179
1508
  /** SecretAction. */
1180
1509
  interface SecretAction {
@@ -1257,11 +1586,37 @@ declare namespace SecretsManagerV1 {
1257
1586
  /** SecretVersionMetadata. */
1258
1587
  interface SecretVersionMetadata {
1259
1588
  }
1589
+ /** Properties that are returned with a successful `sign` action. */
1590
+ interface SignActionResultData {
1591
+ /** The PEM-encoded certificate. */
1592
+ certificate?: string;
1593
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1594
+ serial_number?: string;
1595
+ /** The PEM-encoded certificate of the certificate authority that signed and issued this certificate. */
1596
+ issuing_ca?: string;
1597
+ /** The chain of certificate authorities that are associated with the certificate. */
1598
+ ca_chain?: string[];
1599
+ /** The time until the certificate expires. */
1600
+ expiration?: number;
1601
+ }
1602
+ /** Properties that are returned with a successful `sign` action. */
1603
+ interface SignIntermediateActionResultData {
1604
+ /** The PEM-encoded certificate. */
1605
+ certificate?: string;
1606
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1607
+ serial_number?: string;
1608
+ /** The PEM-encoded certificate of the certificate authority that signed and issued this certificate. */
1609
+ issuing_ca?: string;
1610
+ /** The chain of certificate authorities that are associated with the certificate. */
1611
+ ca_chain?: string[];
1612
+ /** The time until the certificate expires. */
1613
+ expiration?: number;
1614
+ }
1260
1615
  /** CertificateValidity. */
1261
1616
  interface CertificateValidity {
1262
- /** The date the certificate validity period begins. */
1617
+ /** The date and time that the certificate validity period begins. */
1263
1618
  not_before?: string;
1264
- /** The date the certificate validity period ends. */
1619
+ /** The date and time that the certificate validity period ends. */
1265
1620
  not_after?: string;
1266
1621
  }
1267
1622
  /** Metadata properties that describe an arbitrary secret. */
@@ -1384,7 +1739,10 @@ declare namespace SecretsManagerV1 {
1384
1739
  expiration_date?: string;
1385
1740
  /** The new secret data to assign to the secret. */
1386
1741
  payload?: string;
1387
- /** The data that is associated with the secret version. The data object contains the field `payload`. */
1742
+ /** The data that is associated with the secret version.
1743
+ *
1744
+ * The data object contains the field `payload`.
1745
+ */
1388
1746
  secret_data?: JsonObject;
1389
1747
  }
1390
1748
  /** ArbitrarySecretVersion. */
@@ -1397,7 +1755,10 @@ declare namespace SecretsManagerV1 {
1397
1755
  creation_date?: string;
1398
1756
  /** The unique identifier for the entity that created the secret version. */
1399
1757
  created_by?: string;
1400
- /** The data that is associated with the secret version. The data object contains the field `payload`. */
1758
+ /** The data that is associated with the secret version.
1759
+ *
1760
+ * The data object contains the field `payload`.
1761
+ */
1401
1762
  secret_data?: JsonObject;
1402
1763
  }
1403
1764
  /** ArbitrarySecretVersionInfo. */
@@ -1485,8 +1846,8 @@ declare namespace SecretsManagerV1 {
1485
1846
  * the certificate.
1486
1847
  */
1487
1848
  algorithm?: string;
1488
- /** The identifier for the cryptographic algorithm that was used to generate the public key that is associated
1489
- * with the certificate.
1849
+ /** The identifier for the cryptographic algorithm that was used to generate the public and private keys that
1850
+ * are associated with the certificate.
1490
1851
  */
1491
1852
  key_algorithm?: string;
1492
1853
  /** The distinguished name that identifies the entity that signed and issued the certificate. */
@@ -1566,9 +1927,10 @@ declare namespace SecretsManagerV1 {
1566
1927
  */
1567
1928
  intermediate?: string;
1568
1929
  /** The data that is associated with the secret. The data object contains the following fields:
1569
- * `certificate`: The contents of the certificate.
1570
- * `private_key`: The private key that is associated with the certificate.
1571
- * `intermediate`: The intermediate certificate that is associated with the certificate.
1930
+ *
1931
+ * - `certificate`: The contents of the certificate.
1932
+ * - `private_key`: The private key that is associated with the certificate.
1933
+ * - `intermediate`: The intermediate certificate that is associated with the certificate.
1572
1934
  */
1573
1935
  secret_data?: JsonObject;
1574
1936
  /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
@@ -1577,8 +1939,8 @@ declare namespace SecretsManagerV1 {
1577
1939
  * the certificate.
1578
1940
  */
1579
1941
  algorithm?: string;
1580
- /** The identifier for the cryptographic algorithm that was used to generate the public key that is associated
1581
- * with the certificate.
1942
+ /** The identifier for the cryptographic algorithm that was used to generate the public and private keys that
1943
+ * are associated with the certificate.
1582
1944
  */
1583
1945
  key_algorithm?: string;
1584
1946
  /** The distinguished name that identifies the entity that signed and issued the certificate. */
@@ -1590,8 +1952,13 @@ declare namespace SecretsManagerV1 {
1590
1952
  intermediate_included?: boolean;
1591
1953
  /** Indicates whether the certificate was imported with an associated private key. */
1592
1954
  private_key_included?: boolean;
1593
- /** The alternative names that are defined for the certificate. */
1594
- alt_names?: string[];
1955
+ /** The alternative names that are defined for the certificate.
1956
+ *
1957
+ * For public certificates, this value is provided as an array of strings. For private certificates, this value is
1958
+ * provided as a comma-delimited list (string). In the API response, this value is returned as an array of strings
1959
+ * for all the types of certificate secrets.
1960
+ */
1961
+ alt_names?: any;
1595
1962
  /** The date that the certificate expires. The date format follows RFC 3339. */
1596
1963
  expiration_date?: string;
1597
1964
  }
@@ -1611,11 +1978,12 @@ declare namespace SecretsManagerV1 {
1611
1978
  /** The date that the certificate expires. The date format follows RFC 3339. */
1612
1979
  expiration_date?: string;
1613
1980
  /** The data that is associated with the secret version. The data object contains the following fields:
1614
- * `certificate`: The contents of the certificate.
1615
- * `private_key`: The private key that is associated with the certificate.
1616
- * `intermediate`: The intermediate certificate that is associated with the certificate.
1981
+ *
1982
+ * - `certificate`: The contents of the certificate.
1983
+ * - `private_key`: The private key that is associated with the certificate.
1984
+ * - `intermediate`: The intermediate certificate that is associated with the certificate.
1617
1985
  */
1618
- secret_data?: JsonObject;
1986
+ secret_data?: CertificateSecretData;
1619
1987
  }
1620
1988
  /** CertificateSecretVersionInfo. */
1621
1989
  interface CertificateSecretVersionInfo extends SecretVersionInfo {
@@ -1659,6 +2027,220 @@ declare namespace SecretsManagerV1 {
1659
2027
  expiration_date?: string;
1660
2028
  validity?: CertificateValidity;
1661
2029
  }
2030
+ /** 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). */
2031
+ interface CertificateTemplateConfig extends ConfigElementDefConfig {
2032
+ /** The name of the intermediate certificate authority. */
2033
+ certificate_authority: string;
2034
+ /** Scopes the creation of private certificates to only the secret groups that you specify.
2035
+ *
2036
+ * This field can be supplied as a comma-delimited list of secret group IDs.
2037
+ */
2038
+ allowed_secret_groups?: string;
2039
+ /** The maximum time-to-live (TTL) for certificates that are created by this CA.
2040
+ *
2041
+ * The value can be supplied as a string representation of a duration in hours, for example '8760h'. In the API
2042
+ * response, this value is returned in seconds (integer).
2043
+ *
2044
+ * Minimum value is one hour (`1h`). Maximum value is 100 years (`876000h`).
2045
+ */
2046
+ max_ttl?: any;
2047
+ /** The time-to-live (TTL) to assign to a private certificate.
2048
+ *
2049
+ * The value can be supplied as a string representation of a duration, such as `12h`. Hour (`h`) is the largest
2050
+ * time suffix. The value can't exceed the `max_ttl` that is defined in the associated certificate template. In the
2051
+ * API response, this value is returned in seconds (integer).
2052
+ */
2053
+ ttl?: any;
2054
+ /** Determines whether to allow `localhost` to be included as one of the requested common names. */
2055
+ allow_localhost?: boolean;
2056
+ /** The domains to define for the certificate template. This property is used along with the
2057
+ * `allow_bare_domains` and `allow_subdomains` options.
2058
+ */
2059
+ allowed_domains?: string[];
2060
+ /** Determines whether to allow the domains that are supplied in the `allowed_domains` field to contain access
2061
+ * control list (ACL) templates.
2062
+ */
2063
+ allowed_domains_template?: boolean;
2064
+ /** Determines whether to allow clients to request private certificates that match the value of the actual
2065
+ * domains on the final certificate.
2066
+ *
2067
+ * For example, if you specify `example.com` in the `allowed_domains` field, you grant clients the ability to
2068
+ * request a certificate that contains the name `example.com` as one of the DNS values on the final certificate.
2069
+ *
2070
+ * **Important:** In some scenarios, allowing bare domains can be considered a security risk.
2071
+ */
2072
+ allow_bare_domains?: boolean;
2073
+ /** Determines whether to allow clients to request private certificates with common names (CN) that are
2074
+ * subdomains of the CNs that are allowed by the other certificate template options. This includes wildcard
2075
+ * subdomains.
2076
+ *
2077
+ * For example, if `allowed_domains` has a value of `example.com` and `allow_subdomains`is set to `true`, then the
2078
+ * following subdomains are allowed: `foo.example.com`, `bar.example.com`, `*.example.com`.
2079
+ *
2080
+ * **Note:** This field is redundant if you use the `allow_any_name` option.
2081
+ */
2082
+ allow_subdomains?: boolean;
2083
+ /** Determines whether to allow glob patterns, for example, `ftp*.example.com`, in the names that are specified
2084
+ * in the `allowed_domains` field.
2085
+ *
2086
+ * If set to `true`, clients are allowed to request private certificates with names that match the glob patterns.
2087
+ */
2088
+ allow_glob_domains?: boolean;
2089
+ /** Determines whether to allow clients to request a private certificate that matches any common name. */
2090
+ allow_any_name?: boolean;
2091
+ /** Determines whether to enforce only valid host names for common names, DNS Subject Alternative Names, and the
2092
+ * host section of email addresses.
2093
+ */
2094
+ enforce_hostnames?: boolean;
2095
+ /** Determines whether to allow clients to request a private certificate with IP Subject Alternative Names. */
2096
+ allow_ip_sans?: boolean;
2097
+ /** The URI Subject Alternative Names to allow for private certificates.
2098
+ *
2099
+ * Values can contain glob patterns, for example `spiffe://hostname/_*`.
2100
+ */
2101
+ allowed_uri_sans?: string[];
2102
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names (SANs) to allow for private
2103
+ * certificates.
2104
+ *
2105
+ * The format for each element in the list is the same as OpenSSL: `<oid>:<type>:<value>` where the current valid
2106
+ * type is `UTF8`. To allow any value for an OID, use `*` as its value. Alternatively, specify a single `*` to
2107
+ * allow any `other_sans` input.
2108
+ */
2109
+ allowed_other_sans?: string[];
2110
+ /** Determines whether private certificates are flagged for server use. */
2111
+ server_flag?: boolean;
2112
+ /** Determines whether private certificates are flagged for client use. */
2113
+ client_flag?: boolean;
2114
+ /** Determines whether private certificates are flagged for code signing use. */
2115
+ code_signing_flag?: boolean;
2116
+ /** Determines whether private certificates are flagged for email protection use. */
2117
+ email_protection_flag?: boolean;
2118
+ /** The type of private key to generate for private certificates and the type of key that is expected for
2119
+ * submitted certificate signing requests (CSRs).
2120
+ *
2121
+ * Allowable values are: `rsa` and `ec`.
2122
+ */
2123
+ key_type?: string;
2124
+ /** The number of bits to use when generating the private key.
2125
+ *
2126
+ * Allowable values for RSA keys are: `2048` and `4096`. Allowable values for EC keys are: `224`, `256`, `384`, and
2127
+ * `521`. The default for RSA keys is `2048`. The default for EC keys is `256`.
2128
+ */
2129
+ key_bits?: number;
2130
+ /** The allowed key usage constraint to define for private certificates.
2131
+ *
2132
+ * You can find valid values in the [Go x509 package documentation](https://pkg.go.dev/crypto/x509#KeyUsage). Omit
2133
+ * the `KeyUsage` part of the value. Values are not case-sensitive. To specify no key usage constraints, set this
2134
+ * field to an empty list.
2135
+ */
2136
+ key_usage?: string[];
2137
+ /** The allowed extended key usage constraint on private certificates.
2138
+ *
2139
+ * You can find valid values in the [Go x509 package
2140
+ * documentation](https://golang.org/pkg/crypto/x509/#ExtKeyUsage). Omit the `ExtKeyUsage` part of the value.
2141
+ * Values are not case-sensitive. To specify no key usage constraints, set this field to an empty list.
2142
+ */
2143
+ ext_key_usage?: string[];
2144
+ /** A list of extended key usage Object Identifiers (OIDs). */
2145
+ ext_key_usage_oids?: string[];
2146
+ /** When used with the `sign_csr` action, this field determines whether to use the common name (CN) from a
2147
+ * certificate signing request (CSR) instead of the CN that's included in the JSON data of the certificate.
2148
+ *
2149
+ * Does not include any requested Subject Alternative Names (SANs) in the CSR. To use the alternative names,
2150
+ * include the `use_csr_sans` property.
2151
+ */
2152
+ use_csr_common_name?: boolean;
2153
+ /** When used with the `sign_csr` action, this field determines whether to use the Subject Alternative Names
2154
+ * (SANs) from a certificate signing request (CSR) instead of the SANs that are included in the JSON data of the
2155
+ * certificate.
2156
+ *
2157
+ * Does not include the common name in the CSR. To use the common name, include the `use_csr_common_name` property.
2158
+ */
2159
+ use_csr_sans?: boolean;
2160
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting certificate. */
2161
+ ou?: string[];
2162
+ /** The Organization (O) values to define in the subject field of the resulting certificate. */
2163
+ organization?: string[];
2164
+ /** The Country (C) values to define in the subject field of the resulting certificate. */
2165
+ country?: string[];
2166
+ /** The Locality (L) values to define in the subject field of the resulting certificate. */
2167
+ locality?: string[];
2168
+ /** The Province (ST) values to define in the subject field of the resulting certificate. */
2169
+ province?: string[];
2170
+ /** The Street Address values in the subject field of the resulting certificate. */
2171
+ street_address?: string[];
2172
+ /** The Postal Code values in the subject field of the resulting certificate. */
2173
+ postal_code?: string[];
2174
+ /** The serial number to assign to the generated certificate. To assign a random serial number, you can omit
2175
+ * this field.
2176
+ */
2177
+ serial_number?: string;
2178
+ /** Determines whether to require a common name to create a private certificate.
2179
+ *
2180
+ * By default, a common name is required to generate a certificate. To make the `common_name` field optional, set
2181
+ * the `require_cn` option to `false`.
2182
+ */
2183
+ require_cn?: boolean;
2184
+ /** A list of policy Object Identifiers (OIDs). */
2185
+ policy_identifiers?: string[];
2186
+ /** Determines whether to mark the Basic Constraints extension of an issued private certificate as valid for
2187
+ * non-CA certificates.
2188
+ */
2189
+ basic_constraints_valid_for_non_ca?: boolean;
2190
+ /** The duration in seconds by which to backdate the `not_before` property of an issued private certificate.
2191
+ *
2192
+ * The value can be supplied as a string representation of a duration, such as `30s`. In the API response, this
2193
+ * value is returned in seconds (integer).
2194
+ */
2195
+ not_before_duration?: any;
2196
+ }
2197
+ /** Certificate templates configuration. */
2198
+ interface CertificateTemplatesConfig extends GetConfigElementsResourcesItem {
2199
+ certificate_templates: CertificateTemplatesConfigItem[];
2200
+ }
2201
+ /** Properties that describe an IBM Cloud classic infrastructure (SoftLayer) configuration. */
2202
+ interface ConfigElementDefConfigClassicInfrastructureConfig extends ConfigElementDefConfig {
2203
+ /** The username that is associated with your classic infrastructure account.
2204
+ *
2205
+ * In most cases, your classic infrastructure username is your `<account_id>_<email_address>`. For more
2206
+ * information, see the [docs](https://cloud.ibm.com/docs/account?topic=account-classic_keys).
2207
+ */
2208
+ classic_infrastructure_username: string;
2209
+ /** Your classic infrastructure API key.
2210
+ *
2211
+ * For information about viewing and accessing your classic infrastructure API key, see the
2212
+ * [docs](https://cloud.ibm.com/docs/account?topic=account-classic_keys).
2213
+ */
2214
+ classic_infrastructure_password: string;
2215
+ }
2216
+ /** Properties that describe an IBM Cloud Internet Services (CIS) configuration. */
2217
+ interface ConfigElementDefConfigCloudInternetServicesConfig extends ConfigElementDefConfig {
2218
+ /** The Cloud Resource Name (CRN) that is associated with the CIS instance. */
2219
+ cis_crn: string;
2220
+ /** An IBM Cloud API key that can to list domains in your CIS instance.
2221
+ *
2222
+ * To grant Secrets Manager the ability to view the CIS instance and all of its domains, the API key must be
2223
+ * assigned the Reader service role on Internet Services (`internet-svcs`).
2224
+ *
2225
+ * If you need to manage specific domains, you can assign the Manager role. For production environments, it is
2226
+ * recommended that you assign the Reader access role, and then use the
2227
+ * [IAM Policy Management API](https://cloud.ibm.com/apidocs/iam-policy-management#create-policy) to control
2228
+ * specific domains. For more information, see the
2229
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#authorize-specific-domains).
2230
+ */
2231
+ cis_apikey?: string;
2232
+ }
2233
+ /** Properties that describe a Let's Encrypt configuration. */
2234
+ interface ConfigElementDefConfigLetsEncryptConfig extends ConfigElementDefConfig {
2235
+ /** The private key that is associated with your Automatic Certificate Management Environment (ACME) account.
2236
+ *
2237
+ * If you have a working ACME client or account for Let's Encrypt, you can use the existing private key to enable
2238
+ * communications with Secrets Manager. If you don't have an account yet, you can create one. For more information,
2239
+ * see the
2240
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#create-acme-account).
2241
+ */
2242
+ private_key: string;
2243
+ }
1662
2244
  /** Configuration for the IAM credentials engine. */
1663
2245
  interface CreateIAMCredentialsSecretEngineRootConfig extends EngineConfig {
1664
2246
  /** An IBM Cloud API key that can create and manage service IDs.
@@ -1711,7 +2293,7 @@ declare namespace SecretsManagerV1 {
1711
2293
  /** The hash value of the IBM Cloud API key that is used to create and manage service IDs. */
1712
2294
  api_key_hash?: string;
1713
2295
  }
1714
- /** Metadata properties that describe a iam_credentials secret. */
2296
+ /** Metadata properties that describe an `iam_credentials` secret. */
1715
2297
  interface IAMCredentialsSecretMetadata extends SecretMetadata {
1716
2298
  /** The unique ID of the secret. */
1717
2299
  id?: string;
@@ -1758,15 +2340,10 @@ declare namespace SecretsManagerV1 {
1758
2340
  last_update_date?: string;
1759
2341
  /** The number of versions the secret has. */
1760
2342
  versions_total?: number;
1761
- /** The time-to-live (TTL) or lease duration to assign to generated credentials.
1762
- *
1763
- * For `iam_credentials` secrets, the TTL defines for how long each generated API key remains valid. The value can
1764
- * be either an integer that specifies the number of seconds, or the string representation of a duration, such as
1765
- * `120m` or `24h`.
1766
- *
1767
- * Minimum duration is 1 minute. Maximum is 90 days.
2343
+ /** The time-to-live (TTL) or lease duration that is assigned to the secret. For `iam_credentials` secrets, the
2344
+ * TTL defines for how long each generated API key remains valid.
1768
2345
  */
1769
- ttl?: any;
2346
+ ttl?: string;
1770
2347
  /** Determines whether to use the same service ID and API key for future read operations on an
1771
2348
  * `iam_credentials` secret.
1772
2349
  *
@@ -1902,9 +2479,10 @@ declare namespace SecretsManagerV1 {
1902
2479
  /** The unique identifier for the entity that created the secret version. */
1903
2480
  created_by?: string;
1904
2481
  /** The data that is associated with the secret version. The data object contains the following fields:
1905
- * `api_key`: The API key that is generated for this secret.
1906
- * `api_key_id`: The ID of the API key that is generated for this secret.
1907
- * `service_id`: The service ID under which the API key is created.
2482
+ *
2483
+ * - `api_key`: The API key that is generated for this secret.
2484
+ * - `api_key_id`: The ID of the API key that is generated for this secret.
2485
+ * - `service_id`: The service ID under which the API key is created.
1908
2486
  */
1909
2487
  secret_data?: JsonObject;
1910
2488
  }
@@ -1940,31 +2518,150 @@ declare namespace SecretsManagerV1 {
1940
2518
  */
1941
2519
  downloaded?: boolean;
1942
2520
  }
1943
- /** Metadata properties that describe a key-value secret. */
1944
- interface KvSecretMetadata extends SecretMetadata {
1945
- /** The unique ID of the secret. */
1946
- id?: string;
1947
- /** Labels that you can use to filter for secrets in your instance.
2521
+ /** Intermediate certificate authorities configuration. */
2522
+ interface IntermediateCertificateAuthoritiesConfig extends GetConfigElementsResourcesItem {
2523
+ intermediate_certificate_authorities: IntermediateCertificateAuthoritiesConfigItem[];
2524
+ }
2525
+ /** Intermediate certificate authority configuration. */
2526
+ interface IntermediateCertificateAuthorityConfig extends ConfigElementDefConfig {
2527
+ /** The maximum time-to-live (TTL) for certificates that are created by this CA.
1948
2528
  *
1949
- * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
1950
- * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
1951
- * character (|).
2529
+ * The value can be supplied as a string representation of a duration in hours, for example '8760h'. In the API
2530
+ * response, this value is returned in seconds (integer).
1952
2531
  *
1953
- * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2532
+ * Minimum value is one hour (`1h`). Maximum value is 100 years (`876000h`).
1954
2533
  */
1955
- labels?: string[];
1956
- /** A human-readable alias to assign to your secret.
2534
+ max_ttl: any;
2535
+ /** The signing method to use with this certificate authority to generate private certificates.
1957
2536
  *
1958
- * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
2537
+ * You can choose between internal or externally signed options. For more information, see the
2538
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-intermediate-certificate-authorities).
1959
2539
  */
1960
- name: string;
1961
- /** An extended description of your secret.
2540
+ signing_method: string;
2541
+ /** The certificate authority that signed and issued the certificate.
1962
2542
  *
1963
- * To protect your privacy, do not use personal data, such as your name or location, as a description for your
1964
- * secret.
2543
+ * If the certificate is signed internally, the `issuer` field is required and must match the name of a certificate
2544
+ * authority that is configured in the Secrets Manager service instance.
1965
2545
  */
1966
- description?: string;
1967
- /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
2546
+ issuer?: string;
2547
+ /** The time until the certificate revocation list (CRL) expires.
2548
+ *
2549
+ * The value can be supplied as a string representation of a duration in hours, such as `48h`. The default is 72
2550
+ * hours. In the API response, this value is returned in seconds (integer).
2551
+ *
2552
+ * **Note:** The CRL is rotated automatically before it expires.
2553
+ */
2554
+ crl_expiry?: any;
2555
+ /** Disables or enables certificate revocation list (CRL) building.
2556
+ *
2557
+ * If CRL building is disabled, a signed but zero-length CRL is returned when downloading the CRL. If CRL building
2558
+ * is enabled, it will rebuild the CRL.
2559
+ */
2560
+ crl_disable?: boolean;
2561
+ /** Determines whether to encode the certificate revocation list (CRL) distribution points in the certificates
2562
+ * that are issued by this certificate authority.
2563
+ */
2564
+ crl_distribution_points_encoded?: boolean;
2565
+ /** Determines whether to encode the URL of the issuing certificate in the certificates that are issued by this
2566
+ * certificate authority.
2567
+ */
2568
+ issuing_certificates_urls_encoded?: boolean;
2569
+ /** The fully qualified domain name or host domain name for the certificate. */
2570
+ common_name: string;
2571
+ /** The status of the certificate authority. The status of a root certificate authority is either `configured`
2572
+ * or `expired`. For intermediate certificate authorities, possible statuses include `signing_required`,
2573
+ * `signed_certificate_required`, `certificate_template_required`, `configured`, `expired` or `revoked`.
2574
+ */
2575
+ status?: string;
2576
+ /** The date that the certificate expires. The date format follows RFC 3339. */
2577
+ expiration_date?: string;
2578
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
2579
+ *
2580
+ * The alternative names can be host names or email addresses.
2581
+ */
2582
+ alt_names?: string;
2583
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
2584
+ ip_sans?: string;
2585
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
2586
+ uri_sans?: string;
2587
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
2588
+ * certificate.
2589
+ *
2590
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
2591
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
2592
+ * valid type is `UTF8`.
2593
+ */
2594
+ other_sans?: string[];
2595
+ /** The format of the returned data. */
2596
+ format?: string;
2597
+ /** The format of the generated private key. */
2598
+ private_key_format?: string;
2599
+ /** The type of private key to generate. */
2600
+ key_type?: string;
2601
+ /** The number of bits to use when generating the private key.
2602
+ *
2603
+ * Allowable values for RSA keys are: `2048` and `4096`. Allowable values for EC keys are: `224`, `256`, `384`, and
2604
+ * `521`. The default for RSA keys is `2048`. The default for EC keys is `256`.
2605
+ */
2606
+ key_bits?: number;
2607
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
2608
+ *
2609
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
2610
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
2611
+ */
2612
+ exclude_cn_from_sans?: boolean;
2613
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting certificate. */
2614
+ ou?: string[];
2615
+ /** The Organization (O) values to define in the subject field of the resulting certificate. */
2616
+ organization?: string[];
2617
+ /** The Country (C) values to define in the subject field of the resulting certificate. */
2618
+ country?: string[];
2619
+ /** The Locality (L) values to define in the subject field of the resulting certificate. */
2620
+ locality?: string[];
2621
+ /** The Province (ST) values to define in the subject field of the resulting certificate. */
2622
+ province?: string[];
2623
+ /** The Street Address values in the subject field of the resulting certificate. */
2624
+ street_address?: string[];
2625
+ /** The Postal Code values in the subject field of the resulting certificate. */
2626
+ postal_code?: string[];
2627
+ /** The serial number to assign to the generated certificate. To assign a random serial number, you can omit
2628
+ * this field.
2629
+ */
2630
+ serial_number?: string;
2631
+ /** The data that is associated with the intermediate certificate authority. The data object contains the
2632
+ * following fields:
2633
+ *
2634
+ * - `csr`: The PEM-encoded certificate signing request.
2635
+ * - `private_key`: The private key.
2636
+ * - `private_key_type`: The type of private key, for example `rsa`.
2637
+ */
2638
+ data?: JsonObject;
2639
+ }
2640
+ /** Metadata properties that describe a key-value secret. */
2641
+ interface KvSecretMetadata extends SecretMetadata {
2642
+ /** The unique ID of the secret. */
2643
+ id?: string;
2644
+ /** Labels that you can use to filter for secrets in your instance.
2645
+ *
2646
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
2647
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
2648
+ * character (|).
2649
+ *
2650
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2651
+ */
2652
+ labels?: string[];
2653
+ /** A human-readable alias to assign to your secret.
2654
+ *
2655
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
2656
+ */
2657
+ name: string;
2658
+ /** An extended description of your secret.
2659
+ *
2660
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
2661
+ * secret.
2662
+ */
2663
+ description?: string;
2664
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
1968
2665
  *
1969
2666
  * If you omit this parameter, your secret is assigned to the `default` secret group.
1970
2667
  */
@@ -2050,9 +2747,322 @@ declare namespace SecretsManagerV1 {
2050
2747
  expiration_date?: string;
2051
2748
  /** The new secret data to assign to the secret. */
2052
2749
  payload?: JsonObject;
2053
- /** The data that is associated with the secret version. The data object contains the field `payload`. */
2750
+ /** The data that is associated with the secret version.
2751
+ *
2752
+ * The data object contains the field `payload`.
2753
+ */
2054
2754
  secret_data?: JsonObject;
2055
2755
  }
2756
+ /** The `private_cert` secret rotation policy. */
2757
+ interface PrivateCertPolicyRotation extends SecretPolicyRotationRotation {
2758
+ auto_rotate: boolean;
2759
+ /** The length of the secret rotation time interval. */
2760
+ interval?: number;
2761
+ /** The units for the secret rotation time interval. */
2762
+ unit?: string;
2763
+ }
2764
+ /** Configuration for the private certificates engine. */
2765
+ interface PrivateCertSecretEngineRootConfig extends GetConfigResourcesItem {
2766
+ /** The root certificate authority configurations that are associated with your instance. */
2767
+ root_certificate_authorities?: RootCertificateAuthoritiesConfigItem[];
2768
+ /** The intermediate certificate authority configurations that are associated with your instance. */
2769
+ intermediate_certificate_authorities?: IntermediateCertificateAuthoritiesConfigItem[];
2770
+ /** The certificate templates that are associated with your instance. */
2771
+ certificate_templates?: CertificateTemplatesConfigItem[];
2772
+ }
2773
+ /** Metadata properties that describe a private certificate secret. */
2774
+ interface PrivateCertificateSecretMetadata extends SecretMetadata {
2775
+ /** The unique ID of the secret. */
2776
+ id?: string;
2777
+ /** Labels that you can use to filter for secrets in your instance.
2778
+ *
2779
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
2780
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
2781
+ * character (|).
2782
+ *
2783
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2784
+ */
2785
+ labels?: string[];
2786
+ /** A human-readable alias to assign to your secret.
2787
+ *
2788
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
2789
+ */
2790
+ name: string;
2791
+ /** An extended description of your secret.
2792
+ *
2793
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
2794
+ * secret.
2795
+ */
2796
+ description?: string;
2797
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
2798
+ *
2799
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
2800
+ */
2801
+ secret_group_id?: string;
2802
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
2803
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
2804
+ */
2805
+ state?: number;
2806
+ /** A text representation of the secret state. */
2807
+ state_description?: string;
2808
+ /** The secret type. */
2809
+ secret_type?: string;
2810
+ /** The Cloud Resource Name (CRN) that uniquely identifies the resource. */
2811
+ crn?: string;
2812
+ /** The date the secret was created. The date format follows RFC 3339. */
2813
+ creation_date?: string;
2814
+ /** The unique identifier for the entity that created the secret. */
2815
+ created_by?: string;
2816
+ /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
2817
+ last_update_date?: string;
2818
+ /** The number of versions the secret has. */
2819
+ versions_total?: number;
2820
+ /** The name of the certificate template. */
2821
+ certificate_template?: string;
2822
+ /** The intermediate certificate authority that signed this certificate. */
2823
+ certificate_authority?: string;
2824
+ /** The fully qualified domain name or host domain name for the certificate. */
2825
+ common_name?: string;
2826
+ /** The alternative names that are defined for the certificate. */
2827
+ alt_names?: string[];
2828
+ rotation?: Rotation;
2829
+ /** The identifier for the cryptographic algorithm that was used by the issuing certificate authority to sign
2830
+ * the certificate.
2831
+ */
2832
+ algorithm?: string;
2833
+ /** The identifier for the cryptographic algorithm that was used to generate the public and private keys that
2834
+ * are associated with the certificate.
2835
+ */
2836
+ key_algorithm?: string;
2837
+ /** The certificate authority that signed and issued the certificate. */
2838
+ issuer?: string;
2839
+ validity?: CertificateValidity;
2840
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
2841
+ serial_number?: string;
2842
+ /** The timestamp of the certificate revocation. */
2843
+ revocation_time?: number;
2844
+ /** The date and time that the certificate was revoked. The date format follows RFC 3339. */
2845
+ revocation_time_rfc3339?: string;
2846
+ }
2847
+ /** Properties that describe a secret. */
2848
+ interface PrivateCertificateSecretResource extends SecretResource {
2849
+ /** The v4 UUID that uniquely identifies the secret. */
2850
+ id?: string;
2851
+ /** A human-readable alias to assign to your secret.
2852
+ *
2853
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
2854
+ */
2855
+ name: string;
2856
+ /** An extended description of your secret.
2857
+ *
2858
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
2859
+ * secret.
2860
+ */
2861
+ description?: string;
2862
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
2863
+ *
2864
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
2865
+ */
2866
+ secret_group_id?: string;
2867
+ /** Labels that you can use to filter for secrets in your instance.
2868
+ *
2869
+ * Up to 30 labels can be created. Labels can be 2 - 30 characters, including spaces. Special characters that are
2870
+ * not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
2871
+ *
2872
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2873
+ */
2874
+ labels?: string[];
2875
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
2876
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
2877
+ */
2878
+ state?: number;
2879
+ /** A text representation of the secret state. */
2880
+ state_description?: string;
2881
+ /** The secret type. */
2882
+ secret_type?: string;
2883
+ /** The Cloud Resource Name (CRN) that uniquely identifies your Secrets Manager resource. */
2884
+ crn?: string;
2885
+ /** The date the secret was created. The date format follows RFC 3339. */
2886
+ creation_date?: string;
2887
+ /** The unique identifier for the entity that created the secret. */
2888
+ created_by?: string;
2889
+ /** Updates when the actual secret is modified. The date format follows RFC 3339. */
2890
+ last_update_date?: string;
2891
+ /** The number of versions that are associated with a secret. */
2892
+ versions_total?: number;
2893
+ /** An array that contains metadata for each secret version. For more information on the metadata properties,
2894
+ * see [Get secret version metadata](#get-secret-version-metadata).
2895
+ */
2896
+ versions?: JsonObject[];
2897
+ /** The name of the certificate template. */
2898
+ certificate_template: string;
2899
+ /** The intermediate certificate authority that signed this certificate. */
2900
+ certificate_authority?: string;
2901
+ /** The fully qualified domain name or host domain name for the certificate. */
2902
+ common_name: string;
2903
+ /** The alternative names that are defined for the certificate.
2904
+ *
2905
+ * For public certificates, this value is provided as an array of strings. For private certificates, this value is
2906
+ * provided as a comma-delimited list (string). In the API response, this value is returned as an array of strings
2907
+ * for all the types of certificate secrets.
2908
+ */
2909
+ alt_names?: any;
2910
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
2911
+ ip_sans?: string;
2912
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
2913
+ uri_sans?: string;
2914
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
2915
+ * certificate.
2916
+ *
2917
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
2918
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
2919
+ * valid type is `UTF8`.
2920
+ */
2921
+ other_sans?: string[];
2922
+ /** The time-to-live (TTL) to assign to a private certificate.
2923
+ *
2924
+ * The value can be supplied as a string representation of a duration in hours, for example '12h'. The value can't
2925
+ * exceed the `max_ttl` that is defined in the associated certificate template.
2926
+ */
2927
+ ttl?: any;
2928
+ /** The format of the returned data. */
2929
+ format?: string;
2930
+ /** The format of the generated private key. */
2931
+ private_key_format?: string;
2932
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
2933
+ *
2934
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
2935
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
2936
+ */
2937
+ exclude_cn_from_sans?: boolean;
2938
+ rotation?: Rotation;
2939
+ /** The identifier for the cryptographic algorithm that was used by the issuing certificate authority to sign
2940
+ * the certificate.
2941
+ */
2942
+ algorithm?: string;
2943
+ /** The identifier for the cryptographic algorithm that was used to generate the public and private keys that
2944
+ * are associated with the certificate.
2945
+ */
2946
+ key_algorithm?: string;
2947
+ /** The certificate authority that signed and issued the certificate. */
2948
+ issuer?: string;
2949
+ validity?: CertificateValidity;
2950
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
2951
+ serial_number?: string;
2952
+ /** The timestamp of the certificate revocation. */
2953
+ revocation_time?: number;
2954
+ /** The date and time that the certificate was revoked. The date format follows RFC 3339. */
2955
+ revocation_time_rfc3339?: string;
2956
+ /** The data that is associated with the secret. The data object contains the following fields:
2957
+ *
2958
+ * - `certificate`: The contents of the certificate.
2959
+ * - `private_key`: The private key that is associated with the certificate.
2960
+ * - `issuing_ca`: The certificate of the certificate authority that signed and issued this certificate.
2961
+ * - `ca_chain`: The chain of certificate authorities that are associated with the certificate.
2962
+ */
2963
+ secret_data?: JsonObject;
2964
+ }
2965
+ /** PrivateCertificateSecretVersion. */
2966
+ interface PrivateCertificateSecretVersion extends SecretVersion {
2967
+ /** The v4 UUID that uniquely identifies the secret. */
2968
+ id?: string;
2969
+ /** The ID of the secret version. */
2970
+ version_id?: string;
2971
+ /** The date that the version of the secret was created. */
2972
+ creation_date?: string;
2973
+ /** The unique identifier for the entity that created the secret version. */
2974
+ created_by?: string;
2975
+ validity?: CertificateValidity;
2976
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
2977
+ serial_number?: string;
2978
+ /** The date that the certificate expires. The date format follows RFC 3339. */
2979
+ expiration_date?: string;
2980
+ /** The data that is associated with the secret version. The data object contains the following fields:
2981
+ *
2982
+ * - `certificate`: The contents of the certificate.
2983
+ * - `private_key`: The private key that is associated with the certificate.
2984
+ * - `intermediate`: The intermediate certificate that is associated with the certificate.
2985
+ */
2986
+ secret_data?: CertificateSecretData;
2987
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
2988
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
2989
+ */
2990
+ state?: number;
2991
+ /** A text representation of the secret state. */
2992
+ state_description?: string;
2993
+ /** The timestamp of the certificate revocation. */
2994
+ revocation_time?: number;
2995
+ /** The date and time that the certificate was revoked. The date format follows RFC 3339. */
2996
+ revocation_time_rfc3339?: string;
2997
+ /** Indicates whether the version of the secret was created by automatic rotation. */
2998
+ auto_rotated?: boolean;
2999
+ }
3000
+ /** PrivateCertificateSecretVersionInfo. */
3001
+ interface PrivateCertificateSecretVersionInfo extends SecretVersionInfo {
3002
+ /** The ID of the secret version. */
3003
+ id?: string;
3004
+ /** The date that the version of the secret was created. */
3005
+ creation_date?: string;
3006
+ /** The unique identifier for the entity that created the secret version. */
3007
+ created_by?: string;
3008
+ /** Indicates whether the payload for the secret version is stored and available. */
3009
+ payload_available?: boolean;
3010
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
3011
+ * service API.
3012
+ */
3013
+ downloaded?: boolean;
3014
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
3015
+ serial_number?: string;
3016
+ /** The date that the certificate expires. The date format follows RFC 3339. */
3017
+ expiration_date?: string;
3018
+ validity?: CertificateValidity;
3019
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
3020
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
3021
+ */
3022
+ state?: number;
3023
+ /** A text representation of the secret state. */
3024
+ state_description?: string;
3025
+ /** The timestamp of the certificate revocation. */
3026
+ revocation_time?: number;
3027
+ /** The date and time that the certificate was revoked. The date format follows RFC 3339. */
3028
+ revocation_time_rfc3339?: string;
3029
+ /** Indicates whether the version of the secret was created by automatic rotation. */
3030
+ auto_rotated?: boolean;
3031
+ }
3032
+ /** Properties that describe a secret version. */
3033
+ interface PrivateCertificateSecretVersionMetadata extends SecretVersionMetadata {
3034
+ /** The v4 UUID that uniquely identifies the secret. */
3035
+ id?: string;
3036
+ /** The ID of the secret version. */
3037
+ version_id?: string;
3038
+ /** The date that the version of the secret was created. */
3039
+ creation_date?: string;
3040
+ /** The unique identifier for the entity that created the secret version. */
3041
+ created_by?: string;
3042
+ /** Indicates whether the payload for the secret version is stored and available. */
3043
+ payload_available?: boolean;
3044
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
3045
+ * service API.
3046
+ */
3047
+ downloaded?: boolean;
3048
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
3049
+ serial_number?: string;
3050
+ /** The date that the certificate expires. The date format follows RFC 3339. */
3051
+ expiration_date?: string;
3052
+ validity?: CertificateValidity;
3053
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
3054
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
3055
+ */
3056
+ state?: number;
3057
+ /** A text representation of the secret state. */
3058
+ state_description?: string;
3059
+ /** The timestamp of the certificate revocation. */
3060
+ revocation_time?: number;
3061
+ /** The date and time that the certificate was revoked. The date format follows RFC 3339. */
3062
+ revocation_time_rfc3339?: string;
3063
+ /** Indicates whether the version of the secret was created by automatic rotation. */
3064
+ auto_rotated?: boolean;
3065
+ }
2056
3066
  /** Configuration for the public certificates engine. */
2057
3067
  interface PublicCertSecretEngineRootConfig extends GetConfigResourcesItem {
2058
3068
  /** The certificate authority configurations that are associated with your instance. */
@@ -2133,6 +3143,9 @@ declare namespace SecretsManagerV1 {
2133
3143
  rotation?: Rotation;
2134
3144
  /** Issuance information that is associated with your certificate. */
2135
3145
  issuance_info?: IssuanceInfo;
3146
+ validity?: CertificateValidity;
3147
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
3148
+ serial_number?: string;
2136
3149
  }
2137
3150
  /** Properties that describe a secret. */
2138
3151
  interface PublicCertificateSecretResource extends SecretResource {
@@ -2213,8 +3226,13 @@ declare namespace SecretsManagerV1 {
2213
3226
  * provide more encryption protection.
2214
3227
  */
2215
3228
  key_algorithm?: string;
2216
- /** The alternative names that are defined for the certificate. */
2217
- alt_names?: string[];
3229
+ /** The alternative names that are defined for the certificate.
3230
+ *
3231
+ * For public certificates, this value is provided as an array of strings. For private certificates, this value is
3232
+ * provided as a comma-delimited list (string). In the API response, this value is returned as an array of strings
3233
+ * for all the types of certificate secrets.
3234
+ */
3235
+ alt_names?: any;
2218
3236
  /** The fully qualified domain name or host domain name for the certificate. */
2219
3237
  common_name?: string;
2220
3238
  /** Indicates whether the issued certificate includes a private key. */
@@ -2225,13 +3243,13 @@ declare namespace SecretsManagerV1 {
2225
3243
  /** Issuance information that is associated with your certificate. */
2226
3244
  issuance_info?: IssuanceInfo;
2227
3245
  validity?: CertificateValidity;
3246
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
3247
+ serial_number?: string;
2228
3248
  /** The data that is associated with the secret. The data object contains the following fields:
2229
3249
  *
2230
- * `certificate`: The contents of the certificate.
2231
- *
2232
- * `private_key`: The private key that is associated with the certificate.
2233
- *
2234
- * `intermediate`: The intermediate certificate that is associated with the certificate.
3250
+ * - `certificate`: The contents of the certificate.
3251
+ * - `private_key`: The private key that is associated with the certificate.
3252
+ * - `intermediate`: The intermediate certificate that is associated with the certificate.
2235
3253
  */
2236
3254
  secret_data?: JsonObject;
2237
3255
  }
@@ -2240,6 +3258,138 @@ declare namespace SecretsManagerV1 {
2240
3258
  /** The ID of the target version or the alias `previous`. */
2241
3259
  version_id: string;
2242
3260
  }
3261
+ /** A request to revoke the certificate of an internally signed intermediate certificate authority. */
3262
+ interface RevokeAction extends ConfigAction {
3263
+ /** The serial number of the certificate. */
3264
+ serial_number: string;
3265
+ }
3266
+ /** Properties that are returned with a successful `revoke` action. */
3267
+ interface RevokeActionResult extends ConfigElementActionResultConfig {
3268
+ /** The time until the certificate authority is revoked. */
3269
+ revocation_time?: number;
3270
+ }
3271
+ /** Root certificate authorities configuration. */
3272
+ interface RootCertificateAuthoritiesConfig extends GetConfigElementsResourcesItem {
3273
+ root_certificate_authorities: RootCertificateAuthoritiesConfigItem[];
3274
+ }
3275
+ /** Root certificate authority configuration. */
3276
+ interface RootCertificateAuthorityConfig extends ConfigElementDefConfig {
3277
+ /** The maximum time-to-live (TTL) for certificates that are created by this CA.
3278
+ *
3279
+ * The value can be supplied as a string representation of a duration in hours, for example '8760h'. In the API
3280
+ * response, this value is returned in seconds (integer).
3281
+ *
3282
+ * Minimum value is one hour (`1h`). Maximum value is 100 years (`876000h`).
3283
+ */
3284
+ max_ttl: any;
3285
+ /** The time until the certificate revocation list (CRL) expires.
3286
+ *
3287
+ * The value can be supplied as a string representation of a duration in hours, such as `48h`. The default is 72
3288
+ * hours. In the API response, this value is returned in seconds (integer).
3289
+ *
3290
+ * **Note:** The CRL is rotated automatically before it expires.
3291
+ */
3292
+ crl_expiry?: any;
3293
+ /** Disables or enables certificate revocation list (CRL) building.
3294
+ *
3295
+ * If CRL building is disabled, a signed but zero-length CRL is returned when downloading the CRL. If CRL building
3296
+ * is enabled, it will rebuild the CRL.
3297
+ */
3298
+ crl_disable?: boolean;
3299
+ /** Determines whether to encode the certificate revocation list (CRL) distribution points in the certificates
3300
+ * that are issued by this certificate authority.
3301
+ */
3302
+ crl_distribution_points_encoded?: boolean;
3303
+ /** Determines whether to encode the URL of the issuing certificate in the certificates that are issued by this
3304
+ * certificate authority.
3305
+ */
3306
+ issuing_certificates_urls_encoded?: boolean;
3307
+ /** The fully qualified domain name or host domain name for the certificate. */
3308
+ common_name: string;
3309
+ /** The status of the certificate authority. The status of a root certificate authority is either `configured`
3310
+ * or `expired`. For intermediate certificate authorities, possible statuses include `signing_required`,
3311
+ * `signed_certificate_required`, `certificate_template_required`, `configured`, `expired` or `revoked`.
3312
+ */
3313
+ status?: string;
3314
+ /** The date that the certificate expires. The date format follows RFC 3339. */
3315
+ expiration_date?: string;
3316
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
3317
+ *
3318
+ * The alternative names can be host names or email addresses.
3319
+ */
3320
+ alt_names?: string;
3321
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3322
+ ip_sans?: string;
3323
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3324
+ uri_sans?: string;
3325
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
3326
+ * certificate.
3327
+ *
3328
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
3329
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
3330
+ * valid type is `UTF8`.
3331
+ */
3332
+ other_sans?: string[];
3333
+ /** The time-to-live (TTL) to assign to this CA certificate.
3334
+ *
3335
+ * The value can be supplied as a string representation of a duration, such as `12h`. The value can't exceed the
3336
+ * `max_ttl` that is defined in the associated certificate template. In the API response, this value is returned in
3337
+ * seconds (integer).
3338
+ */
3339
+ ttl?: any;
3340
+ /** The format of the returned data. */
3341
+ format?: string;
3342
+ /** The format of the generated private key. */
3343
+ private_key_format?: string;
3344
+ /** The type of private key to generate. */
3345
+ key_type?: string;
3346
+ /** The number of bits to use when generating the private key.
3347
+ *
3348
+ * Allowable values for RSA keys are: `2048` and `4096`. Allowable values for EC keys are: `224`, `256`, `384`, and
3349
+ * `521`. The default for RSA keys is `2048`. The default for EC keys is `256`.
3350
+ */
3351
+ key_bits?: number;
3352
+ /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3353
+ *
3354
+ * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
3355
+ * signing certificate. A limit of `0` means a literal path length of zero.
3356
+ */
3357
+ max_path_length?: number;
3358
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
3359
+ *
3360
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
3361
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
3362
+ */
3363
+ exclude_cn_from_sans?: boolean;
3364
+ /** The allowed DNS domains or subdomains for the certificates to be signed and issued by this CA certificate. */
3365
+ permitted_dns_domains?: string[];
3366
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting certificate. */
3367
+ ou?: string[];
3368
+ /** The Organization (O) values to define in the subject field of the resulting certificate. */
3369
+ organization?: string[];
3370
+ /** The Country (C) values to define in the subject field of the resulting certificate. */
3371
+ country?: string[];
3372
+ /** The Locality (L) values to define in the subject field of the resulting certificate. */
3373
+ locality?: string[];
3374
+ /** The Province (ST) values to define in the subject field of the resulting certificate. */
3375
+ province?: string[];
3376
+ /** The Street Address values in the subject field of the resulting certificate. */
3377
+ street_address?: string[];
3378
+ /** The Postal Code values in the subject field of the resulting certificate. */
3379
+ postal_code?: string[];
3380
+ /** The serial number to assign to the generated certificate. To assign a random serial number, you can omit
3381
+ * this field.
3382
+ */
3383
+ serial_number?: string;
3384
+ /** The data that is associated with the root certificate authority. The data object contains the following
3385
+ * fields:
3386
+ *
3387
+ * - `certificate`: The root certificate content.
3388
+ * - `issuing_ca`: The certificate of the certificate authority that signed and issued this certificate.
3389
+ * - `serial_number`: The unique serial number of the root certificate.
3390
+ */
3391
+ data?: JsonObject;
3392
+ }
2243
3393
  /** The request body of a `rotate` action. */
2244
3394
  interface RotateArbitrarySecretBody extends SecretAction {
2245
3395
  /** The new secret data to assign to an `arbitrary` secret. */
@@ -2254,6 +3404,9 @@ declare namespace SecretsManagerV1 {
2254
3404
  /** The new intermediate certificate to associate with the certificate. */
2255
3405
  intermediate?: string;
2256
3406
  }
3407
+ /** Properties that are returned with a successful `rotate_crl` action. */
3408
+ interface RotateCrlActionResult extends ConfigElementActionResultConfig {
3409
+ }
2257
3410
  /** The request body of a `rotate` action. */
2258
3411
  interface RotateKvSecretBody extends SecretAction {
2259
3412
  /** The new secret data to assign to a key-value secret. */
@@ -2271,9 +3424,9 @@ declare namespace SecretsManagerV1 {
2271
3424
  }
2272
3425
  /** The secret rotation time interval. */
2273
3426
  interface SecretPolicyRotationRotationPolicyRotation extends SecretPolicyRotationRotation {
2274
- /** Specifies the length of the secret rotation time interval. */
3427
+ /** The length of the secret rotation time interval. */
2275
3428
  interval: number;
2276
- /** Specifies the units for the secret rotation time interval. */
3429
+ /** The units for the secret rotation time interval. */
2277
3430
  unit: string;
2278
3431
  }
2279
3432
  /** The `public_cert` secret rotation policy. */
@@ -2281,6 +3434,324 @@ declare namespace SecretsManagerV1 {
2281
3434
  auto_rotate: boolean;
2282
3435
  rotate_keys: boolean;
2283
3436
  }
3437
+ /** A request to set a signed certificate in an intermediate certificate authority. */
3438
+ interface SetSignedAction extends ConfigAction {
3439
+ /** The PEM-encoded certificate. */
3440
+ certificate: string;
3441
+ }
3442
+ /** Properties that are returned with a successful `set_signed` action. */
3443
+ interface SetSignedActionResult extends ConfigElementActionResultConfig {
3444
+ }
3445
+ /** A request to sign a certificate signing request (CSR). */
3446
+ interface SignCsrAction extends ConfigAction {
3447
+ /** The fully qualified domain name or host domain name for the certificate. */
3448
+ common_name?: string;
3449
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
3450
+ *
3451
+ * The alternative names can be host names or email addresses.
3452
+ */
3453
+ alt_names?: string;
3454
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3455
+ ip_sans?: string;
3456
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3457
+ uri_sans?: string;
3458
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
3459
+ * certificate.
3460
+ *
3461
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
3462
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
3463
+ * valid type is `UTF8`.
3464
+ */
3465
+ other_sans?: string[];
3466
+ /** The time-to-live (TTL) to assign to a private certificate.
3467
+ *
3468
+ * The value can be supplied as a string representation of a duration in hours, such as `12h`. The value can't
3469
+ * exceed the `max_ttl` that is defined in the associated certificate template.
3470
+ */
3471
+ ttl?: any;
3472
+ /** The format of the returned data. */
3473
+ format?: string;
3474
+ /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3475
+ *
3476
+ * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
3477
+ * signing certificate. A limit of `0` means a literal path length of zero.
3478
+ */
3479
+ max_path_length?: number;
3480
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
3481
+ *
3482
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
3483
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
3484
+ */
3485
+ exclude_cn_from_sans?: boolean;
3486
+ /** The allowed DNS domains or subdomains for the certificates to be signed and issued by this CA certificate. */
3487
+ permitted_dns_domains?: string[];
3488
+ /** Determines whether to use values from a certificate signing request (CSR) to complete a `sign_csr` action.
3489
+ * If set to `true`, then:
3490
+ *
3491
+ * 1) Subject information, including names and alternate names, are preserved from the CSR rather than using the
3492
+ * values provided in the other parameters to this operation.
3493
+ *
3494
+ * 2) Any key usages (for example, non-repudiation) that are requested in the CSR are added to the basic set of key
3495
+ * usages used for CA certs signed by this intermediate authority.
3496
+ *
3497
+ * 3) Extensions that are requested in the CSR are copied into the issued private certificate.
3498
+ */
3499
+ use_csr_values?: boolean;
3500
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting certificate. */
3501
+ ou?: string[];
3502
+ /** The Organization (O) values to define in the subject field of the resulting certificate. */
3503
+ organization?: string[];
3504
+ /** The Country (C) values to define in the subject field of the resulting certificate. */
3505
+ country?: string[];
3506
+ /** The Locality (L) values to define in the subject field of the resulting certificate. */
3507
+ locality?: string[];
3508
+ /** The Province (ST) values to define in the subject field of the resulting certificate. */
3509
+ province?: string[];
3510
+ /** The Street Address values in the subject field of the resulting certificate. */
3511
+ street_address?: string[];
3512
+ /** The Postal Code values in the subject field of the resulting certificate. */
3513
+ postal_code?: string[];
3514
+ /** The serial number to assign to the generated certificate. To assign a random serial number, you can omit
3515
+ * this field.
3516
+ */
3517
+ serial_number?: string;
3518
+ /** The PEM-encoded certificate signing request (CSR). This field is required for the `sign_csr` action. */
3519
+ csr: string;
3520
+ }
3521
+ /** Properties that are returned with a successful `sign_csr` action. */
3522
+ interface SignCsrActionResult extends ConfigElementActionResultConfig {
3523
+ /** The fully qualified domain name or host domain name for the certificate. */
3524
+ common_name?: string;
3525
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
3526
+ *
3527
+ * The alternative names can be host names or email addresses.
3528
+ */
3529
+ alt_names?: string;
3530
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3531
+ ip_sans?: string;
3532
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3533
+ uri_sans?: string;
3534
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
3535
+ * certificate.
3536
+ *
3537
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
3538
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
3539
+ * valid type is `UTF8`.
3540
+ */
3541
+ other_sans?: string[];
3542
+ /** The time-to-live (TTL) to assign to a private certificate.
3543
+ *
3544
+ * The value can be supplied as a string representation of a duration in hours, such as `12h`. The value can't
3545
+ * exceed the `max_ttl` that is defined in the associated certificate template.
3546
+ */
3547
+ ttl?: any;
3548
+ /** The format of the returned data. */
3549
+ format?: string;
3550
+ /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3551
+ *
3552
+ * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
3553
+ * signing certificate. A limit of `0` means a literal path length of zero.
3554
+ */
3555
+ max_path_length?: number;
3556
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
3557
+ *
3558
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
3559
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
3560
+ */
3561
+ exclude_cn_from_sans?: boolean;
3562
+ /** The allowed DNS domains or subdomains for the certificates to be signed and issued by this CA certificate. */
3563
+ permitted_dns_domains?: string[];
3564
+ /** Determines whether to use values from a certificate signing request (CSR) to complete a `sign_csr` action.
3565
+ * If set to `true`, then:
3566
+ *
3567
+ * 1) Subject information, including names and alternate names, are preserved from the CSR rather than using the
3568
+ * values provided in the other parameters to this operation.
3569
+ *
3570
+ * 2) Any key usages (for example, non-repudiation) that are requested in the CSR are added to the basic set of key
3571
+ * usages used for CA certs signed by this intermediate authority.
3572
+ *
3573
+ * 3) Extensions that are requested in the CSR are copied into the issued private certificate.
3574
+ */
3575
+ use_csr_values?: boolean;
3576
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting certificate. */
3577
+ ou?: string[];
3578
+ /** The Organization (O) values to define in the subject field of the resulting certificate. */
3579
+ organization?: string[];
3580
+ /** The Country (C) values to define in the subject field of the resulting certificate. */
3581
+ country?: string[];
3582
+ /** The Locality (L) values to define in the subject field of the resulting certificate. */
3583
+ locality?: string[];
3584
+ /** The Province (ST) values to define in the subject field of the resulting certificate. */
3585
+ province?: string[];
3586
+ /** The Street Address values in the subject field of the resulting certificate. */
3587
+ street_address?: string[];
3588
+ /** The Postal Code values in the subject field of the resulting certificate. */
3589
+ postal_code?: string[];
3590
+ /** The serial number to assign to the generated certificate. To assign a random serial number, you can omit
3591
+ * this field.
3592
+ */
3593
+ serial_number?: string;
3594
+ /** Properties that are returned with a successful `sign` action. */
3595
+ data: SignActionResultData;
3596
+ /** The PEM-encoded certificate signing request (CSR). */
3597
+ csr: string;
3598
+ }
3599
+ /** A request to sign an intermediate certificate authority. */
3600
+ interface SignIntermediateAction extends ConfigAction {
3601
+ /** The fully qualified domain name or host domain name for the certificate. */
3602
+ common_name?: string;
3603
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
3604
+ *
3605
+ * The alternative names can be host names or email addresses.
3606
+ */
3607
+ alt_names?: string;
3608
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3609
+ ip_sans?: string;
3610
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3611
+ uri_sans?: string;
3612
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
3613
+ * certificate.
3614
+ *
3615
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
3616
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
3617
+ * valid type is `UTF8`.
3618
+ */
3619
+ other_sans?: string[];
3620
+ /** The time-to-live (TTL) to assign to a private certificate.
3621
+ *
3622
+ * The value can be supplied as a string representation of a duration in hours, such as `12h`. The value can't
3623
+ * exceed the `max_ttl` that is defined in the associated certificate template.
3624
+ */
3625
+ ttl?: any;
3626
+ /** The format of the returned data. */
3627
+ format?: string;
3628
+ /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3629
+ *
3630
+ * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
3631
+ * signing certificate. A limit of `0` means a literal path length of zero.
3632
+ */
3633
+ max_path_length?: number;
3634
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
3635
+ *
3636
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
3637
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
3638
+ */
3639
+ exclude_cn_from_sans?: boolean;
3640
+ /** The allowed DNS domains or subdomains for the certificates to be signed and issued by this CA certificate. */
3641
+ permitted_dns_domains?: string[];
3642
+ /** Determines whether to use values from a certificate signing request (CSR) to complete a `sign_csr` action.
3643
+ * If set to `true`, then:
3644
+ *
3645
+ * 1) Subject information, including names and alternate names, are preserved from the CSR rather than using the
3646
+ * values provided in the other parameters to this operation.
3647
+ *
3648
+ * 2) Any key usages (for example, non-repudiation) that are requested in the CSR are added to the basic set of key
3649
+ * usages used for CA certs signed by this intermediate authority.
3650
+ *
3651
+ * 3) Extensions that are requested in the CSR are copied into the issued private certificate.
3652
+ */
3653
+ use_csr_values?: boolean;
3654
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting certificate. */
3655
+ ou?: string[];
3656
+ /** The Organization (O) values to define in the subject field of the resulting certificate. */
3657
+ organization?: string[];
3658
+ /** The Country (C) values to define in the subject field of the resulting certificate. */
3659
+ country?: string[];
3660
+ /** The Locality (L) values to define in the subject field of the resulting certificate. */
3661
+ locality?: string[];
3662
+ /** The Province (ST) values to define in the subject field of the resulting certificate. */
3663
+ province?: string[];
3664
+ /** The Street Address values in the subject field of the resulting certificate. */
3665
+ street_address?: string[];
3666
+ /** The Postal Code values in the subject field of the resulting certificate. */
3667
+ postal_code?: string[];
3668
+ /** The serial number to assign to the generated certificate. To assign a random serial number, you can omit
3669
+ * this field.
3670
+ */
3671
+ serial_number?: string;
3672
+ /** The intermediate certificate authority to be signed. The name must match one of the pre-configured
3673
+ * intermediate certificate authorities.
3674
+ */
3675
+ intermediate_certificate_authority: string;
3676
+ }
3677
+ /** Properties that are returned with a successful `sign_intermediate` action. */
3678
+ interface SignIntermediateActionResult extends ConfigElementActionResultConfig {
3679
+ /** The fully qualified domain name or host domain name for the certificate. */
3680
+ common_name?: string;
3681
+ /** The Subject Alternative Names to define for the CA certificate, in a comma-delimited list.
3682
+ *
3683
+ * The alternative names can be host names or email addresses.
3684
+ */
3685
+ alt_names?: string;
3686
+ /** The IP Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3687
+ ip_sans?: string;
3688
+ /** The URI Subject Alternative Names to define for the CA certificate, in a comma-delimited list. */
3689
+ uri_sans?: string;
3690
+ /** The custom Object Identifier (OID) or UTF8-string Subject Alternative Names to define for the CA
3691
+ * certificate.
3692
+ *
3693
+ * The alternative names must match the values that are specified in the `allowed_other_sans` field in the
3694
+ * associated certificate template. The format is the same as OpenSSL: `<oid>:<type>:<value>` where the current
3695
+ * valid type is `UTF8`.
3696
+ */
3697
+ other_sans?: string[];
3698
+ /** The time-to-live (TTL) to assign to a private certificate.
3699
+ *
3700
+ * The value can be supplied as a string representation of a duration in hours, such as `12h`. The value can't
3701
+ * exceed the `max_ttl` that is defined in the associated certificate template.
3702
+ */
3703
+ ttl?: any;
3704
+ /** The format of the returned data. */
3705
+ format?: string;
3706
+ /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3707
+ *
3708
+ * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
3709
+ * signing certificate. A limit of `0` means a literal path length of zero.
3710
+ */
3711
+ max_path_length?: number;
3712
+ /** Controls whether the common name is excluded from Subject Alternative Names (SANs).
3713
+ *
3714
+ * If set to `true`, the common name is is not included in DNS or Email SANs if they apply. This field can be
3715
+ * useful if the common name is not a hostname or an email address, but is instead a human-readable identifier.
3716
+ */
3717
+ exclude_cn_from_sans?: boolean;
3718
+ /** The allowed DNS domains or subdomains for the certificates to be signed and issued by this CA certificate. */
3719
+ permitted_dns_domains?: string[];
3720
+ /** Determines whether to use values from a certificate signing request (CSR) to complete a `sign_csr` action.
3721
+ * If set to `true`, then:
3722
+ *
3723
+ * 1) Subject information, including names and alternate names, are preserved from the CSR rather than using the
3724
+ * values provided in the other parameters to this operation.
3725
+ *
3726
+ * 2) Any key usages (for example, non-repudiation) that are requested in the CSR are added to the basic set of key
3727
+ * usages used for CA certs signed by this intermediate authority.
3728
+ *
3729
+ * 3) Extensions that are requested in the CSR are copied into the issued private certificate.
3730
+ */
3731
+ use_csr_values?: boolean;
3732
+ /** The Organizational Unit (OU) values to define in the subject field of the resulting certificate. */
3733
+ ou?: string[];
3734
+ /** The Organization (O) values to define in the subject field of the resulting certificate. */
3735
+ organization?: string[];
3736
+ /** The Country (C) values to define in the subject field of the resulting certificate. */
3737
+ country?: string[];
3738
+ /** The Locality (L) values to define in the subject field of the resulting certificate. */
3739
+ locality?: string[];
3740
+ /** The Province (ST) values to define in the subject field of the resulting certificate. */
3741
+ province?: string[];
3742
+ /** The Street Address values in the subject field of the resulting certificate. */
3743
+ street_address?: string[];
3744
+ /** The Postal Code values in the subject field of the resulting certificate. */
3745
+ postal_code?: string[];
3746
+ /** The serial number to assign to the generated certificate. To assign a random serial number, you can omit
3747
+ * this field.
3748
+ */
3749
+ serial_number?: string;
3750
+ /** Properties that are returned with a successful `sign` action. */
3751
+ data: SignIntermediateActionResultData;
3752
+ /** The signed intermediate certificate authority. */
3753
+ intermediate_certificate_authority: string;
3754
+ }
2284
3755
  /** Metadata properties that describe a username_password secret. */
2285
3756
  interface UsernamePasswordSecretMetadata extends SecretMetadata {
2286
3757
  /** The unique ID of the secret. */
@@ -2394,8 +3865,9 @@ declare namespace SecretsManagerV1 {
2394
3865
  /** The password to assign to this secret. */
2395
3866
  password?: string;
2396
3867
  /** The data that is associated with the secret version. The data object contains the following fields:
2397
- * `username`: The username that is associated with the secret version.
2398
- * `password`: The password that is associated with the secret version.
3868
+ *
3869
+ * - `username`: The username that is associated with the secret version.
3870
+ * - `password`: The password that is associated with the secret version.
2399
3871
  */
2400
3872
  secret_data?: JsonObject;
2401
3873
  /** The date the secret material expires. The date format follows RFC 3339.
@@ -2428,8 +3900,9 @@ declare namespace SecretsManagerV1 {
2428
3900
  /** Indicates whether the version of the secret was created by automatic rotation. */
2429
3901
  auto_rotated?: boolean;
2430
3902
  /** The data that is associated with the secret version. The data object contains the following fields:
2431
- * `username`: The username that is associated with the secret version.
2432
- * `password`: The password that is associated with the secret version.
3903
+ *
3904
+ * - `username`: The username that is associated with the secret version.
3905
+ * - `password`: The password that is associated with the secret version.
2433
3906
  */
2434
3907
  secret_data?: JsonObject;
2435
3908
  }