@ibm-cloud/secrets-manager 1.0.1 → 1.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * (C) Copyright IBM Corp. 2021.
2
+ * (C) Copyright IBM Corp. 2022.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -18,8 +18,8 @@ import { IncomingHttpHeaders, OutgoingHttpHeaders } from 'http';
18
18
  import { BaseService, UserOptions } from 'ibm-cloud-sdk-core';
19
19
  /**
20
20
  * With IBM Cloud® Secrets Manager, you can create, lease, and centrally manage secrets that are used in IBM Cloud
21
- * services or your custom-built applications. Secrets are stored in a dedicated instance of Secrets Manager, built on
22
- * open source HashiCorp Vault.
21
+ * services or your custom-built applications. Secrets are stored in a dedicated instance of Secrets Manager, which is
22
+ * built on open source HashiCorp Vault.
23
23
  *
24
24
  * API Version: 1.0.0
25
25
  * See: https://cloud.ibm.com/docs/secrets-manager
@@ -124,7 +124,7 @@ declare class SecretsManagerV1 extends BaseService {
124
124
  /**
125
125
  * Create a secret.
126
126
  *
127
- * Creates a secret or imports an existing value that you can use to access or authenticate to a protected resource.
127
+ * Create a secret or import an existing value that you can use to access or authenticate to a protected resource.
128
128
  *
129
129
  * Use this method to either generate or import an existing secret, such as an arbitrary value or a TLS certificate,
130
130
  * that you can manage in your Secrets Manager service instance. A successful request stores the secret in your
@@ -204,7 +204,7 @@ declare class SecretsManagerV1 extends BaseService {
204
204
  /**
205
205
  * Get a secret.
206
206
  *
207
- * Retrieves a secret and its details by specifying the ID of the secret.
207
+ * Get a secret and its details by specifying the ID of the secret.
208
208
  *
209
209
  * A successful request returns the secret data that is associated with your secret, along with other metadata. To
210
210
  * view only the details of a specified secret without retrieving its value, use the [Get secret
@@ -222,14 +222,16 @@ declare class SecretsManagerV1 extends BaseService {
222
222
  *
223
223
  * Invokes an action on a specified secret. This method supports the following actions:
224
224
  *
225
- * - `rotate`: Replace the value of an `arbitrary`, `username_password`, `public_cert` or `imported_cert` secret.
225
+ * - `rotate`: Replace the value of a secret.
226
+ * - `restore`: Restore a previous version of an `iam_credentials` secret.
227
+ * - `revoke`: Revoke a private certificate.
226
228
  * - `delete_credentials`: Delete the API key that is associated with an `iam_credentials` secret.
227
229
  *
228
230
  * @param {Object} params - The parameters to send to the service.
229
231
  * @param {string} params.secretType - The secret type.
230
232
  * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
231
233
  * @param {string} params.action - The action to perform on the specified secret.
232
- * @param {SecretAction} params.secretAction - The properties to update for the secret.
234
+ * @param {SecretAction} [params.secretAction] - The properties to update for the secret.
233
235
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
234
236
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecret>>}
235
237
  */
@@ -246,6 +248,20 @@ declare class SecretsManagerV1 extends BaseService {
246
248
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>}
247
249
  */
248
250
  deleteSecret(params: SecretsManagerV1.DeleteSecretParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>;
251
+ /**
252
+ * List versions of a secret.
253
+ *
254
+ * Retrieves a list of the versions of a secret.
255
+ *
256
+ * A successful request returns the list of the versions along with the metadata of each version.
257
+ *
258
+ * @param {Object} params - The parameters to send to the service.
259
+ * @param {string} params.secretType - The secret type.
260
+ * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
261
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
262
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.ListSecretVersions>>}
263
+ */
264
+ listSecretVersions(params: SecretsManagerV1.ListSecretVersionsParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.ListSecretVersions>>;
249
265
  /**
250
266
  * Get a version of a secret.
251
267
  *
@@ -255,7 +271,7 @@ declare class SecretsManagerV1 extends BaseService {
255
271
  * with other metadata.
256
272
  *
257
273
  * @param {Object} params - The parameters to send to the service.
258
- * @param {string} params.secretType - The secret type. Supported options include: imported_cert.
274
+ * @param {string} params.secretType - The secret type.
259
275
  * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
260
276
  * @param {string} params.versionId - The v4 UUID that uniquely identifies the secret version. You can also use
261
277
  * `previous` to retrieve the previous version.
@@ -274,7 +290,7 @@ declare class SecretsManagerV1 extends BaseService {
274
290
  * A successful request returns the metadata that is associated with the specified version of your secret.
275
291
  *
276
292
  * @param {Object} params - The parameters to send to the service.
277
- * @param {string} params.secretType - The secret type. Supported options include: imported_cert.
293
+ * @param {string} params.secretType - The secret type.
278
294
  * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
279
295
  * @param {string} params.versionId - The v4 UUID that uniquely identifies the secret version. You can also use
280
296
  * `previous` to retrieve the previous version.
@@ -364,11 +380,7 @@ declare class SecretsManagerV1 extends BaseService {
364
380
  *
365
381
  * @param {Object} params - The parameters to send to the service.
366
382
  * @param {string} params.secretType - The secret type.
367
- * @param {string} params.apiKey - An IBM Cloud API key that has the capability to create and manage service IDs.
368
- *
369
- * The API key must be assigned the Editor platform role on the Access Groups Service and the Operator platform role
370
- * on the IAM Identity Service. For more information, see [Configuring the IAM secrets
371
- * engine](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-iam-credentials#configure-iam-secrets-engine-api).
383
+ * @param {EngineConfig} params.engineConfig - Properties to update for a secrets engine.
372
384
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
373
385
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>}
374
386
  */
@@ -389,8 +401,16 @@ declare class SecretsManagerV1 extends BaseService {
389
401
  *
390
402
  * Adds a configuration element to the specified secret type.
391
403
  *
392
- * Use this method to define the configurations that are required to enable the public certificates (`public_cert`)
393
- * engine. You can add up to 10 certificate authority and DNS provider configurations for your instance.
404
+ * Use this method to define the configurations that are required to enable the public certificates (`public_cert`)
405
+ * engine and the private certificates (`private_cert`) engine.
406
+ *
407
+ * You can add multiple configurations for your instance as follows:
408
+ *
409
+ * - Up to 10 public certificate authority configurations
410
+ * - Up to 10 DNS provider configurations
411
+ * - Up to 10 private root certifiate authority configurations
412
+ * - Up to 10 private intermediate certifiate authority configurations
413
+ * - Up to 10 certificate templates.
394
414
  *
395
415
  * @param {Object} params - The parameters to send to the service.
396
416
  * @param {string} params.secretType - The secret type.
@@ -415,6 +435,19 @@ declare class SecretsManagerV1 extends BaseService {
415
435
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetConfigElements>>}
416
436
  */
417
437
  getConfigElements(params: SecretsManagerV1.GetConfigElementsParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetConfigElements>>;
438
+ /**
439
+ * Get a configuration.
440
+ *
441
+ * Retrieves the details of a specific configuration that is associated with a secret type.
442
+ *
443
+ * @param {Object} params - The parameters to send to the service.
444
+ * @param {string} params.secretType - The secret type.
445
+ * @param {string} params.configElement - The configuration element to define or manage.
446
+ * @param {string} params.configName - The name of your configuration.
447
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
448
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>}
449
+ */
450
+ getConfigElement(params: SecretsManagerV1.GetConfigElementParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>;
418
451
  /**
419
452
  * Update a configuration.
420
453
  *
@@ -426,15 +459,15 @@ declare class SecretsManagerV1 extends BaseService {
426
459
  * @param {string} params.configName - The name of your configuration.
427
460
  * @param {string} params.type - The type of configuration. Value options differ depending on the `config_element`
428
461
  * property that you want to define.
429
- * @param {JsonObject} params.config -
462
+ * @param {JsonObject} params.config - Properties that describe a configuration, which depends on type.
430
463
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
431
464
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>}
432
465
  */
433
466
  updateConfigElement(params: SecretsManagerV1.UpdateConfigElementParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>;
434
467
  /**
435
- * Remove a configuration.
468
+ * Delete a configuration.
436
469
  *
437
- * Removes a configuration element from the specified secret type.
470
+ * Deletes a configuration element from the specified secret type.
438
471
  *
439
472
  * @param {Object} params - The parameters to send to the service.
440
473
  * @param {string} params.secretType - The secret type.
@@ -444,19 +477,67 @@ declare class SecretsManagerV1 extends BaseService {
444
477
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>}
445
478
  */
446
479
  deleteConfigElement(params: SecretsManagerV1.DeleteConfigElementParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>;
480
+ /*************************
481
+ * notifications
482
+ ************************/
447
483
  /**
448
- * Get a configuration.
484
+ * Register with Event Notifications.
449
485
  *
450
- * Retrieves the details of a specific configuration that is associated with a secret type.
486
+ * Creates a registration between a Secrets Manager instance and [Event
487
+ * Notifications](https://cloud.ibm.com/apidocs/event-notifications).
488
+ *
489
+ * A successful request adds Secrets Manager as a source that you can reference from your Event Notifications
490
+ * instance. For more information about enabling notifications for Secrets Manager, check out the
491
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-event-notifications).
451
492
  *
452
493
  * @param {Object} params - The parameters to send to the service.
453
- * @param {string} params.secretType - The secret type.
454
- * @param {string} params.configElement - The configuration element to define or manage.
455
- * @param {string} params.configName - The name of your configuration.
494
+ * @param {string} params.eventNotificationsInstanceCrn - The Cloud Resource Name (CRN) of the connected Event
495
+ * Notifications instance.
496
+ * @param {string} params.eventNotificationsSourceName - The name that is displayed as a source in your Event
497
+ * Notifications instance.
498
+ * @param {string} [params.eventNotificationsSourceDescription] - An optional description for the source in your Event
499
+ * Notifications instance.
456
500
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
457
- * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>}
501
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetNotificationsSettings>>}
458
502
  */
459
- getConfigElement(params: SecretsManagerV1.GetConfigElementParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>;
503
+ createNotificationsRegistration(params: SecretsManagerV1.CreateNotificationsRegistrationParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetNotificationsSettings>>;
504
+ /**
505
+ * Get Event Notifications registration details.
506
+ *
507
+ * Retrieves the details of an existing registration between a Secrets Manager instance and Event Notifications.
508
+ *
509
+ * @param {Object} [params] - The parameters to send to the service.
510
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
511
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetNotificationsSettings>>}
512
+ */
513
+ getNotificationsRegistration(params?: SecretsManagerV1.GetNotificationsRegistrationParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetNotificationsSettings>>;
514
+ /**
515
+ * Unregister from Event Notifications.
516
+ *
517
+ * Deletes a registration between a Secrets Manager instance and Event Notifications.
518
+ *
519
+ * A successful request removes your Secrets Manager instance as a source in Event Notifications.
520
+ *
521
+ * @param {Object} [params] - The parameters to send to the service.
522
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
523
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>}
524
+ */
525
+ deleteNotificationsRegistration(params?: SecretsManagerV1.DeleteNotificationsRegistrationParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>;
526
+ /**
527
+ * Send test event.
528
+ *
529
+ * Send a test event from a Secrets Manager instance to a configured [Event
530
+ * Notifications](https://cloud.ibm.com/apidocs/event-notifications) instance.
531
+ *
532
+ * A successful request sends a test event to the Event Notifications instance. For more information about enabling
533
+ * notifications for Secrets Manager, check out the
534
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-event-notifications).
535
+ *
536
+ * @param {Object} [params] - The parameters to send to the service.
537
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
538
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>}
539
+ */
540
+ sendTestNotification(params?: SecretsManagerV1.SendTestNotificationParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>;
460
541
  }
461
542
  /*************************
462
543
  * interfaces
@@ -533,7 +614,9 @@ declare namespace SecretsManagerV1 {
533
614
  IAM_CREDENTIALS = "iam_credentials",
534
615
  IMPORTED_CERT = "imported_cert",
535
616
  PUBLIC_CERT = "public_cert",
536
- USERNAME_PASSWORD = "username_password"
617
+ PRIVATE_CERT = "private_cert",
618
+ USERNAME_PASSWORD = "username_password",
619
+ KV = "kv"
537
620
  }
538
621
  }
539
622
  /** Parameters for the `listSecrets` operation. */
@@ -564,7 +647,9 @@ declare namespace SecretsManagerV1 {
564
647
  IAM_CREDENTIALS = "iam_credentials",
565
648
  IMPORTED_CERT = "imported_cert",
566
649
  PUBLIC_CERT = "public_cert",
567
- USERNAME_PASSWORD = "username_password"
650
+ PRIVATE_CERT = "private_cert",
651
+ USERNAME_PASSWORD = "username_password",
652
+ KV = "kv"
568
653
  }
569
654
  }
570
655
  /** Parameters for the `listAllSecrets` operation. */
@@ -634,7 +719,9 @@ declare namespace SecretsManagerV1 {
634
719
  IAM_CREDENTIALS = "iam_credentials",
635
720
  IMPORTED_CERT = "imported_cert",
636
721
  PUBLIC_CERT = "public_cert",
637
- USERNAME_PASSWORD = "username_password"
722
+ PRIVATE_CERT = "private_cert",
723
+ USERNAME_PASSWORD = "username_password",
724
+ KV = "kv"
638
725
  }
639
726
  }
640
727
  /** Parameters for the `updateSecret` operation. */
@@ -646,7 +733,7 @@ declare namespace SecretsManagerV1 {
646
733
  /** The action to perform on the specified secret. */
647
734
  action: UpdateSecretConstants.Action | string;
648
735
  /** The properties to update for the secret. */
649
- secretAction: SecretAction;
736
+ secretAction?: SecretAction;
650
737
  headers?: OutgoingHttpHeaders;
651
738
  }
652
739
  /** Constants for the `updateSecret` operation. */
@@ -657,11 +744,15 @@ declare namespace SecretsManagerV1 {
657
744
  IAM_CREDENTIALS = "iam_credentials",
658
745
  IMPORTED_CERT = "imported_cert",
659
746
  PUBLIC_CERT = "public_cert",
660
- USERNAME_PASSWORD = "username_password"
747
+ PRIVATE_CERT = "private_cert",
748
+ USERNAME_PASSWORD = "username_password",
749
+ KV = "kv"
661
750
  }
662
751
  /** The action to perform on the specified secret. */
663
752
  enum Action {
664
753
  ROTATE = "rotate",
754
+ RESTORE = "restore",
755
+ REVOKE = "revoke",
665
756
  DELETE_CREDENTIALS = "delete_credentials"
666
757
  }
667
758
  }
@@ -681,12 +772,35 @@ declare namespace SecretsManagerV1 {
681
772
  IAM_CREDENTIALS = "iam_credentials",
682
773
  IMPORTED_CERT = "imported_cert",
683
774
  PUBLIC_CERT = "public_cert",
684
- USERNAME_PASSWORD = "username_password"
775
+ PRIVATE_CERT = "private_cert",
776
+ USERNAME_PASSWORD = "username_password",
777
+ KV = "kv"
778
+ }
779
+ }
780
+ /** Parameters for the `listSecretVersions` operation. */
781
+ interface ListSecretVersionsParams {
782
+ /** The secret type. */
783
+ secretType: ListSecretVersionsConstants.SecretType | string;
784
+ /** The v4 UUID that uniquely identifies the secret. */
785
+ id: string;
786
+ headers?: OutgoingHttpHeaders;
787
+ }
788
+ /** Constants for the `listSecretVersions` operation. */
789
+ namespace ListSecretVersionsConstants {
790
+ /** The secret type. */
791
+ enum SecretType {
792
+ ARBITRARY = "arbitrary",
793
+ IAM_CREDENTIALS = "iam_credentials",
794
+ IMPORTED_CERT = "imported_cert",
795
+ PUBLIC_CERT = "public_cert",
796
+ PRIVATE_CERT = "private_cert",
797
+ USERNAME_PASSWORD = "username_password",
798
+ KV = "kv"
685
799
  }
686
800
  }
687
801
  /** Parameters for the `getSecretVersion` operation. */
688
802
  interface GetSecretVersionParams {
689
- /** The secret type. Supported options include: imported_cert. */
803
+ /** The secret type. */
690
804
  secretType: GetSecretVersionConstants.SecretType | string;
691
805
  /** The v4 UUID that uniquely identifies the secret. */
692
806
  id: string;
@@ -701,15 +815,20 @@ declare namespace SecretsManagerV1 {
701
815
  }
702
816
  /** Constants for the `getSecretVersion` operation. */
703
817
  namespace GetSecretVersionConstants {
704
- /** The secret type. Supported options include: imported_cert. */
818
+ /** The secret type. */
705
819
  enum SecretType {
820
+ ARBITRARY = "arbitrary",
821
+ IAM_CREDENTIALS = "iam_credentials",
706
822
  IMPORTED_CERT = "imported_cert",
707
- PUBLIC_CERT = "public_cert"
823
+ PUBLIC_CERT = "public_cert",
824
+ PRIVATE_CERT = "private_cert",
825
+ USERNAME_PASSWORD = "username_password",
826
+ KV = "kv"
708
827
  }
709
828
  }
710
829
  /** Parameters for the `getSecretVersionMetadata` operation. */
711
830
  interface GetSecretVersionMetadataParams {
712
- /** The secret type. Supported options include: imported_cert. */
831
+ /** The secret type. */
713
832
  secretType: GetSecretVersionMetadataConstants.SecretType | string;
714
833
  /** The v4 UUID that uniquely identifies the secret. */
715
834
  id: string;
@@ -724,10 +843,15 @@ declare namespace SecretsManagerV1 {
724
843
  }
725
844
  /** Constants for the `getSecretVersionMetadata` operation. */
726
845
  namespace GetSecretVersionMetadataConstants {
727
- /** The secret type. Supported options include: imported_cert. */
846
+ /** The secret type. */
728
847
  enum SecretType {
848
+ ARBITRARY = "arbitrary",
849
+ IAM_CREDENTIALS = "iam_credentials",
729
850
  IMPORTED_CERT = "imported_cert",
730
- PUBLIC_CERT = "public_cert"
851
+ PUBLIC_CERT = "public_cert",
852
+ PRIVATE_CERT = "private_cert",
853
+ USERNAME_PASSWORD = "username_password",
854
+ KV = "kv"
731
855
  }
732
856
  }
733
857
  /** Parameters for the `getSecretMetadata` operation. */
@@ -746,7 +870,9 @@ declare namespace SecretsManagerV1 {
746
870
  IAM_CREDENTIALS = "iam_credentials",
747
871
  IMPORTED_CERT = "imported_cert",
748
872
  PUBLIC_CERT = "public_cert",
749
- USERNAME_PASSWORD = "username_password"
873
+ PRIVATE_CERT = "private_cert",
874
+ USERNAME_PASSWORD = "username_password",
875
+ KV = "kv"
750
876
  }
751
877
  }
752
878
  /** Parameters for the `updateSecretMetadata` operation. */
@@ -769,7 +895,9 @@ declare namespace SecretsManagerV1 {
769
895
  IAM_CREDENTIALS = "iam_credentials",
770
896
  IMPORTED_CERT = "imported_cert",
771
897
  PUBLIC_CERT = "public_cert",
772
- USERNAME_PASSWORD = "username_password"
898
+ PRIVATE_CERT = "private_cert",
899
+ USERNAME_PASSWORD = "username_password",
900
+ KV = "kv"
773
901
  }
774
902
  }
775
903
  /** Parameters for the `putPolicy` operation. */
@@ -791,7 +919,8 @@ declare namespace SecretsManagerV1 {
791
919
  /** The secret type. */
792
920
  enum SecretType {
793
921
  USERNAME_PASSWORD = "username_password",
794
- PUBLIC_CERT = "public_cert"
922
+ PUBLIC_CERT = "public_cert",
923
+ PRIVATE_CERT = "private_cert"
795
924
  }
796
925
  /** The type of policy that is associated with the specified secret. */
797
926
  enum Policy {
@@ -813,7 +942,8 @@ declare namespace SecretsManagerV1 {
813
942
  /** The secret type. */
814
943
  enum SecretType {
815
944
  USERNAME_PASSWORD = "username_password",
816
- PUBLIC_CERT = "public_cert"
945
+ PUBLIC_CERT = "public_cert",
946
+ PRIVATE_CERT = "private_cert"
817
947
  }
818
948
  /** The type of policy that is associated with the specified secret. */
819
949
  enum Policy {
@@ -824,21 +954,15 @@ declare namespace SecretsManagerV1 {
824
954
  interface PutConfigParams {
825
955
  /** The secret type. */
826
956
  secretType: PutConfigConstants.SecretType | string;
827
- /** An IBM Cloud API key that has the capability to create and manage service IDs.
828
- *
829
- * The API key must be assigned the Editor platform role on the Access Groups Service and the Operator platform
830
- * role on the IAM Identity Service. For more information, see [Configuring the IAM secrets
831
- * engine](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-iam-credentials#configure-iam-secrets-engine-api).
832
- */
833
- apiKey: string;
957
+ /** Properties to update for a secrets engine. */
958
+ engineConfig: EngineConfig;
834
959
  headers?: OutgoingHttpHeaders;
835
960
  }
836
961
  /** Constants for the `putConfig` operation. */
837
962
  namespace PutConfigConstants {
838
963
  /** The secret type. */
839
964
  enum SecretType {
840
- IAM_CREDENTIALS = "iam_credentials",
841
- PUBLIC_CERT = "public_cert"
965
+ IAM_CREDENTIALS = "iam_credentials"
842
966
  }
843
967
  }
844
968
  /** Parameters for the `getConfig` operation. */
@@ -852,7 +976,8 @@ declare namespace SecretsManagerV1 {
852
976
  /** The secret type. */
853
977
  enum SecretType {
854
978
  IAM_CREDENTIALS = "iam_credentials",
855
- PUBLIC_CERT = "public_cert"
979
+ PUBLIC_CERT = "public_cert",
980
+ PRIVATE_CERT = "private_cert"
856
981
  }
857
982
  }
858
983
  /** Parameters for the `createConfigElement` operation. */
@@ -875,19 +1000,26 @@ declare namespace SecretsManagerV1 {
875
1000
  namespace CreateConfigElementConstants {
876
1001
  /** The secret type. */
877
1002
  enum SecretType {
878
- PUBLIC_CERT = "public_cert"
1003
+ PUBLIC_CERT = "public_cert",
1004
+ PRIVATE_CERT = "private_cert"
879
1005
  }
880
1006
  /** The configuration element to define or manage. */
881
1007
  enum ConfigElement {
882
1008
  CERTIFICATE_AUTHORITIES = "certificate_authorities",
883
- DNS_PROVIDERS = "dns_providers"
1009
+ DNS_PROVIDERS = "dns_providers",
1010
+ ROOT_CERTIFICATE_AUTHORITIES = "root_certificate_authorities",
1011
+ INTERMEDIATE_CERTIFICATE_AUTHORITIES = "intermediate_certificate_authorities",
1012
+ CERTIFICATE_TEMPLATES = "certificate_templates"
884
1013
  }
885
1014
  /** The type of configuration. Value options differ depending on the `config_element` property that you want to define. */
886
1015
  enum Type {
887
1016
  LETSENCRYPT = "letsencrypt",
888
1017
  LETSENCRYPT_STAGE = "letsencrypt-stage",
889
1018
  CIS = "cis",
890
- CLASSIC_INFRASTRUCTURE = "classic_infrastructure"
1019
+ CLASSIC_INFRASTRUCTURE = "classic_infrastructure",
1020
+ ROOT_CERTIFICATE_AUTHORITY = "root_certificate_authority",
1021
+ INTERMEDIATE_CERTIFICATE_AUTHORITY = "intermediate_certificate_authority",
1022
+ CERTIFICATE_TEMPLATE = "certificate_template"
891
1023
  }
892
1024
  }
893
1025
  /** Parameters for the `getConfigElements` operation. */
@@ -902,12 +1034,42 @@ declare namespace SecretsManagerV1 {
902
1034
  namespace GetConfigElementsConstants {
903
1035
  /** The secret type. */
904
1036
  enum SecretType {
905
- PUBLIC_CERT = "public_cert"
1037
+ PUBLIC_CERT = "public_cert",
1038
+ PRIVATE_CERT = "private_cert"
906
1039
  }
907
1040
  /** The configuration element to define or manage. */
908
1041
  enum ConfigElement {
909
1042
  CERTIFICATE_AUTHORITIES = "certificate_authorities",
910
- DNS_PROVIDERS = "dns_providers"
1043
+ DNS_PROVIDERS = "dns_providers",
1044
+ ROOT_CERTIFICATE_AUTHORITIES = "root_certificate_authorities",
1045
+ INTERMEDIATE_CERTIFICATE_AUTHORITIES = "intermediate_certificate_authorities",
1046
+ CERTIFICATE_TEMPLATES = "certificate_templates"
1047
+ }
1048
+ }
1049
+ /** Parameters for the `getConfigElement` operation. */
1050
+ interface GetConfigElementParams {
1051
+ /** The secret type. */
1052
+ secretType: GetConfigElementConstants.SecretType | string;
1053
+ /** The configuration element to define or manage. */
1054
+ configElement: GetConfigElementConstants.ConfigElement | string;
1055
+ /** The name of your configuration. */
1056
+ configName: string;
1057
+ headers?: OutgoingHttpHeaders;
1058
+ }
1059
+ /** Constants for the `getConfigElement` operation. */
1060
+ namespace GetConfigElementConstants {
1061
+ /** The secret type. */
1062
+ enum SecretType {
1063
+ PUBLIC_CERT = "public_cert",
1064
+ PRIVATE_CERT = "private_cert"
1065
+ }
1066
+ /** The configuration element to define or manage. */
1067
+ enum ConfigElement {
1068
+ CERTIFICATE_AUTHORITIES = "certificate_authorities",
1069
+ DNS_PROVIDERS = "dns_providers",
1070
+ ROOT_CERTIFICATE_AUTHORITIES = "root_certificate_authorities",
1071
+ INTERMEDIATE_CERTIFICATE_AUTHORITIES = "intermediate_certificate_authorities",
1072
+ CERTIFICATE_TEMPLATES = "certificate_templates"
911
1073
  }
912
1074
  }
913
1075
  /** Parameters for the `updateConfigElement` operation. */
@@ -922,6 +1084,7 @@ declare namespace SecretsManagerV1 {
922
1084
  * define.
923
1085
  */
924
1086
  type: UpdateConfigElementConstants.Type | string;
1087
+ /** Properties that describe a configuration, which depends on type. */
925
1088
  config: JsonObject;
926
1089
  headers?: OutgoingHttpHeaders;
927
1090
  }
@@ -929,19 +1092,26 @@ declare namespace SecretsManagerV1 {
929
1092
  namespace UpdateConfigElementConstants {
930
1093
  /** The secret type. */
931
1094
  enum SecretType {
932
- PUBLIC_CERT = "public_cert"
1095
+ PUBLIC_CERT = "public_cert",
1096
+ PRIVATE_CERT = "private_cert"
933
1097
  }
934
1098
  /** The configuration element to define or manage. */
935
1099
  enum ConfigElement {
936
1100
  CERTIFICATE_AUTHORITIES = "certificate_authorities",
937
- DNS_PROVIDERS = "dns_providers"
1101
+ DNS_PROVIDERS = "dns_providers",
1102
+ ROOT_CERTIFICATE_AUTHORITIES = "root_certificate_authorities",
1103
+ INTERMEDIATE_CERTIFICATE_AUTHORITIES = "intermediate_certificate_authorities",
1104
+ CERTIFICATE_TEMPLATES = "certificate_templates"
938
1105
  }
939
1106
  /** The type of configuration. Value options differ depending on the `config_element` property that you want to define. */
940
1107
  enum Type {
941
1108
  LETSENCRYPT = "letsencrypt",
942
1109
  LETSENCRYPT_STAGE = "letsencrypt-stage",
943
1110
  CIS = "cis",
944
- CLASSIC_INFRASTRUCTURE = "classic_infrastructure"
1111
+ CLASSIC_INFRASTRUCTURE = "classic_infrastructure",
1112
+ ROOT_CERTIFICATE_AUTHORITY = "root_certificate_authority",
1113
+ INTERMEDIATE_CERTIFICATE_AUTHORITY = "intermediate_certificate_authority",
1114
+ CERTIFICATE_TEMPLATE = "certificate_template"
945
1115
  }
946
1116
  }
947
1117
  /** Parameters for the `deleteConfigElement` operation. */
@@ -958,48 +1128,43 @@ declare namespace SecretsManagerV1 {
958
1128
  namespace DeleteConfigElementConstants {
959
1129
  /** The secret type. */
960
1130
  enum SecretType {
961
- PUBLIC_CERT = "public_cert"
1131
+ PUBLIC_CERT = "public_cert",
1132
+ PRIVATE_CERT = "private_cert"
962
1133
  }
963
1134
  /** The configuration element to define or manage. */
964
1135
  enum ConfigElement {
965
1136
  CERTIFICATE_AUTHORITIES = "certificate_authorities",
966
- 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"
967
1141
  }
968
1142
  }
969
- /** Parameters for the `getConfigElement` operation. */
970
- interface GetConfigElementParams {
971
- /** The secret type. */
972
- secretType: GetConfigElementConstants.SecretType | string;
973
- /** The configuration element to define or manage. */
974
- configElement: GetConfigElementConstants.ConfigElement | string;
975
- /** The name of your configuration. */
976
- configName: string;
1143
+ /** Parameters for the `createNotificationsRegistration` operation. */
1144
+ interface CreateNotificationsRegistrationParams {
1145
+ /** The Cloud Resource Name (CRN) of the connected Event Notifications instance. */
1146
+ eventNotificationsInstanceCrn: string;
1147
+ /** The name that is displayed as a source in your Event Notifications instance. */
1148
+ eventNotificationsSourceName: string;
1149
+ /** An optional description for the source in your Event Notifications instance. */
1150
+ eventNotificationsSourceDescription?: string;
977
1151
  headers?: OutgoingHttpHeaders;
978
1152
  }
979
- /** Constants for the `getConfigElement` operation. */
980
- namespace GetConfigElementConstants {
981
- /** The secret type. */
982
- enum SecretType {
983
- PUBLIC_CERT = "public_cert"
984
- }
985
- /** The configuration element to define or manage. */
986
- enum ConfigElement {
987
- CERTIFICATE_AUTHORITIES = "certificate_authorities",
988
- DNS_PROVIDERS = "dns_providers"
989
- }
1153
+ /** Parameters for the `getNotificationsRegistration` operation. */
1154
+ interface GetNotificationsRegistrationParams {
1155
+ headers?: OutgoingHttpHeaders;
1156
+ }
1157
+ /** Parameters for the `deleteNotificationsRegistration` operation. */
1158
+ interface DeleteNotificationsRegistrationParams {
1159
+ headers?: OutgoingHttpHeaders;
1160
+ }
1161
+ /** Parameters for the `sendTestNotification` operation. */
1162
+ interface SendTestNotificationParams {
1163
+ headers?: OutgoingHttpHeaders;
990
1164
  }
991
1165
  /*************************
992
1166
  * model interfaces
993
1167
  ************************/
994
- /** CertificateSecretData. */
995
- interface CertificateSecretData {
996
- /** The contents of the certificate. */
997
- certificate?: string;
998
- /** The private key that is associated with the certificate. */
999
- private_key?: string;
1000
- /** The intermediate certificate that is associated with the certificate. */
1001
- intermediate?: string;
1002
- }
1003
1168
  /** The metadata that describes the resource array. */
1004
1169
  interface CollectionMetadata {
1005
1170
  /** The type of resources in the resource array. */
@@ -1037,6 +1202,9 @@ declare namespace SecretsManagerV1 {
1037
1202
  /** A collection of resources. */
1038
1203
  resources: SecretResource[];
1039
1204
  }
1205
+ /** EngineConfig. */
1206
+ interface EngineConfig {
1207
+ }
1040
1208
  /** Configuration for the specified secret type. */
1041
1209
  interface GetConfig {
1042
1210
  /** The metadata that describes the resource array. */
@@ -1057,6 +1225,13 @@ declare namespace SecretsManagerV1 {
1057
1225
  /** GetConfigResourcesItem. */
1058
1226
  interface GetConfigResourcesItem {
1059
1227
  }
1228
+ /** Properties that describe an existing registration with Event Notifications. */
1229
+ interface GetNotificationsSettings {
1230
+ /** The metadata that describes the resource array. */
1231
+ metadata: CollectionMetadata;
1232
+ /** A collection of resources. */
1233
+ resources: NotificationsSettings[];
1234
+ }
1060
1235
  /** Properties that describe a secret. */
1061
1236
  interface GetSecret {
1062
1237
  /** The metadata that describes the resource array. */
@@ -1067,24 +1242,6 @@ declare namespace SecretsManagerV1 {
1067
1242
  /** GetSecretPolicies. */
1068
1243
  interface GetSecretPolicies {
1069
1244
  }
1070
- /** Properties that describe a rotation policy. */
1071
- interface GetSecretPolicyRotationResourcesItem {
1072
- /** The v4 UUID that uniquely identifies the policy. */
1073
- id: string;
1074
- /** The Cloud Resource Name (CRN) that uniquely identifies your cloud resources. */
1075
- crn?: string;
1076
- /** The date the policy was created. The date format follows RFC 3339. */
1077
- creation_date?: string;
1078
- /** The unique identifier for the entity that created the policy. */
1079
- created_by?: string;
1080
- /** Updates when the policy is replaced or modified. The date format follows RFC 3339. */
1081
- last_update_date?: string;
1082
- /** The unique identifier for the entity that updated the policy. */
1083
- updated_by?: string;
1084
- /** The MIME type that represents the policy. Currently, only the default is supported. */
1085
- type: string;
1086
- rotation: SecretPolicyRotationRotation;
1087
- }
1088
1245
  /** Properties that describe the version of a secret. */
1089
1246
  interface GetSecretVersion {
1090
1247
  /** The metadata that describes the resource array. */
@@ -1110,7 +1267,7 @@ declare namespace SecretsManagerV1 {
1110
1267
  interface IssuanceInfo {
1111
1268
  /** The date the certificate was ordered. The date format follows RFC 3339. */
1112
1269
  ordered_on?: string;
1113
- /** An code that identifies an issuance error.
1270
+ /** A code that identifies an issuance error.
1114
1271
  *
1115
1272
  * This field, along with `error_message`, is returned when Secrets Manager successfully processes your request,
1116
1273
  * but a certificate is unable to be issued by the certificate authority.
@@ -1133,6 +1290,13 @@ declare namespace SecretsManagerV1 {
1133
1290
  /** The name that was assigned to the DNS provider configuration. */
1134
1291
  dns?: string;
1135
1292
  }
1293
+ /** Properties that describe a list of versions of a secret. */
1294
+ interface ListSecretVersions {
1295
+ /** The metadata that describes the resource array. */
1296
+ metadata: CollectionMetadata;
1297
+ /** A collection of resources. */
1298
+ resources?: SecretVersionInfo[];
1299
+ }
1136
1300
  /** Properties that describe a list of secrets. */
1137
1301
  interface ListSecrets {
1138
1302
  /** The metadata that describes the resource array. */
@@ -1140,19 +1304,41 @@ declare namespace SecretsManagerV1 {
1140
1304
  /** A collection of resources. */
1141
1305
  resources?: SecretResource[];
1142
1306
  }
1307
+ /** The Event Notifications details. */
1308
+ interface NotificationsSettings {
1309
+ /** The Cloud Resource Name (CRN) of the connected Event Notifications instance. */
1310
+ event_notifications_instance_crn: string;
1311
+ }
1143
1312
  /** Rotation. */
1144
1313
  interface Rotation {
1145
1314
  /** Determines whether Secrets Manager rotates your certificate automatically.
1146
1315
  *
1147
- * If set to `true`, the service reorders your certificate 31 days before it expires. To access the previous
1148
- * version of the certifcate, you can use the [Get a version of a secret](#get-secret-version) method.
1316
+ * For public certificates, if `auto_rotate` is set to `true` the service reorders your certificate 31 days before
1317
+ * it expires. For private certificates, the certificate is rotated according to the time interval specified in the
1318
+ * `interval` and `unit` fields.
1319
+ *
1320
+ * To access the previous version of the certificate, you can use the
1321
+ * [Get a version of a secret](#get-secret-version) method.
1149
1322
  */
1150
1323
  auto_rotate?: boolean;
1151
1324
  /** Determines whether Secrets Manager rotates the private key for your certificate automatically.
1152
1325
  *
1153
1326
  * If set to `true`, the service generates and stores a new private key for your rotated certificate.
1327
+ *
1328
+ * **Note:** Use this field only for public certificates. Ignored for private certificates.
1154
1329
  */
1155
1330
  rotate_keys?: boolean;
1331
+ /** Used together with the `unit` field to specify the rotation interval. The minimum interval is one day, and
1332
+ * the maximum interval is 3 years (1095 days). Required in case `auto_rotate` is set to `true`.
1333
+ *
1334
+ * **Note:** Use this field only for private certificates Ignored for public certificates.
1335
+ */
1336
+ interval?: number;
1337
+ /** The time unit of the rotation interval.
1338
+ *
1339
+ * **Note:** Use this field only for private certificates. Ignored for public certificates.
1340
+ */
1341
+ unit?: string;
1156
1342
  }
1157
1343
  /** SecretAction. */
1158
1344
  interface SecretAction {
@@ -1229,6 +1415,9 @@ declare namespace SecretsManagerV1 {
1229
1415
  /** SecretVersion. */
1230
1416
  interface SecretVersion {
1231
1417
  }
1418
+ /** Properties that describe a secret version within a list of secret versions. */
1419
+ interface SecretVersionInfo {
1420
+ }
1232
1421
  /** SecretVersionMetadata. */
1233
1422
  interface SecretVersionMetadata {
1234
1423
  }
@@ -1239,21 +1428,15 @@ declare namespace SecretsManagerV1 {
1239
1428
  /** The date the certificate validity period ends. */
1240
1429
  not_after?: string;
1241
1430
  }
1242
- /** Warning response. */
1243
- interface Warning {
1244
- /** A warning code identifier. */
1245
- code: string;
1246
- /** A human-readable message that provides details about the warning. */
1247
- message: string;
1248
- }
1249
1431
  /** Metadata properties that describe an arbitrary secret. */
1250
1432
  interface ArbitrarySecretMetadata extends SecretMetadata {
1251
1433
  /** The unique ID of the secret. */
1252
1434
  id?: string;
1253
1435
  /** Labels that you can use to filter for secrets in your instance.
1254
1436
  *
1255
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1256
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1437
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
1438
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
1439
+ * character (|).
1257
1440
  *
1258
1441
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1259
1442
  */
@@ -1325,8 +1508,8 @@ declare namespace SecretsManagerV1 {
1325
1508
  secret_group_id?: string;
1326
1509
  /** Labels that you can use to filter for secrets in your instance.
1327
1510
  *
1328
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1329
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1511
+ * Up to 30 labels can be created. Labels can be 2 - 30 characters, including spaces. Special characters that are
1512
+ * not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1330
1513
  *
1331
1514
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1332
1515
  */
@@ -1365,16 +1548,59 @@ declare namespace SecretsManagerV1 {
1365
1548
  expiration_date?: string;
1366
1549
  /** The new secret data to assign to the secret. */
1367
1550
  payload?: string;
1551
+ /** The data that is associated with the secret version.
1552
+ *
1553
+ * The data object contains the field `payload`.
1554
+ */
1555
+ secret_data?: JsonObject;
1556
+ }
1557
+ /** ArbitrarySecretVersion. */
1558
+ interface ArbitrarySecretVersion extends SecretVersion {
1559
+ /** The v4 UUID that uniquely identifies the secret. */
1560
+ id?: string;
1561
+ /** The ID of the secret version. */
1562
+ version_id?: string;
1563
+ /** The date that the version of the secret was created. */
1564
+ creation_date?: string;
1565
+ /** The unique identifier for the entity that created the secret version. */
1566
+ created_by?: string;
1567
+ /** The data that is associated with the secret version.
1568
+ *
1569
+ * The data object contains the field `payload`.
1570
+ */
1368
1571
  secret_data?: JsonObject;
1369
1572
  }
1573
+ /** ArbitrarySecretVersionInfo. */
1574
+ interface ArbitrarySecretVersionInfo extends SecretVersionInfo {
1575
+ /** The ID of the secret version. */
1576
+ id?: string;
1577
+ /** The date that the version of the secret was created. */
1578
+ creation_date?: string;
1579
+ /** The unique identifier for the entity that created the secret version. */
1580
+ created_by?: string;
1581
+ /** Indicates whether the payload for the secret version is stored and available. */
1582
+ payload_available?: boolean;
1583
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
1584
+ * service API.
1585
+ */
1586
+ downloaded?: boolean;
1587
+ }
1370
1588
  /** Properties that describe a secret version. */
1371
1589
  interface ArbitrarySecretVersionMetadata extends SecretVersionMetadata {
1372
- /** The ID of the secret version. */
1590
+ /** The v4 UUID that uniquely identifies the secret. */
1373
1591
  id?: string;
1592
+ /** The ID of the secret version. */
1593
+ version_id?: string;
1374
1594
  /** The date that the version of the secret was created. */
1375
1595
  creation_date?: string;
1376
1596
  /** The unique identifier for the entity that created the secret version. */
1377
1597
  created_by?: string;
1598
+ /** Indicates whether the payload for the secret version is stored and available. */
1599
+ payload_available?: boolean;
1600
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
1601
+ * service API.
1602
+ */
1603
+ downloaded?: boolean;
1378
1604
  }
1379
1605
  /** Metadata properties that describe a certificate secret. */
1380
1606
  interface CertificateSecretMetadata extends SecretMetadata {
@@ -1382,8 +1608,9 @@ declare namespace SecretsManagerV1 {
1382
1608
  id?: string;
1383
1609
  /** Labels that you can use to filter for secrets in your instance.
1384
1610
  *
1385
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1386
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1611
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
1612
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
1613
+ * character (|).
1387
1614
  *
1388
1615
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1389
1616
  */
@@ -1424,8 +1651,8 @@ declare namespace SecretsManagerV1 {
1424
1651
  versions_total?: number;
1425
1652
  /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1426
1653
  serial_number?: string;
1427
- /** The identifier for the cryptographic algorthim that was used by the issuing certificate authority to sign
1428
- * the ceritificate.
1654
+ /** The identifier for the cryptographic algorithm that was used by the issuing certificate authority to sign
1655
+ * the certificate.
1429
1656
  */
1430
1657
  algorithm?: string;
1431
1658
  /** The identifier for the cryptographic algorithm that was used to generate the public key that is associated
@@ -1468,8 +1695,8 @@ declare namespace SecretsManagerV1 {
1468
1695
  secret_group_id?: string;
1469
1696
  /** Labels that you can use to filter for secrets in your instance.
1470
1697
  *
1471
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1472
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1698
+ * Up to 30 labels can be created. Labels can be 2 - 30 characters, including spaces. Special characters that are
1699
+ * not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1473
1700
  *
1474
1701
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1475
1702
  */
@@ -1508,11 +1735,19 @@ declare namespace SecretsManagerV1 {
1508
1735
  * line with embedded newline characters.
1509
1736
  */
1510
1737
  intermediate?: string;
1738
+ /** The data that is associated with the secret. The data object contains the following fields:
1739
+ *
1740
+ * `certificate`: The contents of the certificate.
1741
+ *
1742
+ * `private_key`: The private key that is associated with the certificate.
1743
+ *
1744
+ * `intermediate`: The intermediate certificate that is associated with the certificate.
1745
+ */
1511
1746
  secret_data?: JsonObject;
1512
1747
  /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1513
1748
  serial_number?: string;
1514
- /** The identifier for the cryptographic algorthim that was used by the issuing certificate authority to sign
1515
- * the ceritificate.
1749
+ /** The identifier for the cryptographic algorithm that was used by the issuing certificate authority to sign
1750
+ * the certificate.
1516
1751
  */
1517
1752
  algorithm?: string;
1518
1753
  /** The identifier for the cryptographic algorithm that was used to generate the public key that is associated
@@ -1537,8 +1772,6 @@ declare namespace SecretsManagerV1 {
1537
1772
  interface CertificateSecretVersion extends SecretVersion {
1538
1773
  /** The v4 UUID that uniquely identifies the secret. */
1539
1774
  id?: string;
1540
- /** The Cloud Resource Name (CRN) that uniquely identifies the secret. */
1541
- crn?: string;
1542
1775
  /** The ID of the secret version. */
1543
1776
  version_id?: string;
1544
1777
  /** The date that the version of the secret was created. */
@@ -1550,16 +1783,52 @@ declare namespace SecretsManagerV1 {
1550
1783
  serial_number?: string;
1551
1784
  /** The date that the certificate expires. The date format follows RFC 3339. */
1552
1785
  expiration_date?: string;
1553
- secret_data?: CertificateSecretData;
1786
+ /** The data that is associated with the secret version. The data object contains the following fields:
1787
+ *
1788
+ * `certificate`: The contents of the certificate.
1789
+ *
1790
+ * `private_key`: The private key that is associated with the certificate.
1791
+ *
1792
+ * `intermediate`: The intermediate certificate that is associated with the certificate.
1793
+ */
1794
+ secret_data?: JsonObject;
1795
+ }
1796
+ /** CertificateSecretVersionInfo. */
1797
+ interface CertificateSecretVersionInfo extends SecretVersionInfo {
1798
+ /** The ID of the secret version. */
1799
+ id?: string;
1800
+ /** The date that the version of the secret was created. */
1801
+ creation_date?: string;
1802
+ /** The unique identifier for the entity that created the secret version. */
1803
+ created_by?: string;
1804
+ /** Indicates whether the payload for the secret version is stored and available. */
1805
+ payload_available?: boolean;
1806
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
1807
+ * service API.
1808
+ */
1809
+ downloaded?: boolean;
1810
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1811
+ serial_number?: string;
1812
+ /** The date that the certificate expires. The date format follows RFC 3339. */
1813
+ expiration_date?: string;
1814
+ validity?: CertificateValidity;
1554
1815
  }
1555
1816
  /** Properties that describe a secret version. */
1556
1817
  interface CertificateSecretVersionMetadata extends SecretVersionMetadata {
1557
- /** The ID of the secret version. */
1818
+ /** The v4 UUID that uniquely identifies the secret. */
1558
1819
  id?: string;
1820
+ /** The ID of the secret version. */
1821
+ version_id?: string;
1559
1822
  /** The date that the version of the secret was created. */
1560
1823
  creation_date?: string;
1561
1824
  /** The unique identifier for the entity that created the secret version. */
1562
1825
  created_by?: string;
1826
+ /** Indicates whether the payload for the secret version is stored and available. */
1827
+ payload_available?: boolean;
1828
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
1829
+ * service API.
1830
+ */
1831
+ downloaded?: boolean;
1563
1832
  /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1564
1833
  serial_number?: string;
1565
1834
  /** The date that the certificate expires. The date format follows RFC 3339. */
@@ -1568,16 +1837,24 @@ declare namespace SecretsManagerV1 {
1568
1837
  }
1569
1838
  /** Properties that describe an IBM Cloud classic infrastructure (SoftLayer) configuration. */
1570
1839
  interface ConfigElementDefConfigClassicInfrastructureConfig extends ConfigElementDefConfig {
1571
- /** The username that is associated with your classic infrastructure account. */
1840
+ /** The username that is associated with your classic infrastructure account.
1841
+ *
1842
+ * In most cases, your classic infrastructure username is your `<account_id>_<email_address>`. For more
1843
+ * information, see the [docs](https://cloud.ibm.com/docs/account?topic=account-classic_keys).
1844
+ */
1572
1845
  classic_infrastructure_username: string;
1573
- /** Your classic infrastructure API key. */
1846
+ /** Your classic infrastructure API key.
1847
+ *
1848
+ * For information about viewing and accessing your classic infrastructure API key, see the
1849
+ * [docs](https://cloud.ibm.com/docs/account?topic=account-classic_keys).
1850
+ */
1574
1851
  classic_infrastructure_password: string;
1575
1852
  }
1576
1853
  /** Properties that describe an IBM Cloud Internet Services (CIS) configuration. */
1577
1854
  interface ConfigElementDefConfigCloudInternetServicesConfig extends ConfigElementDefConfig {
1578
1855
  /** The Cloud Resource Name (CRN) that is associated with the CIS instance. */
1579
1856
  cis_crn: string;
1580
- /** An IBM Cloud API key that has the capability to list domains in your CIS instance.
1857
+ /** An IBM Cloud API key that can to list domains in your CIS instance.
1581
1858
  *
1582
1859
  * To grant Secrets Manager the ability to view the CIS instance and all of its domains, the API key must be
1583
1860
  * assigned the Reader service role on Internet Services (`internet-svcs`).
@@ -1592,13 +1869,39 @@ declare namespace SecretsManagerV1 {
1592
1869
  }
1593
1870
  /** Properties that describe a Let's Encrypt configuration. */
1594
1871
  interface ConfigElementDefConfigLetsEncryptConfig extends ConfigElementDefConfig {
1595
- /** The private key that is associated with your ACME account. */
1872
+ /** The private key that is associated with your Automatic Certificate Management Environment (ACME) account.
1873
+ *
1874
+ * If you have a working ACME client or account for Let's Encrypt, you can use the existing private key to enable
1875
+ * communications with Secrets Manager. If you don't have an account yet, you can create one. For more information,
1876
+ * see the
1877
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#create-acme-account).
1878
+ */
1596
1879
  private_key: string;
1597
1880
  }
1881
+ /** Configuration for the IAM credentials engine. */
1882
+ interface CreateIAMCredentialsSecretEngineRootConfig extends EngineConfig {
1883
+ /** An IBM Cloud API key that can create and manage service IDs.
1884
+ *
1885
+ * The API key must be assigned the Editor platform role on the Access Groups Service and the Operator platform
1886
+ * role on the IAM Identity Service. For more information, see the
1887
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-configure-iam-engine).
1888
+ */
1889
+ api_key: string;
1890
+ /** The hash value of the IBM Cloud API key that is used to create and manage service IDs. */
1891
+ api_key_hash?: string;
1892
+ }
1598
1893
  /** Delete the credentials that are associated with an `iam_credentials` secret. */
1599
1894
  interface DeleteCredentialsForIAMCredentialsSecret extends SecretAction {
1600
- /** The service ID that you want to delete. It is deleted together with its API key. */
1601
- service_id: string;
1895
+ /** The ID of the API key that you want to delete. If the secret was created with a static service ID, only the
1896
+ * API key is deleted. Otherwise, the service ID is deleted together with its API key.
1897
+ */
1898
+ api_key_id?: string;
1899
+ /** The service ID that you want to delete. This property can be used instead of the `api_key_id` field, but
1900
+ * only for secrets that were created with a service ID that was generated by Secrets Manager.
1901
+ *
1902
+ * **Deprecated.** Use the `api_key_id` field instead.
1903
+ */
1904
+ service_id?: string;
1602
1905
  }
1603
1906
  /** Certificate authorities configuration. */
1604
1907
  interface GetConfigElementsResourcesItemCertificateAuthoritiesConfig extends GetConfigElementsResourcesItem {
@@ -1613,15 +1916,15 @@ declare namespace SecretsManagerV1 {
1613
1916
  /** The metadata that describes the resource array. */
1614
1917
  metadata: CollectionMetadata;
1615
1918
  /** A collection of resources. */
1616
- resources: GetSecretPolicyRotationResourcesItem[];
1919
+ resources: JsonObject[];
1617
1920
  }
1618
1921
  /** Configuration for the IAM credentials engine. */
1619
1922
  interface IAMCredentialsSecretEngineRootConfig extends GetConfigResourcesItem {
1620
- /** An IBM Cloud API key that has the capability to create and manage service IDs.
1923
+ /** An IBM Cloud API key that can create and manage service IDs.
1621
1924
  *
1622
1925
  * The API key must be assigned the Editor platform role on the Access Groups Service and the Operator platform
1623
- * role on the IAM Identity Service. For more information, see [Configuring the IAM secrets
1624
- * engine](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-iam-credentials#configure-iam-secrets-engine-api).
1926
+ * role on the IAM Identity Service. For more information, see the
1927
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-configure-iam-engine).
1625
1928
  */
1626
1929
  api_key: string;
1627
1930
  /** The hash value of the IBM Cloud API key that is used to create and manage service IDs. */
@@ -1633,8 +1936,9 @@ declare namespace SecretsManagerV1 {
1633
1936
  id?: string;
1634
1937
  /** Labels that you can use to filter for secrets in your instance.
1635
1938
  *
1636
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1637
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1939
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
1940
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
1941
+ * character (|).
1638
1942
  *
1639
1943
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1640
1944
  */
@@ -1673,18 +1977,30 @@ declare namespace SecretsManagerV1 {
1673
1977
  last_update_date?: string;
1674
1978
  /** The number of versions the secret has. */
1675
1979
  versions_total?: number;
1676
- /** The time-to-live (TTL) or lease duration to assign to generated credentials.
1980
+ /** Specifies the Time To Live value provided as a string duration with time suffix. */
1981
+ ttl?: string;
1982
+ /** Determines whether to use the same service ID and API key for future read operations on an
1983
+ * `iam_credentials` secret.
1677
1984
  *
1678
- * For `iam_credentials` secrets, the TTL defines for how long each generated API key remains valid. The value can
1679
- * be either an integer that specifies the number of seconds, or the string representation of a duration, such as
1680
- * `120m` or `24h`.
1681
- */
1682
- ttl?: any;
1683
- /** For `iam_credentials` secrets, this field controls whether to use the same service ID and API key for future
1684
- * read operations on this secret. If set to `true`, the service reuses the current credentials. If set to `false`,
1685
- * a new service ID and API key is generated each time that the secret is read or accessed.
1985
+ * If set to `true`, the service reuses the current credentials. If set to `false`, a new service ID and API key
1986
+ * are generated each time that the secret is read or accessed.
1686
1987
  */
1687
1988
  reuse_api_key?: boolean;
1989
+ /** Indicates whether an `iam_credentials` secret was created with a static service ID.
1990
+ *
1991
+ * If the value is `true`, the service ID for the secret was provided by the user at secret creation. If the value
1992
+ * is `false`, the service ID was generated by Secrets Manager.
1993
+ */
1994
+ service_id_is_static?: boolean;
1995
+ /** The service ID under which the API key is created. The service ID is included in the metadata only if the
1996
+ * secret was created with a static service ID.
1997
+ */
1998
+ service_id?: string;
1999
+ /** The access groups that define the capabilities of the service ID and API key that are generated for an
2000
+ * `iam_credentials` secret. The access groups are included in the metadata only if the secret was created with a
2001
+ * service ID that was generated by Secrets Manager.
2002
+ */
2003
+ access_groups?: string[];
1688
2004
  }
1689
2005
  /** Properties that describe a secret. */
1690
2006
  interface IAMCredentialsSecretResource extends SecretResource {
@@ -1708,8 +2024,8 @@ declare namespace SecretsManagerV1 {
1708
2024
  secret_group_id?: string;
1709
2025
  /** Labels that you can use to filter for secrets in your instance.
1710
2026
  *
1711
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1712
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
2027
+ * Up to 30 labels can be created. Labels can be 2 - 30 characters, including spaces. Special characters that are
2028
+ * not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1713
2029
  *
1714
2030
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1715
2031
  */
@@ -1741,13 +2057,18 @@ declare namespace SecretsManagerV1 {
1741
2057
  * For `iam_credentials` secrets, the TTL defines for how long each generated API key remains valid. The value can
1742
2058
  * be either an integer that specifies the number of seconds, or the string representation of a duration, such as
1743
2059
  * `120m` or `24h`.
2060
+ *
2061
+ * Minimum duration is 1 minute. Maximum is 90 days.
1744
2062
  */
1745
2063
  ttl?: any;
1746
2064
  /** The access groups that define the capabilities of the service ID and API key that are generated for an
1747
- * `iam_credentials` secret.
2065
+ * `iam_credentials` secret. If you prefer to use an existing service ID that is already assigned the access
2066
+ * policies that you require, you can omit this parameter and use the `service_id` field instead.
1748
2067
  *
1749
- * **Tip:** To find the ID of an access group, go to **Manage > Access (IAM) > Access groups** in the IBM Cloud
1750
- * console. Select the access group to inspect, and click **Details** to view its ID.
2068
+ * **Tip:** To list the access groups that are available in an account, you can use the [IAM Access Groups
2069
+ * API](https://cloud.ibm.com/apidocs/iam-access-groups#list-access-groups). To find the ID of an access group in
2070
+ * the console, go to **Manage > Access (IAM) > Access groups**. Select the access group to inspect, and click
2071
+ * **Details** to view its ID.
1751
2072
  */
1752
2073
  access_groups?: string[];
1753
2074
  /** The API key that is generated for this secret.
@@ -1756,26 +2077,247 @@ declare namespace SecretsManagerV1 {
1756
2077
  * you want to continue to use the same API key for future read operations, see the `reuse_api_key` field.
1757
2078
  */
1758
2079
  api_key?: string;
1759
- /** The service ID under which the API key (see the `api_key` field) is created. This service ID is added to the
1760
- * access groups that you assign for this secret.
2080
+ /** The ID of the API key that is generated for this secret. */
2081
+ api_key_id?: string;
2082
+ /** The service ID under which the API key (see the `api_key` field) is created.
2083
+ *
2084
+ * If you omit this parameter, Secrets Manager generates a new service ID for your secret at its creation and adds
2085
+ * it to the access groups that you assign.
2086
+ *
2087
+ * Optionally, you can use this field to provide your own service ID if you prefer to manage its access directly or
2088
+ * retain the service ID after your secret expires, is rotated, or deleted. If you provide a service ID, do not
2089
+ * include the `access_groups` parameter.
1761
2090
  */
1762
2091
  service_id?: string;
1763
- /** Set to `true` to reuse the service ID and API key for this secret.
2092
+ /** Indicates whether an `iam_credentials` secret was created with a static service ID.
2093
+ *
2094
+ * If `true`, the service ID for the secret was provided by the user at secret creation. If `false`, the service ID
2095
+ * was generated by Secrets Manager.
2096
+ */
2097
+ service_id_is_static?: boolean;
2098
+ /** Determines whether to use the same service ID and API key for future read operations on an
2099
+ * `iam_credentials` secret.
1764
2100
  *
1765
- * Use this field to control whether to use the same service ID and API key for future read operations on this
1766
- * secret. If set to `true`, the service reuses the current credentials. If set to `false`, a new service ID and
1767
- * API key is generated each time that the secret is read or accessed.
2101
+ * If set to `true`, the service reuses the current credentials. If set to `false`, a new service ID and API key
2102
+ * are generated each time that the secret is read or accessed.
1768
2103
  */
1769
2104
  reuse_api_key?: boolean;
1770
2105
  }
2106
+ /** IAMCredentialsSecretVersion. */
2107
+ interface IAMCredentialsSecretVersion extends SecretVersion {
2108
+ /** The v4 UUID that uniquely identifies the secret. */
2109
+ id?: string;
2110
+ /** The ID of the secret version. */
2111
+ version_id?: string;
2112
+ /** The date that the version of the secret was created. */
2113
+ creation_date?: string;
2114
+ /** The unique identifier for the entity that created the secret version. */
2115
+ created_by?: string;
2116
+ /** The data that is associated with the secret version. The data object contains the following fields:
2117
+ *
2118
+ * `api_key`: The API key that is generated for this secret.
2119
+ *
2120
+ * `api_key_id`: The ID of the API key that is generated for this secret.
2121
+ *
2122
+ * `service_id`: The service ID under which the API key is created.
2123
+ */
2124
+ secret_data?: JsonObject;
2125
+ }
2126
+ /** IAMCredentialsSecretVersionInfo. */
2127
+ interface IAMCredentialsSecretVersionInfo extends SecretVersionInfo {
2128
+ /** The ID of the secret version. */
2129
+ id?: string;
2130
+ /** The date that the version of the secret was created. */
2131
+ creation_date?: string;
2132
+ /** The unique identifier for the entity that created the secret version. */
2133
+ created_by?: string;
2134
+ /** Indicates whether the payload for the secret version is stored and available. */
2135
+ payload_available?: boolean;
2136
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
2137
+ * service API.
2138
+ */
2139
+ downloaded?: boolean;
2140
+ }
1771
2141
  /** Properties that describe a secret version. */
1772
2142
  interface IAMCredentialsSecretVersionMetadata extends SecretVersionMetadata {
1773
- /** The ID of the secret version. */
2143
+ /** The v4 UUID that uniquely identifies the secret. */
1774
2144
  id?: string;
2145
+ /** The ID of the secret version. */
2146
+ version_id?: string;
1775
2147
  /** The date that the version of the secret was created. */
1776
2148
  creation_date?: string;
1777
2149
  /** The unique identifier for the entity that created the secret version. */
1778
2150
  created_by?: string;
2151
+ /** Indicates whether the payload for the secret version is stored and available. */
2152
+ payload_available?: boolean;
2153
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
2154
+ * service API.
2155
+ */
2156
+ downloaded?: boolean;
2157
+ }
2158
+ /** Metadata properties that describe a key-value secret. */
2159
+ interface KvSecretMetadata extends SecretMetadata {
2160
+ /** The unique ID of the secret. */
2161
+ id?: string;
2162
+ /** Labels that you can use to filter for secrets in your instance.
2163
+ *
2164
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
2165
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
2166
+ * character (|).
2167
+ *
2168
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2169
+ */
2170
+ labels?: string[];
2171
+ /** A human-readable alias to assign to your secret.
2172
+ *
2173
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
2174
+ */
2175
+ name: string;
2176
+ /** An extended description of your secret.
2177
+ *
2178
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
2179
+ * secret.
2180
+ */
2181
+ description?: string;
2182
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
2183
+ *
2184
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
2185
+ */
2186
+ secret_group_id?: string;
2187
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
2188
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
2189
+ */
2190
+ state?: number;
2191
+ /** A text representation of the secret state. */
2192
+ state_description?: string;
2193
+ /** The secret type. */
2194
+ secret_type?: string;
2195
+ /** The Cloud Resource Name (CRN) that uniquely identifies the resource. */
2196
+ crn?: string;
2197
+ /** The date the secret was created. The date format follows RFC 3339. */
2198
+ creation_date?: string;
2199
+ /** The unique identifier for the entity that created the secret. */
2200
+ created_by?: string;
2201
+ /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
2202
+ last_update_date?: string;
2203
+ /** The number of versions the secret has. */
2204
+ versions_total?: number;
2205
+ }
2206
+ /** Properties that describe a secret. */
2207
+ interface KvSecretResource extends SecretResource {
2208
+ /** The v4 UUID that uniquely identifies the secret. */
2209
+ id?: string;
2210
+ /** A human-readable alias to assign to your secret.
2211
+ *
2212
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
2213
+ */
2214
+ name: string;
2215
+ /** An extended description of your secret.
2216
+ *
2217
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
2218
+ * secret.
2219
+ */
2220
+ description?: string;
2221
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
2222
+ *
2223
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
2224
+ */
2225
+ secret_group_id?: string;
2226
+ /** Labels that you can use to filter for secrets in your instance.
2227
+ *
2228
+ * Up to 30 labels can be created. Labels can be 2 - 30 characters, including spaces. Special characters that are
2229
+ * not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
2230
+ *
2231
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2232
+ */
2233
+ labels?: string[];
2234
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
2235
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
2236
+ */
2237
+ state?: number;
2238
+ /** A text representation of the secret state. */
2239
+ state_description?: string;
2240
+ /** The secret type. */
2241
+ secret_type?: string;
2242
+ /** The Cloud Resource Name (CRN) that uniquely identifies your Secrets Manager resource. */
2243
+ crn?: string;
2244
+ /** The date the secret was created. The date format follows RFC 3339. */
2245
+ creation_date?: string;
2246
+ /** The unique identifier for the entity that created the secret. */
2247
+ created_by?: string;
2248
+ /** Updates when the actual secret is modified. The date format follows RFC 3339. */
2249
+ last_update_date?: string;
2250
+ /** The number of versions that are associated with a secret. */
2251
+ versions_total?: number;
2252
+ /** An array that contains metadata for each secret version. For more information on the metadata properties,
2253
+ * see [Get secret version metadata](#get-secret-version-metadata).
2254
+ */
2255
+ versions?: JsonObject[];
2256
+ /** The date the secret material expires. The date format follows RFC 3339.
2257
+ *
2258
+ * You can set an expiration date on supported secret types at their creation. If you create a secret without
2259
+ * specifying an expiration date, the secret does not expire. The `expiration_date` field is supported for the
2260
+ * following secret types:
2261
+ *
2262
+ * - `arbitrary`
2263
+ * - `username_password`.
2264
+ */
2265
+ expiration_date?: string;
2266
+ /** The new secret data to assign to the secret. */
2267
+ payload?: JsonObject;
2268
+ /** The data that is associated with the secret version.
2269
+ *
2270
+ * The data object contains the field `payload`.
2271
+ */
2272
+ secret_data?: JsonObject;
2273
+ }
2274
+ /** Metadata properties that describe a private certificate secret. */
2275
+ interface PrivateCertificateSecretMetadata extends SecretMetadata {
2276
+ /** The unique ID of the secret. */
2277
+ id?: string;
2278
+ /** Labels that you can use to filter for secrets in your instance.
2279
+ *
2280
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
2281
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
2282
+ * character (|).
2283
+ *
2284
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2285
+ */
2286
+ labels?: string[];
2287
+ /** A human-readable alias to assign to your secret.
2288
+ *
2289
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
2290
+ */
2291
+ name: string;
2292
+ /** An extended description of your secret.
2293
+ *
2294
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
2295
+ * secret.
2296
+ */
2297
+ description?: string;
2298
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
2299
+ *
2300
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
2301
+ */
2302
+ secret_group_id?: string;
2303
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
2304
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
2305
+ */
2306
+ state?: number;
2307
+ /** A text representation of the secret state. */
2308
+ state_description?: string;
2309
+ /** The secret type. */
2310
+ secret_type?: string;
2311
+ /** The Cloud Resource Name (CRN) that uniquely identifies the resource. */
2312
+ crn?: string;
2313
+ /** The date the secret was created. The date format follows RFC 3339. */
2314
+ creation_date?: string;
2315
+ /** The unique identifier for the entity that created the secret. */
2316
+ created_by?: string;
2317
+ /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
2318
+ last_update_date?: string;
2319
+ /** The number of versions the secret has. */
2320
+ versions_total?: number;
1779
2321
  }
1780
2322
  /** Configuration for the public certificates engine. */
1781
2323
  interface PublicCertSecretEngineRootConfig extends GetConfigResourcesItem {
@@ -1785,13 +2327,14 @@ declare namespace SecretsManagerV1 {
1785
2327
  dns_providers?: ConfigElementMetadata[];
1786
2328
  }
1787
2329
  /** Metadata properties that describe a public certificate secret. */
1788
- interface PublicCertificateMetadataSecretResource extends SecretMetadata {
2330
+ interface PublicCertificateSecretMetadata extends SecretMetadata {
1789
2331
  /** The unique ID of the secret. */
1790
2332
  id?: string;
1791
2333
  /** Labels that you can use to filter for secrets in your instance.
1792
2334
  *
1793
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1794
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
2335
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
2336
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
2337
+ * character (|).
1795
2338
  *
1796
2339
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1797
2340
  */
@@ -1837,8 +2380,8 @@ declare namespace SecretsManagerV1 {
1837
2380
  * Set to `false` for the certificate file to contain only the issued certificate.
1838
2381
  */
1839
2382
  bundle_certs?: boolean;
1840
- /** The identifier for the cryptographic algorthim to be used by the issuing certificate authority to sign the
1841
- * ceritificate.
2383
+ /** The identifier for the cryptographic algorithm to be used by the issuing certificate authority to sign the
2384
+ * certificate.
1842
2385
  */
1843
2386
  algorithm?: string;
1844
2387
  /** The identifier for the cryptographic algorithm to be used to generate the public key that is associated with
@@ -1856,6 +2399,9 @@ declare namespace SecretsManagerV1 {
1856
2399
  rotation?: Rotation;
1857
2400
  /** Issuance information that is associated with your certificate. */
1858
2401
  issuance_info?: IssuanceInfo;
2402
+ validity?: CertificateValidity;
2403
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
2404
+ serial_number?: string;
1859
2405
  }
1860
2406
  /** Properties that describe a secret. */
1861
2407
  interface PublicCertificateSecretResource extends SecretResource {
@@ -1879,8 +2425,8 @@ declare namespace SecretsManagerV1 {
1879
2425
  secret_group_id?: string;
1880
2426
  /** Labels that you can use to filter for secrets in your instance.
1881
2427
  *
1882
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1883
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
2428
+ * Up to 30 labels can be created. Labels can be 2 - 30 characters, including spaces. Special characters that are
2429
+ * not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1884
2430
  *
1885
2431
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1886
2432
  */
@@ -1924,23 +2470,47 @@ declare namespace SecretsManagerV1 {
1924
2470
  * To view a list of your configured authorities, use the [List configurations API](#get-secret-config-element).
1925
2471
  */
1926
2472
  dns?: string;
1927
- /** The identifier for the cryptographic algorthim to be used by the issuing certificate authority to sign the
1928
- * ceritificate.
2473
+ /** The identifier for the cryptographic algorithm to be used by the issuing certificate authority to sign the
2474
+ * certificate.
1929
2475
  */
1930
2476
  algorithm?: string;
1931
2477
  /** The identifier for the cryptographic algorithm to be used to generate the public key that is associated with
1932
2478
  * the certificate.
2479
+ *
2480
+ * The algorithm that you select determines the encryption algorithm (`RSA` or `ECDSA`) and key size to be used to
2481
+ * generate keys and sign certificates. For longer living certificates, it is recommended to use longer keys to
2482
+ * provide more encryption protection.
1933
2483
  */
1934
2484
  key_algorithm?: string;
1935
2485
  /** The alternative names that are defined for the certificate. */
1936
2486
  alt_names?: string[];
1937
2487
  /** The fully qualified domain name or host domain name for the certificate. */
1938
2488
  common_name?: string;
2489
+ /** Indicates whether the issued certificate includes a private key. */
2490
+ private_key_included?: boolean;
2491
+ /** Indicates whether the issued certificate includes an intermediate certificate. */
2492
+ intermediate_included?: boolean;
1939
2493
  rotation?: Rotation;
1940
2494
  /** Issuance information that is associated with your certificate. */
1941
2495
  issuance_info?: IssuanceInfo;
2496
+ validity?: CertificateValidity;
2497
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
2498
+ serial_number?: string;
2499
+ /** The data that is associated with the secret. The data object contains the following fields:
2500
+ *
2501
+ * `certificate`: The contents of the certificate.
2502
+ *
2503
+ * `private_key`: The private key that is associated with the certificate.
2504
+ *
2505
+ * `intermediate`: The intermediate certificate that is associated with the certificate.
2506
+ */
1942
2507
  secret_data?: JsonObject;
1943
2508
  }
2509
+ /** The request body of a `restore` action. */
2510
+ interface RestoreIAMCredentialsSecretBody extends SecretAction {
2511
+ /** The ID of the target version or the alias `previous`. */
2512
+ version_id: string;
2513
+ }
1944
2514
  /** The request body of a `rotate` action. */
1945
2515
  interface RotateArbitrarySecretBody extends SecretAction {
1946
2516
  /** The new secret data to assign to an `arbitrary` secret. */
@@ -1956,8 +2526,13 @@ declare namespace SecretsManagerV1 {
1956
2526
  intermediate?: string;
1957
2527
  }
1958
2528
  /** The request body of a `rotate` action. */
2529
+ interface RotateKvSecretBody extends SecretAction {
2530
+ /** The new secret data to assign to a key-value secret. */
2531
+ payload: JsonObject;
2532
+ }
2533
+ /** The request body of a `rotate` action. */
1959
2534
  interface RotatePublicCertBody extends SecretAction {
1960
- /** Determine whether keys should be rotated. */
2535
+ /** Determine whether keys must be rotated. */
1961
2536
  rotate_keys: boolean;
1962
2537
  }
1963
2538
  /** The request body of a `rotate` action. */
@@ -1976,8 +2551,6 @@ declare namespace SecretsManagerV1 {
1976
2551
  interface SecretPolicyRotationRotationPublicCertPolicyRotation extends SecretPolicyRotationRotation {
1977
2552
  auto_rotate: boolean;
1978
2553
  rotate_keys: boolean;
1979
- /** Warning response. */
1980
- warning?: Warning;
1981
2554
  }
1982
2555
  /** Metadata properties that describe a username_password secret. */
1983
2556
  interface UsernamePasswordSecretMetadata extends SecretMetadata {
@@ -1985,8 +2558,9 @@ declare namespace SecretsManagerV1 {
1985
2558
  id?: string;
1986
2559
  /** Labels that you can use to filter for secrets in your instance.
1987
2560
  *
1988
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1989
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
2561
+ * Up to 30 labels can be created. Labels can be in the range 2 - 30 characters, including spaces. Special
2562
+ * characters that are not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe
2563
+ * character (|).
1990
2564
  *
1991
2565
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1992
2566
  */
@@ -2058,8 +2632,8 @@ declare namespace SecretsManagerV1 {
2058
2632
  secret_group_id?: string;
2059
2633
  /** Labels that you can use to filter for secrets in your instance.
2060
2634
  *
2061
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
2062
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
2635
+ * Up to 30 labels can be created. Labels can be 2 - 30 characters, including spaces. Special characters that are
2636
+ * not permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
2063
2637
  *
2064
2638
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2065
2639
  */
@@ -2090,6 +2664,12 @@ declare namespace SecretsManagerV1 {
2090
2664
  username?: string;
2091
2665
  /** The password to assign to this secret. */
2092
2666
  password?: string;
2667
+ /** The data that is associated with the secret version. The data object contains the following fields:
2668
+ *
2669
+ * `username`: The username that is associated with the secret version.
2670
+ *
2671
+ * `password`: The password that is associated with the secret version.
2672
+ */
2093
2673
  secret_data?: JsonObject;
2094
2674
  /** The date the secret material expires. The date format follows RFC 3339.
2095
2675
  *
@@ -2108,14 +2688,59 @@ declare namespace SecretsManagerV1 {
2108
2688
  */
2109
2689
  next_rotation_date?: string;
2110
2690
  }
2691
+ /** UsernamePasswordSecretVersion. */
2692
+ interface UsernamePasswordSecretVersion extends SecretVersion {
2693
+ /** The v4 UUID that uniquely identifies the secret. */
2694
+ id?: string;
2695
+ /** The ID of the secret version. */
2696
+ version_id?: string;
2697
+ /** The date that the version of the secret was created. */
2698
+ creation_date?: string;
2699
+ /** The unique identifier for the entity that created the secret version. */
2700
+ created_by?: string;
2701
+ /** Indicates whether the version of the secret was created by automatic rotation. */
2702
+ auto_rotated?: boolean;
2703
+ /** The data that is associated with the secret version. The data object contains the following fields:
2704
+ *
2705
+ * `username`: The username that is associated with the secret version.
2706
+ *
2707
+ * `password`: The password that is associated with the secret version.
2708
+ */
2709
+ secret_data?: JsonObject;
2710
+ }
2711
+ /** UsernamePasswordSecretVersionInfo. */
2712
+ interface UsernamePasswordSecretVersionInfo extends SecretVersionInfo {
2713
+ /** The ID of the secret version. */
2714
+ id?: string;
2715
+ /** The date that the version of the secret was created. */
2716
+ creation_date?: string;
2717
+ /** The unique identifier for the entity that created the secret version. */
2718
+ created_by?: string;
2719
+ /** Indicates whether the payload for the secret version is stored and available. */
2720
+ payload_available?: boolean;
2721
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
2722
+ * service API.
2723
+ */
2724
+ downloaded?: boolean;
2725
+ /** Indicates whether the version of the secret was created by automatic rotation. */
2726
+ auto_rotated?: boolean;
2727
+ }
2111
2728
  /** Properties that describe a secret version. */
2112
2729
  interface UsernamePasswordSecretVersionMetadata extends SecretVersionMetadata {
2113
- /** The ID of the secret version. */
2730
+ /** The v4 UUID that uniquely identifies the secret. */
2114
2731
  id?: string;
2732
+ /** The ID of the secret version. */
2733
+ version_id?: string;
2115
2734
  /** The date that the version of the secret was created. */
2116
2735
  creation_date?: string;
2117
2736
  /** The unique identifier for the entity that created the secret version. */
2118
2737
  created_by?: string;
2738
+ /** Indicates whether the payload for the secret version is stored and available. */
2739
+ payload_available?: boolean;
2740
+ /** Indicates whether the secret data that is associated with a secret version was retrieved in a call to the
2741
+ * service API.
2742
+ */
2743
+ downloaded?: boolean;
2119
2744
  /** Indicates whether the version of the secret was created by automatic rotation. */
2120
2745
  auto_rotated?: boolean;
2121
2746
  }