@ibm-cloud/secrets-manager 2.0.2 → 2.0.4

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. 2023.
2
+ * (C) Copyright IBM Corp. 2024.
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.
@@ -53,7 +53,7 @@ declare class SecretsManagerV2 extends BaseService {
53
53
  * @param {UserOptions} [options] - The parameters to send to the service.
54
54
  * @param {string} [options.serviceName] - The name of the service to configure
55
55
  * @param {Authenticator} [options.authenticator] - The Authenticator object used to authenticate requests to the service
56
- * @param {string} [options.serviceUrl] - The URL for the service
56
+ * @param {string} [options.serviceUrl] - The base URL for the service
57
57
  * @returns {SecretsManagerV2}
58
58
  */
59
59
  static newInstance(options: UserOptions): SecretsManagerV2;
@@ -61,7 +61,7 @@ declare class SecretsManagerV2 extends BaseService {
61
61
  * Construct a SecretsManagerV2 object.
62
62
  *
63
63
  * @param {Object} options - Options for the service.
64
- * @param {string} [options.serviceUrl] - The base url to use when contacting the service. The base url may differ between IBM Cloud regions.
64
+ * @param {string} [options.serviceUrl] - The base URL for the service
65
65
  * @param {OutgoingHttpHeaders} [options.headers] - Default headers that shall be included with every request to the service.
66
66
  * @param {Authenticator} options.authenticator - The Authenticator object used to authenticate requests to the service
67
67
  * @constructor
@@ -201,6 +201,18 @@ declare class SecretsManagerV2 extends BaseService {
201
201
  *
202
202
  * **Usage:** To retrieve a list of secrets that are associated with an existing secret group or the default group,
203
203
  * use `..?groups={secret_group_ID},default`.
204
+ * @param {string[]} [params.secretTypes] - Filter secrets by types.
205
+ *
206
+ * You can apply multiple filters by using a comma-separated list of secret types.
207
+ *
208
+ * **Usage:** To retrieve a list of imported certificates and public certificates use
209
+ * `..?secret_types=imported_cert,public_cert`.
210
+ * @param {string[]} [params.matchAllLabels] - Filter secrets by labels.
211
+ *
212
+ * You can use a comma-separated list of labels to filter secrets that include all of the labels in the list.
213
+ *
214
+ * **Usage:** To retrieve a list of secrets that include both the label "dev" and the label "us-south" in their list
215
+ * of labels, use `..?labels=dev,us-south`.
204
216
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
205
217
  * @returns {Promise<SecretsManagerV2.Response<SecretsManagerV2.SecretMetadataPaginatedCollection>>}
206
218
  */
@@ -893,8 +905,38 @@ declare namespace SecretsManagerV2 {
893
905
  * use `..?groups={secret_group_ID},default`.
894
906
  */
895
907
  groups?: string[];
908
+ /** Filter secrets by types.
909
+ *
910
+ * You can apply multiple filters by using a comma-separated list of secret types.
911
+ *
912
+ * **Usage:** To retrieve a list of imported certificates and public certificates use
913
+ * `..?secret_types=imported_cert,public_cert`.
914
+ */
915
+ secretTypes?: ListSecretsConstants.SecretTypes[] | string[];
916
+ /** Filter secrets by labels.
917
+ *
918
+ * You can use a comma-separated list of labels to filter secrets that include all of the labels in the list.
919
+ *
920
+ * **Usage:** To retrieve a list of secrets that include both the label "dev" and the label "us-south" in their
921
+ * list of labels, use `..?labels=dev,us-south`.
922
+ */
923
+ matchAllLabels?: string[];
896
924
  headers?: OutgoingHttpHeaders;
897
925
  }
926
+ /** Constants for the `listSecrets` operation. */
927
+ namespace ListSecretsConstants {
928
+ /** Filter secrets by types. You can apply multiple filters by using a comma-separated list of secret types. **Usage:** To retrieve a list of imported certificates and public certificates use `..?secret_types=imported_cert,public_cert`. */
929
+ enum SecretTypes {
930
+ ARBITRARY = "arbitrary",
931
+ IAM_CREDENTIALS = "iam_credentials",
932
+ IMPORTED_CERT = "imported_cert",
933
+ KV = "kv",
934
+ PRIVATE_CERT = "private_cert",
935
+ PUBLIC_CERT = "public_cert",
936
+ SERVICE_CREDENTIALS = "service_credentials",
937
+ USERNAME_PASSWORD = "username_password"
938
+ }
939
+ }
898
940
  /** Parameters for the `getSecret` operation. */
899
941
  interface GetSecretParams {
900
942
  /** The v4 UUID that uniquely identifies your secret. */
@@ -1450,13 +1492,6 @@ declare namespace SecretsManagerV2 {
1450
1492
  /** The details of your configuration. */
1451
1493
  interface ConfigurationPrototype {
1452
1494
  }
1453
- /** The Cloud Object Storage HMAC keys that are returned after you create a service credentials secret. */
1454
- interface CosHmacKeys {
1455
- /** The access key ID for Cloud Object Storage HMAC credentials. */
1456
- access_key_id?: string;
1457
- /** The secret access key ID for Cloud Object Storage HMAC credentials. */
1458
- secret_access_key?: string;
1459
- }
1460
1495
  /** The details of the Event Notifications registration. */
1461
1496
  interface NotificationsRegistration {
1462
1497
  /** A CRN that uniquely identifies an IBM Cloud resource. */
@@ -1482,6 +1517,39 @@ declare namespace SecretsManagerV2 {
1482
1517
  /** A URL that points to a page in a collection. */
1483
1518
  href: string;
1484
1519
  }
1520
+ /** Policy for auto-generated passwords. */
1521
+ interface PasswordGenerationPolicy {
1522
+ /** The length of auto-generated passwords. */
1523
+ length?: number;
1524
+ /** Include digits in auto-generated passwords. */
1525
+ include_digits?: boolean;
1526
+ /** Include symbols in auto-generated passwords. */
1527
+ include_symbols?: boolean;
1528
+ /** Include uppercase letters in auto-generated passwords. */
1529
+ include_uppercase?: boolean;
1530
+ }
1531
+ /** Policy patch for auto-generated passwords. Policy properties that are included in the patch are updated. Properties that are not included in the patch remain unchanged. */
1532
+ interface PasswordGenerationPolicyPatch {
1533
+ /** The length of auto-generated passwords. */
1534
+ length?: number;
1535
+ /** Include digits in auto-generated passwords. */
1536
+ include_digits?: boolean;
1537
+ /** Include symbols in auto-generated passwords. */
1538
+ include_symbols?: boolean;
1539
+ /** Include uppercase letters in auto-generated passwords. */
1540
+ include_uppercase?: boolean;
1541
+ }
1542
+ /** Policy for auto-generated passwords. */
1543
+ interface PasswordGenerationPolicyRO {
1544
+ /** The length of auto-generated passwords. */
1545
+ length?: number;
1546
+ /** Include digits in auto-generated passwords. */
1547
+ include_digits?: boolean;
1548
+ /** Include symbols in auto-generated passwords. */
1549
+ include_symbols?: boolean;
1550
+ /** Include uppercase letters in auto-generated passwords. */
1551
+ include_uppercase?: boolean;
1552
+ }
1485
1553
  /** The configuration data of your Private Certificate. */
1486
1554
  interface PrivateCertificateCAData {
1487
1555
  }
@@ -1763,10 +1831,6 @@ declare namespace SecretsManagerV2 {
1763
1831
  * field to understand the duration of the lease.
1764
1832
  */
1765
1833
  apikey?: string;
1766
- /** The Cloud Object Storage HMAC keys that are returned after you create a service credentials secret. */
1767
- cos_hmac_keys?: CosHmacKeys;
1768
- /** The endpoints that are returned after you create a service credentials secret. */
1769
- endpoints?: string;
1770
1834
  /** The IAM API key description for the generated service credentials. */
1771
1835
  iam_apikey_description?: string;
1772
1836
  /** The IAM API key id for the generated service credentials. */
@@ -1777,8 +1841,8 @@ declare namespace SecretsManagerV2 {
1777
1841
  iam_role_crn?: string;
1778
1842
  /** The IAM Service ID CRN. */
1779
1843
  iam_serviceid_crn?: string;
1780
- /** The resource instance CRN that is returned after you create a service credentials secret. */
1781
- resource_instance_id?: string;
1844
+ /** ServiceCredentialsSecretCredentials accepts additional properties. */
1845
+ [propName: string]: any;
1782
1846
  }
1783
1847
  /** The properties that are required to create the service credentials for the specified source service instance. */
1784
1848
  interface ServiceCredentialsSecretSourceService {
@@ -1796,6 +1860,23 @@ declare namespace SecretsManagerV2 {
1796
1860
  * roles.
1797
1861
  */
1798
1862
  role?: ServiceCredentialsSourceServiceRole;
1863
+ }
1864
+ /** The properties of the resource key that was created for this source service instance. */
1865
+ interface ServiceCredentialsSecretSourceServiceRO {
1866
+ /** The source service instance identifier. */
1867
+ instance: ServiceCredentialsSourceServiceInstance;
1868
+ /** Configuration options represented as key-value pairs. Service-defined options are used in the generation of
1869
+ * credentials for some services. For example, Cloud Object Storage accepts the optional boolean parameter HMAC for
1870
+ * creating specific kind of credentials.
1871
+ */
1872
+ parameters?: ServiceCredentialsSourceServiceParameters;
1873
+ /** The service-specific custom role. CRN is accepted. The role is assigned as part of an access policy to any
1874
+ * auto-generated IAM service ID. If you provide an existing service ID, it is added to the access policy for that
1875
+ * ID. If a role is not provided, any new service IDs that are autogenerated, will not have an assigned access
1876
+ * policy and provided service IDs are not changed in any way. Refer to the service documentation for supported
1877
+ * roles.
1878
+ */
1879
+ role?: ServiceCredentialsSourceServiceRole;
1799
1880
  /** The source service IAM data is returned in case IAM credentials where created for this secret. */
1800
1881
  iam?: ServiceCredentialsSourceServiceIam;
1801
1882
  /** The source service resource key data of the generated service credentials. */
@@ -1873,7 +1954,7 @@ declare namespace SecretsManagerV2 {
1873
1954
  id: string;
1874
1955
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
1875
1956
  *
1876
- * Label can be between 2-30 characters, including spaces.
1957
+ * Label can be between 2-64 characters, including spaces.
1877
1958
  *
1878
1959
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1879
1960
  */
@@ -1952,7 +2033,7 @@ declare namespace SecretsManagerV2 {
1952
2033
  id: string;
1953
2034
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
1954
2035
  *
1955
- * Label can be between 2-30 characters, including spaces.
2036
+ * Label can be between 2-64 characters, including spaces.
1956
2037
  *
1957
2038
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1958
2039
  */
@@ -2020,7 +2101,7 @@ declare namespace SecretsManagerV2 {
2020
2101
  description?: string;
2021
2102
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
2022
2103
  *
2023
- * Label can be between 2-30 characters, including spaces.
2104
+ * Label can be between 2-64 characters, including spaces.
2024
2105
  *
2025
2106
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2026
2107
  */
@@ -2048,7 +2129,7 @@ declare namespace SecretsManagerV2 {
2048
2129
  expiration_date?: string;
2049
2130
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
2050
2131
  *
2051
- * Label can be between 2-30 characters, including spaces.
2132
+ * Label can be between 2-64 characters, including spaces.
2052
2133
  *
2053
2134
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2054
2135
  */
@@ -2392,7 +2473,7 @@ declare namespace SecretsManagerV2 {
2392
2473
  id: string;
2393
2474
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
2394
2475
  *
2395
- * Label can be between 2-30 characters, including spaces.
2476
+ * Label can be between 2-64 characters, including spaces.
2396
2477
  *
2397
2478
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2398
2479
  */
@@ -2465,6 +2546,10 @@ declare namespace SecretsManagerV2 {
2465
2546
  * for secrets that can be auto-rotated and an existing rotation policy.
2466
2547
  */
2467
2548
  next_rotation_date?: string;
2549
+ /** The date when the secret material expires. The date format follows the `RFC 3339` format. Supported secret
2550
+ * types: Arbitrary, username_password.
2551
+ */
2552
+ expiration_date?: string;
2468
2553
  /** The API key that is generated for this secret.
2469
2554
  *
2470
2555
  * After the secret reaches the end of its lease, the API key is deleted automatically. See the `time-to-live`
@@ -2520,7 +2605,7 @@ declare namespace SecretsManagerV2 {
2520
2605
  id: string;
2521
2606
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
2522
2607
  *
2523
- * Label can be between 2-30 characters, including spaces.
2608
+ * Label can be between 2-64 characters, including spaces.
2524
2609
  *
2525
2610
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2526
2611
  */
@@ -2593,6 +2678,10 @@ declare namespace SecretsManagerV2 {
2593
2678
  * for secrets that can be auto-rotated and an existing rotation policy.
2594
2679
  */
2595
2680
  next_rotation_date?: string;
2681
+ /** The date when the secret material expires. The date format follows the `RFC 3339` format. Supported secret
2682
+ * types: Arbitrary, username_password.
2683
+ */
2684
+ expiration_date?: string;
2596
2685
  }
2597
2686
  namespace IAMCredentialsSecretMetadata {
2598
2687
  namespace Constants {
@@ -2632,7 +2721,7 @@ declare namespace SecretsManagerV2 {
2632
2721
  description?: string;
2633
2722
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
2634
2723
  *
2635
- * Label can be between 2-30 characters, including spaces.
2724
+ * Label can be between 2-64 characters, including spaces.
2636
2725
  *
2637
2726
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2638
2727
  */
@@ -2673,7 +2762,7 @@ declare namespace SecretsManagerV2 {
2673
2762
  secret_group_id?: string;
2674
2763
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
2675
2764
  *
2676
- * Label can be between 2-30 characters, including spaces.
2765
+ * Label can be between 2-64 characters, including spaces.
2677
2766
  *
2678
2767
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2679
2768
  */
@@ -2909,7 +2998,7 @@ declare namespace SecretsManagerV2 {
2909
2998
  id: string;
2910
2999
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
2911
3000
  *
2912
- * Label can be between 2-30 characters, including spaces.
3001
+ * Label can be between 2-64 characters, including spaces.
2913
3002
  *
2914
3003
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2915
3004
  */
@@ -3020,7 +3109,7 @@ declare namespace SecretsManagerV2 {
3020
3109
  id: string;
3021
3110
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
3022
3111
  *
3023
- * Label can be between 2-30 characters, including spaces.
3112
+ * Label can be between 2-64 characters, including spaces.
3024
3113
  *
3025
3114
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
3026
3115
  */
@@ -3112,7 +3201,7 @@ declare namespace SecretsManagerV2 {
3112
3201
  description?: string;
3113
3202
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
3114
3203
  *
3115
- * Label can be between 2-30 characters, including spaces.
3204
+ * Label can be between 2-64 characters, including spaces.
3116
3205
  *
3117
3206
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
3118
3207
  */
@@ -3141,7 +3230,7 @@ declare namespace SecretsManagerV2 {
3141
3230
  secret_group_id?: string;
3142
3231
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
3143
3232
  *
3144
- * Label can be between 2-30 characters, including spaces.
3233
+ * Label can be between 2-64 characters, including spaces.
3145
3234
  *
3146
3235
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
3147
3236
  */
@@ -3349,7 +3438,7 @@ declare namespace SecretsManagerV2 {
3349
3438
  id: string;
3350
3439
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
3351
3440
  *
3352
- * Label can be between 2-30 characters, including spaces.
3441
+ * Label can be between 2-64 characters, including spaces.
3353
3442
  *
3354
3443
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
3355
3444
  */
@@ -3424,7 +3513,7 @@ declare namespace SecretsManagerV2 {
3424
3513
  id: string;
3425
3514
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
3426
3515
  *
3427
- * Label can be between 2-30 characters, including spaces.
3516
+ * Label can be between 2-64 characters, including spaces.
3428
3517
  *
3429
3518
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
3430
3519
  */
@@ -3488,7 +3577,7 @@ declare namespace SecretsManagerV2 {
3488
3577
  description?: string;
3489
3578
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
3490
3579
  *
3491
- * Label can be between 2-30 characters, including spaces.
3580
+ * Label can be between 2-64 characters, including spaces.
3492
3581
  *
3493
3582
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
3494
3583
  */
@@ -3517,7 +3606,7 @@ declare namespace SecretsManagerV2 {
3517
3606
  secret_group_id?: string;
3518
3607
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
3519
3608
  *
3520
- * Label can be between 2-30 characters, including spaces.
3609
+ * Label can be between 2-64 characters, including spaces.
3521
3610
  *
3522
3611
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
3523
3612
  */
@@ -3685,7 +3774,7 @@ declare namespace SecretsManagerV2 {
3685
3774
  id: string;
3686
3775
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
3687
3776
  *
3688
- * Label can be between 2-30 characters, including spaces.
3777
+ * Label can be between 2-64 characters, including spaces.
3689
3778
  *
3690
3779
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
3691
3780
  */
@@ -4207,7 +4296,7 @@ declare namespace SecretsManagerV2 {
4207
4296
  serial_number?: string;
4208
4297
  /** The type of configuration action. */
4209
4298
  action_type: PrivateCertificateConfigurationActionSignIntermediate.Constants.ActionType | string;
4210
- /** The unique name of your configuration. */
4299
+ /** The name of the intermediate certificate authority configuration. */
4211
4300
  intermediate_certificate_authority: string;
4212
4301
  }
4213
4302
  namespace PrivateCertificateConfigurationActionSignIntermediate {
@@ -4306,7 +4395,7 @@ declare namespace SecretsManagerV2 {
4306
4395
  serial_number?: string;
4307
4396
  /** The type of configuration action. */
4308
4397
  action_type: PrivateCertificateConfigurationActionSignIntermediatePrototype.Constants.ActionType | string;
4309
- /** The unique name of your configuration. */
4398
+ /** The name of the intermediate certificate authority configuration. */
4310
4399
  intermediate_certificate_authority: string;
4311
4400
  }
4312
4401
  namespace PrivateCertificateConfigurationActionSignIntermediatePrototype {
@@ -5867,7 +5956,7 @@ declare namespace SecretsManagerV2 {
5867
5956
  id: string;
5868
5957
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
5869
5958
  *
5870
- * Label can be between 2-30 characters, including spaces.
5959
+ * Label can be between 2-64 characters, including spaces.
5871
5960
  *
5872
5961
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
5873
5962
  */
@@ -5973,7 +6062,7 @@ declare namespace SecretsManagerV2 {
5973
6062
  description?: string;
5974
6063
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
5975
6064
  *
5976
- * Label can be between 2-30 characters, including spaces.
6065
+ * Label can be between 2-64 characters, including spaces.
5977
6066
  *
5978
6067
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
5979
6068
  */
@@ -6006,7 +6095,7 @@ declare namespace SecretsManagerV2 {
6006
6095
  secret_group_id?: string;
6007
6096
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
6008
6097
  *
6009
- * Label can be between 2-30 characters, including spaces.
6098
+ * Label can be between 2-64 characters, including spaces.
6010
6099
  *
6011
6100
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
6012
6101
  */
@@ -6276,7 +6365,7 @@ declare namespace SecretsManagerV2 {
6276
6365
  id: string;
6277
6366
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
6278
6367
  *
6279
- * Label can be between 2-30 characters, including spaces.
6368
+ * Label can be between 2-64 characters, including spaces.
6280
6369
  *
6281
6370
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
6282
6371
  */
@@ -6425,8 +6514,8 @@ declare namespace SecretsManagerV2 {
6425
6514
  updated_at: string;
6426
6515
  /** The configuration of the Let's Encrypt CA environment. */
6427
6516
  lets_encrypt_environment: PublicCertificateConfigurationCALetsEncrypt.Constants.LetsEncryptEnvironment | string;
6428
- /** If the CA offers multiple certificate chains, prefer the chain with an issuer matching this Subject Common
6429
- * Name. If no match, the default offered chain will be used.
6517
+ /** This field supports only the chains that Let's Encrypt provides. Keep empty to use the default or supply a
6518
+ * valid Let's Encrypt-provided value. For a list of supported chains, see: https://letsencrypt.org/certificates/.
6430
6519
  */
6431
6520
  lets_encrypt_preferred_chain?: string;
6432
6521
  /** The PEM-encoded private key of your Let's Encrypt account. The data must be formatted on a single line with
@@ -6486,8 +6575,8 @@ declare namespace SecretsManagerV2 {
6486
6575
  updated_at: string;
6487
6576
  /** The configuration of the Let's Encrypt CA environment. */
6488
6577
  lets_encrypt_environment: PublicCertificateConfigurationCALetsEncryptMetadata.Constants.LetsEncryptEnvironment | string;
6489
- /** If the CA offers multiple certificate chains, prefer the chain with an issuer matching this Subject Common
6490
- * Name. If no match, the default offered chain will be used.
6578
+ /** This field supports only the chains that Let's Encrypt provides. Keep empty to use the default or supply a
6579
+ * valid Let's Encrypt-provided value. For a list of supported chains, see: https://letsencrypt.org/certificates/.
6491
6580
  */
6492
6581
  lets_encrypt_preferred_chain?: string;
6493
6582
  }
@@ -6529,8 +6618,8 @@ declare namespace SecretsManagerV2 {
6529
6618
  * embedded newline characters.
6530
6619
  */
6531
6620
  lets_encrypt_private_key?: string;
6532
- /** If the CA offers multiple certificate chains, prefer the chain with an issuer matching this Subject Common
6533
- * Name. If no match, the default offered chain will be used.
6621
+ /** This field supports only the chains that Let's Encrypt provides. Keep empty to use the default or supply a
6622
+ * valid Let's Encrypt-provided value. For a list of supported chains, see: https://letsencrypt.org/certificates/.
6534
6623
  */
6535
6624
  lets_encrypt_preferred_chain?: string;
6536
6625
  }
@@ -6562,8 +6651,8 @@ declare namespace SecretsManagerV2 {
6562
6651
  * embedded newline characters.
6563
6652
  */
6564
6653
  lets_encrypt_private_key: string;
6565
- /** If the CA offers multiple certificate chains, prefer the chain with an issuer matching this Subject Common
6566
- * Name. If no match, the default offered chain will be used.
6654
+ /** This field supports only the chains that Let's Encrypt provides. Keep empty to use the default or supply a
6655
+ * valid Let's Encrypt-provided value. For a list of supported chains, see: https://letsencrypt.org/certificates/.
6567
6656
  */
6568
6657
  lets_encrypt_preferred_chain?: string;
6569
6658
  }
@@ -6765,16 +6854,22 @@ declare namespace SecretsManagerV2 {
6765
6854
  created_at: string;
6766
6855
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
6767
6856
  updated_at: string;
6768
- /** An IBM Cloud API key that can to list domains in your Cloud Internet Services instance.
6857
+ /** An IBM Cloud API key that can list domains in your Cloud Internet Services instance and add DNS records.
6769
6858
  *
6770
6859
  * To grant Secrets Manager the ability to view the Cloud Internet Services instance and all of its domains, the
6771
- * API key must be assigned the Reader service role on Internet Services (`internet-svcs`).
6860
+ * API key must be assigned the Reader service role on Internet Services (`internet-svcs`). In order to add DNS
6861
+ * records you need to assign the Manager role.
6772
6862
  *
6773
- * If you need to manage specific domains, you can assign the Manager role. For production environments, it is
6774
- * recommended that you assign the Reader access role, and then use the
6863
+ * If you want to manage specific domains, you can assign the Manager role for this specific domain. For
6864
+ * production environments, it is recommended that you assign the Reader access role, and then use the
6775
6865
  * [IAM Policy Management API](https://cloud.ibm.com/apidocs/iam-policy-management#create-policy) to control
6776
- * specific domains. For more information, see the
6777
- * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#authorize-specific-domains).
6866
+ * specific domains.
6867
+ *
6868
+ * If an IBM Cloud API key value is empty Secrets Manager tries to access your Cloud Internet Services instance
6869
+ * with service-to-service authorization.
6870
+ *
6871
+ * For more information, see the
6872
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#authorize-cis).
6778
6873
  */
6779
6874
  cloud_internet_services_apikey?: string;
6780
6875
  /** A CRN that uniquely identifies an IBM Cloud resource. */
@@ -6853,16 +6948,22 @@ declare namespace SecretsManagerV2 {
6853
6948
  }
6854
6949
  /** The configuration update of the Cloud Internet Services DNS. */
6855
6950
  interface PublicCertificateConfigurationDNSCloudInternetServicesPatch extends ConfigurationPatch {
6856
- /** An IBM Cloud API key that can to list domains in your Cloud Internet Services instance.
6951
+ /** An IBM Cloud API key that can list domains in your Cloud Internet Services instance and add DNS records.
6857
6952
  *
6858
6953
  * To grant Secrets Manager the ability to view the Cloud Internet Services instance and all of its domains, the
6859
- * API key must be assigned the Reader service role on Internet Services (`internet-svcs`).
6954
+ * API key must be assigned the Reader service role on Internet Services (`internet-svcs`). In order to add DNS
6955
+ * records you need to assign the Manager role.
6860
6956
  *
6861
- * If you need to manage specific domains, you can assign the Manager role. For production environments, it is
6862
- * recommended that you assign the Reader access role, and then use the
6957
+ * If you want to manage specific domains, you can assign the Manager role for this specific domain. For
6958
+ * production environments, it is recommended that you assign the Reader access role, and then use the
6863
6959
  * [IAM Policy Management API](https://cloud.ibm.com/apidocs/iam-policy-management#create-policy) to control
6864
- * specific domains. For more information, see the
6865
- * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#authorize-specific-domains).
6960
+ * specific domains.
6961
+ *
6962
+ * If an IBM Cloud API key value is empty Secrets Manager tries to access your Cloud Internet Services instance
6963
+ * with service-to-service authorization.
6964
+ *
6965
+ * For more information, see the
6966
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#authorize-cis).
6866
6967
  */
6867
6968
  cloud_internet_services_apikey: string;
6868
6969
  /** A CRN that uniquely identifies an IBM Cloud resource. */
@@ -6881,16 +6982,22 @@ declare namespace SecretsManagerV2 {
6881
6982
  * To protect your privacy, do not use personal data, such as your name or location, as an name for your secret.
6882
6983
  */
6883
6984
  name: string;
6884
- /** An IBM Cloud API key that can to list domains in your Cloud Internet Services instance.
6985
+ /** An IBM Cloud API key that can list domains in your Cloud Internet Services instance and add DNS records.
6885
6986
  *
6886
6987
  * To grant Secrets Manager the ability to view the Cloud Internet Services instance and all of its domains, the
6887
- * API key must be assigned the Reader service role on Internet Services (`internet-svcs`).
6988
+ * API key must be assigned the Reader service role on Internet Services (`internet-svcs`). In order to add DNS
6989
+ * records you need to assign the Manager role.
6888
6990
  *
6889
- * If you need to manage specific domains, you can assign the Manager role. For production environments, it is
6890
- * recommended that you assign the Reader access role, and then use the
6991
+ * If you want to manage specific domains, you can assign the Manager role for this specific domain. For
6992
+ * production environments, it is recommended that you assign the Reader access role, and then use the
6891
6993
  * [IAM Policy Management API](https://cloud.ibm.com/apidocs/iam-policy-management#create-policy) to control
6892
- * specific domains. For more information, see the
6893
- * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#authorize-specific-domains).
6994
+ * specific domains.
6995
+ *
6996
+ * If an IBM Cloud API key value is empty Secrets Manager tries to access your Cloud Internet Services instance
6997
+ * with service-to-service authorization.
6998
+ *
6999
+ * For more information, see the
7000
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#authorize-cis).
6894
7001
  */
6895
7002
  cloud_internet_services_apikey?: string;
6896
7003
  /** A CRN that uniquely identifies an IBM Cloud resource. */
@@ -6934,7 +7041,7 @@ declare namespace SecretsManagerV2 {
6934
7041
  id: string;
6935
7042
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
6936
7043
  *
6937
- * Label can be between 2-30 characters, including spaces.
7044
+ * Label can be between 2-64 characters, including spaces.
6938
7045
  *
6939
7046
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
6940
7047
  */
@@ -7038,7 +7145,7 @@ declare namespace SecretsManagerV2 {
7038
7145
  description?: string;
7039
7146
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
7040
7147
  *
7041
- * Label can be between 2-30 characters, including spaces.
7148
+ * Label can be between 2-64 characters, including spaces.
7042
7149
  *
7043
7150
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
7044
7151
  */
@@ -7071,7 +7178,7 @@ declare namespace SecretsManagerV2 {
7071
7178
  secret_group_id?: string;
7072
7179
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
7073
7180
  *
7074
- * Label can be between 2-30 characters, including spaces.
7181
+ * Label can be between 2-64 characters, including spaces.
7075
7182
  *
7076
7183
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
7077
7184
  */
@@ -7303,7 +7410,7 @@ declare namespace SecretsManagerV2 {
7303
7410
  id: string;
7304
7411
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
7305
7412
  *
7306
- * Label can be between 2-30 characters, including spaces.
7413
+ * Label can be between 2-64 characters, including spaces.
7307
7414
  *
7308
7415
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
7309
7416
  */
@@ -7346,10 +7453,12 @@ declare namespace SecretsManagerV2 {
7346
7453
  * optional. If it is set the minimum duration is 1 day. The maximum is 90 days. By default, the TTL is set to 0.
7347
7454
  */
7348
7455
  ttl?: string;
7349
- /** The properties that are required to create the service credentials for the specified source service
7350
- * instance.
7456
+ /** The date when the secret material expires. The date format follows the `RFC 3339` format. Supported secret
7457
+ * types: Arbitrary, username_password.
7351
7458
  */
7352
- source_service: ServiceCredentialsSecretSourceService;
7459
+ expiration_date?: string;
7460
+ /** The properties of the resource key that was created for this source service instance. */
7461
+ source_service: ServiceCredentialsSecretSourceServiceRO;
7353
7462
  /** The properties of the service credentials secret payload. */
7354
7463
  credentials: ServiceCredentialsSecretCredentials;
7355
7464
  }
@@ -7400,7 +7509,7 @@ declare namespace SecretsManagerV2 {
7400
7509
  id: string;
7401
7510
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
7402
7511
  *
7403
- * Label can be between 2-30 characters, including spaces.
7512
+ * Label can be between 2-64 characters, including spaces.
7404
7513
  *
7405
7514
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
7406
7515
  */
@@ -7443,10 +7552,12 @@ declare namespace SecretsManagerV2 {
7443
7552
  * optional. If it is set the minimum duration is 1 day. The maximum is 90 days. By default, the TTL is set to 0.
7444
7553
  */
7445
7554
  ttl?: string;
7446
- /** The properties that are required to create the service credentials for the specified source service
7447
- * instance.
7555
+ /** The date when the secret material expires. The date format follows the `RFC 3339` format. Supported secret
7556
+ * types: Arbitrary, username_password.
7448
7557
  */
7449
- source_service: ServiceCredentialsSecretSourceService;
7558
+ expiration_date?: string;
7559
+ /** The properties of the resource key that was created for this source service instance. */
7560
+ source_service: ServiceCredentialsSecretSourceServiceRO;
7450
7561
  }
7451
7562
  namespace ServiceCredentialsSecretMetadata {
7452
7563
  namespace Constants {
@@ -7483,7 +7594,7 @@ declare namespace SecretsManagerV2 {
7483
7594
  description?: string;
7484
7595
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
7485
7596
  *
7486
- * Label can be between 2-30 characters, including spaces.
7597
+ * Label can be between 2-64 characters, including spaces.
7487
7598
  *
7488
7599
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
7489
7600
  */
@@ -7518,7 +7629,7 @@ declare namespace SecretsManagerV2 {
7518
7629
  description?: string;
7519
7630
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
7520
7631
  *
7521
- * Label can be between 2-30 characters, including spaces.
7632
+ * Label can be between 2-64 characters, including spaces.
7522
7633
  *
7523
7634
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
7524
7635
  */
@@ -7719,7 +7830,7 @@ declare namespace SecretsManagerV2 {
7719
7830
  id: string;
7720
7831
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
7721
7832
  *
7722
- * Label can be between 2-30 characters, including spaces.
7833
+ * Label can be between 2-64 characters, including spaces.
7723
7834
  *
7724
7835
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
7725
7836
  */
@@ -7758,6 +7869,8 @@ declare namespace SecretsManagerV2 {
7758
7869
  * for secrets that can be auto-rotated and an existing rotation policy.
7759
7870
  */
7760
7871
  next_rotation_date?: string;
7872
+ /** Policy for auto-generated passwords. */
7873
+ password_generation_policy?: PasswordGenerationPolicyRO;
7761
7874
  /** The username that is assigned to an `username_password` secret. */
7762
7875
  username: string;
7763
7876
  /** The password that is assigned to an `username_password` secret. */
@@ -7810,7 +7923,7 @@ declare namespace SecretsManagerV2 {
7810
7923
  id: string;
7811
7924
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
7812
7925
  *
7813
- * Label can be between 2-30 characters, including spaces.
7926
+ * Label can be between 2-64 characters, including spaces.
7814
7927
  *
7815
7928
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
7816
7929
  */
@@ -7849,6 +7962,8 @@ declare namespace SecretsManagerV2 {
7849
7962
  * for secrets that can be auto-rotated and an existing rotation policy.
7850
7963
  */
7851
7964
  next_rotation_date?: string;
7965
+ /** Policy for auto-generated passwords. */
7966
+ password_generation_policy?: PasswordGenerationPolicyRO;
7852
7967
  }
7853
7968
  namespace UsernamePasswordSecretMetadata {
7854
7969
  namespace Constants {
@@ -7888,7 +8003,7 @@ declare namespace SecretsManagerV2 {
7888
8003
  description?: string;
7889
8004
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
7890
8005
  *
7891
- * Label can be between 2-30 characters, including spaces.
8006
+ * Label can be between 2-64 characters, including spaces.
7892
8007
  *
7893
8008
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
7894
8009
  */
@@ -7903,6 +8018,10 @@ declare namespace SecretsManagerV2 {
7903
8018
  * types: Arbitrary, username_password.
7904
8019
  */
7905
8020
  expiration_date?: string;
8021
+ /** Policy patch for auto-generated passwords. Policy properties that are included in the patch are updated.
8022
+ * Properties that are not included in the patch remain unchanged.
8023
+ */
8024
+ password_generation_policy?: PasswordGenerationPolicyPatch;
7906
8025
  }
7907
8026
  /** UsernamePasswordSecretPrototype. */
7908
8027
  interface UsernamePasswordSecretPrototype extends SecretPrototype {
@@ -7925,15 +8044,17 @@ declare namespace SecretsManagerV2 {
7925
8044
  secret_group_id?: string;
7926
8045
  /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
7927
8046
  *
7928
- * Label can be between 2-30 characters, including spaces.
8047
+ * Label can be between 2-64 characters, including spaces.
7929
8048
  *
7930
8049
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
7931
8050
  */
7932
8051
  labels?: string[];
7933
8052
  /** The username that is assigned to an `username_password` secret. */
7934
8053
  username: string;
7935
- /** The password that is assigned to an `username_password` secret. */
7936
- password: string;
8054
+ /** The password that is assigned to an `username_password` secret. If you omit this parameter, Secrets Manager
8055
+ * generates a new random password for your secret.
8056
+ */
8057
+ password?: string;
7937
8058
  /** The date when the secret material expires. The date format follows the `RFC 3339` format. Supported secret
7938
8059
  * types: Arbitrary, username_password.
7939
8060
  */
@@ -7946,6 +8067,8 @@ declare namespace SecretsManagerV2 {
7946
8067
  * username_password, private_cert, public_cert, iam_credentials.
7947
8068
  */
7948
8069
  rotation?: RotationPolicy;
8070
+ /** Policy for auto-generated passwords. */
8071
+ password_generation_policy?: PasswordGenerationPolicy;
7949
8072
  }
7950
8073
  namespace UsernamePasswordSecretPrototype {
7951
8074
  namespace Constants {
@@ -8074,7 +8197,9 @@ declare namespace SecretsManagerV2 {
8074
8197
  }
8075
8198
  /** UsernamePasswordSecretVersionPrototype. */
8076
8199
  interface UsernamePasswordSecretVersionPrototype extends SecretVersionPrototype {
8077
- /** The password that is assigned to an `username_password` secret. */
8200
+ /** The password that is assigned to an `username_password` secret. If you omit this parameter, Secrets Manager
8201
+ * generates a new random password for your secret.
8202
+ */
8078
8203
  password?: string;
8079
8204
  /** The secret metadata that a user can customize. */
8080
8205
  custom_metadata?: JsonObject;