@ibm-cloud/secrets-manager 2.0.1 → 2.0.2

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.
@@ -276,8 +276,8 @@ declare class SecretsManagerV2 extends BaseService {
276
276
  * metadata](#get-secret-metadata) operation.
277
277
  *
278
278
  * @param {Object} params - The parameters to send to the service.
279
- * @param {string} params.secretType - The secret type. Supported types are arbitrary, certificates (imported, public,
280
- * and private), IAM credentials, key-value, and user credentials.
279
+ * @param {string} params.secretType - The secret type. Supported types are arbitrary, imported_cert, public_cert,
280
+ * private_cert, iam_credentials, service_credentials, kv, and username_password.
281
281
  * @param {string} params.name - A human-readable name to assign to your secret. To protect your privacy, do not use
282
282
  * personal data, such as your name or location, as a name for your secret.
283
283
  * @param {string} params.secretGroupName - The name of your secret group.
@@ -929,8 +929,8 @@ declare namespace SecretsManagerV2 {
929
929
  }
930
930
  /** Parameters for the `getSecretByNameType` operation. */
931
931
  interface GetSecretByNameTypeParams {
932
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
933
- * credentials, key-value, and user credentials.
932
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
933
+ * service_credentials, kv, and username_password.
934
934
  */
935
935
  secretType: GetSecretByNameTypeConstants.SecretType | string;
936
936
  /** A human-readable name to assign to your secret. To protect your privacy, do not use personal data, such as
@@ -943,15 +943,16 @@ declare namespace SecretsManagerV2 {
943
943
  }
944
944
  /** Constants for the `getSecretByNameType` operation. */
945
945
  namespace GetSecretByNameTypeConstants {
946
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM credentials, key-value, and user credentials. */
946
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
947
947
  enum SecretType {
948
948
  ARBITRARY = "arbitrary",
949
- IMPORTED_CERT = "imported_cert",
950
- PUBLIC_CERT = "public_cert",
951
949
  IAM_CREDENTIALS = "iam_credentials",
950
+ IMPORTED_CERT = "imported_cert",
952
951
  KV = "kv",
953
- USERNAME_PASSWORD = "username_password",
954
- PRIVATE_CERT = "private_cert"
952
+ PRIVATE_CERT = "private_cert",
953
+ PUBLIC_CERT = "public_cert",
954
+ SERVICE_CREDENTIALS = "service_credentials",
955
+ USERNAME_PASSWORD = "username_password"
955
956
  }
956
957
  }
957
958
  /** Parameters for the `createSecretVersion` operation. */
@@ -1378,7 +1379,19 @@ declare namespace SecretsManagerV2 {
1378
1379
  */
1379
1380
  state?: number;
1380
1381
  /** A text representation of the secret state. */
1381
- state_description?: string;
1382
+ state_description?: CertificateIssuanceInfo.Constants.StateDescription | string;
1383
+ }
1384
+ namespace CertificateIssuanceInfo {
1385
+ namespace Constants {
1386
+ /** A text representation of the secret state. */
1387
+ enum StateDescription {
1388
+ PRE_ACTIVATION = "pre_activation",
1389
+ ACTIVE = "active",
1390
+ SUSPENDED = "suspended",
1391
+ DEACTIVATED = "deactivated",
1392
+ DESTROYED = "destroyed"
1393
+ }
1394
+ }
1382
1395
  }
1383
1396
  /** The date and time that the certificate validity period begins and ends. */
1384
1397
  interface CertificateValidity {
@@ -1437,6 +1450,13 @@ declare namespace SecretsManagerV2 {
1437
1450
  /** The details of your configuration. */
1438
1451
  interface ConfigurationPrototype {
1439
1452
  }
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
+ }
1440
1460
  /** The details of the Event Notifications registration. */
1441
1461
  interface NotificationsRegistration {
1442
1462
  /** A CRN that uniquely identifies an IBM Cloud resource. */
@@ -1544,7 +1564,16 @@ declare namespace SecretsManagerV2 {
1544
1564
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
1545
1565
  * is used for version `n-1`.
1546
1566
  */
1547
- secret_version_alias: string;
1567
+ secret_version_alias: SecretLock.Constants.SecretVersionAlias | string;
1568
+ }
1569
+ namespace SecretLock {
1570
+ namespace Constants {
1571
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
1572
+ enum SecretVersionAlias {
1573
+ CURRENT = "current",
1574
+ PREVIOUS = "previous"
1575
+ }
1576
+ }
1548
1577
  }
1549
1578
  /** SecretLockPrototype. */
1550
1579
  interface SecretLockPrototype {
@@ -1569,15 +1598,30 @@ declare namespace SecretsManagerV2 {
1569
1598
  secret_id: string;
1570
1599
  /** A v4 UUID identifier, or `default` secret group. */
1571
1600
  secret_group_id: string;
1572
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
1573
- * credentials, key-value, and user credentials.
1601
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
1602
+ * service_credentials, kv, and username_password.
1574
1603
  */
1575
- secret_type?: string;
1604
+ secret_type?: SecretLocks.Constants.SecretType | string;
1576
1605
  /** The human-readable name of your secret. */
1577
1606
  secret_name?: string;
1578
1607
  /** A collection of locks that are attached to a secret. */
1579
1608
  versions: SecretVersionLocks[];
1580
1609
  }
1610
+ namespace SecretLocks {
1611
+ namespace Constants {
1612
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
1613
+ enum SecretType {
1614
+ ARBITRARY = "arbitrary",
1615
+ IAM_CREDENTIALS = "iam_credentials",
1616
+ IMPORTED_CERT = "imported_cert",
1617
+ KV = "kv",
1618
+ PRIVATE_CERT = "private_cert",
1619
+ PUBLIC_CERT = "public_cert",
1620
+ SERVICE_CREDENTIALS = "service_credentials",
1621
+ USERNAME_PASSWORD = "username_password"
1622
+ }
1623
+ }
1624
+ }
1581
1625
  /** Properties that describe a paginated collection of your secret locks. */
1582
1626
  interface SecretLocksPaginatedCollection {
1583
1627
  /** The total number of resources in a collection. */
@@ -1638,12 +1682,21 @@ declare namespace SecretsManagerV2 {
1638
1682
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
1639
1683
  * is used for version `n-1`.
1640
1684
  */
1641
- version_alias: string;
1685
+ version_alias: SecretVersionLocks.Constants.VersionAlias | string;
1642
1686
  /** The names of all locks that are associated with this secret version. */
1643
1687
  locks: string[];
1644
1688
  /** Indicates whether the secret payload is available in this secret version. */
1645
1689
  payload_available?: boolean;
1646
1690
  }
1691
+ namespace SecretVersionLocks {
1692
+ namespace Constants {
1693
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
1694
+ enum VersionAlias {
1695
+ CURRENT = "current",
1696
+ PREVIOUS = "previous"
1697
+ }
1698
+ }
1699
+ }
1647
1700
  /** Properties that describe a paginated collection of your secret version locks. */
1648
1701
  interface SecretVersionLocksPaginatedCollection {
1649
1702
  /** The total number of resources in a collection. */
@@ -1695,6 +1748,104 @@ declare namespace SecretsManagerV2 {
1695
1748
  /** A collection of secrets and their locks. */
1696
1749
  secrets_locks: SecretLocks[];
1697
1750
  }
1751
+ /** The source service resource key data of the generated service credentials. */
1752
+ interface ServiceCredentialsResourceKey {
1753
+ /** The resource key CRN of the generated service credentials. */
1754
+ crn?: string;
1755
+ /** The resource key name of the generated service credentials. */
1756
+ name?: string;
1757
+ }
1758
+ /** The properties of the service credentials secret payload. */
1759
+ interface ServiceCredentialsSecretCredentials {
1760
+ /** The API key that is generated for this secret.
1761
+ *
1762
+ * After the secret reaches the end of its lease, the API key is deleted automatically. See the `time-to-live`
1763
+ * field to understand the duration of the lease.
1764
+ */
1765
+ 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
+ /** The IAM API key description for the generated service credentials. */
1771
+ iam_apikey_description?: string;
1772
+ /** The IAM API key id for the generated service credentials. */
1773
+ iam_apikey_id?: string;
1774
+ /** The IAM API key name for the generated service credentials. */
1775
+ iam_apikey_name?: string;
1776
+ /** The IAM role CRN assigned to the generated service credentials. */
1777
+ iam_role_crn?: string;
1778
+ /** The IAM Service ID CRN. */
1779
+ iam_serviceid_crn?: string;
1780
+ /** The resource instance CRN that is returned after you create a service credentials secret. */
1781
+ resource_instance_id?: string;
1782
+ }
1783
+ /** The properties that are required to create the service credentials for the specified source service instance. */
1784
+ interface ServiceCredentialsSecretSourceService {
1785
+ /** The source service instance identifier. */
1786
+ instance: ServiceCredentialsSourceServiceInstance;
1787
+ /** Configuration options represented as key-value pairs. Service-defined options are used in the generation of
1788
+ * credentials for some services. For example, Cloud Object Storage accepts the optional boolean parameter HMAC for
1789
+ * creating specific kind of credentials.
1790
+ */
1791
+ parameters?: ServiceCredentialsSourceServiceParameters;
1792
+ /** The service-specific custom role. CRN is accepted. The role is assigned as part of an access policy to any
1793
+ * auto-generated IAM service ID. If you provide an existing service ID, it is added to the access policy for that
1794
+ * ID. If a role is not provided, any new service IDs that are autogenerated, will not have an assigned access
1795
+ * policy and provided service IDs are not changed in any way. Refer to the service documentation for supported
1796
+ * roles.
1797
+ */
1798
+ role?: ServiceCredentialsSourceServiceRole;
1799
+ /** The source service IAM data is returned in case IAM credentials where created for this secret. */
1800
+ iam?: ServiceCredentialsSourceServiceIam;
1801
+ /** The source service resource key data of the generated service credentials. */
1802
+ resource_key?: ServiceCredentialsResourceKey;
1803
+ }
1804
+ /** The source service IAM data is returned in case IAM credentials where created for this secret. */
1805
+ interface ServiceCredentialsSourceServiceIam {
1806
+ /** The IAM apikey metadata for the IAM credentials that were generated. */
1807
+ apikey?: ServiceCredentialsSourceServiceIamApikey;
1808
+ /** The IAM role for the generate service credentials. */
1809
+ role?: ServiceCredentialsSourceServiceIamRole;
1810
+ /** The IAM serviceid for the generated service credentials. */
1811
+ serviceid?: ServiceCredentialsSourceServiceIamServiceid;
1812
+ }
1813
+ /** The IAM apikey metadata for the IAM credentials that were generated. */
1814
+ interface ServiceCredentialsSourceServiceIamApikey {
1815
+ /** The IAM API key description for the generated service credentials. */
1816
+ description?: string;
1817
+ /** The IAM API key id for the generated service credentials. */
1818
+ id?: string;
1819
+ /** The IAM API key name for the generated service credentials. */
1820
+ name?: string;
1821
+ }
1822
+ /** The IAM role for the generate service credentials. */
1823
+ interface ServiceCredentialsSourceServiceIamRole {
1824
+ /** The IAM role CRN assigned to the generated service credentials. */
1825
+ crn?: string;
1826
+ }
1827
+ /** The IAM serviceid for the generated service credentials. */
1828
+ interface ServiceCredentialsSourceServiceIamServiceid {
1829
+ /** The IAM Service ID CRN. */
1830
+ crn?: string;
1831
+ }
1832
+ /** The source service instance identifier. */
1833
+ interface ServiceCredentialsSourceServiceInstance {
1834
+ /** A CRN that uniquely identifies a service credentials source. */
1835
+ crn?: string;
1836
+ }
1837
+ /** Configuration options represented as key-value pairs. Service-defined options are used in the generation of credentials for some services. For example, Cloud Object Storage accepts the optional boolean parameter HMAC for creating specific kind of credentials. */
1838
+ interface ServiceCredentialsSourceServiceParameters {
1839
+ /** An optional platform defined option to reuse an existing IAM Service ID for the role assignment. */
1840
+ serviceid_crn?: string;
1841
+ /** ServiceCredentialsSourceServiceParameters accepts additional properties. */
1842
+ [propName: string]: any;
1843
+ }
1844
+ /** The service-specific custom role. CRN is accepted. The role is assigned as part of an access policy to any auto-generated IAM service ID. If you provide an existing service ID, it is added to the access policy for that ID. If a role is not provided, any new service IDs that are autogenerated, will not have an assigned access policy and provided service IDs are not changed in any way. Refer to the service documentation for supported roles. */
1845
+ interface ServiceCredentialsSourceServiceRole {
1846
+ /** The service role CRN. */
1847
+ crn: string;
1848
+ }
1698
1849
  /** The request body to specify the properties of the action to create a secret version. */
1699
1850
  interface VersionAction {
1700
1851
  }
@@ -1733,16 +1884,16 @@ declare namespace SecretsManagerV2 {
1733
1884
  name?: string;
1734
1885
  /** A v4 UUID identifier, or `default` secret group. */
1735
1886
  secret_group_id: string;
1736
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
1737
- * credentials, key-value, and user credentials.
1887
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
1888
+ * service_credentials, kv, and username_password.
1738
1889
  */
1739
- secret_type: string;
1890
+ secret_type: ArbitrarySecret.Constants.SecretType | string;
1740
1891
  /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
1741
1892
  * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
1742
1893
  */
1743
1894
  state?: number;
1744
1895
  /** A text representation of the secret state. */
1745
- state_description?: string;
1896
+ state_description?: ArbitrarySecret.Constants.StateDescription | string;
1746
1897
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
1747
1898
  updated_at: string;
1748
1899
  /** The number of versions of your secret. */
@@ -1754,6 +1905,29 @@ declare namespace SecretsManagerV2 {
1754
1905
  /** The secret data that is assigned to an `arbitrary` secret. */
1755
1906
  payload?: string;
1756
1907
  }
1908
+ namespace ArbitrarySecret {
1909
+ namespace Constants {
1910
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
1911
+ enum SecretType {
1912
+ ARBITRARY = "arbitrary",
1913
+ IAM_CREDENTIALS = "iam_credentials",
1914
+ IMPORTED_CERT = "imported_cert",
1915
+ KV = "kv",
1916
+ PRIVATE_CERT = "private_cert",
1917
+ PUBLIC_CERT = "public_cert",
1918
+ SERVICE_CREDENTIALS = "service_credentials",
1919
+ USERNAME_PASSWORD = "username_password"
1920
+ }
1921
+ /** A text representation of the secret state. */
1922
+ enum StateDescription {
1923
+ PRE_ACTIVATION = "pre_activation",
1924
+ ACTIVE = "active",
1925
+ SUSPENDED = "suspended",
1926
+ DEACTIVATED = "deactivated",
1927
+ DESTROYED = "destroyed"
1928
+ }
1929
+ }
1930
+ }
1757
1931
  /** Properties of the metadata of your arbitrary secret.. */
1758
1932
  interface ArbitrarySecretMetadata extends SecretMetadata {
1759
1933
  /** The unique identifier that is associated with the entity that created the secret. */
@@ -1789,16 +1963,16 @@ declare namespace SecretsManagerV2 {
1789
1963
  name?: string;
1790
1964
  /** A v4 UUID identifier, or `default` secret group. */
1791
1965
  secret_group_id: string;
1792
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
1793
- * credentials, key-value, and user credentials.
1966
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
1967
+ * service_credentials, kv, and username_password.
1794
1968
  */
1795
- secret_type: string;
1969
+ secret_type: ArbitrarySecretMetadata.Constants.SecretType | string;
1796
1970
  /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
1797
1971
  * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
1798
1972
  */
1799
1973
  state?: number;
1800
1974
  /** A text representation of the secret state. */
1801
- state_description?: string;
1975
+ state_description?: ArbitrarySecretMetadata.Constants.StateDescription | string;
1802
1976
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
1803
1977
  updated_at: string;
1804
1978
  /** The number of versions of your secret. */
@@ -1808,6 +1982,29 @@ declare namespace SecretsManagerV2 {
1808
1982
  */
1809
1983
  expiration_date?: string;
1810
1984
  }
1985
+ namespace ArbitrarySecretMetadata {
1986
+ namespace Constants {
1987
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
1988
+ enum SecretType {
1989
+ ARBITRARY = "arbitrary",
1990
+ IAM_CREDENTIALS = "iam_credentials",
1991
+ IMPORTED_CERT = "imported_cert",
1992
+ KV = "kv",
1993
+ PRIVATE_CERT = "private_cert",
1994
+ PUBLIC_CERT = "public_cert",
1995
+ SERVICE_CREDENTIALS = "service_credentials",
1996
+ USERNAME_PASSWORD = "username_password"
1997
+ }
1998
+ /** A text representation of the secret state. */
1999
+ enum StateDescription {
2000
+ PRE_ACTIVATION = "pre_activation",
2001
+ ACTIVE = "active",
2002
+ SUSPENDED = "suspended",
2003
+ DEACTIVATED = "deactivated",
2004
+ DESTROYED = "destroyed"
2005
+ }
2006
+ }
2007
+ }
1811
2008
  /** ArbitrarySecretMetadataPatch. */
1812
2009
  interface ArbitrarySecretMetadataPatch extends SecretMetadataPatch {
1813
2010
  /** A human-readable name to assign to your secret.
@@ -1863,15 +2060,30 @@ declare namespace SecretsManagerV2 {
1863
2060
  name: string;
1864
2061
  /** A v4 UUID identifier, or `default` secret group. */
1865
2062
  secret_group_id?: string;
1866
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
1867
- * credentials, key-value, and user credentials.
2063
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
2064
+ * service_credentials, kv, and username_password.
1868
2065
  */
1869
- secret_type: string;
2066
+ secret_type: ArbitrarySecretPrototype.Constants.SecretType | string;
1870
2067
  /** The secret data that is assigned to an `arbitrary` secret. */
1871
2068
  payload: string;
1872
2069
  /** The secret version metadata that a user can customize. */
1873
2070
  version_custom_metadata?: JsonObject;
1874
2071
  }
2072
+ namespace ArbitrarySecretPrototype {
2073
+ namespace Constants {
2074
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
2075
+ enum SecretType {
2076
+ ARBITRARY = "arbitrary",
2077
+ IAM_CREDENTIALS = "iam_credentials",
2078
+ IMPORTED_CERT = "imported_cert",
2079
+ KV = "kv",
2080
+ PRIVATE_CERT = "private_cert",
2081
+ PUBLIC_CERT = "public_cert",
2082
+ SERVICE_CREDENTIALS = "service_credentials",
2083
+ USERNAME_PASSWORD = "username_password"
2084
+ }
2085
+ }
2086
+ }
1875
2087
  /** Your arbitrary secret version. */
1876
2088
  interface ArbitrarySecretVersion extends SecretVersion {
1877
2089
  /** Indicates whether the version of the secret was created by automatic rotation. */
@@ -1888,10 +2100,10 @@ declare namespace SecretsManagerV2 {
1888
2100
  id: string;
1889
2101
  /** The human-readable name of your secret. */
1890
2102
  secret_name?: string;
1891
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
1892
- * credentials, key-value, and user credentials.
2103
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
2104
+ * service_credentials, kv, and username_password.
1893
2105
  */
1894
- secret_type: string;
2106
+ secret_type: ArbitrarySecretVersion.Constants.SecretType | string;
1895
2107
  /** A v4 UUID identifier, or `default` secret group. */
1896
2108
  secret_group_id: string;
1897
2109
  /** Indicates whether the secret payload is available in this secret version. */
@@ -1899,7 +2111,7 @@ declare namespace SecretsManagerV2 {
1899
2111
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
1900
2112
  * is used for version `n-1`.
1901
2113
  */
1902
- alias?: string;
2114
+ alias?: ArbitrarySecretVersion.Constants.Alias | string;
1903
2115
  /** The secret version metadata that a user can customize. */
1904
2116
  version_custom_metadata?: JsonObject;
1905
2117
  /** A v4 UUID identifier. */
@@ -1911,6 +2123,26 @@ declare namespace SecretsManagerV2 {
1911
2123
  /** The secret data that is assigned to an `arbitrary` secret. */
1912
2124
  payload?: string;
1913
2125
  }
2126
+ namespace ArbitrarySecretVersion {
2127
+ namespace Constants {
2128
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
2129
+ enum SecretType {
2130
+ ARBITRARY = "arbitrary",
2131
+ IAM_CREDENTIALS = "iam_credentials",
2132
+ IMPORTED_CERT = "imported_cert",
2133
+ KV = "kv",
2134
+ PRIVATE_CERT = "private_cert",
2135
+ PUBLIC_CERT = "public_cert",
2136
+ SERVICE_CREDENTIALS = "service_credentials",
2137
+ USERNAME_PASSWORD = "username_password"
2138
+ }
2139
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
2140
+ enum Alias {
2141
+ CURRENT = "current",
2142
+ PREVIOUS = "previous"
2143
+ }
2144
+ }
2145
+ }
1914
2146
  /** Properties of the version metadata of your arbitrary secret. */
1915
2147
  interface ArbitrarySecretVersionMetadata extends SecretVersionMetadata {
1916
2148
  /** Indicates whether the version of the secret was created by automatic rotation. */
@@ -1927,10 +2159,10 @@ declare namespace SecretsManagerV2 {
1927
2159
  id: string;
1928
2160
  /** The human-readable name of your secret. */
1929
2161
  secret_name?: string;
1930
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
1931
- * credentials, key-value, and user credentials.
2162
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
2163
+ * service_credentials, kv, and username_password.
1932
2164
  */
1933
- secret_type: string;
2165
+ secret_type: ArbitrarySecretVersionMetadata.Constants.SecretType | string;
1934
2166
  /** A v4 UUID identifier, or `default` secret group. */
1935
2167
  secret_group_id: string;
1936
2168
  /** Indicates whether the secret payload is available in this secret version. */
@@ -1938,7 +2170,7 @@ declare namespace SecretsManagerV2 {
1938
2170
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
1939
2171
  * is used for version `n-1`.
1940
2172
  */
1941
- alias?: string;
2173
+ alias?: ArbitrarySecretVersionMetadata.Constants.Alias | string;
1942
2174
  /** The secret version metadata that a user can customize. */
1943
2175
  version_custom_metadata?: JsonObject;
1944
2176
  /** A v4 UUID identifier. */
@@ -1948,6 +2180,26 @@ declare namespace SecretsManagerV2 {
1948
2180
  */
1949
2181
  expiration_date?: string;
1950
2182
  }
2183
+ namespace ArbitrarySecretVersionMetadata {
2184
+ namespace Constants {
2185
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
2186
+ enum SecretType {
2187
+ ARBITRARY = "arbitrary",
2188
+ IAM_CREDENTIALS = "iam_credentials",
2189
+ IMPORTED_CERT = "imported_cert",
2190
+ KV = "kv",
2191
+ PRIVATE_CERT = "private_cert",
2192
+ PUBLIC_CERT = "public_cert",
2193
+ SERVICE_CREDENTIALS = "service_credentials",
2194
+ USERNAME_PASSWORD = "username_password"
2195
+ }
2196
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
2197
+ enum Alias {
2198
+ CURRENT = "current",
2199
+ PREVIOUS = "previous"
2200
+ }
2201
+ }
2202
+ }
1951
2203
  /** ArbitrarySecretVersionPrototype. */
1952
2204
  interface ArbitrarySecretVersionPrototype extends SecretVersionPrototype {
1953
2205
  /** The secret data that is assigned to an `arbitrary` secret. */
@@ -1968,18 +2220,31 @@ declare namespace SecretsManagerV2 {
1968
2220
  /** The length of the secret rotation time interval. */
1969
2221
  interval?: number;
1970
2222
  /** The units for the secret rotation time interval. */
1971
- unit?: string;
2223
+ unit?: CommonRotationPolicy.Constants.Unit | string;
2224
+ }
2225
+ namespace CommonRotationPolicy {
2226
+ namespace Constants {
2227
+ /** The units for the secret rotation time interval. */
2228
+ enum Unit {
2229
+ DAY = "day",
2230
+ MONTH = "month"
2231
+ }
2232
+ }
1972
2233
  }
1973
2234
  /** Properties that describe a Classic Infrastructure DNS configuration. */
1974
2235
  interface IAMCredentialsConfiguration extends Configuration {
1975
- /** The configuration type. */
1976
- config_type: string;
2236
+ /** The configuration type. Can be one of: iam_credentials_configuration,
2237
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
2238
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
2239
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
2240
+ */
2241
+ config_type: IAMCredentialsConfiguration.Constants.ConfigType | string;
1977
2242
  /** The unique name of your configuration. */
1978
2243
  name: string;
1979
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
1980
- * credentials, key-value, and user credentials.
2244
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
2245
+ * service_credentials, kv, and username_password.
1981
2246
  */
1982
- secret_type: string;
2247
+ secret_type: IAMCredentialsConfiguration.Constants.SecretType | string;
1983
2248
  /** The unique identifier that is associated with the entity that created the secret. */
1984
2249
  created_by: string;
1985
2250
  /** The date when the resource was created. The date format follows `RFC 3339`. */
@@ -1993,16 +2258,45 @@ declare namespace SecretsManagerV2 {
1993
2258
  */
1994
2259
  api_key?: string;
1995
2260
  }
2261
+ namespace IAMCredentialsConfiguration {
2262
+ namespace Constants {
2263
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
2264
+ enum ConfigType {
2265
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
2266
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
2267
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
2268
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
2269
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
2270
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
2271
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
2272
+ }
2273
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
2274
+ enum SecretType {
2275
+ ARBITRARY = "arbitrary",
2276
+ IAM_CREDENTIALS = "iam_credentials",
2277
+ IMPORTED_CERT = "imported_cert",
2278
+ KV = "kv",
2279
+ PRIVATE_CERT = "private_cert",
2280
+ PUBLIC_CERT = "public_cert",
2281
+ SERVICE_CREDENTIALS = "service_credentials",
2282
+ USERNAME_PASSWORD = "username_password"
2283
+ }
2284
+ }
2285
+ }
1996
2286
  /** Your IAMCredentials Configuration metadata properties. */
1997
2287
  interface IAMCredentialsConfigurationMetadata extends ConfigurationMetadata {
1998
- /** The configuration type. */
1999
- config_type: string;
2288
+ /** The configuration type. Can be one of: iam_credentials_configuration,
2289
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
2290
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
2291
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
2292
+ */
2293
+ config_type: IAMCredentialsConfigurationMetadata.Constants.ConfigType | string;
2000
2294
  /** The unique name of your configuration. */
2001
2295
  name: string;
2002
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
2003
- * credentials, key-value, and user credentials.
2296
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
2297
+ * service_credentials, kv, and username_password.
2004
2298
  */
2005
- secret_type: string;
2299
+ secret_type: IAMCredentialsConfigurationMetadata.Constants.SecretType | string;
2006
2300
  /** The unique identifier that is associated with the entity that created the secret. */
2007
2301
  created_by: string;
2008
2302
  /** The date when the resource was created. The date format follows `RFC 3339`. */
@@ -2010,6 +2304,31 @@ declare namespace SecretsManagerV2 {
2010
2304
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
2011
2305
  updated_at: string;
2012
2306
  }
2307
+ namespace IAMCredentialsConfigurationMetadata {
2308
+ namespace Constants {
2309
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
2310
+ enum ConfigType {
2311
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
2312
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
2313
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
2314
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
2315
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
2316
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
2317
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
2318
+ }
2319
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
2320
+ enum SecretType {
2321
+ ARBITRARY = "arbitrary",
2322
+ IAM_CREDENTIALS = "iam_credentials",
2323
+ IMPORTED_CERT = "imported_cert",
2324
+ KV = "kv",
2325
+ PRIVATE_CERT = "private_cert",
2326
+ PUBLIC_CERT = "public_cert",
2327
+ SERVICE_CREDENTIALS = "service_credentials",
2328
+ USERNAME_PASSWORD = "username_password"
2329
+ }
2330
+ }
2331
+ }
2013
2332
  /** The configuration update of the IAM Credentials engine. */
2014
2333
  interface IAMCredentialsConfigurationPatch extends ConfigurationPatch {
2015
2334
  /** An IBM Cloud API key that can create and manage service IDs. The API key must be assigned the Editor
@@ -2026,11 +2345,29 @@ declare namespace SecretsManagerV2 {
2026
2345
  * To protect your privacy, do not use personal data, such as your name or location, as an name for your secret.
2027
2346
  */
2028
2347
  name: string;
2029
- /** The configuration type. */
2030
- config_type: string;
2348
+ /** The configuration type. Can be one of: iam_credentials_configuration,
2349
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
2350
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
2351
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
2352
+ */
2353
+ config_type: IAMCredentialsConfigurationPrototype.Constants.ConfigType | string;
2031
2354
  /** The API key that is used to set the iam_credentials engine. */
2032
2355
  api_key: string;
2033
2356
  }
2357
+ namespace IAMCredentialsConfigurationPrototype {
2358
+ namespace Constants {
2359
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
2360
+ enum ConfigType {
2361
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
2362
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
2363
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
2364
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
2365
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
2366
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
2367
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
2368
+ }
2369
+ }
2370
+ }
2034
2371
  /** Your IAM credentials secret. */
2035
2372
  interface IAMCredentialsSecret extends Secret {
2036
2373
  /** The unique identifier that is associated with the entity that created the secret. */
@@ -2066,27 +2403,26 @@ declare namespace SecretsManagerV2 {
2066
2403
  name?: string;
2067
2404
  /** A v4 UUID identifier, or `default` secret group. */
2068
2405
  secret_group_id: string;
2069
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
2070
- * credentials, key-value, and user credentials.
2406
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
2407
+ * service_credentials, kv, and username_password.
2071
2408
  */
2072
- secret_type: string;
2409
+ secret_type: IAMCredentialsSecret.Constants.SecretType | string;
2073
2410
  /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
2074
2411
  * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
2075
2412
  */
2076
2413
  state?: number;
2077
2414
  /** A text representation of the secret state. */
2078
- state_description?: string;
2415
+ state_description?: IAMCredentialsSecret.Constants.StateDescription | string;
2079
2416
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
2080
2417
  updated_at: string;
2081
2418
  /** The number of versions of your secret. */
2082
2419
  versions_total: number;
2083
- /** The time-to-live (TTL) or lease duration to assign to credentials that are generated.
2084
- *
2085
- * For `iam_credentials` secrets, the TTL defines for how long each generated API key remains valid. The value can
2086
- * be either an integer that specifies the number of seconds, or the string representation of a duration, such as
2087
- * `120m` or `24h`.
2088
- *
2089
- * The minimum duration is 1 minute. The maximum is 90 days.
2420
+ /** The time-to-live (TTL) or lease duration to assign to credentials that are generated. Supported secret
2421
+ * types: iam_credentials, service_credentials. The TTL defines how long generated credentials remain valid. The
2422
+ * value can be either an integer that specifies the number of seconds, or the string representation of a
2423
+ * duration, such as `1440m` or `24h`. For the iam_credentials secret type, the TTL field is mandatory. The minimum
2424
+ * duration is 1 minute. The maximum is 90 days. For the service_credentials secret type, the TTL field is
2425
+ * optional. If it is set the minimum duration is 1 day. The maximum is 90 days. By default, the TTL is set to 0.
2090
2426
  */
2091
2427
  ttl: string;
2092
2428
  /** Access Groups that you can use for an `iam_credentials` secret.
@@ -2131,11 +2467,35 @@ declare namespace SecretsManagerV2 {
2131
2467
  next_rotation_date?: string;
2132
2468
  /** The API key that is generated for this secret.
2133
2469
  *
2134
- * After the secret reaches the end of its lease (see the `ttl` field), the API key is deleted automatically. If
2135
- * you want to continue to use the same API key for future read operations, see the `reuse_api_key` field.
2470
+ * After the secret reaches the end of its lease, the API key is deleted automatically. See the `time-to-live`
2471
+ * field to understand the duration of the lease. If you want to continue to use the same API key for future read
2472
+ * operations, see the `reuse_api_key` field.
2136
2473
  */
2137
2474
  api_key?: string;
2138
2475
  }
2476
+ namespace IAMCredentialsSecret {
2477
+ namespace Constants {
2478
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
2479
+ enum SecretType {
2480
+ ARBITRARY = "arbitrary",
2481
+ IAM_CREDENTIALS = "iam_credentials",
2482
+ IMPORTED_CERT = "imported_cert",
2483
+ KV = "kv",
2484
+ PRIVATE_CERT = "private_cert",
2485
+ PUBLIC_CERT = "public_cert",
2486
+ SERVICE_CREDENTIALS = "service_credentials",
2487
+ USERNAME_PASSWORD = "username_password"
2488
+ }
2489
+ /** A text representation of the secret state. */
2490
+ enum StateDescription {
2491
+ PRE_ACTIVATION = "pre_activation",
2492
+ ACTIVE = "active",
2493
+ SUSPENDED = "suspended",
2494
+ DEACTIVATED = "deactivated",
2495
+ DESTROYED = "destroyed"
2496
+ }
2497
+ }
2498
+ }
2139
2499
  /** Properties of the metadata of your IAM credentials secret. */
2140
2500
  interface IAMCredentialsSecretMetadata extends SecretMetadata {
2141
2501
  /** The unique identifier that is associated with the entity that created the secret. */
@@ -2171,27 +2531,26 @@ declare namespace SecretsManagerV2 {
2171
2531
  name?: string;
2172
2532
  /** A v4 UUID identifier, or `default` secret group. */
2173
2533
  secret_group_id: string;
2174
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
2175
- * credentials, key-value, and user credentials.
2534
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
2535
+ * service_credentials, kv, and username_password.
2176
2536
  */
2177
- secret_type: string;
2537
+ secret_type: IAMCredentialsSecretMetadata.Constants.SecretType | string;
2178
2538
  /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
2179
2539
  * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
2180
2540
  */
2181
2541
  state?: number;
2182
2542
  /** A text representation of the secret state. */
2183
- state_description?: string;
2543
+ state_description?: IAMCredentialsSecretMetadata.Constants.StateDescription | string;
2184
2544
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
2185
2545
  updated_at: string;
2186
2546
  /** The number of versions of your secret. */
2187
2547
  versions_total: number;
2188
- /** The time-to-live (TTL) or lease duration to assign to credentials that are generated.
2189
- *
2190
- * For `iam_credentials` secrets, the TTL defines for how long each generated API key remains valid. The value can
2191
- * be either an integer that specifies the number of seconds, or the string representation of a duration, such as
2192
- * `120m` or `24h`.
2193
- *
2194
- * The minimum duration is 1 minute. The maximum is 90 days.
2548
+ /** The time-to-live (TTL) or lease duration to assign to credentials that are generated. Supported secret
2549
+ * types: iam_credentials, service_credentials. The TTL defines how long generated credentials remain valid. The
2550
+ * value can be either an integer that specifies the number of seconds, or the string representation of a
2551
+ * duration, such as `1440m` or `24h`. For the iam_credentials secret type, the TTL field is mandatory. The minimum
2552
+ * duration is 1 minute. The maximum is 90 days. For the service_credentials secret type, the TTL field is
2553
+ * optional. If it is set the minimum duration is 1 day. The maximum is 90 days. By default, the TTL is set to 0.
2195
2554
  */
2196
2555
  ttl: string;
2197
2556
  /** Access Groups that you can use for an `iam_credentials` secret.
@@ -2235,6 +2594,29 @@ declare namespace SecretsManagerV2 {
2235
2594
  */
2236
2595
  next_rotation_date?: string;
2237
2596
  }
2597
+ namespace IAMCredentialsSecretMetadata {
2598
+ namespace Constants {
2599
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
2600
+ enum SecretType {
2601
+ ARBITRARY = "arbitrary",
2602
+ IAM_CREDENTIALS = "iam_credentials",
2603
+ IMPORTED_CERT = "imported_cert",
2604
+ KV = "kv",
2605
+ PRIVATE_CERT = "private_cert",
2606
+ PUBLIC_CERT = "public_cert",
2607
+ SERVICE_CREDENTIALS = "service_credentials",
2608
+ USERNAME_PASSWORD = "username_password"
2609
+ }
2610
+ /** A text representation of the secret state. */
2611
+ enum StateDescription {
2612
+ PRE_ACTIVATION = "pre_activation",
2613
+ ACTIVE = "active",
2614
+ SUSPENDED = "suspended",
2615
+ DEACTIVATED = "deactivated",
2616
+ DESTROYED = "destroyed"
2617
+ }
2618
+ }
2619
+ }
2238
2620
  /** IAMCredentialsSecretMetadataPatch. */
2239
2621
  interface IAMCredentialsSecretMetadataPatch extends SecretMetadataPatch {
2240
2622
  /** A human-readable name to assign to your secret.
@@ -2257,13 +2639,12 @@ declare namespace SecretsManagerV2 {
2257
2639
  labels?: string[];
2258
2640
  /** The secret metadata that a user can customize. */
2259
2641
  custom_metadata?: JsonObject;
2260
- /** The time-to-live (TTL) or lease duration to assign to credentials that are generated.
2261
- *
2262
- * For `iam_credentials` secrets, the TTL defines for how long each generated API key remains valid. The value can
2263
- * be either an integer that specifies the number of seconds, or the string representation of a duration, such as
2264
- * `120m` or `24h`.
2265
- *
2266
- * The minimum duration is 1 minute. The maximum is 90 days.
2642
+ /** The time-to-live (TTL) or lease duration to assign to credentials that are generated. Supported secret
2643
+ * types: iam_credentials, service_credentials. The TTL defines how long generated credentials remain valid. The
2644
+ * value can be either an integer that specifies the number of seconds, or the string representation of a
2645
+ * duration, such as `1440m` or `24h`. For the iam_credentials secret type, the TTL field is mandatory. The minimum
2646
+ * duration is 1 minute. The maximum is 90 days. For the service_credentials secret type, the TTL field is
2647
+ * optional. If it is set the minimum duration is 1 day. The maximum is 90 days. By default, the TTL is set to 0.
2267
2648
  */
2268
2649
  ttl?: string;
2269
2650
  /** This field indicates whether Secrets Manager rotates your secrets automatically. Supported secret types:
@@ -2273,10 +2654,10 @@ declare namespace SecretsManagerV2 {
2273
2654
  }
2274
2655
  /** IAMCredentialsSecretPrototype. */
2275
2656
  interface IAMCredentialsSecretPrototype extends SecretPrototype {
2276
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
2277
- * credentials, key-value, and user credentials.
2657
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
2658
+ * service_credentials, kv, and username_password.
2278
2659
  */
2279
- secret_type: string;
2660
+ secret_type: IAMCredentialsSecretPrototype.Constants.SecretType | string;
2280
2661
  /** A human-readable name to assign to your secret.
2281
2662
  *
2282
2663
  * To protect your privacy, do not use personal data, such as your name or location, as a name for your secret.
@@ -2297,13 +2678,12 @@ declare namespace SecretsManagerV2 {
2297
2678
  * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2298
2679
  */
2299
2680
  labels?: string[];
2300
- /** The time-to-live (TTL) or lease duration to assign to credentials that are generated.
2301
- *
2302
- * For `iam_credentials` secrets, the TTL defines for how long each generated API key remains valid. The value can
2303
- * be either an integer that specifies the number of seconds, or the string representation of a duration, such as
2304
- * `120m` or `24h`.
2305
- *
2306
- * The minimum duration is 1 minute. The maximum is 90 days.
2681
+ /** The time-to-live (TTL) or lease duration to assign to credentials that are generated. Supported secret
2682
+ * types: iam_credentials, service_credentials. The TTL defines how long generated credentials remain valid. The
2683
+ * value can be either an integer that specifies the number of seconds, or the string representation of a
2684
+ * duration, such as `1440m` or `24h`. For the iam_credentials secret type, the TTL field is mandatory. The minimum
2685
+ * duration is 1 minute. The maximum is 90 days. For the service_credentials secret type, the TTL field is
2686
+ * optional. If it is set the minimum duration is 1 day. The maximum is 90 days. By default, the TTL is set to 0.
2307
2687
  */
2308
2688
  ttl: string;
2309
2689
  /** Access Groups that you can use for an `iam_credentials` secret.
@@ -2337,6 +2717,21 @@ declare namespace SecretsManagerV2 {
2337
2717
  /** The secret version metadata that a user can customize. */
2338
2718
  version_custom_metadata?: JsonObject;
2339
2719
  }
2720
+ namespace IAMCredentialsSecretPrototype {
2721
+ namespace Constants {
2722
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
2723
+ enum SecretType {
2724
+ ARBITRARY = "arbitrary",
2725
+ IAM_CREDENTIALS = "iam_credentials",
2726
+ IMPORTED_CERT = "imported_cert",
2727
+ KV = "kv",
2728
+ PRIVATE_CERT = "private_cert",
2729
+ PUBLIC_CERT = "public_cert",
2730
+ SERVICE_CREDENTIALS = "service_credentials",
2731
+ USERNAME_PASSWORD = "username_password"
2732
+ }
2733
+ }
2734
+ }
2340
2735
  /** IAMCredentialsSecretRestoreFromVersionPrototype. */
2341
2736
  interface IAMCredentialsSecretRestoreFromVersionPrototype extends SecretVersionPrototype {
2342
2737
  /** A v4 UUID identifier, or `current` or `previous` secret version aliases. */
@@ -2362,10 +2757,10 @@ declare namespace SecretsManagerV2 {
2362
2757
  id: string;
2363
2758
  /** The human-readable name of your secret. */
2364
2759
  secret_name?: string;
2365
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
2366
- * credentials, key-value, and user credentials.
2760
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
2761
+ * service_credentials, kv, and username_password.
2367
2762
  */
2368
- secret_type: string;
2763
+ secret_type: IAMCredentialsSecretVersion.Constants.SecretType | string;
2369
2764
  /** A v4 UUID identifier, or `default` secret group. */
2370
2765
  secret_group_id: string;
2371
2766
  /** Indicates whether the secret payload is available in this secret version. */
@@ -2373,7 +2768,7 @@ declare namespace SecretsManagerV2 {
2373
2768
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
2374
2769
  * is used for version `n-1`.
2375
2770
  */
2376
- alias?: string;
2771
+ alias?: IAMCredentialsSecretVersion.Constants.Alias | string;
2377
2772
  /** The secret version metadata that a user can customize. */
2378
2773
  version_custom_metadata?: JsonObject;
2379
2774
  /** A v4 UUID identifier. */
@@ -2392,11 +2787,32 @@ declare namespace SecretsManagerV2 {
2392
2787
  service_id?: string;
2393
2788
  /** The API key that is generated for this secret.
2394
2789
  *
2395
- * After the secret reaches the end of its lease (see the `ttl` field), the API key is deleted automatically. If
2396
- * you want to continue to use the same API key for future read operations, see the `reuse_api_key` field.
2790
+ * After the secret reaches the end of its lease, the API key is deleted automatically. See the `time-to-live`
2791
+ * field to understand the duration of the lease. If you want to continue to use the same API key for future read
2792
+ * operations, see the `reuse_api_key` field.
2397
2793
  */
2398
2794
  api_key?: string;
2399
2795
  }
2796
+ namespace IAMCredentialsSecretVersion {
2797
+ namespace Constants {
2798
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
2799
+ enum SecretType {
2800
+ ARBITRARY = "arbitrary",
2801
+ IAM_CREDENTIALS = "iam_credentials",
2802
+ IMPORTED_CERT = "imported_cert",
2803
+ KV = "kv",
2804
+ PRIVATE_CERT = "private_cert",
2805
+ PUBLIC_CERT = "public_cert",
2806
+ SERVICE_CREDENTIALS = "service_credentials",
2807
+ USERNAME_PASSWORD = "username_password"
2808
+ }
2809
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
2810
+ enum Alias {
2811
+ CURRENT = "current",
2812
+ PREVIOUS = "previous"
2813
+ }
2814
+ }
2815
+ }
2400
2816
  /** Properties of the version metadata of your IAM credentials secret. */
2401
2817
  interface IAMCredentialsSecretVersionMetadata extends SecretVersionMetadata {
2402
2818
  /** Indicates whether the version of the secret was created by automatic rotation. */
@@ -2413,10 +2829,10 @@ declare namespace SecretsManagerV2 {
2413
2829
  id: string;
2414
2830
  /** The human-readable name of your secret. */
2415
2831
  secret_name?: string;
2416
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
2417
- * credentials, key-value, and user credentials.
2832
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
2833
+ * service_credentials, kv, and username_password.
2418
2834
  */
2419
- secret_type: string;
2835
+ secret_type: IAMCredentialsSecretVersionMetadata.Constants.SecretType | string;
2420
2836
  /** A v4 UUID identifier, or `default` secret group. */
2421
2837
  secret_group_id: string;
2422
2838
  /** Indicates whether the secret payload is available in this secret version. */
@@ -2424,7 +2840,7 @@ declare namespace SecretsManagerV2 {
2424
2840
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
2425
2841
  * is used for version `n-1`.
2426
2842
  */
2427
- alias?: string;
2843
+ alias?: IAMCredentialsSecretVersionMetadata.Constants.Alias | string;
2428
2844
  /** The secret version metadata that a user can customize. */
2429
2845
  version_custom_metadata?: JsonObject;
2430
2846
  /** A v4 UUID identifier. */
@@ -2442,6 +2858,26 @@ declare namespace SecretsManagerV2 {
2442
2858
  */
2443
2859
  service_id?: string;
2444
2860
  }
2861
+ namespace IAMCredentialsSecretVersionMetadata {
2862
+ namespace Constants {
2863
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
2864
+ enum SecretType {
2865
+ ARBITRARY = "arbitrary",
2866
+ IAM_CREDENTIALS = "iam_credentials",
2867
+ IMPORTED_CERT = "imported_cert",
2868
+ KV = "kv",
2869
+ PRIVATE_CERT = "private_cert",
2870
+ PUBLIC_CERT = "public_cert",
2871
+ SERVICE_CREDENTIALS = "service_credentials",
2872
+ USERNAME_PASSWORD = "username_password"
2873
+ }
2874
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
2875
+ enum Alias {
2876
+ CURRENT = "current",
2877
+ PREVIOUS = "previous"
2878
+ }
2879
+ }
2880
+ }
2445
2881
  /** IAMCredentialsSecretVersionPrototype. */
2446
2882
  interface IAMCredentialsSecretVersionPrototype extends SecretVersionPrototype {
2447
2883
  /** The secret metadata that a user can customize. */
@@ -2484,16 +2920,16 @@ declare namespace SecretsManagerV2 {
2484
2920
  name?: string;
2485
2921
  /** A v4 UUID identifier, or `default` secret group. */
2486
2922
  secret_group_id: string;
2487
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
2488
- * credentials, key-value, and user credentials.
2923
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
2924
+ * service_credentials, kv, and username_password.
2489
2925
  */
2490
- secret_type: string;
2926
+ secret_type: ImportedCertificate.Constants.SecretType | string;
2491
2927
  /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
2492
2928
  * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
2493
2929
  */
2494
2930
  state?: number;
2495
2931
  /** A text representation of the secret state. */
2496
- state_description?: string;
2932
+ state_description?: ImportedCertificate.Constants.StateDescription | string;
2497
2933
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
2498
2934
  updated_at: string;
2499
2935
  /** The number of versions of your secret. */
@@ -2537,6 +2973,29 @@ declare namespace SecretsManagerV2 {
2537
2973
  */
2538
2974
  private_key?: string;
2539
2975
  }
2976
+ namespace ImportedCertificate {
2977
+ namespace Constants {
2978
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
2979
+ enum SecretType {
2980
+ ARBITRARY = "arbitrary",
2981
+ IAM_CREDENTIALS = "iam_credentials",
2982
+ IMPORTED_CERT = "imported_cert",
2983
+ KV = "kv",
2984
+ PRIVATE_CERT = "private_cert",
2985
+ PUBLIC_CERT = "public_cert",
2986
+ SERVICE_CREDENTIALS = "service_credentials",
2987
+ USERNAME_PASSWORD = "username_password"
2988
+ }
2989
+ /** A text representation of the secret state. */
2990
+ enum StateDescription {
2991
+ PRE_ACTIVATION = "pre_activation",
2992
+ ACTIVE = "active",
2993
+ SUSPENDED = "suspended",
2994
+ DEACTIVATED = "deactivated",
2995
+ DESTROYED = "destroyed"
2996
+ }
2997
+ }
2998
+ }
2540
2999
  /** Properties of the secret metadata of your imported certificate. */
2541
3000
  interface ImportedCertificateMetadata extends SecretMetadata {
2542
3001
  /** The unique identifier that is associated with the entity that created the secret. */
@@ -2572,16 +3031,16 @@ declare namespace SecretsManagerV2 {
2572
3031
  name?: string;
2573
3032
  /** A v4 UUID identifier, or `default` secret group. */
2574
3033
  secret_group_id: string;
2575
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
2576
- * credentials, key-value, and user credentials.
3034
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
3035
+ * service_credentials, kv, and username_password.
2577
3036
  */
2578
- secret_type: string;
3037
+ secret_type: ImportedCertificateMetadata.Constants.SecretType | string;
2579
3038
  /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
2580
3039
  * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
2581
3040
  */
2582
3041
  state?: number;
2583
3042
  /** A text representation of the secret state. */
2584
- state_description?: string;
3043
+ state_description?: ImportedCertificateMetadata.Constants.StateDescription | string;
2585
3044
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
2586
3045
  updated_at: string;
2587
3046
  /** The number of versions of your secret. */
@@ -2615,6 +3074,29 @@ declare namespace SecretsManagerV2 {
2615
3074
  /** The date and time that the certificate validity period begins and ends. */
2616
3075
  validity: CertificateValidity;
2617
3076
  }
3077
+ namespace ImportedCertificateMetadata {
3078
+ namespace Constants {
3079
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
3080
+ enum SecretType {
3081
+ ARBITRARY = "arbitrary",
3082
+ IAM_CREDENTIALS = "iam_credentials",
3083
+ IMPORTED_CERT = "imported_cert",
3084
+ KV = "kv",
3085
+ PRIVATE_CERT = "private_cert",
3086
+ PUBLIC_CERT = "public_cert",
3087
+ SERVICE_CREDENTIALS = "service_credentials",
3088
+ USERNAME_PASSWORD = "username_password"
3089
+ }
3090
+ /** A text representation of the secret state. */
3091
+ enum StateDescription {
3092
+ PRE_ACTIVATION = "pre_activation",
3093
+ ACTIVE = "active",
3094
+ SUSPENDED = "suspended",
3095
+ DEACTIVATED = "deactivated",
3096
+ DESTROYED = "destroyed"
3097
+ }
3098
+ }
3099
+ }
2618
3100
  /** ImportedCertificateMetadataPatch. */
2619
3101
  interface ImportedCertificateMetadataPatch extends SecretMetadataPatch {
2620
3102
  /** A human-readable name to assign to your secret.
@@ -2640,10 +3122,10 @@ declare namespace SecretsManagerV2 {
2640
3122
  }
2641
3123
  /** ImportedCertificatePrototype. */
2642
3124
  interface ImportedCertificatePrototype extends SecretPrototype {
2643
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
2644
- * credentials, key-value, and user credentials.
3125
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
3126
+ * service_credentials, kv, and username_password.
2645
3127
  */
2646
- secret_type: string;
3128
+ secret_type: ImportedCertificatePrototype.Constants.SecretType | string;
2647
3129
  /** A human-readable name to assign to your secret.
2648
3130
  *
2649
3131
  * To protect your privacy, do not use personal data, such as your name or location, as a name for your secret.
@@ -2679,6 +3161,21 @@ declare namespace SecretsManagerV2 {
2679
3161
  /** The secret version metadata that a user can customize. */
2680
3162
  version_custom_metadata?: JsonObject;
2681
3163
  }
3164
+ namespace ImportedCertificatePrototype {
3165
+ namespace Constants {
3166
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
3167
+ enum SecretType {
3168
+ ARBITRARY = "arbitrary",
3169
+ IAM_CREDENTIALS = "iam_credentials",
3170
+ IMPORTED_CERT = "imported_cert",
3171
+ KV = "kv",
3172
+ PRIVATE_CERT = "private_cert",
3173
+ PUBLIC_CERT = "public_cert",
3174
+ SERVICE_CREDENTIALS = "service_credentials",
3175
+ USERNAME_PASSWORD = "username_password"
3176
+ }
3177
+ }
3178
+ }
2682
3179
  /** Versions of your imported certificate. */
2683
3180
  interface ImportedCertificateVersion extends SecretVersion {
2684
3181
  /** Indicates whether the version of the secret was created by automatic rotation. */
@@ -2695,10 +3192,10 @@ declare namespace SecretsManagerV2 {
2695
3192
  id: string;
2696
3193
  /** The human-readable name of your secret. */
2697
3194
  secret_name?: string;
2698
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
2699
- * credentials, key-value, and user credentials.
3195
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
3196
+ * service_credentials, kv, and username_password.
2700
3197
  */
2701
- secret_type: string;
3198
+ secret_type: ImportedCertificateVersion.Constants.SecretType | string;
2702
3199
  /** A v4 UUID identifier, or `default` secret group. */
2703
3200
  secret_group_id: string;
2704
3201
  /** Indicates whether the secret payload is available in this secret version. */
@@ -2706,7 +3203,7 @@ declare namespace SecretsManagerV2 {
2706
3203
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
2707
3204
  * is used for version `n-1`.
2708
3205
  */
2709
- alias?: string;
3206
+ alias?: ImportedCertificateVersion.Constants.Alias | string;
2710
3207
  /** The secret version metadata that a user can customize. */
2711
3208
  version_custom_metadata?: JsonObject;
2712
3209
  /** A v4 UUID identifier. */
@@ -2730,6 +3227,26 @@ declare namespace SecretsManagerV2 {
2730
3227
  */
2731
3228
  private_key?: string;
2732
3229
  }
3230
+ namespace ImportedCertificateVersion {
3231
+ namespace Constants {
3232
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
3233
+ enum SecretType {
3234
+ ARBITRARY = "arbitrary",
3235
+ IAM_CREDENTIALS = "iam_credentials",
3236
+ IMPORTED_CERT = "imported_cert",
3237
+ KV = "kv",
3238
+ PRIVATE_CERT = "private_cert",
3239
+ PUBLIC_CERT = "public_cert",
3240
+ SERVICE_CREDENTIALS = "service_credentials",
3241
+ USERNAME_PASSWORD = "username_password"
3242
+ }
3243
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
3244
+ enum Alias {
3245
+ CURRENT = "current",
3246
+ PREVIOUS = "previous"
3247
+ }
3248
+ }
3249
+ }
2733
3250
  /** Properties of the version metadata of your imported certificate. */
2734
3251
  interface ImportedCertificateVersionMetadata extends SecretVersionMetadata {
2735
3252
  /** Indicates whether the version of the secret was created by automatic rotation. */
@@ -2746,10 +3263,10 @@ declare namespace SecretsManagerV2 {
2746
3263
  id: string;
2747
3264
  /** The human-readable name of your secret. */
2748
3265
  secret_name?: string;
2749
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
2750
- * credentials, key-value, and user credentials.
3266
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
3267
+ * service_credentials, kv, and username_password.
2751
3268
  */
2752
- secret_type: string;
3269
+ secret_type: ImportedCertificateVersionMetadata.Constants.SecretType | string;
2753
3270
  /** A v4 UUID identifier, or `default` secret group. */
2754
3271
  secret_group_id: string;
2755
3272
  /** Indicates whether the secret payload is available in this secret version. */
@@ -2757,7 +3274,7 @@ declare namespace SecretsManagerV2 {
2757
3274
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
2758
3275
  * is used for version `n-1`.
2759
3276
  */
2760
- alias?: string;
3277
+ alias?: ImportedCertificateVersionMetadata.Constants.Alias | string;
2761
3278
  /** The secret version metadata that a user can customize. */
2762
3279
  version_custom_metadata?: JsonObject;
2763
3280
  /** A v4 UUID identifier. */
@@ -2771,6 +3288,26 @@ declare namespace SecretsManagerV2 {
2771
3288
  /** The date and time that the certificate validity period begins and ends. */
2772
3289
  validity: CertificateValidity;
2773
3290
  }
3291
+ namespace ImportedCertificateVersionMetadata {
3292
+ namespace Constants {
3293
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
3294
+ enum SecretType {
3295
+ ARBITRARY = "arbitrary",
3296
+ IAM_CREDENTIALS = "iam_credentials",
3297
+ IMPORTED_CERT = "imported_cert",
3298
+ KV = "kv",
3299
+ PRIVATE_CERT = "private_cert",
3300
+ PUBLIC_CERT = "public_cert",
3301
+ SERVICE_CREDENTIALS = "service_credentials",
3302
+ USERNAME_PASSWORD = "username_password"
3303
+ }
3304
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
3305
+ enum Alias {
3306
+ CURRENT = "current",
3307
+ PREVIOUS = "previous"
3308
+ }
3309
+ }
3310
+ }
2774
3311
  /** ImportedCertificateVersionPrototype. */
2775
3312
  interface ImportedCertificateVersionPrototype extends SecretVersionPrototype {
2776
3313
  /** Your PEM-encoded certificate. The data must be formatted on a single line with embedded newline characters. */
@@ -2823,16 +3360,16 @@ declare namespace SecretsManagerV2 {
2823
3360
  name?: string;
2824
3361
  /** A v4 UUID identifier, or `default` secret group. */
2825
3362
  secret_group_id: string;
2826
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
2827
- * credentials, key-value, and user credentials.
3363
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
3364
+ * service_credentials, kv, and username_password.
2828
3365
  */
2829
- secret_type: string;
3366
+ secret_type: KVSecret.Constants.SecretType | string;
2830
3367
  /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
2831
3368
  * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
2832
3369
  */
2833
3370
  state?: number;
2834
3371
  /** A text representation of the secret state. */
2835
- state_description?: string;
3372
+ state_description?: KVSecret.Constants.StateDescription | string;
2836
3373
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
2837
3374
  updated_at: string;
2838
3375
  /** The number of versions of your secret. */
@@ -2840,6 +3377,29 @@ declare namespace SecretsManagerV2 {
2840
3377
  /** The payload data of a key-value secret. */
2841
3378
  data: JsonObject;
2842
3379
  }
3380
+ namespace KVSecret {
3381
+ namespace Constants {
3382
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
3383
+ enum SecretType {
3384
+ ARBITRARY = "arbitrary",
3385
+ IAM_CREDENTIALS = "iam_credentials",
3386
+ IMPORTED_CERT = "imported_cert",
3387
+ KV = "kv",
3388
+ PRIVATE_CERT = "private_cert",
3389
+ PUBLIC_CERT = "public_cert",
3390
+ SERVICE_CREDENTIALS = "service_credentials",
3391
+ USERNAME_PASSWORD = "username_password"
3392
+ }
3393
+ /** A text representation of the secret state. */
3394
+ enum StateDescription {
3395
+ PRE_ACTIVATION = "pre_activation",
3396
+ ACTIVE = "active",
3397
+ SUSPENDED = "suspended",
3398
+ DEACTIVATED = "deactivated",
3399
+ DESTROYED = "destroyed"
3400
+ }
3401
+ }
3402
+ }
2843
3403
  /** Properties of the metadata of your key-value secret metadata. */
2844
3404
  interface KVSecretMetadata extends SecretMetadata {
2845
3405
  /** The unique identifier that is associated with the entity that created the secret. */
@@ -2875,21 +3435,44 @@ declare namespace SecretsManagerV2 {
2875
3435
  name?: string;
2876
3436
  /** A v4 UUID identifier, or `default` secret group. */
2877
3437
  secret_group_id: string;
2878
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
2879
- * credentials, key-value, and user credentials.
3438
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
3439
+ * service_credentials, kv, and username_password.
2880
3440
  */
2881
- secret_type: string;
3441
+ secret_type: KVSecretMetadata.Constants.SecretType | string;
2882
3442
  /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
2883
3443
  * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
2884
3444
  */
2885
3445
  state?: number;
2886
3446
  /** A text representation of the secret state. */
2887
- state_description?: string;
3447
+ state_description?: KVSecretMetadata.Constants.StateDescription | string;
2888
3448
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
2889
3449
  updated_at: string;
2890
3450
  /** The number of versions of your secret. */
2891
3451
  versions_total: number;
2892
3452
  }
3453
+ namespace KVSecretMetadata {
3454
+ namespace Constants {
3455
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
3456
+ enum SecretType {
3457
+ ARBITRARY = "arbitrary",
3458
+ IAM_CREDENTIALS = "iam_credentials",
3459
+ IMPORTED_CERT = "imported_cert",
3460
+ KV = "kv",
3461
+ PRIVATE_CERT = "private_cert",
3462
+ PUBLIC_CERT = "public_cert",
3463
+ SERVICE_CREDENTIALS = "service_credentials",
3464
+ USERNAME_PASSWORD = "username_password"
3465
+ }
3466
+ /** A text representation of the secret state. */
3467
+ enum StateDescription {
3468
+ PRE_ACTIVATION = "pre_activation",
3469
+ ACTIVE = "active",
3470
+ SUSPENDED = "suspended",
3471
+ DEACTIVATED = "deactivated",
3472
+ DESTROYED = "destroyed"
3473
+ }
3474
+ }
3475
+ }
2893
3476
  /** KVSecretMetadataPatch. */
2894
3477
  interface KVSecretMetadataPatch extends SecretMetadataPatch {
2895
3478
  /** A human-readable name to assign to your secret.
@@ -2915,10 +3498,10 @@ declare namespace SecretsManagerV2 {
2915
3498
  }
2916
3499
  /** KVSecretPrototype. */
2917
3500
  interface KVSecretPrototype extends SecretPrototype {
2918
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
2919
- * credentials, key-value, and user credentials.
3501
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
3502
+ * service_credentials, kv, and username_password.
2920
3503
  */
2921
- secret_type: string;
3504
+ secret_type: KVSecretPrototype.Constants.SecretType | string;
2922
3505
  /** A human-readable name to assign to your secret.
2923
3506
  *
2924
3507
  * To protect your privacy, do not use personal data, such as your name or location, as a name for your secret.
@@ -2946,6 +3529,21 @@ declare namespace SecretsManagerV2 {
2946
3529
  /** The secret version metadata that a user can customize. */
2947
3530
  version_custom_metadata?: JsonObject;
2948
3531
  }
3532
+ namespace KVSecretPrototype {
3533
+ namespace Constants {
3534
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
3535
+ enum SecretType {
3536
+ ARBITRARY = "arbitrary",
3537
+ IAM_CREDENTIALS = "iam_credentials",
3538
+ IMPORTED_CERT = "imported_cert",
3539
+ KV = "kv",
3540
+ PRIVATE_CERT = "private_cert",
3541
+ PUBLIC_CERT = "public_cert",
3542
+ SERVICE_CREDENTIALS = "service_credentials",
3543
+ USERNAME_PASSWORD = "username_password"
3544
+ }
3545
+ }
3546
+ }
2949
3547
  /** Your key-value secret version. */
2950
3548
  interface KVSecretVersion extends SecretVersion {
2951
3549
  /** Indicates whether the version of the secret was created by automatic rotation. */
@@ -2962,10 +3560,10 @@ declare namespace SecretsManagerV2 {
2962
3560
  id: string;
2963
3561
  /** The human-readable name of your secret. */
2964
3562
  secret_name?: string;
2965
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
2966
- * credentials, key-value, and user credentials.
3563
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
3564
+ * service_credentials, kv, and username_password.
2967
3565
  */
2968
- secret_type: string;
3566
+ secret_type: KVSecretVersion.Constants.SecretType | string;
2969
3567
  /** A v4 UUID identifier, or `default` secret group. */
2970
3568
  secret_group_id: string;
2971
3569
  /** Indicates whether the secret payload is available in this secret version. */
@@ -2973,7 +3571,7 @@ declare namespace SecretsManagerV2 {
2973
3571
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
2974
3572
  * is used for version `n-1`.
2975
3573
  */
2976
- alias?: string;
3574
+ alias?: KVSecretVersion.Constants.Alias | string;
2977
3575
  /** The secret version metadata that a user can customize. */
2978
3576
  version_custom_metadata?: JsonObject;
2979
3577
  /** A v4 UUID identifier. */
@@ -2981,6 +3579,26 @@ declare namespace SecretsManagerV2 {
2981
3579
  /** The payload data of a key-value secret. */
2982
3580
  data: JsonObject;
2983
3581
  }
3582
+ namespace KVSecretVersion {
3583
+ namespace Constants {
3584
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
3585
+ enum SecretType {
3586
+ ARBITRARY = "arbitrary",
3587
+ IAM_CREDENTIALS = "iam_credentials",
3588
+ IMPORTED_CERT = "imported_cert",
3589
+ KV = "kv",
3590
+ PRIVATE_CERT = "private_cert",
3591
+ PUBLIC_CERT = "public_cert",
3592
+ SERVICE_CREDENTIALS = "service_credentials",
3593
+ USERNAME_PASSWORD = "username_password"
3594
+ }
3595
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
3596
+ enum Alias {
3597
+ CURRENT = "current",
3598
+ PREVIOUS = "previous"
3599
+ }
3600
+ }
3601
+ }
2984
3602
  /** Properties of the version metadata of your key-value secret. */
2985
3603
  interface KVSecretVersionMetadata extends SecretVersionMetadata {
2986
3604
  /** Indicates whether the version of the secret was created by automatic rotation. */
@@ -2997,10 +3615,10 @@ declare namespace SecretsManagerV2 {
2997
3615
  id: string;
2998
3616
  /** The human-readable name of your secret. */
2999
3617
  secret_name?: string;
3000
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
3001
- * credentials, key-value, and user credentials.
3618
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
3619
+ * service_credentials, kv, and username_password.
3002
3620
  */
3003
- secret_type: string;
3621
+ secret_type: KVSecretVersionMetadata.Constants.SecretType | string;
3004
3622
  /** A v4 UUID identifier, or `default` secret group. */
3005
3623
  secret_group_id: string;
3006
3624
  /** Indicates whether the secret payload is available in this secret version. */
@@ -3008,12 +3626,32 @@ declare namespace SecretsManagerV2 {
3008
3626
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
3009
3627
  * is used for version `n-1`.
3010
3628
  */
3011
- alias?: string;
3629
+ alias?: KVSecretVersionMetadata.Constants.Alias | string;
3012
3630
  /** The secret version metadata that a user can customize. */
3013
3631
  version_custom_metadata?: JsonObject;
3014
3632
  /** A v4 UUID identifier. */
3015
3633
  secret_id: string;
3016
3634
  }
3635
+ namespace KVSecretVersionMetadata {
3636
+ namespace Constants {
3637
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
3638
+ enum SecretType {
3639
+ ARBITRARY = "arbitrary",
3640
+ IAM_CREDENTIALS = "iam_credentials",
3641
+ IMPORTED_CERT = "imported_cert",
3642
+ KV = "kv",
3643
+ PRIVATE_CERT = "private_cert",
3644
+ PUBLIC_CERT = "public_cert",
3645
+ SERVICE_CREDENTIALS = "service_credentials",
3646
+ USERNAME_PASSWORD = "username_password"
3647
+ }
3648
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
3649
+ enum Alias {
3650
+ CURRENT = "current",
3651
+ PREVIOUS = "previous"
3652
+ }
3653
+ }
3654
+ }
3017
3655
  /** KVSecretVersionPrototype. */
3018
3656
  interface KVSecretVersionPrototype extends SecretVersionPrototype {
3019
3657
  /** The payload data of a key-value secret. */
@@ -3058,16 +3696,16 @@ declare namespace SecretsManagerV2 {
3058
3696
  name?: string;
3059
3697
  /** A v4 UUID identifier, or `default` secret group. */
3060
3698
  secret_group_id: string;
3061
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
3062
- * credentials, key-value, and user credentials.
3699
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
3700
+ * service_credentials, kv, and username_password.
3063
3701
  */
3064
- secret_type: string;
3702
+ secret_type: PrivateCertificate.Constants.SecretType | string;
3065
3703
  /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
3066
3704
  * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
3067
3705
  */
3068
3706
  state?: number;
3069
3707
  /** A text representation of the secret state. */
3070
- state_description?: string;
3708
+ state_description?: PrivateCertificate.Constants.StateDescription | string;
3071
3709
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
3072
3710
  updated_at: string;
3073
3711
  /** The number of versions of your secret. */
@@ -3125,58 +3763,171 @@ declare namespace SecretsManagerV2 {
3125
3763
  /** The chain of certificate authorities that are associated with the certificate. */
3126
3764
  ca_chain?: string[];
3127
3765
  }
3766
+ namespace PrivateCertificate {
3767
+ namespace Constants {
3768
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
3769
+ enum SecretType {
3770
+ ARBITRARY = "arbitrary",
3771
+ IAM_CREDENTIALS = "iam_credentials",
3772
+ IMPORTED_CERT = "imported_cert",
3773
+ KV = "kv",
3774
+ PRIVATE_CERT = "private_cert",
3775
+ PUBLIC_CERT = "public_cert",
3776
+ SERVICE_CREDENTIALS = "service_credentials",
3777
+ USERNAME_PASSWORD = "username_password"
3778
+ }
3779
+ /** A text representation of the secret state. */
3780
+ enum StateDescription {
3781
+ PRE_ACTIVATION = "pre_activation",
3782
+ ACTIVE = "active",
3783
+ SUSPENDED = "suspended",
3784
+ DEACTIVATED = "deactivated",
3785
+ DESTROYED = "destroyed"
3786
+ }
3787
+ }
3788
+ }
3128
3789
  /** The response body of the action to revoke the private certificate. */
3129
3790
  interface PrivateCertificateActionRevoke extends SecretAction {
3130
3791
  /** The type of secret action. */
3131
- action_type: string;
3792
+ action_type: PrivateCertificateActionRevoke.Constants.ActionType | string;
3132
3793
  /** The timestamp of the certificate revocation. */
3133
3794
  revocation_time_seconds?: number;
3134
3795
  }
3796
+ namespace PrivateCertificateActionRevoke {
3797
+ namespace Constants {
3798
+ /** The type of secret action. */
3799
+ enum ActionType {
3800
+ PUBLIC_CERT_ACTION_VALIDATE_DNS_CHALLENGE = "public_cert_action_validate_dns_challenge",
3801
+ PRIVATE_CERT_ACTION_REVOKE_CERTIFICATE = "private_cert_action_revoke_certificate"
3802
+ }
3803
+ }
3804
+ }
3135
3805
  /** The request body to specify the properties of the action to revoke the private certificate. */
3136
3806
  interface PrivateCertificateActionRevokePrototype extends SecretActionPrototype {
3137
3807
  /** The type of secret action. */
3138
- action_type: string;
3808
+ action_type: PrivateCertificateActionRevokePrototype.Constants.ActionType | string;
3809
+ }
3810
+ namespace PrivateCertificateActionRevokePrototype {
3811
+ namespace Constants {
3812
+ /** The type of secret action. */
3813
+ enum ActionType {
3814
+ PUBLIC_CERT_ACTION_VALIDATE_DNS_CHALLENGE = "public_cert_action_validate_dns_challenge",
3815
+ PRIVATE_CERT_ACTION_REVOKE_CERTIFICATE = "private_cert_action_revoke_certificate"
3816
+ }
3817
+ }
3139
3818
  }
3140
3819
  /** The response body to specify the properties of the action to revoke the private certificate. */
3141
3820
  interface PrivateCertificateConfigurationActionRevoke extends ConfigurationAction {
3142
3821
  /** The type of configuration action. */
3143
- action_type: string;
3822
+ action_type: PrivateCertificateConfigurationActionRevoke.Constants.ActionType | string;
3144
3823
  /** The timestamp of the certificate revocation. */
3145
3824
  revocation_time_seconds?: number;
3146
3825
  }
3826
+ namespace PrivateCertificateConfigurationActionRevoke {
3827
+ namespace Constants {
3828
+ /** The type of configuration action. */
3829
+ enum ActionType {
3830
+ PRIVATE_CERT_CONFIGURATION_ACTION_ROTATE_CRL = "private_cert_configuration_action_rotate_crl",
3831
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_INTERMEDIATE = "private_cert_configuration_action_sign_intermediate",
3832
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_CSR = "private_cert_configuration_action_sign_csr",
3833
+ PRIVATE_CERT_CONFIGURATION_ACTION_SET_SIGNED = "private_cert_configuration_action_set_signed",
3834
+ PRIVATE_CERT_CONFIGURATION_ACTION_REVOKE_CA_CERTIFICATE = "private_cert_configuration_action_revoke_ca_certificate"
3835
+ }
3836
+ }
3837
+ }
3147
3838
  /** The request body to specify the properties of the action to revoke the private certificate configuration. */
3148
3839
  interface PrivateCertificateConfigurationActionRevokePrototype extends ConfigurationActionPrototype {
3149
3840
  /** The type of configuration action. */
3150
- action_type: string;
3841
+ action_type: PrivateCertificateConfigurationActionRevokePrototype.Constants.ActionType | string;
3842
+ }
3843
+ namespace PrivateCertificateConfigurationActionRevokePrototype {
3844
+ namespace Constants {
3845
+ /** The type of configuration action. */
3846
+ enum ActionType {
3847
+ PRIVATE_CERT_CONFIGURATION_ACTION_ROTATE_CRL = "private_cert_configuration_action_rotate_crl",
3848
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_INTERMEDIATE = "private_cert_configuration_action_sign_intermediate",
3849
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_CSR = "private_cert_configuration_action_sign_csr",
3850
+ PRIVATE_CERT_CONFIGURATION_ACTION_SET_SIGNED = "private_cert_configuration_action_set_signed",
3851
+ PRIVATE_CERT_CONFIGURATION_ACTION_REVOKE_CA_CERTIFICATE = "private_cert_configuration_action_revoke_ca_certificate"
3852
+ }
3853
+ }
3151
3854
  }
3152
3855
  /** The response body of the action to rotate the CRL of an intermediate certificate authority for the private certificate configuration. */
3153
3856
  interface PrivateCertificateConfigurationActionRotateCRL extends ConfigurationAction {
3154
3857
  /** The type of configuration action. */
3155
- action_type: string;
3858
+ action_type: PrivateCertificateConfigurationActionRotateCRL.Constants.ActionType | string;
3156
3859
  /** This field indicates whether the request to rotate the CRL for the private certificate configuration was
3157
3860
  * successful.
3158
3861
  */
3159
3862
  success: boolean;
3160
3863
  }
3864
+ namespace PrivateCertificateConfigurationActionRotateCRL {
3865
+ namespace Constants {
3866
+ /** The type of configuration action. */
3867
+ enum ActionType {
3868
+ PRIVATE_CERT_CONFIGURATION_ACTION_ROTATE_CRL = "private_cert_configuration_action_rotate_crl",
3869
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_INTERMEDIATE = "private_cert_configuration_action_sign_intermediate",
3870
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_CSR = "private_cert_configuration_action_sign_csr",
3871
+ PRIVATE_CERT_CONFIGURATION_ACTION_SET_SIGNED = "private_cert_configuration_action_set_signed",
3872
+ PRIVATE_CERT_CONFIGURATION_ACTION_REVOKE_CA_CERTIFICATE = "private_cert_configuration_action_revoke_ca_certificate"
3873
+ }
3874
+ }
3875
+ }
3161
3876
  /** The request body of the action to rotate the CRL of an intermediate certificate authority for the private certificate configuration. */
3162
3877
  interface PrivateCertificateConfigurationActionRotateCRLPrototype extends ConfigurationActionPrototype {
3163
3878
  /** The type of configuration action. */
3164
- action_type: string;
3879
+ action_type: PrivateCertificateConfigurationActionRotateCRLPrototype.Constants.ActionType | string;
3880
+ }
3881
+ namespace PrivateCertificateConfigurationActionRotateCRLPrototype {
3882
+ namespace Constants {
3883
+ /** The type of configuration action. */
3884
+ enum ActionType {
3885
+ PRIVATE_CERT_CONFIGURATION_ACTION_ROTATE_CRL = "private_cert_configuration_action_rotate_crl",
3886
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_INTERMEDIATE = "private_cert_configuration_action_sign_intermediate",
3887
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_CSR = "private_cert_configuration_action_sign_csr",
3888
+ PRIVATE_CERT_CONFIGURATION_ACTION_SET_SIGNED = "private_cert_configuration_action_set_signed",
3889
+ PRIVATE_CERT_CONFIGURATION_ACTION_REVOKE_CA_CERTIFICATE = "private_cert_configuration_action_revoke_ca_certificate"
3890
+ }
3891
+ }
3165
3892
  }
3166
3893
  /** The response body of the action to set a signed intermediate certificate authority for the private certificate configuration. */
3167
3894
  interface PrivateCertificateConfigurationActionSetSigned extends ConfigurationAction {
3168
3895
  /** The type of configuration action. */
3169
- action_type: string;
3896
+ action_type: PrivateCertificateConfigurationActionSetSigned.Constants.ActionType | string;
3170
3897
  /** Your PEM-encoded certificate. The data must be formatted on a single line with embedded newline characters. */
3171
3898
  certificate: string;
3172
3899
  }
3900
+ namespace PrivateCertificateConfigurationActionSetSigned {
3901
+ namespace Constants {
3902
+ /** The type of configuration action. */
3903
+ enum ActionType {
3904
+ PRIVATE_CERT_CONFIGURATION_ACTION_ROTATE_CRL = "private_cert_configuration_action_rotate_crl",
3905
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_INTERMEDIATE = "private_cert_configuration_action_sign_intermediate",
3906
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_CSR = "private_cert_configuration_action_sign_csr",
3907
+ PRIVATE_CERT_CONFIGURATION_ACTION_SET_SIGNED = "private_cert_configuration_action_set_signed",
3908
+ PRIVATE_CERT_CONFIGURATION_ACTION_REVOKE_CA_CERTIFICATE = "private_cert_configuration_action_revoke_ca_certificate"
3909
+ }
3910
+ }
3911
+ }
3173
3912
  /** The request body of the action to set a signed intermediate certificate authority for the private certificate consideration. */
3174
3913
  interface PrivateCertificateConfigurationActionSetSignedPrototype extends ConfigurationActionPrototype {
3175
3914
  /** The type of configuration action. */
3176
- action_type: string;
3915
+ action_type: PrivateCertificateConfigurationActionSetSignedPrototype.Constants.ActionType | string;
3177
3916
  /** Your PEM-encoded certificate. The data must be formatted on a single line with embedded newline characters. */
3178
3917
  certificate: string;
3179
3918
  }
3919
+ namespace PrivateCertificateConfigurationActionSetSignedPrototype {
3920
+ namespace Constants {
3921
+ /** The type of configuration action. */
3922
+ enum ActionType {
3923
+ PRIVATE_CERT_CONFIGURATION_ACTION_ROTATE_CRL = "private_cert_configuration_action_rotate_crl",
3924
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_INTERMEDIATE = "private_cert_configuration_action_sign_intermediate",
3925
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_CSR = "private_cert_configuration_action_sign_csr",
3926
+ PRIVATE_CERT_CONFIGURATION_ACTION_SET_SIGNED = "private_cert_configuration_action_set_signed",
3927
+ PRIVATE_CERT_CONFIGURATION_ACTION_REVOKE_CA_CERTIFICATE = "private_cert_configuration_action_revoke_ca_certificate"
3928
+ }
3929
+ }
3930
+ }
3180
3931
  /** The response body of the action to sign the CSR for the private certificate configuration. */
3181
3932
  interface PrivateCertificateConfigurationActionSignCSR extends ConfigurationAction {
3182
3933
  /** The Common Name (CN) represents the server name that is protected by the SSL certificate. */
@@ -3204,7 +3955,7 @@ declare namespace SecretsManagerV2 {
3204
3955
  */
3205
3956
  ttl?: string;
3206
3957
  /** The format of the returned data. */
3207
- format?: string;
3958
+ format?: PrivateCertificateConfigurationActionSignCSR.Constants.Format | string;
3208
3959
  /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3209
3960
  *
3210
3961
  * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
@@ -3255,12 +4006,29 @@ declare namespace SecretsManagerV2 {
3255
4006
  */
3256
4007
  serial_number?: string;
3257
4008
  /** The type of configuration action. */
3258
- action_type: string;
4009
+ action_type: PrivateCertificateConfigurationActionSignCSR.Constants.ActionType | string;
3259
4010
  /** The certificate signing request. */
3260
4011
  csr: string;
3261
4012
  /** The data that is associated with the root certificate authority. */
3262
4013
  data?: PrivateCertificateConfigurationCACertificate;
3263
4014
  }
4015
+ namespace PrivateCertificateConfigurationActionSignCSR {
4016
+ namespace Constants {
4017
+ /** The format of the returned data. */
4018
+ enum Format {
4019
+ PEM = "pem",
4020
+ PEM_BUNDLE = "pem_bundle"
4021
+ }
4022
+ /** The type of configuration action. */
4023
+ enum ActionType {
4024
+ PRIVATE_CERT_CONFIGURATION_ACTION_ROTATE_CRL = "private_cert_configuration_action_rotate_crl",
4025
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_INTERMEDIATE = "private_cert_configuration_action_sign_intermediate",
4026
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_CSR = "private_cert_configuration_action_sign_csr",
4027
+ PRIVATE_CERT_CONFIGURATION_ACTION_SET_SIGNED = "private_cert_configuration_action_set_signed",
4028
+ PRIVATE_CERT_CONFIGURATION_ACTION_REVOKE_CA_CERTIFICATE = "private_cert_configuration_action_revoke_ca_certificate"
4029
+ }
4030
+ }
4031
+ }
3264
4032
  /** The request body to specify the properties of the action to sign a CSR for the private certificate configuration. */
3265
4033
  interface PrivateCertificateConfigurationActionSignCSRPrototype extends ConfigurationActionPrototype {
3266
4034
  /** The Common Name (CN) represents the server name that is protected by the SSL certificate. */
@@ -3288,7 +4056,7 @@ declare namespace SecretsManagerV2 {
3288
4056
  */
3289
4057
  ttl?: string;
3290
4058
  /** The format of the returned data. */
3291
- format?: string;
4059
+ format?: PrivateCertificateConfigurationActionSignCSRPrototype.Constants.Format | string;
3292
4060
  /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3293
4061
  *
3294
4062
  * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
@@ -3339,10 +4107,27 @@ declare namespace SecretsManagerV2 {
3339
4107
  */
3340
4108
  serial_number?: string;
3341
4109
  /** The type of configuration action. */
3342
- action_type: string;
4110
+ action_type: PrivateCertificateConfigurationActionSignCSRPrototype.Constants.ActionType | string;
3343
4111
  /** The certificate signing request. */
3344
4112
  csr: string;
3345
4113
  }
4114
+ namespace PrivateCertificateConfigurationActionSignCSRPrototype {
4115
+ namespace Constants {
4116
+ /** The format of the returned data. */
4117
+ enum Format {
4118
+ PEM = "pem",
4119
+ PEM_BUNDLE = "pem_bundle"
4120
+ }
4121
+ /** The type of configuration action. */
4122
+ enum ActionType {
4123
+ PRIVATE_CERT_CONFIGURATION_ACTION_ROTATE_CRL = "private_cert_configuration_action_rotate_crl",
4124
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_INTERMEDIATE = "private_cert_configuration_action_sign_intermediate",
4125
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_CSR = "private_cert_configuration_action_sign_csr",
4126
+ PRIVATE_CERT_CONFIGURATION_ACTION_SET_SIGNED = "private_cert_configuration_action_set_signed",
4127
+ PRIVATE_CERT_CONFIGURATION_ACTION_REVOKE_CA_CERTIFICATE = "private_cert_configuration_action_revoke_ca_certificate"
4128
+ }
4129
+ }
4130
+ }
3346
4131
  /** The response body of the action to sign the intermediate certificate authority for the private certificate configuration. */
3347
4132
  interface PrivateCertificateConfigurationActionSignIntermediate extends ConfigurationAction {
3348
4133
  /** The Common Name (CN) represents the server name that is protected by the SSL certificate. */
@@ -3370,7 +4155,7 @@ declare namespace SecretsManagerV2 {
3370
4155
  */
3371
4156
  ttl?: string;
3372
4157
  /** The format of the returned data. */
3373
- format?: string;
4158
+ format?: PrivateCertificateConfigurationActionSignIntermediate.Constants.Format | string;
3374
4159
  /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3375
4160
  *
3376
4161
  * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
@@ -3421,10 +4206,27 @@ declare namespace SecretsManagerV2 {
3421
4206
  */
3422
4207
  serial_number?: string;
3423
4208
  /** The type of configuration action. */
3424
- action_type: string;
4209
+ action_type: PrivateCertificateConfigurationActionSignIntermediate.Constants.ActionType | string;
3425
4210
  /** The unique name of your configuration. */
3426
4211
  intermediate_certificate_authority: string;
3427
4212
  }
4213
+ namespace PrivateCertificateConfigurationActionSignIntermediate {
4214
+ namespace Constants {
4215
+ /** The format of the returned data. */
4216
+ enum Format {
4217
+ PEM = "pem",
4218
+ PEM_BUNDLE = "pem_bundle"
4219
+ }
4220
+ /** The type of configuration action. */
4221
+ enum ActionType {
4222
+ PRIVATE_CERT_CONFIGURATION_ACTION_ROTATE_CRL = "private_cert_configuration_action_rotate_crl",
4223
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_INTERMEDIATE = "private_cert_configuration_action_sign_intermediate",
4224
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_CSR = "private_cert_configuration_action_sign_csr",
4225
+ PRIVATE_CERT_CONFIGURATION_ACTION_SET_SIGNED = "private_cert_configuration_action_set_signed",
4226
+ PRIVATE_CERT_CONFIGURATION_ACTION_REVOKE_CA_CERTIFICATE = "private_cert_configuration_action_revoke_ca_certificate"
4227
+ }
4228
+ }
4229
+ }
3428
4230
  /** The request body to specify the properties of the action to sign an intermediate certificate authority for the private certificate configuration. */
3429
4231
  interface PrivateCertificateConfigurationActionSignIntermediatePrototype extends ConfigurationActionPrototype {
3430
4232
  /** The Common Name (CN) represents the server name that is protected by the SSL certificate. */
@@ -3452,7 +4254,7 @@ declare namespace SecretsManagerV2 {
3452
4254
  */
3453
4255
  ttl?: string;
3454
4256
  /** The format of the returned data. */
3455
- format?: string;
4257
+ format?: PrivateCertificateConfigurationActionSignIntermediatePrototype.Constants.Format | string;
3456
4258
  /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3457
4259
  *
3458
4260
  * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
@@ -3503,10 +4305,27 @@ declare namespace SecretsManagerV2 {
3503
4305
  */
3504
4306
  serial_number?: string;
3505
4307
  /** The type of configuration action. */
3506
- action_type: string;
4308
+ action_type: PrivateCertificateConfigurationActionSignIntermediatePrototype.Constants.ActionType | string;
3507
4309
  /** The unique name of your configuration. */
3508
4310
  intermediate_certificate_authority: string;
3509
4311
  }
4312
+ namespace PrivateCertificateConfigurationActionSignIntermediatePrototype {
4313
+ namespace Constants {
4314
+ /** The format of the returned data. */
4315
+ enum Format {
4316
+ PEM = "pem",
4317
+ PEM_BUNDLE = "pem_bundle"
4318
+ }
4319
+ /** The type of configuration action. */
4320
+ enum ActionType {
4321
+ PRIVATE_CERT_CONFIGURATION_ACTION_ROTATE_CRL = "private_cert_configuration_action_rotate_crl",
4322
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_INTERMEDIATE = "private_cert_configuration_action_sign_intermediate",
4323
+ PRIVATE_CERT_CONFIGURATION_ACTION_SIGN_CSR = "private_cert_configuration_action_sign_csr",
4324
+ PRIVATE_CERT_CONFIGURATION_ACTION_SET_SIGNED = "private_cert_configuration_action_set_signed",
4325
+ PRIVATE_CERT_CONFIGURATION_ACTION_REVOKE_CA_CERTIFICATE = "private_cert_configuration_action_revoke_ca_certificate"
4326
+ }
4327
+ }
4328
+ }
3510
4329
  /** The data that is associated with the root certificate authority. */
3511
4330
  interface PrivateCertificateConfigurationCACertificate extends PrivateCertificateCAData {
3512
4331
  /** Your PEM-encoded certificate. The data must be formatted on a single line with embedded newline characters. */
@@ -3520,14 +4339,18 @@ declare namespace SecretsManagerV2 {
3520
4339
  }
3521
4340
  /** The configuration of the root certificate authority. */
3522
4341
  interface PrivateCertificateConfigurationIntermediateCA extends Configuration {
3523
- /** The configuration type. */
3524
- config_type: string;
4342
+ /** The configuration type. Can be one of: iam_credentials_configuration,
4343
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
4344
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
4345
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
4346
+ */
4347
+ config_type: PrivateCertificateConfigurationIntermediateCA.Constants.ConfigType | string;
3525
4348
  /** The unique name of your configuration. */
3526
4349
  name: string;
3527
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
3528
- * credentials, key-value, and user credentials.
4350
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
4351
+ * service_credentials, kv, and username_password.
3529
4352
  */
3530
- secret_type: string;
4353
+ secret_type: PrivateCertificateConfigurationIntermediateCA.Constants.SecretType | string;
3531
4354
  /** The unique identifier that is associated with the entity that created the secret. */
3532
4355
  created_by: string;
3533
4356
  /** The date when the resource was created. The date format follows `RFC 3339`. */
@@ -3547,7 +4370,7 @@ declare namespace SecretsManagerV2 {
3547
4370
  /** The distinguished name that identifies the entity that signed and issued the certificate. */
3548
4371
  issuer?: string;
3549
4372
  /** The type of private key to generate. */
3550
- key_type?: string;
4373
+ key_type?: PrivateCertificateConfigurationIntermediateCA.Constants.KeyType | string;
3551
4374
  /** The number of bits to use to generate the private key.
3552
4375
  *
3553
4376
  * Allowable values for RSA keys are: `2048` and `4096`. Allowable values for EC keys are: `224`, `256`, `384`, and
@@ -3559,12 +4382,12 @@ declare namespace SecretsManagerV2 {
3559
4382
  * You can choose between internal or externally signed options. For more information, see the
3560
4383
  * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-intermediate-certificate-authorities).
3561
4384
  */
3562
- signing_method: string;
4385
+ signing_method: PrivateCertificateConfigurationIntermediateCA.Constants.SigningMethod | string;
3563
4386
  /** The status of the certificate authority. The status of a root certificate authority is either `configured`
3564
4387
  * or `expired`. For intermediate certificate authorities, possible statuses include `signing_required`,
3565
4388
  * `signed_certificate_required`, `certificate_template_required`, `configured`, `expired` or `revoked`.
3566
4389
  */
3567
- status?: string;
4390
+ status?: PrivateCertificateConfigurationIntermediateCA.Constants.Status | string;
3568
4391
  /** The maximum time-to-live (TTL) for certificates that are created by this CA in seconds. */
3569
4392
  max_ttl_seconds?: number;
3570
4393
  /** The time until the certificate revocation list (CRL) expires, in seconds. */
@@ -3596,9 +4419,9 @@ declare namespace SecretsManagerV2 {
3596
4419
  */
3597
4420
  other_sans?: string[];
3598
4421
  /** The format of the returned data. */
3599
- format?: string;
4422
+ format?: PrivateCertificateConfigurationIntermediateCA.Constants.Format | string;
3600
4423
  /** The format of the generated private key. */
3601
- private_key_format?: string;
4424
+ private_key_format?: PrivateCertificateConfigurationIntermediateCA.Constants.PrivateKeyFormat | string;
3602
4425
  /** This parameter controls whether the common name is excluded from Subject Alternative Names (SANs).
3603
4426
  *
3604
4427
  * If the common name is set to `true`, it is not included in DNS, or email SANs if they apply. This field can be
@@ -3624,6 +4447,60 @@ declare namespace SecretsManagerV2 {
3624
4447
  /** The configuration data of your Private Certificate. */
3625
4448
  data?: PrivateCertificateCAData;
3626
4449
  }
4450
+ namespace PrivateCertificateConfigurationIntermediateCA {
4451
+ namespace Constants {
4452
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
4453
+ enum ConfigType {
4454
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
4455
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
4456
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
4457
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
4458
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
4459
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
4460
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
4461
+ }
4462
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
4463
+ enum SecretType {
4464
+ ARBITRARY = "arbitrary",
4465
+ IAM_CREDENTIALS = "iam_credentials",
4466
+ IMPORTED_CERT = "imported_cert",
4467
+ KV = "kv",
4468
+ PRIVATE_CERT = "private_cert",
4469
+ PUBLIC_CERT = "public_cert",
4470
+ SERVICE_CREDENTIALS = "service_credentials",
4471
+ USERNAME_PASSWORD = "username_password"
4472
+ }
4473
+ /** The type of private key to generate. */
4474
+ enum KeyType {
4475
+ RSA = "rsa",
4476
+ EC = "ec"
4477
+ }
4478
+ /** The signing method to use with this certificate authority to generate private certificates. You can choose between internal or externally signed options. For more information, see the [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-intermediate-certificate-authorities). */
4479
+ enum SigningMethod {
4480
+ INTERNAL = "internal",
4481
+ EXTERNAL = "external"
4482
+ }
4483
+ /** The status of the certificate authority. The status of a root certificate authority is either `configured` or `expired`. For intermediate certificate authorities, possible statuses include `signing_required`, `signed_certificate_required`, `certificate_template_required`, `configured`, `expired` or `revoked`. */
4484
+ enum Status {
4485
+ SIGNING_REQUIRED = "signing_required",
4486
+ SIGNED_CERTIFICATE_REQUIRED = "signed_certificate_required",
4487
+ CERTIFICATE_TEMPLATE_REQUIRED = "certificate_template_required",
4488
+ CONFIGURED = "configured",
4489
+ EXPIRED = "expired",
4490
+ REVOKED = "revoked"
4491
+ }
4492
+ /** The format of the returned data. */
4493
+ enum Format {
4494
+ PEM = "pem",
4495
+ PEM_BUNDLE = "pem_bundle"
4496
+ }
4497
+ /** The format of the generated private key. */
4498
+ enum PrivateKeyFormat {
4499
+ DER = "der",
4500
+ PKCS8 = "pkcs8"
4501
+ }
4502
+ }
4503
+ }
3627
4504
  /** The data that is associated with the intermediate certificate authority. */
3628
4505
  interface PrivateCertificateConfigurationIntermediateCACSR extends PrivateCertificateCAData {
3629
4506
  /** The certificate signing request. */
@@ -3633,20 +4510,33 @@ declare namespace SecretsManagerV2 {
3633
4510
  */
3634
4511
  private_key?: string;
3635
4512
  /** The type of private key to generate. */
3636
- private_key_type?: string;
4513
+ private_key_type?: PrivateCertificateConfigurationIntermediateCACSR.Constants.PrivateKeyType | string;
3637
4514
  /** The certificate expiration time. */
3638
4515
  expiration?: number;
3639
4516
  }
4517
+ namespace PrivateCertificateConfigurationIntermediateCACSR {
4518
+ namespace Constants {
4519
+ /** The type of private key to generate. */
4520
+ enum PrivateKeyType {
4521
+ RSA = "rsa",
4522
+ EC = "ec"
4523
+ }
4524
+ }
4525
+ }
3640
4526
  /** The configuration of the metadata properties of the intermediate certificate authority. */
3641
4527
  interface PrivateCertificateConfigurationIntermediateCAMetadata extends ConfigurationMetadata {
3642
- /** The configuration type. */
3643
- config_type: string;
4528
+ /** The configuration type. Can be one of: iam_credentials_configuration,
4529
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
4530
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
4531
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
4532
+ */
4533
+ config_type: PrivateCertificateConfigurationIntermediateCAMetadata.Constants.ConfigType | string;
3644
4534
  /** The unique name of your configuration. */
3645
4535
  name: string;
3646
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
3647
- * credentials, key-value, and user credentials.
4536
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
4537
+ * service_credentials, kv, and username_password.
3648
4538
  */
3649
- secret_type: string;
4539
+ secret_type: PrivateCertificateConfigurationIntermediateCAMetadata.Constants.SecretType | string;
3650
4540
  /** The unique identifier that is associated with the entity that created the secret. */
3651
4541
  created_by: string;
3652
4542
  /** The date when the resource was created. The date format follows `RFC 3339`. */
@@ -3666,7 +4556,7 @@ declare namespace SecretsManagerV2 {
3666
4556
  /** The distinguished name that identifies the entity that signed and issued the certificate. */
3667
4557
  issuer?: string;
3668
4558
  /** The type of private key to generate. */
3669
- key_type?: string;
4559
+ key_type?: PrivateCertificateConfigurationIntermediateCAMetadata.Constants.KeyType | string;
3670
4560
  /** The number of bits to use to generate the private key.
3671
4561
  *
3672
4562
  * Allowable values for RSA keys are: `2048` and `4096`. Allowable values for EC keys are: `224`, `256`, `384`, and
@@ -3678,12 +4568,56 @@ declare namespace SecretsManagerV2 {
3678
4568
  * You can choose between internal or externally signed options. For more information, see the
3679
4569
  * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-intermediate-certificate-authorities).
3680
4570
  */
3681
- signing_method: string;
4571
+ signing_method: PrivateCertificateConfigurationIntermediateCAMetadata.Constants.SigningMethod | string;
3682
4572
  /** The status of the certificate authority. The status of a root certificate authority is either `configured`
3683
4573
  * or `expired`. For intermediate certificate authorities, possible statuses include `signing_required`,
3684
4574
  * `signed_certificate_required`, `certificate_template_required`, `configured`, `expired` or `revoked`.
3685
4575
  */
3686
- status?: string;
4576
+ status?: PrivateCertificateConfigurationIntermediateCAMetadata.Constants.Status | string;
4577
+ }
4578
+ namespace PrivateCertificateConfigurationIntermediateCAMetadata {
4579
+ namespace Constants {
4580
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
4581
+ enum ConfigType {
4582
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
4583
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
4584
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
4585
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
4586
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
4587
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
4588
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
4589
+ }
4590
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
4591
+ enum SecretType {
4592
+ ARBITRARY = "arbitrary",
4593
+ IAM_CREDENTIALS = "iam_credentials",
4594
+ IMPORTED_CERT = "imported_cert",
4595
+ KV = "kv",
4596
+ PRIVATE_CERT = "private_cert",
4597
+ PUBLIC_CERT = "public_cert",
4598
+ SERVICE_CREDENTIALS = "service_credentials",
4599
+ USERNAME_PASSWORD = "username_password"
4600
+ }
4601
+ /** The type of private key to generate. */
4602
+ enum KeyType {
4603
+ RSA = "rsa",
4604
+ EC = "ec"
4605
+ }
4606
+ /** The signing method to use with this certificate authority to generate private certificates. You can choose between internal or externally signed options. For more information, see the [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-intermediate-certificate-authorities). */
4607
+ enum SigningMethod {
4608
+ INTERNAL = "internal",
4609
+ EXTERNAL = "external"
4610
+ }
4611
+ /** The status of the certificate authority. The status of a root certificate authority is either `configured` or `expired`. For intermediate certificate authorities, possible statuses include `signing_required`, `signed_certificate_required`, `certificate_template_required`, `configured`, `expired` or `revoked`. */
4612
+ enum Status {
4613
+ SIGNING_REQUIRED = "signing_required",
4614
+ SIGNED_CERTIFICATE_REQUIRED = "signed_certificate_required",
4615
+ CERTIFICATE_TEMPLATE_REQUIRED = "certificate_template_required",
4616
+ CONFIGURED = "configured",
4617
+ EXPIRED = "expired",
4618
+ REVOKED = "revoked"
4619
+ }
4620
+ }
3687
4621
  }
3688
4622
  /** The configuration patch of the intermediate certificate authority. */
3689
4623
  interface PrivateCertificateConfigurationIntermediateCAPatch extends ConfigurationPatch {
@@ -3720,8 +4654,12 @@ declare namespace SecretsManagerV2 {
3720
4654
  }
3721
4655
  /** The configuration of the intermediate certificate authority. */
3722
4656
  interface PrivateCertificateConfigurationIntermediateCAPrototype extends ConfigurationPrototype {
3723
- /** The configuration type. */
3724
- config_type: string;
4657
+ /** The configuration type. Can be one of: iam_credentials_configuration,
4658
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
4659
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
4660
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
4661
+ */
4662
+ config_type: PrivateCertificateConfigurationIntermediateCAPrototype.Constants.ConfigType | string;
3725
4663
  /** A human-readable unique name to assign to your configuration.
3726
4664
  *
3727
4665
  * To protect your privacy, do not use personal data, such as your name or location, as an name for your secret.
@@ -3740,7 +4678,7 @@ declare namespace SecretsManagerV2 {
3740
4678
  * You can choose between internal or externally signed options. For more information, see the
3741
4679
  * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-intermediate-certificate-authorities).
3742
4680
  */
3743
- signing_method: string;
4681
+ signing_method: PrivateCertificateConfigurationIntermediateCAPrototype.Constants.SigningMethod | string;
3744
4682
  /** The distinguished name that identifies the entity that signed and issued the certificate. */
3745
4683
  issuer?: string;
3746
4684
  /** The time until the certificate revocation list (CRL) expires.
@@ -3784,11 +4722,11 @@ declare namespace SecretsManagerV2 {
3784
4722
  */
3785
4723
  other_sans?: string[];
3786
4724
  /** The format of the returned data. */
3787
- format?: string;
4725
+ format?: PrivateCertificateConfigurationIntermediateCAPrototype.Constants.Format | string;
3788
4726
  /** The format of the generated private key. */
3789
- private_key_format?: string;
4727
+ private_key_format?: PrivateCertificateConfigurationIntermediateCAPrototype.Constants.PrivateKeyFormat | string;
3790
4728
  /** The type of private key to generate. */
3791
- key_type?: string;
4729
+ key_type?: PrivateCertificateConfigurationIntermediateCAPrototype.Constants.KeyType | string;
3792
4730
  /** The number of bits to use to generate the private key.
3793
4731
  *
3794
4732
  * Allowable values for RSA keys are: `2048` and `4096`. Allowable values for EC keys are: `224`, `256`, `384`, and
@@ -3823,16 +4761,54 @@ declare namespace SecretsManagerV2 {
3823
4761
  */
3824
4762
  serial_number?: string;
3825
4763
  }
4764
+ namespace PrivateCertificateConfigurationIntermediateCAPrototype {
4765
+ namespace Constants {
4766
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
4767
+ enum ConfigType {
4768
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
4769
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
4770
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
4771
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
4772
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
4773
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
4774
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
4775
+ }
4776
+ /** The signing method to use with this certificate authority to generate private certificates. You can choose between internal or externally signed options. For more information, see the [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-intermediate-certificate-authorities). */
4777
+ enum SigningMethod {
4778
+ INTERNAL = "internal",
4779
+ EXTERNAL = "external"
4780
+ }
4781
+ /** The format of the returned data. */
4782
+ enum Format {
4783
+ PEM = "pem",
4784
+ PEM_BUNDLE = "pem_bundle"
4785
+ }
4786
+ /** The format of the generated private key. */
4787
+ enum PrivateKeyFormat {
4788
+ DER = "der",
4789
+ PKCS8 = "pkcs8"
4790
+ }
4791
+ /** The type of private key to generate. */
4792
+ enum KeyType {
4793
+ RSA = "rsa",
4794
+ EC = "ec"
4795
+ }
4796
+ }
4797
+ }
3826
4798
  /** The root certificate authority . */
3827
4799
  interface PrivateCertificateConfigurationRootCA extends Configuration {
3828
- /** The configuration type. */
3829
- config_type: string;
4800
+ /** The configuration type. Can be one of: iam_credentials_configuration,
4801
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
4802
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
4803
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
4804
+ */
4805
+ config_type: PrivateCertificateConfigurationRootCA.Constants.ConfigType | string;
3830
4806
  /** The unique name of your configuration. */
3831
4807
  name: string;
3832
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
3833
- * credentials, key-value, and user credentials.
4808
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
4809
+ * service_credentials, kv, and username_password.
3834
4810
  */
3835
- secret_type: string;
4811
+ secret_type: PrivateCertificateConfigurationRootCA.Constants.SecretType | string;
3836
4812
  /** The unique identifier that is associated with the entity that created the secret. */
3837
4813
  created_by: string;
3838
4814
  /** The date when the resource was created. The date format follows `RFC 3339`. */
@@ -3850,7 +4826,7 @@ declare namespace SecretsManagerV2 {
3850
4826
  */
3851
4827
  expiration_date?: string;
3852
4828
  /** The type of private key to generate. */
3853
- key_type?: string;
4829
+ key_type?: PrivateCertificateConfigurationRootCA.Constants.KeyType | string;
3854
4830
  /** The number of bits to use to generate the private key.
3855
4831
  *
3856
4832
  * Allowable values for RSA keys are: `2048` and `4096`. Allowable values for EC keys are: `224`, `256`, `384`, and
@@ -3861,7 +4837,7 @@ declare namespace SecretsManagerV2 {
3861
4837
  * or `expired`. For intermediate certificate authorities, possible statuses include `signing_required`,
3862
4838
  * `signed_certificate_required`, `certificate_template_required`, `configured`, `expired` or `revoked`.
3863
4839
  */
3864
- status?: string;
4840
+ status?: PrivateCertificateConfigurationRootCA.Constants.Status | string;
3865
4841
  /** The maximum time-to-live (TTL) for certificates that are created by this CA in seconds. */
3866
4842
  max_ttl_seconds?: number;
3867
4843
  /** The time until the certificate revocation list (CRL) expires, in seconds. */
@@ -3895,9 +4871,9 @@ declare namespace SecretsManagerV2 {
3895
4871
  /** he requested TTL, after which the certificate expires. */
3896
4872
  ttl_seconds?: number;
3897
4873
  /** The format of the returned data. */
3898
- format?: string;
4874
+ format?: PrivateCertificateConfigurationRootCA.Constants.Format | string;
3899
4875
  /** The format of the generated private key. */
3900
- private_key_format?: string;
4876
+ private_key_format?: PrivateCertificateConfigurationRootCA.Constants.PrivateKeyFormat | string;
3901
4877
  /** The maximum path length to encode in the generated certificate. `-1` means no limit.
3902
4878
  *
3903
4879
  * If the signing certificate has a maximum path length set, the path length is set to one less than that of the
@@ -3933,16 +4909,69 @@ declare namespace SecretsManagerV2 {
3933
4909
  /** The configuration data of your Private Certificate. */
3934
4910
  data?: PrivateCertificateCAData;
3935
4911
  }
4912
+ namespace PrivateCertificateConfigurationRootCA {
4913
+ namespace Constants {
4914
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
4915
+ enum ConfigType {
4916
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
4917
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
4918
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
4919
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
4920
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
4921
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
4922
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
4923
+ }
4924
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
4925
+ enum SecretType {
4926
+ ARBITRARY = "arbitrary",
4927
+ IAM_CREDENTIALS = "iam_credentials",
4928
+ IMPORTED_CERT = "imported_cert",
4929
+ KV = "kv",
4930
+ PRIVATE_CERT = "private_cert",
4931
+ PUBLIC_CERT = "public_cert",
4932
+ SERVICE_CREDENTIALS = "service_credentials",
4933
+ USERNAME_PASSWORD = "username_password"
4934
+ }
4935
+ /** The type of private key to generate. */
4936
+ enum KeyType {
4937
+ RSA = "rsa",
4938
+ EC = "ec"
4939
+ }
4940
+ /** The status of the certificate authority. The status of a root certificate authority is either `configured` or `expired`. For intermediate certificate authorities, possible statuses include `signing_required`, `signed_certificate_required`, `certificate_template_required`, `configured`, `expired` or `revoked`. */
4941
+ enum Status {
4942
+ SIGNING_REQUIRED = "signing_required",
4943
+ SIGNED_CERTIFICATE_REQUIRED = "signed_certificate_required",
4944
+ CERTIFICATE_TEMPLATE_REQUIRED = "certificate_template_required",
4945
+ CONFIGURED = "configured",
4946
+ EXPIRED = "expired",
4947
+ REVOKED = "revoked"
4948
+ }
4949
+ /** The format of the returned data. */
4950
+ enum Format {
4951
+ PEM = "pem",
4952
+ PEM_BUNDLE = "pem_bundle"
4953
+ }
4954
+ /** The format of the generated private key. */
4955
+ enum PrivateKeyFormat {
4956
+ DER = "der",
4957
+ PKCS8 = "pkcs8"
4958
+ }
4959
+ }
4960
+ }
3936
4961
  /** The configuration of the metadata properties of the root certificate authority. */
3937
4962
  interface PrivateCertificateConfigurationRootCAMetadata extends ConfigurationMetadata {
3938
- /** The configuration type. */
3939
- config_type: string;
4963
+ /** The configuration type. Can be one of: iam_credentials_configuration,
4964
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
4965
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
4966
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
4967
+ */
4968
+ config_type: PrivateCertificateConfigurationRootCAMetadata.Constants.ConfigType | string;
3940
4969
  /** The unique name of your configuration. */
3941
4970
  name: string;
3942
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
3943
- * credentials, key-value, and user credentials.
4971
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
4972
+ * service_credentials, kv, and username_password.
3944
4973
  */
3945
- secret_type: string;
4974
+ secret_type: PrivateCertificateConfigurationRootCAMetadata.Constants.SecretType | string;
3946
4975
  /** The unique identifier that is associated with the entity that created the secret. */
3947
4976
  created_by: string;
3948
4977
  /** The date when the resource was created. The date format follows `RFC 3339`. */
@@ -3960,7 +4989,7 @@ declare namespace SecretsManagerV2 {
3960
4989
  */
3961
4990
  expiration_date?: string;
3962
4991
  /** The type of private key to generate. */
3963
- key_type?: string;
4992
+ key_type?: PrivateCertificateConfigurationRootCAMetadata.Constants.KeyType | string;
3964
4993
  /** The number of bits to use to generate the private key.
3965
4994
  *
3966
4995
  * Allowable values for RSA keys are: `2048` and `4096`. Allowable values for EC keys are: `224`, `256`, `384`, and
@@ -3971,7 +5000,46 @@ declare namespace SecretsManagerV2 {
3971
5000
  * or `expired`. For intermediate certificate authorities, possible statuses include `signing_required`,
3972
5001
  * `signed_certificate_required`, `certificate_template_required`, `configured`, `expired` or `revoked`.
3973
5002
  */
3974
- status?: string;
5003
+ status?: PrivateCertificateConfigurationRootCAMetadata.Constants.Status | string;
5004
+ }
5005
+ namespace PrivateCertificateConfigurationRootCAMetadata {
5006
+ namespace Constants {
5007
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
5008
+ enum ConfigType {
5009
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
5010
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
5011
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
5012
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
5013
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
5014
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
5015
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
5016
+ }
5017
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
5018
+ enum SecretType {
5019
+ ARBITRARY = "arbitrary",
5020
+ IAM_CREDENTIALS = "iam_credentials",
5021
+ IMPORTED_CERT = "imported_cert",
5022
+ KV = "kv",
5023
+ PRIVATE_CERT = "private_cert",
5024
+ PUBLIC_CERT = "public_cert",
5025
+ SERVICE_CREDENTIALS = "service_credentials",
5026
+ USERNAME_PASSWORD = "username_password"
5027
+ }
5028
+ /** The type of private key to generate. */
5029
+ enum KeyType {
5030
+ RSA = "rsa",
5031
+ EC = "ec"
5032
+ }
5033
+ /** The status of the certificate authority. The status of a root certificate authority is either `configured` or `expired`. For intermediate certificate authorities, possible statuses include `signing_required`, `signed_certificate_required`, `certificate_template_required`, `configured`, `expired` or `revoked`. */
5034
+ enum Status {
5035
+ SIGNING_REQUIRED = "signing_required",
5036
+ SIGNED_CERTIFICATE_REQUIRED = "signed_certificate_required",
5037
+ CERTIFICATE_TEMPLATE_REQUIRED = "certificate_template_required",
5038
+ CONFIGURED = "configured",
5039
+ EXPIRED = "expired",
5040
+ REVOKED = "revoked"
5041
+ }
5042
+ }
3975
5043
  }
3976
5044
  /** The configuration of the metadata patch for the root certificate authority. */
3977
5045
  interface PrivateCertificateConfigurationRootCAPatch extends ConfigurationPatch {
@@ -4008,8 +5076,12 @@ declare namespace SecretsManagerV2 {
4008
5076
  }
4009
5077
  /** The configuration of the root certificate authority. */
4010
5078
  interface PrivateCertificateConfigurationRootCAPrototype extends ConfigurationPrototype {
4011
- /** The configuration type. */
4012
- config_type: string;
5079
+ /** The configuration type. Can be one of: iam_credentials_configuration,
5080
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
5081
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
5082
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
5083
+ */
5084
+ config_type: PrivateCertificateConfigurationRootCAPrototype.Constants.ConfigType | string;
4013
5085
  /** A human-readable unique name to assign to your configuration.
4014
5086
  *
4015
5087
  * To protect your privacy, do not use personal data, such as your name or location, as an name for your secret.
@@ -4071,11 +5143,11 @@ declare namespace SecretsManagerV2 {
4071
5143
  */
4072
5144
  ttl?: string;
4073
5145
  /** The format of the returned data. */
4074
- format?: string;
5146
+ format?: PrivateCertificateConfigurationRootCAPrototype.Constants.Format | string;
4075
5147
  /** The format of the generated private key. */
4076
- private_key_format?: string;
5148
+ private_key_format?: PrivateCertificateConfigurationRootCAPrototype.Constants.PrivateKeyFormat | string;
4077
5149
  /** The type of private key to generate. */
4078
- key_type?: string;
5150
+ key_type?: PrivateCertificateConfigurationRootCAPrototype.Constants.KeyType | string;
4079
5151
  /** The number of bits to use to generate the private key.
4080
5152
  *
4081
5153
  * Allowable values for RSA keys are: `2048` and `4096`. Allowable values for EC keys are: `224`, `256`, `384`, and
@@ -4120,16 +5192,49 @@ declare namespace SecretsManagerV2 {
4120
5192
  */
4121
5193
  serial_number?: string;
4122
5194
  }
5195
+ namespace PrivateCertificateConfigurationRootCAPrototype {
5196
+ namespace Constants {
5197
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
5198
+ enum ConfigType {
5199
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
5200
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
5201
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
5202
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
5203
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
5204
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
5205
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
5206
+ }
5207
+ /** The format of the returned data. */
5208
+ enum Format {
5209
+ PEM = "pem",
5210
+ PEM_BUNDLE = "pem_bundle"
5211
+ }
5212
+ /** The format of the generated private key. */
5213
+ enum PrivateKeyFormat {
5214
+ DER = "der",
5215
+ PKCS8 = "pkcs8"
5216
+ }
5217
+ /** The type of private key to generate. */
5218
+ enum KeyType {
5219
+ RSA = "rsa",
5220
+ EC = "ec"
5221
+ }
5222
+ }
5223
+ }
4123
5224
  /** The configuration of the private certificate template. */
4124
5225
  interface PrivateCertificateConfigurationTemplate extends Configuration {
4125
- /** The configuration type. */
4126
- config_type: string;
5226
+ /** The configuration type. Can be one of: iam_credentials_configuration,
5227
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
5228
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
5229
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
5230
+ */
5231
+ config_type: PrivateCertificateConfigurationTemplate.Constants.ConfigType | string;
4127
5232
  /** The unique name of your configuration. */
4128
5233
  name: string;
4129
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
4130
- * credentials, key-value, and user credentials.
5234
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
5235
+ * service_credentials, kv, and username_password.
4131
5236
  */
4132
- secret_type: string;
5237
+ secret_type: PrivateCertificateConfigurationTemplate.Constants.SecretType | string;
4133
5238
  /** The unique identifier that is associated with the entity that created the secret. */
4134
5239
  created_by: string;
4135
5240
  /** The date when the resource was created. The date format follows `RFC 3339`. */
@@ -4214,7 +5319,7 @@ declare namespace SecretsManagerV2 {
4214
5319
  /** This field indicates whether private certificates are flagged for email protection use. */
4215
5320
  email_protection_flag?: boolean;
4216
5321
  /** The type of private key to generate. */
4217
- key_type?: string;
5322
+ key_type?: PrivateCertificateConfigurationTemplate.Constants.KeyType | string;
4218
5323
  /** The number of bits to use to generate the private key.
4219
5324
  *
4220
5325
  * Allowable values for RSA keys are: `2048` and `4096`. Allowable values for EC keys are: `224`, `256`, `384`, and
@@ -4285,16 +5390,50 @@ declare namespace SecretsManagerV2 {
4285
5390
  /** The duration in seconds by which to backdate the `not_before` property of an issued private certificate. */
4286
5391
  not_before_duration_seconds?: number;
4287
5392
  }
5393
+ namespace PrivateCertificateConfigurationTemplate {
5394
+ namespace Constants {
5395
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
5396
+ enum ConfigType {
5397
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
5398
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
5399
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
5400
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
5401
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
5402
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
5403
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
5404
+ }
5405
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
5406
+ enum SecretType {
5407
+ ARBITRARY = "arbitrary",
5408
+ IAM_CREDENTIALS = "iam_credentials",
5409
+ IMPORTED_CERT = "imported_cert",
5410
+ KV = "kv",
5411
+ PRIVATE_CERT = "private_cert",
5412
+ PUBLIC_CERT = "public_cert",
5413
+ SERVICE_CREDENTIALS = "service_credentials",
5414
+ USERNAME_PASSWORD = "username_password"
5415
+ }
5416
+ /** The type of private key to generate. */
5417
+ enum KeyType {
5418
+ RSA = "rsa",
5419
+ EC = "ec"
5420
+ }
5421
+ }
5422
+ }
4288
5423
  /** The metadata properties of the configuration of the private certificate template. */
4289
5424
  interface PrivateCertificateConfigurationTemplateMetadata extends ConfigurationMetadata {
4290
- /** The configuration type. */
4291
- config_type: string;
5425
+ /** The configuration type. Can be one of: iam_credentials_configuration,
5426
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
5427
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
5428
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
5429
+ */
5430
+ config_type: PrivateCertificateConfigurationTemplateMetadata.Constants.ConfigType | string;
4292
5431
  /** The unique name of your configuration. */
4293
5432
  name: string;
4294
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
4295
- * credentials, key-value, and user credentials.
5433
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
5434
+ * service_credentials, kv, and username_password.
4296
5435
  */
4297
- secret_type: string;
5436
+ secret_type: PrivateCertificateConfigurationTemplateMetadata.Constants.SecretType | string;
4298
5437
  /** The unique identifier that is associated with the entity that created the secret. */
4299
5438
  created_by: string;
4300
5439
  /** The date when the resource was created. The date format follows `RFC 3339`. */
@@ -4304,6 +5443,31 @@ declare namespace SecretsManagerV2 {
4304
5443
  /** The name of the intermediate certificate authority. */
4305
5444
  certificate_authority: string;
4306
5445
  }
5446
+ namespace PrivateCertificateConfigurationTemplateMetadata {
5447
+ namespace Constants {
5448
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
5449
+ enum ConfigType {
5450
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
5451
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
5452
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
5453
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
5454
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
5455
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
5456
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
5457
+ }
5458
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
5459
+ enum SecretType {
5460
+ ARBITRARY = "arbitrary",
5461
+ IAM_CREDENTIALS = "iam_credentials",
5462
+ IMPORTED_CERT = "imported_cert",
5463
+ KV = "kv",
5464
+ PRIVATE_CERT = "private_cert",
5465
+ PUBLIC_CERT = "public_cert",
5466
+ SERVICE_CREDENTIALS = "service_credentials",
5467
+ USERNAME_PASSWORD = "username_password"
5468
+ }
5469
+ }
5470
+ }
4307
5471
  /** Properties that describe a certificate template. You can use a certificate template to control the parameters that are applied to your issued private certificates. For more information, see the [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-certificate-templates). */
4308
5472
  interface PrivateCertificateConfigurationTemplatePatch extends ConfigurationPatch {
4309
5473
  /** This field scopes the creation of private certificates to only the secret groups that you specify.
@@ -4393,7 +5557,7 @@ declare namespace SecretsManagerV2 {
4393
5557
  /** This field indicates whether private certificates are flagged for email protection use. */
4394
5558
  email_protection_flag?: boolean;
4395
5559
  /** The type of private key to generate. */
4396
- key_type?: string;
5560
+ key_type?: PrivateCertificateConfigurationTemplatePatch.Constants.KeyType | string;
4397
5561
  /** The number of bits to use to generate the private key.
4398
5562
  *
4399
5563
  * Allowable values for RSA keys are: `2048` and `4096`. Allowable values for EC keys are: `224`, `256`, `384`, and
@@ -4468,10 +5632,23 @@ declare namespace SecretsManagerV2 {
4468
5632
  */
4469
5633
  not_before_duration?: string;
4470
5634
  }
5635
+ namespace PrivateCertificateConfigurationTemplatePatch {
5636
+ namespace Constants {
5637
+ /** The type of private key to generate. */
5638
+ enum KeyType {
5639
+ RSA = "rsa",
5640
+ EC = "ec"
5641
+ }
5642
+ }
5643
+ }
4471
5644
  /** Properties that describe a certificate template. You can use a certificate template to control the parameters that are applied to your issued private certificates. For more information, see the [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-certificate-templates). */
4472
5645
  interface PrivateCertificateConfigurationTemplatePrototype extends ConfigurationPrototype {
4473
- /** The configuration type. */
4474
- config_type: string;
5646
+ /** The configuration type. Can be one of: iam_credentials_configuration,
5647
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
5648
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
5649
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
5650
+ */
5651
+ config_type: PrivateCertificateConfigurationTemplatePrototype.Constants.ConfigType | string;
4475
5652
  /** A human-readable unique name to assign to your configuration.
4476
5653
  *
4477
5654
  * To protect your privacy, do not use personal data, such as your name or location, as an name for your secret.
@@ -4572,7 +5749,7 @@ declare namespace SecretsManagerV2 {
4572
5749
  /** This field indicates whether private certificates are flagged for email protection use. */
4573
5750
  email_protection_flag?: boolean;
4574
5751
  /** The type of private key to generate. */
4575
- key_type?: string;
5752
+ key_type?: PrivateCertificateConfigurationTemplatePrototype.Constants.KeyType | string;
4576
5753
  /** The number of bits to use to generate the private key.
4577
5754
  *
4578
5755
  * Allowable values for RSA keys are: `2048` and `4096`. Allowable values for EC keys are: `224`, `256`, `384`, and
@@ -4647,6 +5824,25 @@ declare namespace SecretsManagerV2 {
4647
5824
  */
4648
5825
  not_before_duration?: string;
4649
5826
  }
5827
+ namespace PrivateCertificateConfigurationTemplatePrototype {
5828
+ namespace Constants {
5829
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
5830
+ enum ConfigType {
5831
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
5832
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
5833
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
5834
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
5835
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
5836
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
5837
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
5838
+ }
5839
+ /** The type of private key to generate. */
5840
+ enum KeyType {
5841
+ RSA = "rsa",
5842
+ EC = "ec"
5843
+ }
5844
+ }
5845
+ }
4650
5846
  /** Properties of the metadata of your private certificate. */
4651
5847
  interface PrivateCertificateMetadata extends SecretMetadata {
4652
5848
  /** The unique identifier that is associated with the entity that created the secret. */
@@ -4682,16 +5878,16 @@ declare namespace SecretsManagerV2 {
4682
5878
  name?: string;
4683
5879
  /** A v4 UUID identifier, or `default` secret group. */
4684
5880
  secret_group_id: string;
4685
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
4686
- * credentials, key-value, and user credentials.
5881
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
5882
+ * service_credentials, kv, and username_password.
4687
5883
  */
4688
- secret_type: string;
5884
+ secret_type: PrivateCertificateMetadata.Constants.SecretType | string;
4689
5885
  /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
4690
5886
  * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
4691
5887
  */
4692
5888
  state?: number;
4693
5889
  /** A text representation of the secret state. */
4694
- state_description?: string;
5890
+ state_description?: PrivateCertificateMetadata.Constants.StateDescription | string;
4695
5891
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
4696
5892
  updated_at: string;
4697
5893
  /** The number of versions of your secret. */
@@ -4739,6 +5935,29 @@ declare namespace SecretsManagerV2 {
4739
5935
  /** The date and time that the certificate was revoked. The date format follows `RFC 3339`. */
4740
5936
  revocation_time_rfc3339?: string;
4741
5937
  }
5938
+ namespace PrivateCertificateMetadata {
5939
+ namespace Constants {
5940
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
5941
+ enum SecretType {
5942
+ ARBITRARY = "arbitrary",
5943
+ IAM_CREDENTIALS = "iam_credentials",
5944
+ IMPORTED_CERT = "imported_cert",
5945
+ KV = "kv",
5946
+ PRIVATE_CERT = "private_cert",
5947
+ PUBLIC_CERT = "public_cert",
5948
+ SERVICE_CREDENTIALS = "service_credentials",
5949
+ USERNAME_PASSWORD = "username_password"
5950
+ }
5951
+ /** A text representation of the secret state. */
5952
+ enum StateDescription {
5953
+ PRE_ACTIVATION = "pre_activation",
5954
+ ACTIVE = "active",
5955
+ SUSPENDED = "suspended",
5956
+ DEACTIVATED = "deactivated",
5957
+ DESTROYED = "destroyed"
5958
+ }
5959
+ }
5960
+ }
4742
5961
  /** PrivateCertificateMetadataPatch. */
4743
5962
  interface PrivateCertificateMetadataPatch extends SecretMetadataPatch {
4744
5963
  /** A human-readable name to assign to your secret.
@@ -4768,10 +5987,10 @@ declare namespace SecretsManagerV2 {
4768
5987
  }
4769
5988
  /** PrivateCertificatePrototype. */
4770
5989
  interface PrivateCertificatePrototype extends SecretPrototype {
4771
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
4772
- * credentials, key-value, and user credentials.
5990
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
5991
+ * service_credentials, kv, and username_password.
4773
5992
  */
4774
- secret_type: string;
5993
+ secret_type: PrivateCertificatePrototype.Constants.SecretType | string;
4775
5994
  /** A human-readable name to assign to your secret.
4776
5995
  *
4777
5996
  * To protect your privacy, do not use personal data, such as your name or location, as a name for your secret.
@@ -4815,9 +6034,9 @@ declare namespace SecretsManagerV2 {
4815
6034
  /** The certificate signing request. */
4816
6035
  csr?: string;
4817
6036
  /** The format of the returned data. */
4818
- format?: string;
6037
+ format?: PrivateCertificatePrototype.Constants.Format | string;
4819
6038
  /** The format of the generated private key. */
4820
- private_key_format?: string;
6039
+ private_key_format?: PrivateCertificatePrototype.Constants.PrivateKeyFormat | string;
4821
6040
  /** This parameter controls whether the common name is excluded from Subject Alternative Names (SANs).
4822
6041
  *
4823
6042
  * If the common name is set to `true`, it is not included in DNS, or email SANs if they apply. This field can be
@@ -4839,6 +6058,31 @@ declare namespace SecretsManagerV2 {
4839
6058
  /** The secret version metadata that a user can customize. */
4840
6059
  version_custom_metadata?: JsonObject;
4841
6060
  }
6061
+ namespace PrivateCertificatePrototype {
6062
+ namespace Constants {
6063
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
6064
+ enum SecretType {
6065
+ ARBITRARY = "arbitrary",
6066
+ IAM_CREDENTIALS = "iam_credentials",
6067
+ IMPORTED_CERT = "imported_cert",
6068
+ KV = "kv",
6069
+ PRIVATE_CERT = "private_cert",
6070
+ PUBLIC_CERT = "public_cert",
6071
+ SERVICE_CREDENTIALS = "service_credentials",
6072
+ USERNAME_PASSWORD = "username_password"
6073
+ }
6074
+ /** The format of the returned data. */
6075
+ enum Format {
6076
+ PEM = "pem",
6077
+ PEM_BUNDLE = "pem_bundle"
6078
+ }
6079
+ /** The format of the generated private key. */
6080
+ enum PrivateKeyFormat {
6081
+ DER = "der",
6082
+ PKCS8 = "pkcs8"
6083
+ }
6084
+ }
6085
+ }
4842
6086
  /** Your private certificate version. */
4843
6087
  interface PrivateCertificateVersion extends SecretVersion {
4844
6088
  /** Indicates whether the version of the secret was created by automatic rotation. */
@@ -4855,10 +6099,10 @@ declare namespace SecretsManagerV2 {
4855
6099
  id: string;
4856
6100
  /** The human-readable name of your secret. */
4857
6101
  secret_name?: string;
4858
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
4859
- * credentials, key-value, and user credentials.
6102
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
6103
+ * service_credentials, kv, and username_password.
4860
6104
  */
4861
- secret_type: string;
6105
+ secret_type: PrivateCertificateVersion.Constants.SecretType | string;
4862
6106
  /** A v4 UUID identifier, or `default` secret group. */
4863
6107
  secret_group_id: string;
4864
6108
  /** Indicates whether the secret payload is available in this secret version. */
@@ -4866,7 +6110,7 @@ declare namespace SecretsManagerV2 {
4866
6110
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
4867
6111
  * is used for version `n-1`.
4868
6112
  */
4869
- alias?: string;
6113
+ alias?: PrivateCertificateVersion.Constants.Alias | string;
4870
6114
  /** The secret version metadata that a user can customize. */
4871
6115
  version_custom_metadata?: JsonObject;
4872
6116
  /** A v4 UUID identifier. */
@@ -4890,17 +6134,53 @@ declare namespace SecretsManagerV2 {
4890
6134
  /** The chain of certificate authorities that are associated with the certificate. */
4891
6135
  ca_chain?: string[];
4892
6136
  }
6137
+ namespace PrivateCertificateVersion {
6138
+ namespace Constants {
6139
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
6140
+ enum SecretType {
6141
+ ARBITRARY = "arbitrary",
6142
+ IAM_CREDENTIALS = "iam_credentials",
6143
+ IMPORTED_CERT = "imported_cert",
6144
+ KV = "kv",
6145
+ PRIVATE_CERT = "private_cert",
6146
+ PUBLIC_CERT = "public_cert",
6147
+ SERVICE_CREDENTIALS = "service_credentials",
6148
+ USERNAME_PASSWORD = "username_password"
6149
+ }
6150
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
6151
+ enum Alias {
6152
+ CURRENT = "current",
6153
+ PREVIOUS = "previous"
6154
+ }
6155
+ }
6156
+ }
4893
6157
  /** The response body to specify the properties of the action to revoke the private certificate. */
4894
6158
  interface PrivateCertificateVersionActionRevoke extends VersionAction {
4895
6159
  /** The type of secret version action. */
4896
- action_type: string;
6160
+ action_type: PrivateCertificateVersionActionRevoke.Constants.ActionType | string;
4897
6161
  /** The timestamp of the certificate revocation. */
4898
6162
  revocation_time_seconds?: number;
4899
6163
  }
6164
+ namespace PrivateCertificateVersionActionRevoke {
6165
+ namespace Constants {
6166
+ /** The type of secret version action. */
6167
+ enum ActionType {
6168
+ PRIVATE_CERT_ACTION_REVOKE_CERTIFICATE = "private_cert_action_revoke_certificate"
6169
+ }
6170
+ }
6171
+ }
4900
6172
  /** The request body to specify the properties of the action to revoke the private certificate. */
4901
6173
  interface PrivateCertificateVersionActionRevokePrototype extends SecretVersionActionPrototype {
4902
6174
  /** The type of secret version action. */
4903
- action_type: string;
6175
+ action_type: PrivateCertificateVersionActionRevokePrototype.Constants.ActionType | string;
6176
+ }
6177
+ namespace PrivateCertificateVersionActionRevokePrototype {
6178
+ namespace Constants {
6179
+ /** The type of secret version action. */
6180
+ enum ActionType {
6181
+ PRIVATE_CERT_ACTION_REVOKE_CERTIFICATE = "private_cert_action_revoke_certificate"
6182
+ }
6183
+ }
4904
6184
  }
4905
6185
  /** Properties of the version metadata of your private certificate. */
4906
6186
  interface PrivateCertificateVersionMetadata extends SecretVersionMetadata {
@@ -4918,10 +6198,10 @@ declare namespace SecretsManagerV2 {
4918
6198
  id: string;
4919
6199
  /** The human-readable name of your secret. */
4920
6200
  secret_name?: string;
4921
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
4922
- * credentials, key-value, and user credentials.
6201
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
6202
+ * service_credentials, kv, and username_password.
4923
6203
  */
4924
- secret_type: string;
6204
+ secret_type: PrivateCertificateVersionMetadata.Constants.SecretType | string;
4925
6205
  /** A v4 UUID identifier, or `default` secret group. */
4926
6206
  secret_group_id: string;
4927
6207
  /** Indicates whether the secret payload is available in this secret version. */
@@ -4929,7 +6209,7 @@ declare namespace SecretsManagerV2 {
4929
6209
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
4930
6210
  * is used for version `n-1`.
4931
6211
  */
4932
- alias?: string;
6212
+ alias?: PrivateCertificateVersionMetadata.Constants.Alias | string;
4933
6213
  /** The secret version metadata that a user can customize. */
4934
6214
  version_custom_metadata?: JsonObject;
4935
6215
  /** A v4 UUID identifier. */
@@ -4943,6 +6223,26 @@ declare namespace SecretsManagerV2 {
4943
6223
  /** The date and time that the certificate validity period begins and ends. */
4944
6224
  validity: CertificateValidity;
4945
6225
  }
6226
+ namespace PrivateCertificateVersionMetadata {
6227
+ namespace Constants {
6228
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
6229
+ enum SecretType {
6230
+ ARBITRARY = "arbitrary",
6231
+ IAM_CREDENTIALS = "iam_credentials",
6232
+ IMPORTED_CERT = "imported_cert",
6233
+ KV = "kv",
6234
+ PRIVATE_CERT = "private_cert",
6235
+ PUBLIC_CERT = "public_cert",
6236
+ SERVICE_CREDENTIALS = "service_credentials",
6237
+ USERNAME_PASSWORD = "username_password"
6238
+ }
6239
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
6240
+ enum Alias {
6241
+ CURRENT = "current",
6242
+ PREVIOUS = "previous"
6243
+ }
6244
+ }
6245
+ }
4946
6246
  /** PrivateCertificateVersionPrototype. */
4947
6247
  interface PrivateCertificateVersionPrototype extends SecretVersionPrototype {
4948
6248
  /** The secret metadata that a user can customize. */
@@ -4987,16 +6287,16 @@ declare namespace SecretsManagerV2 {
4987
6287
  name?: string;
4988
6288
  /** A v4 UUID identifier, or `default` secret group. */
4989
6289
  secret_group_id: string;
4990
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
4991
- * credentials, key-value, and user credentials.
6290
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
6291
+ * service_credentials, kv, and username_password.
4992
6292
  */
4993
- secret_type: string;
6293
+ secret_type: PublicCertificate.Constants.SecretType | string;
4994
6294
  /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
4995
6295
  * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
4996
6296
  */
4997
6297
  state?: number;
4998
6298
  /** A text representation of the secret state. */
4999
- state_description?: string;
6299
+ state_description?: PublicCertificate.Constants.StateDescription | string;
5000
6300
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
5001
6301
  updated_at: string;
5002
6302
  /** The number of versions of your secret. */
@@ -5052,26 +6352,71 @@ declare namespace SecretsManagerV2 {
5052
6352
  */
5053
6353
  private_key?: string;
5054
6354
  }
6355
+ namespace PublicCertificate {
6356
+ namespace Constants {
6357
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
6358
+ enum SecretType {
6359
+ ARBITRARY = "arbitrary",
6360
+ IAM_CREDENTIALS = "iam_credentials",
6361
+ IMPORTED_CERT = "imported_cert",
6362
+ KV = "kv",
6363
+ PRIVATE_CERT = "private_cert",
6364
+ PUBLIC_CERT = "public_cert",
6365
+ SERVICE_CREDENTIALS = "service_credentials",
6366
+ USERNAME_PASSWORD = "username_password"
6367
+ }
6368
+ /** A text representation of the secret state. */
6369
+ enum StateDescription {
6370
+ PRE_ACTIVATION = "pre_activation",
6371
+ ACTIVE = "active",
6372
+ SUSPENDED = "suspended",
6373
+ DEACTIVATED = "deactivated",
6374
+ DESTROYED = "destroyed"
6375
+ }
6376
+ }
6377
+ }
5055
6378
  /** The response body of the action to validate manual DNS challenges for the public certificate. */
5056
6379
  interface PublicCertificateActionValidateManualDNS extends SecretAction {
5057
6380
  /** The type of secret action. */
5058
- action_type: string;
6381
+ action_type: PublicCertificateActionValidateManualDNS.Constants.ActionType | string;
6382
+ }
6383
+ namespace PublicCertificateActionValidateManualDNS {
6384
+ namespace Constants {
6385
+ /** The type of secret action. */
6386
+ enum ActionType {
6387
+ PUBLIC_CERT_ACTION_VALIDATE_DNS_CHALLENGE = "public_cert_action_validate_dns_challenge",
6388
+ PRIVATE_CERT_ACTION_REVOKE_CERTIFICATE = "private_cert_action_revoke_certificate"
6389
+ }
6390
+ }
5059
6391
  }
5060
6392
  /** The request body to specify the properties of the action to validate manual DNS challenges for the public certificate. */
5061
6393
  interface PublicCertificateActionValidateManualDNSPrototype extends SecretActionPrototype {
5062
6394
  /** The type of secret action. */
5063
- action_type: string;
6395
+ action_type: PublicCertificateActionValidateManualDNSPrototype.Constants.ActionType | string;
6396
+ }
6397
+ namespace PublicCertificateActionValidateManualDNSPrototype {
6398
+ namespace Constants {
6399
+ /** The type of secret action. */
6400
+ enum ActionType {
6401
+ PUBLIC_CERT_ACTION_VALIDATE_DNS_CHALLENGE = "public_cert_action_validate_dns_challenge",
6402
+ PRIVATE_CERT_ACTION_REVOKE_CERTIFICATE = "private_cert_action_revoke_certificate"
6403
+ }
6404
+ }
5064
6405
  }
5065
6406
  /** Properties that describe a Let's Encrypt CA configuration. */
5066
6407
  interface PublicCertificateConfigurationCALetsEncrypt extends Configuration {
5067
- /** The configuration type. */
5068
- config_type: string;
6408
+ /** The configuration type. Can be one of: iam_credentials_configuration,
6409
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
6410
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
6411
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
6412
+ */
6413
+ config_type: PublicCertificateConfigurationCALetsEncrypt.Constants.ConfigType | string;
5069
6414
  /** The unique name of your configuration. */
5070
6415
  name: string;
5071
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
5072
- * credentials, key-value, and user credentials.
6416
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
6417
+ * service_credentials, kv, and username_password.
5073
6418
  */
5074
- secret_type: string;
6419
+ secret_type: PublicCertificateConfigurationCALetsEncrypt.Constants.SecretType | string;
5075
6420
  /** The unique identifier that is associated with the entity that created the secret. */
5076
6421
  created_by: string;
5077
6422
  /** The date when the resource was created. The date format follows `RFC 3339`. */
@@ -5079,7 +6424,7 @@ declare namespace SecretsManagerV2 {
5079
6424
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
5080
6425
  updated_at: string;
5081
6426
  /** The configuration of the Let's Encrypt CA environment. */
5082
- lets_encrypt_environment: string;
6427
+ lets_encrypt_environment: PublicCertificateConfigurationCALetsEncrypt.Constants.LetsEncryptEnvironment | string;
5083
6428
  /** If the CA offers multiple certificate chains, prefer the chain with an issuer matching this Subject Common
5084
6429
  * Name. If no match, the default offered chain will be used.
5085
6430
  */
@@ -5089,16 +6434,50 @@ declare namespace SecretsManagerV2 {
5089
6434
  */
5090
6435
  lets_encrypt_private_key: string;
5091
6436
  }
6437
+ namespace PublicCertificateConfigurationCALetsEncrypt {
6438
+ namespace Constants {
6439
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
6440
+ enum ConfigType {
6441
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
6442
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
6443
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
6444
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
6445
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
6446
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
6447
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
6448
+ }
6449
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
6450
+ enum SecretType {
6451
+ ARBITRARY = "arbitrary",
6452
+ IAM_CREDENTIALS = "iam_credentials",
6453
+ IMPORTED_CERT = "imported_cert",
6454
+ KV = "kv",
6455
+ PRIVATE_CERT = "private_cert",
6456
+ PUBLIC_CERT = "public_cert",
6457
+ SERVICE_CREDENTIALS = "service_credentials",
6458
+ USERNAME_PASSWORD = "username_password"
6459
+ }
6460
+ /** The configuration of the Let's Encrypt CA environment. */
6461
+ enum LetsEncryptEnvironment {
6462
+ PRODUCTION = "production",
6463
+ STAGING = "staging"
6464
+ }
6465
+ }
6466
+ }
5092
6467
  /** Your Let's Encrypt CA metadata properties. */
5093
6468
  interface PublicCertificateConfigurationCALetsEncryptMetadata extends ConfigurationMetadata {
5094
- /** The configuration type. */
5095
- config_type: string;
6469
+ /** The configuration type. Can be one of: iam_credentials_configuration,
6470
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
6471
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
6472
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
6473
+ */
6474
+ config_type: PublicCertificateConfigurationCALetsEncryptMetadata.Constants.ConfigType | string;
5096
6475
  /** The unique name of your configuration. */
5097
6476
  name: string;
5098
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
5099
- * credentials, key-value, and user credentials.
6477
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
6478
+ * service_credentials, kv, and username_password.
5100
6479
  */
5101
- secret_type: string;
6480
+ secret_type: PublicCertificateConfigurationCALetsEncryptMetadata.Constants.SecretType | string;
5102
6481
  /** The unique identifier that is associated with the entity that created the secret. */
5103
6482
  created_by: string;
5104
6483
  /** The date when the resource was created. The date format follows `RFC 3339`. */
@@ -5106,16 +6485,46 @@ declare namespace SecretsManagerV2 {
5106
6485
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
5107
6486
  updated_at: string;
5108
6487
  /** The configuration of the Let's Encrypt CA environment. */
5109
- lets_encrypt_environment: string;
6488
+ lets_encrypt_environment: PublicCertificateConfigurationCALetsEncryptMetadata.Constants.LetsEncryptEnvironment | string;
5110
6489
  /** If the CA offers multiple certificate chains, prefer the chain with an issuer matching this Subject Common
5111
6490
  * Name. If no match, the default offered chain will be used.
5112
6491
  */
5113
6492
  lets_encrypt_preferred_chain?: string;
5114
6493
  }
6494
+ namespace PublicCertificateConfigurationCALetsEncryptMetadata {
6495
+ namespace Constants {
6496
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
6497
+ enum ConfigType {
6498
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
6499
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
6500
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
6501
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
6502
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
6503
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
6504
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
6505
+ }
6506
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
6507
+ enum SecretType {
6508
+ ARBITRARY = "arbitrary",
6509
+ IAM_CREDENTIALS = "iam_credentials",
6510
+ IMPORTED_CERT = "imported_cert",
6511
+ KV = "kv",
6512
+ PRIVATE_CERT = "private_cert",
6513
+ PUBLIC_CERT = "public_cert",
6514
+ SERVICE_CREDENTIALS = "service_credentials",
6515
+ USERNAME_PASSWORD = "username_password"
6516
+ }
6517
+ /** The configuration of the Let's Encrypt CA environment. */
6518
+ enum LetsEncryptEnvironment {
6519
+ PRODUCTION = "production",
6520
+ STAGING = "staging"
6521
+ }
6522
+ }
6523
+ }
5115
6524
  /** The configuration update of the Let's Encrypt Certificate Authority. */
5116
6525
  interface PublicCertificateConfigurationCALetsEncryptPatch extends ConfigurationPatch {
5117
6526
  /** The configuration of the Let's Encrypt CA environment. */
5118
- lets_encrypt_environment: string;
6527
+ lets_encrypt_environment: PublicCertificateConfigurationCALetsEncryptPatch.Constants.LetsEncryptEnvironment | string;
5119
6528
  /** The PEM-encoded private key of your Let's Encrypt account. The data must be formatted on a single line with
5120
6529
  * embedded newline characters.
5121
6530
  */
@@ -5125,17 +6534,30 @@ declare namespace SecretsManagerV2 {
5125
6534
  */
5126
6535
  lets_encrypt_preferred_chain?: string;
5127
6536
  }
6537
+ namespace PublicCertificateConfigurationCALetsEncryptPatch {
6538
+ namespace Constants {
6539
+ /** The configuration of the Let's Encrypt CA environment. */
6540
+ enum LetsEncryptEnvironment {
6541
+ PRODUCTION = "production",
6542
+ STAGING = "staging"
6543
+ }
6544
+ }
6545
+ }
5128
6546
  /** The properties of the Let's Encrypt CA configuration. */
5129
6547
  interface PublicCertificateConfigurationCALetsEncryptPrototype extends ConfigurationPrototype {
5130
- /** The configuration type. */
5131
- config_type: string;
6548
+ /** The configuration type. Can be one of: iam_credentials_configuration,
6549
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
6550
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
6551
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
6552
+ */
6553
+ config_type: PublicCertificateConfigurationCALetsEncryptPrototype.Constants.ConfigType | string;
5132
6554
  /** A human-readable unique name to assign to your configuration.
5133
6555
  *
5134
6556
  * To protect your privacy, do not use personal data, such as your name or location, as an name for your secret.
5135
6557
  */
5136
6558
  name: string;
5137
6559
  /** The configuration of the Let's Encrypt CA environment. */
5138
- lets_encrypt_environment: string;
6560
+ lets_encrypt_environment: PublicCertificateConfigurationCALetsEncryptPrototype.Constants.LetsEncryptEnvironment | string;
5139
6561
  /** The PEM-encoded private key of your Let's Encrypt account. The data must be formatted on a single line with
5140
6562
  * embedded newline characters.
5141
6563
  */
@@ -5145,16 +6567,39 @@ declare namespace SecretsManagerV2 {
5145
6567
  */
5146
6568
  lets_encrypt_preferred_chain?: string;
5147
6569
  }
6570
+ namespace PublicCertificateConfigurationCALetsEncryptPrototype {
6571
+ namespace Constants {
6572
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
6573
+ enum ConfigType {
6574
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
6575
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
6576
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
6577
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
6578
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
6579
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
6580
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
6581
+ }
6582
+ /** The configuration of the Let's Encrypt CA environment. */
6583
+ enum LetsEncryptEnvironment {
6584
+ PRODUCTION = "production",
6585
+ STAGING = "staging"
6586
+ }
6587
+ }
6588
+ }
5148
6589
  /** Properties that describe a Classic Infrastructure DNS configuration. */
5149
6590
  interface PublicCertificateConfigurationDNSClassicInfrastructure extends Configuration {
5150
- /** The configuration type. */
5151
- config_type: string;
6591
+ /** The configuration type. Can be one of: iam_credentials_configuration,
6592
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
6593
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
6594
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
6595
+ */
6596
+ config_type: PublicCertificateConfigurationDNSClassicInfrastructure.Constants.ConfigType | string;
5152
6597
  /** The unique name of your configuration. */
5153
6598
  name: string;
5154
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
5155
- * credentials, key-value, and user credentials.
6599
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
6600
+ * service_credentials, kv, and username_password.
5156
6601
  */
5157
- secret_type: string;
6602
+ secret_type: PublicCertificateConfigurationDNSClassicInfrastructure.Constants.SecretType | string;
5158
6603
  /** The unique identifier that is associated with the entity that created the secret. */
5159
6604
  created_by: string;
5160
6605
  /** The date when the resource was created. The date format follows `RFC 3339`. */
@@ -5174,16 +6619,45 @@ declare namespace SecretsManagerV2 {
5174
6619
  */
5175
6620
  classic_infrastructure_password: string;
5176
6621
  }
6622
+ namespace PublicCertificateConfigurationDNSClassicInfrastructure {
6623
+ namespace Constants {
6624
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
6625
+ enum ConfigType {
6626
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
6627
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
6628
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
6629
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
6630
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
6631
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
6632
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
6633
+ }
6634
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
6635
+ enum SecretType {
6636
+ ARBITRARY = "arbitrary",
6637
+ IAM_CREDENTIALS = "iam_credentials",
6638
+ IMPORTED_CERT = "imported_cert",
6639
+ KV = "kv",
6640
+ PRIVATE_CERT = "private_cert",
6641
+ PUBLIC_CERT = "public_cert",
6642
+ SERVICE_CREDENTIALS = "service_credentials",
6643
+ USERNAME_PASSWORD = "username_password"
6644
+ }
6645
+ }
6646
+ }
5177
6647
  /** Your Classic Infrastructure DNS metadata properties. */
5178
6648
  interface PublicCertificateConfigurationDNSClassicInfrastructureMetadata extends ConfigurationMetadata {
5179
- /** The configuration type. */
5180
- config_type: string;
6649
+ /** The configuration type. Can be one of: iam_credentials_configuration,
6650
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
6651
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
6652
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
6653
+ */
6654
+ config_type: PublicCertificateConfigurationDNSClassicInfrastructureMetadata.Constants.ConfigType | string;
5181
6655
  /** The unique name of your configuration. */
5182
6656
  name: string;
5183
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
5184
- * credentials, key-value, and user credentials.
6657
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
6658
+ * service_credentials, kv, and username_password.
5185
6659
  */
5186
- secret_type: string;
6660
+ secret_type: PublicCertificateConfigurationDNSClassicInfrastructureMetadata.Constants.SecretType | string;
5187
6661
  /** The unique identifier that is associated with the entity that created the secret. */
5188
6662
  created_by: string;
5189
6663
  /** The date when the resource was created. The date format follows `RFC 3339`. */
@@ -5191,6 +6665,31 @@ declare namespace SecretsManagerV2 {
5191
6665
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
5192
6666
  updated_at: string;
5193
6667
  }
6668
+ namespace PublicCertificateConfigurationDNSClassicInfrastructureMetadata {
6669
+ namespace Constants {
6670
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
6671
+ enum ConfigType {
6672
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
6673
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
6674
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
6675
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
6676
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
6677
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
6678
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
6679
+ }
6680
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
6681
+ enum SecretType {
6682
+ ARBITRARY = "arbitrary",
6683
+ IAM_CREDENTIALS = "iam_credentials",
6684
+ IMPORTED_CERT = "imported_cert",
6685
+ KV = "kv",
6686
+ PRIVATE_CERT = "private_cert",
6687
+ PUBLIC_CERT = "public_cert",
6688
+ SERVICE_CREDENTIALS = "service_credentials",
6689
+ USERNAME_PASSWORD = "username_password"
6690
+ }
6691
+ }
6692
+ }
5194
6693
  /** Properties that describe the configuration update of an IBM Cloud classic infrastructure (SoftLayer). */
5195
6694
  interface PublicCertificateConfigurationDNSClassicInfrastructurePatch extends ConfigurationPatch {
5196
6695
  /** The username that is associated with your classic infrastructure account.
@@ -5208,8 +6707,12 @@ declare namespace SecretsManagerV2 {
5208
6707
  }
5209
6708
  /** PublicCertificateConfigurationDNSClassicInfrastructurePrototype. */
5210
6709
  interface PublicCertificateConfigurationDNSClassicInfrastructurePrototype extends ConfigurationPrototype {
5211
- /** The configuration type. */
5212
- config_type: string;
6710
+ /** The configuration type. Can be one of: iam_credentials_configuration,
6711
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
6712
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
6713
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
6714
+ */
6715
+ config_type: PublicCertificateConfigurationDNSClassicInfrastructurePrototype.Constants.ConfigType | string;
5213
6716
  /** A human-readable unique name to assign to your configuration.
5214
6717
  *
5215
6718
  * To protect your privacy, do not use personal data, such as your name or location, as an name for your secret.
@@ -5228,16 +6731,34 @@ declare namespace SecretsManagerV2 {
5228
6731
  */
5229
6732
  classic_infrastructure_password: string;
5230
6733
  }
6734
+ namespace PublicCertificateConfigurationDNSClassicInfrastructurePrototype {
6735
+ namespace Constants {
6736
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
6737
+ enum ConfigType {
6738
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
6739
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
6740
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
6741
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
6742
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
6743
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
6744
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
6745
+ }
6746
+ }
6747
+ }
5231
6748
  /** Properties that describe a Cloud Internet Services DNS configuration. */
5232
6749
  interface PublicCertificateConfigurationDNSCloudInternetServices extends Configuration {
5233
- /** The configuration type. */
5234
- config_type: string;
6750
+ /** The configuration type. Can be one of: iam_credentials_configuration,
6751
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
6752
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
6753
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
6754
+ */
6755
+ config_type: PublicCertificateConfigurationDNSCloudInternetServices.Constants.ConfigType | string;
5235
6756
  /** The unique name of your configuration. */
5236
6757
  name: string;
5237
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
5238
- * credentials, key-value, and user credentials.
6758
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
6759
+ * service_credentials, kv, and username_password.
5239
6760
  */
5240
- secret_type: string;
6761
+ secret_type: PublicCertificateConfigurationDNSCloudInternetServices.Constants.SecretType | string;
5241
6762
  /** The unique identifier that is associated with the entity that created the secret. */
5242
6763
  created_by: string;
5243
6764
  /** The date when the resource was created. The date format follows `RFC 3339`. */
@@ -5259,16 +6780,45 @@ declare namespace SecretsManagerV2 {
5259
6780
  /** A CRN that uniquely identifies an IBM Cloud resource. */
5260
6781
  cloud_internet_services_crn: string;
5261
6782
  }
6783
+ namespace PublicCertificateConfigurationDNSCloudInternetServices {
6784
+ namespace Constants {
6785
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
6786
+ enum ConfigType {
6787
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
6788
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
6789
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
6790
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
6791
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
6792
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
6793
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
6794
+ }
6795
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
6796
+ enum SecretType {
6797
+ ARBITRARY = "arbitrary",
6798
+ IAM_CREDENTIALS = "iam_credentials",
6799
+ IMPORTED_CERT = "imported_cert",
6800
+ KV = "kv",
6801
+ PRIVATE_CERT = "private_cert",
6802
+ PUBLIC_CERT = "public_cert",
6803
+ SERVICE_CREDENTIALS = "service_credentials",
6804
+ USERNAME_PASSWORD = "username_password"
6805
+ }
6806
+ }
6807
+ }
5262
6808
  /** Your Cloud Internet Services DNS metadata properties. */
5263
6809
  interface PublicCertificateConfigurationDNSCloudInternetServicesMetadata extends ConfigurationMetadata {
5264
- /** The configuration type. */
5265
- config_type: string;
6810
+ /** The configuration type. Can be one of: iam_credentials_configuration,
6811
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
6812
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
6813
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
6814
+ */
6815
+ config_type: PublicCertificateConfigurationDNSCloudInternetServicesMetadata.Constants.ConfigType | string;
5266
6816
  /** The unique name of your configuration. */
5267
6817
  name: string;
5268
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
5269
- * credentials, key-value, and user credentials.
6818
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
6819
+ * service_credentials, kv, and username_password.
5270
6820
  */
5271
- secret_type: string;
6821
+ secret_type: PublicCertificateConfigurationDNSCloudInternetServicesMetadata.Constants.SecretType | string;
5272
6822
  /** The unique identifier that is associated with the entity that created the secret. */
5273
6823
  created_by: string;
5274
6824
  /** The date when the resource was created. The date format follows `RFC 3339`. */
@@ -5276,6 +6826,31 @@ declare namespace SecretsManagerV2 {
5276
6826
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
5277
6827
  updated_at: string;
5278
6828
  }
6829
+ namespace PublicCertificateConfigurationDNSCloudInternetServicesMetadata {
6830
+ namespace Constants {
6831
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
6832
+ enum ConfigType {
6833
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
6834
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
6835
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
6836
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
6837
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
6838
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
6839
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
6840
+ }
6841
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
6842
+ enum SecretType {
6843
+ ARBITRARY = "arbitrary",
6844
+ IAM_CREDENTIALS = "iam_credentials",
6845
+ IMPORTED_CERT = "imported_cert",
6846
+ KV = "kv",
6847
+ PRIVATE_CERT = "private_cert",
6848
+ PUBLIC_CERT = "public_cert",
6849
+ SERVICE_CREDENTIALS = "service_credentials",
6850
+ USERNAME_PASSWORD = "username_password"
6851
+ }
6852
+ }
6853
+ }
5279
6854
  /** The configuration update of the Cloud Internet Services DNS. */
5280
6855
  interface PublicCertificateConfigurationDNSCloudInternetServicesPatch extends ConfigurationPatch {
5281
6856
  /** An IBM Cloud API key that can to list domains in your Cloud Internet Services instance.
@@ -5295,8 +6870,12 @@ declare namespace SecretsManagerV2 {
5295
6870
  }
5296
6871
  /** Specify the properties for Cloud Internet Services DNS configuration. */
5297
6872
  interface PublicCertificateConfigurationDNSCloudInternetServicesPrototype extends ConfigurationPrototype {
5298
- /** The configuration type. */
5299
- config_type: string;
6873
+ /** The configuration type. Can be one of: iam_credentials_configuration,
6874
+ * public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure,
6875
+ * public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca,
6876
+ * private_cert_configuration_intermediate_ca, private_cert_configuration_template.
6877
+ */
6878
+ config_type: PublicCertificateConfigurationDNSCloudInternetServicesPrototype.Constants.ConfigType | string;
5300
6879
  /** A human-readable unique name to assign to your configuration.
5301
6880
  *
5302
6881
  * To protect your privacy, do not use personal data, such as your name or location, as an name for your secret.
@@ -5317,6 +6896,20 @@ declare namespace SecretsManagerV2 {
5317
6896
  /** A CRN that uniquely identifies an IBM Cloud resource. */
5318
6897
  cloud_internet_services_crn: string;
5319
6898
  }
6899
+ namespace PublicCertificateConfigurationDNSCloudInternetServicesPrototype {
6900
+ namespace Constants {
6901
+ /** The configuration type. Can be one of: iam_credentials_configuration, public_cert_configuration_ca_lets_encrypt, public_cert_configuration_dns_classic_infrastructure, public_cert_configuration_dns_cloud_internet_services, private_cert_configuration_root_ca, private_cert_configuration_intermediate_ca, private_cert_configuration_template. */
6902
+ enum ConfigType {
6903
+ PUBLIC_CERT_CONFIGURATION_CA_LETS_ENCRYPT = "public_cert_configuration_ca_lets_encrypt",
6904
+ PUBLIC_CERT_CONFIGURATION_DNS_CLASSIC_INFRASTRUCTURE = "public_cert_configuration_dns_classic_infrastructure",
6905
+ PUBLIC_CERT_CONFIGURATION_DNS_CLOUD_INTERNET_SERVICES = "public_cert_configuration_dns_cloud_internet_services",
6906
+ IAM_CREDENTIALS_CONFIGURATION = "iam_credentials_configuration",
6907
+ PRIVATE_CERT_CONFIGURATION_ROOT_CA = "private_cert_configuration_root_ca",
6908
+ PRIVATE_CERT_CONFIGURATION_INTERMEDIATE_CA = "private_cert_configuration_intermediate_ca",
6909
+ PRIVATE_CERT_CONFIGURATION_TEMPLATE = "private_cert_configuration_template"
6910
+ }
6911
+ }
6912
+ }
5320
6913
  /** Properties of the metadata of your public certificate. */
5321
6914
  interface PublicCertificateMetadata extends SecretMetadata {
5322
6915
  /** The unique identifier that is associated with the entity that created the secret. */
@@ -5352,16 +6945,16 @@ declare namespace SecretsManagerV2 {
5352
6945
  name?: string;
5353
6946
  /** A v4 UUID identifier, or `default` secret group. */
5354
6947
  secret_group_id: string;
5355
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
5356
- * credentials, key-value, and user credentials.
6948
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
6949
+ * service_credentials, kv, and username_password.
5357
6950
  */
5358
- secret_type: string;
6951
+ secret_type: PublicCertificateMetadata.Constants.SecretType | string;
5359
6952
  /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
5360
6953
  * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
5361
6954
  */
5362
6955
  state?: number;
5363
6956
  /** A text representation of the secret state. */
5364
- state_description?: string;
6957
+ state_description?: PublicCertificateMetadata.Constants.StateDescription | string;
5365
6958
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
5366
6959
  updated_at: string;
5367
6960
  /** The number of versions of your secret. */
@@ -5407,6 +7000,29 @@ declare namespace SecretsManagerV2 {
5407
7000
  /** The name of the DNS provider configuration. */
5408
7001
  dns?: string;
5409
7002
  }
7003
+ namespace PublicCertificateMetadata {
7004
+ namespace Constants {
7005
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
7006
+ enum SecretType {
7007
+ ARBITRARY = "arbitrary",
7008
+ IAM_CREDENTIALS = "iam_credentials",
7009
+ IMPORTED_CERT = "imported_cert",
7010
+ KV = "kv",
7011
+ PRIVATE_CERT = "private_cert",
7012
+ PUBLIC_CERT = "public_cert",
7013
+ SERVICE_CREDENTIALS = "service_credentials",
7014
+ USERNAME_PASSWORD = "username_password"
7015
+ }
7016
+ /** A text representation of the secret state. */
7017
+ enum StateDescription {
7018
+ PRE_ACTIVATION = "pre_activation",
7019
+ ACTIVE = "active",
7020
+ SUSPENDED = "suspended",
7021
+ DEACTIVATED = "deactivated",
7022
+ DESTROYED = "destroyed"
7023
+ }
7024
+ }
7025
+ }
5410
7026
  /** PublicCertificateMetadataPatch. */
5411
7027
  interface PublicCertificateMetadataPatch extends SecretMetadataPatch {
5412
7028
  /** A human-readable name to assign to your secret.
@@ -5436,10 +7052,10 @@ declare namespace SecretsManagerV2 {
5436
7052
  }
5437
7053
  /** PublicCertificatePrototype. */
5438
7054
  interface PublicCertificatePrototype extends SecretPrototype {
5439
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
5440
- * credentials, key-value, and user credentials.
7055
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
7056
+ * service_credentials, kv, and username_password.
5441
7057
  */
5442
- secret_type: string;
7058
+ secret_type: PublicCertificatePrototype.Constants.SecretType | string;
5443
7059
  /** A human-readable name to assign to your secret.
5444
7060
  *
5445
7061
  * To protect your privacy, do not use personal data, such as your name or location, as a name for your secret.
@@ -5491,6 +7107,21 @@ declare namespace SecretsManagerV2 {
5491
7107
  /** The secret version metadata that a user can customize. */
5492
7108
  version_custom_metadata?: JsonObject;
5493
7109
  }
7110
+ namespace PublicCertificatePrototype {
7111
+ namespace Constants {
7112
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
7113
+ enum SecretType {
7114
+ ARBITRARY = "arbitrary",
7115
+ IAM_CREDENTIALS = "iam_credentials",
7116
+ IMPORTED_CERT = "imported_cert",
7117
+ KV = "kv",
7118
+ PRIVATE_CERT = "private_cert",
7119
+ PUBLIC_CERT = "public_cert",
7120
+ SERVICE_CREDENTIALS = "service_credentials",
7121
+ USERNAME_PASSWORD = "username_password"
7122
+ }
7123
+ }
7124
+ }
5494
7125
  /** This field indicates whether Secrets Manager rotates your secrets automatically. For public certificates, if `auto_rotate` is set to `true`, the service reorders your certificate for 31 days, before it expires. */
5495
7126
  interface PublicCertificateRotationPolicy extends RotationPolicy {
5496
7127
  /** This field indicates whether Secrets Manager rotates your secret automatically.
@@ -5523,10 +7154,10 @@ declare namespace SecretsManagerV2 {
5523
7154
  id: string;
5524
7155
  /** The human-readable name of your secret. */
5525
7156
  secret_name?: string;
5526
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
5527
- * credentials, key-value, and user credentials.
7157
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
7158
+ * service_credentials, kv, and username_password.
5528
7159
  */
5529
- secret_type: string;
7160
+ secret_type: PublicCertificateVersion.Constants.SecretType | string;
5530
7161
  /** A v4 UUID identifier, or `default` secret group. */
5531
7162
  secret_group_id: string;
5532
7163
  /** Indicates whether the secret payload is available in this secret version. */
@@ -5534,7 +7165,7 @@ declare namespace SecretsManagerV2 {
5534
7165
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
5535
7166
  * is used for version `n-1`.
5536
7167
  */
5537
- alias?: string;
7168
+ alias?: PublicCertificateVersion.Constants.Alias | string;
5538
7169
  /** The secret version metadata that a user can customize. */
5539
7170
  version_custom_metadata?: JsonObject;
5540
7171
  /** A v4 UUID identifier. */
@@ -5558,6 +7189,26 @@ declare namespace SecretsManagerV2 {
5558
7189
  */
5559
7190
  private_key?: string;
5560
7191
  }
7192
+ namespace PublicCertificateVersion {
7193
+ namespace Constants {
7194
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
7195
+ enum SecretType {
7196
+ ARBITRARY = "arbitrary",
7197
+ IAM_CREDENTIALS = "iam_credentials",
7198
+ IMPORTED_CERT = "imported_cert",
7199
+ KV = "kv",
7200
+ PRIVATE_CERT = "private_cert",
7201
+ PUBLIC_CERT = "public_cert",
7202
+ SERVICE_CREDENTIALS = "service_credentials",
7203
+ USERNAME_PASSWORD = "username_password"
7204
+ }
7205
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
7206
+ enum Alias {
7207
+ CURRENT = "current",
7208
+ PREVIOUS = "previous"
7209
+ }
7210
+ }
7211
+ }
5561
7212
  /** Properties of the version metadata of your public certificate. */
5562
7213
  interface PublicCertificateVersionMetadata extends SecretVersionMetadata {
5563
7214
  /** Indicates whether the version of the secret was created by automatic rotation. */
@@ -5574,10 +7225,10 @@ declare namespace SecretsManagerV2 {
5574
7225
  id: string;
5575
7226
  /** The human-readable name of your secret. */
5576
7227
  secret_name?: string;
5577
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
5578
- * credentials, key-value, and user credentials.
7228
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
7229
+ * service_credentials, kv, and username_password.
5579
7230
  */
5580
- secret_type: string;
7231
+ secret_type: PublicCertificateVersionMetadata.Constants.SecretType | string;
5581
7232
  /** A v4 UUID identifier, or `default` secret group. */
5582
7233
  secret_group_id: string;
5583
7234
  /** Indicates whether the secret payload is available in this secret version. */
@@ -5585,7 +7236,7 @@ declare namespace SecretsManagerV2 {
5585
7236
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
5586
7237
  * is used for version `n-1`.
5587
7238
  */
5588
- alias?: string;
7239
+ alias?: PublicCertificateVersionMetadata.Constants.Alias | string;
5589
7240
  /** The secret version metadata that a user can customize. */
5590
7241
  version_custom_metadata?: JsonObject;
5591
7242
  /** A v4 UUID identifier. */
@@ -5599,6 +7250,26 @@ declare namespace SecretsManagerV2 {
5599
7250
  /** The date and time that the certificate validity period begins and ends. */
5600
7251
  validity?: CertificateValidity;
5601
7252
  }
7253
+ namespace PublicCertificateVersionMetadata {
7254
+ namespace Constants {
7255
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
7256
+ enum SecretType {
7257
+ ARBITRARY = "arbitrary",
7258
+ IAM_CREDENTIALS = "iam_credentials",
7259
+ IMPORTED_CERT = "imported_cert",
7260
+ KV = "kv",
7261
+ PRIVATE_CERT = "private_cert",
7262
+ PUBLIC_CERT = "public_cert",
7263
+ SERVICE_CREDENTIALS = "service_credentials",
7264
+ USERNAME_PASSWORD = "username_password"
7265
+ }
7266
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
7267
+ enum Alias {
7268
+ CURRENT = "current",
7269
+ PREVIOUS = "previous"
7270
+ }
7271
+ }
7272
+ }
5602
7273
  /** PublicCertificateVersionPrototype. */
5603
7274
  interface PublicCertificateVersionPrototype extends SecretVersionPrototype {
5604
7275
  /** Defines the rotation object that is used to manually rotate public certificates. */
@@ -5608,6 +7279,422 @@ declare namespace SecretsManagerV2 {
5608
7279
  /** The secret version metadata that a user can customize. */
5609
7280
  version_custom_metadata?: JsonObject;
5610
7281
  }
7282
+ /** Your service credentials secret. */
7283
+ interface ServiceCredentialsSecret extends Secret {
7284
+ /** The unique identifier that is associated with the entity that created the secret. */
7285
+ created_by: string;
7286
+ /** The date when the resource was created. The date format follows `RFC 3339`. */
7287
+ created_at: string;
7288
+ /** A CRN that uniquely identifies an IBM Cloud resource. */
7289
+ crn: string;
7290
+ /** The secret metadata that a user can customize. */
7291
+ custom_metadata?: JsonObject;
7292
+ /** An extended description of your secret.
7293
+ *
7294
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
7295
+ * secret group.
7296
+ */
7297
+ description?: string;
7298
+ /** This field indicates whether the secret data that is associated with a secret version was retrieved in a
7299
+ * call to the service API.
7300
+ */
7301
+ downloaded?: boolean;
7302
+ /** A v4 UUID identifier. */
7303
+ id: string;
7304
+ /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
7305
+ *
7306
+ * Label can be between 2-30 characters, including spaces.
7307
+ *
7308
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
7309
+ */
7310
+ labels?: string[];
7311
+ /** The number of locks of the secret. */
7312
+ locks_total?: number;
7313
+ /** The human-readable name of your secret. */
7314
+ name?: string;
7315
+ /** A v4 UUID identifier, or `default` secret group. */
7316
+ secret_group_id: string;
7317
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
7318
+ * service_credentials, kv, and username_password.
7319
+ */
7320
+ secret_type: ServiceCredentialsSecret.Constants.SecretType | string;
7321
+ /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
7322
+ * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
7323
+ */
7324
+ state?: number;
7325
+ /** A text representation of the secret state. */
7326
+ state_description?: ServiceCredentialsSecret.Constants.StateDescription | string;
7327
+ /** The date when a resource was modified. The date format follows `RFC 3339`. */
7328
+ updated_at: string;
7329
+ /** The number of versions of your secret. */
7330
+ versions_total: number;
7331
+ /** The date that the secret is scheduled for automatic rotation.
7332
+ *
7333
+ * The service automatically creates a new version of the secret on its next rotation date. This field exists only
7334
+ * for secrets that can be auto-rotated and an existing rotation policy.
7335
+ */
7336
+ next_rotation_date?: string;
7337
+ /** This field indicates whether Secrets Manager rotates your secrets automatically. Supported secret types:
7338
+ * username_password, private_cert, public_cert, iam_credentials.
7339
+ */
7340
+ rotation?: RotationPolicy;
7341
+ /** The time-to-live (TTL) or lease duration to assign to credentials that are generated. Supported secret
7342
+ * types: iam_credentials, service_credentials. The TTL defines how long generated credentials remain valid. The
7343
+ * value can be either an integer that specifies the number of seconds, or the string representation of a
7344
+ * duration, such as `1440m` or `24h`. For the iam_credentials secret type, the TTL field is mandatory. The minimum
7345
+ * duration is 1 minute. The maximum is 90 days. For the service_credentials secret type, the TTL field is
7346
+ * 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
+ */
7348
+ ttl?: string;
7349
+ /** The properties that are required to create the service credentials for the specified source service
7350
+ * instance.
7351
+ */
7352
+ source_service: ServiceCredentialsSecretSourceService;
7353
+ /** The properties of the service credentials secret payload. */
7354
+ credentials: ServiceCredentialsSecretCredentials;
7355
+ }
7356
+ namespace ServiceCredentialsSecret {
7357
+ namespace Constants {
7358
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
7359
+ enum SecretType {
7360
+ ARBITRARY = "arbitrary",
7361
+ IAM_CREDENTIALS = "iam_credentials",
7362
+ IMPORTED_CERT = "imported_cert",
7363
+ KV = "kv",
7364
+ PRIVATE_CERT = "private_cert",
7365
+ PUBLIC_CERT = "public_cert",
7366
+ SERVICE_CREDENTIALS = "service_credentials",
7367
+ USERNAME_PASSWORD = "username_password"
7368
+ }
7369
+ /** A text representation of the secret state. */
7370
+ enum StateDescription {
7371
+ PRE_ACTIVATION = "pre_activation",
7372
+ ACTIVE = "active",
7373
+ SUSPENDED = "suspended",
7374
+ DEACTIVATED = "deactivated",
7375
+ DESTROYED = "destroyed"
7376
+ }
7377
+ }
7378
+ }
7379
+ /** The metadata properties for your service credentials secret. */
7380
+ interface ServiceCredentialsSecretMetadata extends SecretMetadata {
7381
+ /** The unique identifier that is associated with the entity that created the secret. */
7382
+ created_by: string;
7383
+ /** The date when the resource was created. The date format follows `RFC 3339`. */
7384
+ created_at: string;
7385
+ /** A CRN that uniquely identifies an IBM Cloud resource. */
7386
+ crn: string;
7387
+ /** The secret metadata that a user can customize. */
7388
+ custom_metadata?: JsonObject;
7389
+ /** An extended description of your secret.
7390
+ *
7391
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
7392
+ * secret group.
7393
+ */
7394
+ description?: string;
7395
+ /** This field indicates whether the secret data that is associated with a secret version was retrieved in a
7396
+ * call to the service API.
7397
+ */
7398
+ downloaded?: boolean;
7399
+ /** A v4 UUID identifier. */
7400
+ id: string;
7401
+ /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
7402
+ *
7403
+ * Label can be between 2-30 characters, including spaces.
7404
+ *
7405
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
7406
+ */
7407
+ labels?: string[];
7408
+ /** The number of locks of the secret. */
7409
+ locks_total?: number;
7410
+ /** The human-readable name of your secret. */
7411
+ name?: string;
7412
+ /** A v4 UUID identifier, or `default` secret group. */
7413
+ secret_group_id: string;
7414
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
7415
+ * service_credentials, kv, and username_password.
7416
+ */
7417
+ secret_type: ServiceCredentialsSecretMetadata.Constants.SecretType | string;
7418
+ /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
7419
+ * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
7420
+ */
7421
+ state?: number;
7422
+ /** A text representation of the secret state. */
7423
+ state_description?: ServiceCredentialsSecretMetadata.Constants.StateDescription | string;
7424
+ /** The date when a resource was modified. The date format follows `RFC 3339`. */
7425
+ updated_at: string;
7426
+ /** The number of versions of your secret. */
7427
+ versions_total: number;
7428
+ /** The date that the secret is scheduled for automatic rotation.
7429
+ *
7430
+ * The service automatically creates a new version of the secret on its next rotation date. This field exists only
7431
+ * for secrets that can be auto-rotated and an existing rotation policy.
7432
+ */
7433
+ next_rotation_date?: string;
7434
+ /** This field indicates whether Secrets Manager rotates your secrets automatically. Supported secret types:
7435
+ * username_password, private_cert, public_cert, iam_credentials.
7436
+ */
7437
+ rotation?: RotationPolicy;
7438
+ /** The time-to-live (TTL) or lease duration to assign to credentials that are generated. Supported secret
7439
+ * types: iam_credentials, service_credentials. The TTL defines how long generated credentials remain valid. The
7440
+ * value can be either an integer that specifies the number of seconds, or the string representation of a
7441
+ * duration, such as `1440m` or `24h`. For the iam_credentials secret type, the TTL field is mandatory. The minimum
7442
+ * duration is 1 minute. The maximum is 90 days. For the service_credentials secret type, the TTL field is
7443
+ * 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
+ */
7445
+ ttl?: string;
7446
+ /** The properties that are required to create the service credentials for the specified source service
7447
+ * instance.
7448
+ */
7449
+ source_service: ServiceCredentialsSecretSourceService;
7450
+ }
7451
+ namespace ServiceCredentialsSecretMetadata {
7452
+ namespace Constants {
7453
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
7454
+ enum SecretType {
7455
+ ARBITRARY = "arbitrary",
7456
+ IAM_CREDENTIALS = "iam_credentials",
7457
+ IMPORTED_CERT = "imported_cert",
7458
+ KV = "kv",
7459
+ PRIVATE_CERT = "private_cert",
7460
+ PUBLIC_CERT = "public_cert",
7461
+ SERVICE_CREDENTIALS = "service_credentials",
7462
+ USERNAME_PASSWORD = "username_password"
7463
+ }
7464
+ /** A text representation of the secret state. */
7465
+ enum StateDescription {
7466
+ PRE_ACTIVATION = "pre_activation",
7467
+ ACTIVE = "active",
7468
+ SUSPENDED = "suspended",
7469
+ DEACTIVATED = "deactivated",
7470
+ DESTROYED = "destroyed"
7471
+ }
7472
+ }
7473
+ }
7474
+ /** ServiceCredentialsSecretMetadataPatch. */
7475
+ interface ServiceCredentialsSecretMetadataPatch extends SecretMetadataPatch {
7476
+ /** The secret metadata that a user can customize. */
7477
+ custom_metadata?: JsonObject;
7478
+ /** An extended description of your secret.
7479
+ *
7480
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
7481
+ * secret group.
7482
+ */
7483
+ description?: string;
7484
+ /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
7485
+ *
7486
+ * Label can be between 2-30 characters, including spaces.
7487
+ *
7488
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
7489
+ */
7490
+ labels?: string[];
7491
+ /** A human-readable name to assign to your secret.
7492
+ *
7493
+ * To protect your privacy, do not use personal data, such as your name or location, as a name for your secret.
7494
+ */
7495
+ name?: string;
7496
+ /** This field indicates whether Secrets Manager rotates your secrets automatically. Supported secret types:
7497
+ * username_password, private_cert, public_cert, iam_credentials.
7498
+ */
7499
+ rotation?: RotationPolicy;
7500
+ /** The time-to-live (TTL) or lease duration to assign to credentials that are generated. Supported secret
7501
+ * types: iam_credentials, service_credentials. The TTL defines how long generated credentials remain valid. The
7502
+ * value can be either an integer that specifies the number of seconds, or the string representation of a
7503
+ * duration, such as `1440m` or `24h`. For the iam_credentials secret type, the TTL field is mandatory. The minimum
7504
+ * duration is 1 minute. The maximum is 90 days. For the service_credentials secret type, the TTL field is
7505
+ * optional. If it is set the minimum duration is 1 day. The maximum is 90 days. By default, the TTL is set to 0.
7506
+ */
7507
+ ttl?: string;
7508
+ }
7509
+ /** ServiceCredentialsSecretPrototype. */
7510
+ interface ServiceCredentialsSecretPrototype extends SecretPrototype {
7511
+ /** The secret metadata that a user can customize. */
7512
+ custom_metadata?: JsonObject;
7513
+ /** An extended description of your secret.
7514
+ *
7515
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
7516
+ * secret group.
7517
+ */
7518
+ description?: string;
7519
+ /** Labels that you can use to search secrets in your instance. Only 30 labels can be created.
7520
+ *
7521
+ * Label can be between 2-30 characters, including spaces.
7522
+ *
7523
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
7524
+ */
7525
+ labels?: string[];
7526
+ /** A human-readable name to assign to your secret.
7527
+ *
7528
+ * To protect your privacy, do not use personal data, such as your name or location, as a name for your secret.
7529
+ */
7530
+ name: string;
7531
+ /** This field indicates whether Secrets Manager rotates your secrets automatically. Supported secret types:
7532
+ * username_password, private_cert, public_cert, iam_credentials.
7533
+ */
7534
+ rotation?: RotationPolicy;
7535
+ /** A v4 UUID identifier, or `default` secret group. */
7536
+ secret_group_id?: string;
7537
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
7538
+ * service_credentials, kv, and username_password.
7539
+ */
7540
+ secret_type: ServiceCredentialsSecretPrototype.Constants.SecretType | string;
7541
+ /** The properties that are required to create the service credentials for the specified source service
7542
+ * instance.
7543
+ */
7544
+ source_service: ServiceCredentialsSecretSourceService;
7545
+ /** The time-to-live (TTL) or lease duration to assign to credentials that are generated. Supported secret
7546
+ * types: iam_credentials, service_credentials. The TTL defines how long generated credentials remain valid. The
7547
+ * value can be either an integer that specifies the number of seconds, or the string representation of a
7548
+ * duration, such as `1440m` or `24h`. For the iam_credentials secret type, the TTL field is mandatory. The minimum
7549
+ * duration is 1 minute. The maximum is 90 days. For the service_credentials secret type, the TTL field is
7550
+ * optional. If it is set the minimum duration is 1 day. The maximum is 90 days. By default, the TTL is set to 0.
7551
+ */
7552
+ ttl?: string;
7553
+ /** The secret version metadata that a user can customize. */
7554
+ version_custom_metadata?: JsonObject;
7555
+ }
7556
+ namespace ServiceCredentialsSecretPrototype {
7557
+ namespace Constants {
7558
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
7559
+ enum SecretType {
7560
+ ARBITRARY = "arbitrary",
7561
+ IAM_CREDENTIALS = "iam_credentials",
7562
+ IMPORTED_CERT = "imported_cert",
7563
+ KV = "kv",
7564
+ PRIVATE_CERT = "private_cert",
7565
+ PUBLIC_CERT = "public_cert",
7566
+ SERVICE_CREDENTIALS = "service_credentials",
7567
+ USERNAME_PASSWORD = "username_password"
7568
+ }
7569
+ }
7570
+ }
7571
+ /** Your service credentials secret version. */
7572
+ interface ServiceCredentialsSecretVersion extends SecretVersion {
7573
+ /** Indicates whether the version of the secret was created by automatic rotation. */
7574
+ auto_rotated?: boolean;
7575
+ /** The unique identifier that is associated with the entity that created the secret. */
7576
+ created_by: string;
7577
+ /** The date when the resource was created. The date format follows `RFC 3339`. */
7578
+ created_at: string;
7579
+ /** This field indicates whether the secret data that is associated with a secret version was retrieved in a
7580
+ * call to the service API.
7581
+ */
7582
+ downloaded?: boolean;
7583
+ /** A v4 UUID identifier. */
7584
+ id: string;
7585
+ /** The human-readable name of your secret. */
7586
+ secret_name?: string;
7587
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
7588
+ * service_credentials, kv, and username_password.
7589
+ */
7590
+ secret_type: ServiceCredentialsSecretVersion.Constants.SecretType | string;
7591
+ /** A v4 UUID identifier, or `default` secret group. */
7592
+ secret_group_id: string;
7593
+ /** Indicates whether the secret payload is available in this secret version. */
7594
+ payload_available: boolean;
7595
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
7596
+ * is used for version `n-1`.
7597
+ */
7598
+ alias?: ServiceCredentialsSecretVersion.Constants.Alias | string;
7599
+ /** The secret version metadata that a user can customize. */
7600
+ version_custom_metadata?: JsonObject;
7601
+ /** A v4 UUID identifier. */
7602
+ secret_id: string;
7603
+ /** The date when the secret material expires. The date format follows the `RFC 3339` format. Supported secret
7604
+ * types: Arbitrary, username_password.
7605
+ */
7606
+ expiration_date?: string;
7607
+ /** The source service resource key data of the generated service credentials. */
7608
+ resource_key?: ServiceCredentialsResourceKey;
7609
+ /** The properties of the service credentials secret payload. */
7610
+ credentials: ServiceCredentialsSecretCredentials;
7611
+ }
7612
+ namespace ServiceCredentialsSecretVersion {
7613
+ namespace Constants {
7614
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
7615
+ enum SecretType {
7616
+ ARBITRARY = "arbitrary",
7617
+ IAM_CREDENTIALS = "iam_credentials",
7618
+ IMPORTED_CERT = "imported_cert",
7619
+ KV = "kv",
7620
+ PRIVATE_CERT = "private_cert",
7621
+ PUBLIC_CERT = "public_cert",
7622
+ SERVICE_CREDENTIALS = "service_credentials",
7623
+ USERNAME_PASSWORD = "username_password"
7624
+ }
7625
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
7626
+ enum Alias {
7627
+ CURRENT = "current",
7628
+ PREVIOUS = "previous"
7629
+ }
7630
+ }
7631
+ }
7632
+ /** The version metadata properties for your service credentials secret. */
7633
+ interface ServiceCredentialsSecretVersionMetadata extends SecretVersionMetadata {
7634
+ /** Indicates whether the version of the secret was created by automatic rotation. */
7635
+ auto_rotated?: boolean;
7636
+ /** The unique identifier that is associated with the entity that created the secret. */
7637
+ created_by: string;
7638
+ /** The date when the resource was created. The date format follows `RFC 3339`. */
7639
+ created_at: string;
7640
+ /** This field indicates whether the secret data that is associated with a secret version was retrieved in a
7641
+ * call to the service API.
7642
+ */
7643
+ downloaded?: boolean;
7644
+ /** A v4 UUID identifier. */
7645
+ id: string;
7646
+ /** The human-readable name of your secret. */
7647
+ secret_name?: string;
7648
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
7649
+ * service_credentials, kv, and username_password.
7650
+ */
7651
+ secret_type: ServiceCredentialsSecretVersionMetadata.Constants.SecretType | string;
7652
+ /** A v4 UUID identifier, or `default` secret group. */
7653
+ secret_group_id: string;
7654
+ /** Indicates whether the secret payload is available in this secret version. */
7655
+ payload_available: boolean;
7656
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
7657
+ * is used for version `n-1`.
7658
+ */
7659
+ alias?: ServiceCredentialsSecretVersionMetadata.Constants.Alias | string;
7660
+ /** The secret version metadata that a user can customize. */
7661
+ version_custom_metadata?: JsonObject;
7662
+ /** A v4 UUID identifier. */
7663
+ secret_id: string;
7664
+ /** The date when the secret material expires. The date format follows the `RFC 3339` format. Supported secret
7665
+ * types: Arbitrary, username_password.
7666
+ */
7667
+ expiration_date?: string;
7668
+ /** The source service resource key data of the generated service credentials. */
7669
+ resource_key?: ServiceCredentialsResourceKey;
7670
+ }
7671
+ namespace ServiceCredentialsSecretVersionMetadata {
7672
+ namespace Constants {
7673
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
7674
+ enum SecretType {
7675
+ ARBITRARY = "arbitrary",
7676
+ IAM_CREDENTIALS = "iam_credentials",
7677
+ IMPORTED_CERT = "imported_cert",
7678
+ KV = "kv",
7679
+ PRIVATE_CERT = "private_cert",
7680
+ PUBLIC_CERT = "public_cert",
7681
+ SERVICE_CREDENTIALS = "service_credentials",
7682
+ USERNAME_PASSWORD = "username_password"
7683
+ }
7684
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
7685
+ enum Alias {
7686
+ CURRENT = "current",
7687
+ PREVIOUS = "previous"
7688
+ }
7689
+ }
7690
+ }
7691
+ /** ServiceCredentialsSecretVersionPrototype. */
7692
+ interface ServiceCredentialsSecretVersionPrototype extends SecretVersionPrototype {
7693
+ /** The secret metadata that a user can customize. */
7694
+ custom_metadata?: JsonObject;
7695
+ /** The secret version metadata that a user can customize. */
7696
+ version_custom_metadata?: JsonObject;
7697
+ }
5611
7698
  /** Your user credentials secret. */
5612
7699
  interface UsernamePasswordSecret extends Secret {
5613
7700
  /** The unique identifier that is associated with the entity that created the secret. */
@@ -5643,16 +7730,16 @@ declare namespace SecretsManagerV2 {
5643
7730
  name?: string;
5644
7731
  /** A v4 UUID identifier, or `default` secret group. */
5645
7732
  secret_group_id: string;
5646
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
5647
- * credentials, key-value, and user credentials.
7733
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
7734
+ * service_credentials, kv, and username_password.
5648
7735
  */
5649
- secret_type: string;
7736
+ secret_type: UsernamePasswordSecret.Constants.SecretType | string;
5650
7737
  /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
5651
7738
  * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
5652
7739
  */
5653
7740
  state?: number;
5654
7741
  /** A text representation of the secret state. */
5655
- state_description?: string;
7742
+ state_description?: UsernamePasswordSecret.Constants.StateDescription | string;
5656
7743
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
5657
7744
  updated_at: string;
5658
7745
  /** The number of versions of your secret. */
@@ -5676,6 +7763,29 @@ declare namespace SecretsManagerV2 {
5676
7763
  /** The password that is assigned to an `username_password` secret. */
5677
7764
  password: string;
5678
7765
  }
7766
+ namespace UsernamePasswordSecret {
7767
+ namespace Constants {
7768
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
7769
+ enum SecretType {
7770
+ ARBITRARY = "arbitrary",
7771
+ IAM_CREDENTIALS = "iam_credentials",
7772
+ IMPORTED_CERT = "imported_cert",
7773
+ KV = "kv",
7774
+ PRIVATE_CERT = "private_cert",
7775
+ PUBLIC_CERT = "public_cert",
7776
+ SERVICE_CREDENTIALS = "service_credentials",
7777
+ USERNAME_PASSWORD = "username_password"
7778
+ }
7779
+ /** A text representation of the secret state. */
7780
+ enum StateDescription {
7781
+ PRE_ACTIVATION = "pre_activation",
7782
+ ACTIVE = "active",
7783
+ SUSPENDED = "suspended",
7784
+ DEACTIVATED = "deactivated",
7785
+ DESTROYED = "destroyed"
7786
+ }
7787
+ }
7788
+ }
5679
7789
  /** Properties of the metadata of your user credentials secret. */
5680
7790
  interface UsernamePasswordSecretMetadata extends SecretMetadata {
5681
7791
  /** The unique identifier that is associated with the entity that created the secret. */
@@ -5711,16 +7821,16 @@ declare namespace SecretsManagerV2 {
5711
7821
  name?: string;
5712
7822
  /** A v4 UUID identifier, or `default` secret group. */
5713
7823
  secret_group_id: string;
5714
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
5715
- * credentials, key-value, and user credentials.
7824
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
7825
+ * service_credentials, kv, and username_password.
5716
7826
  */
5717
- secret_type: string;
7827
+ secret_type: UsernamePasswordSecretMetadata.Constants.SecretType | string;
5718
7828
  /** The secret state that is based on `NIST SP 800-57`. States are integers and correspond to the
5719
7829
  * `Pre-activation = 0`, `Active = 1`, `Suspended = 2`, `Deactivated = 3`, and `Destroyed = 5` values.
5720
7830
  */
5721
7831
  state?: number;
5722
7832
  /** A text representation of the secret state. */
5723
- state_description?: string;
7833
+ state_description?: UsernamePasswordSecretMetadata.Constants.StateDescription | string;
5724
7834
  /** The date when a resource was modified. The date format follows `RFC 3339`. */
5725
7835
  updated_at: string;
5726
7836
  /** The number of versions of your secret. */
@@ -5740,6 +7850,29 @@ declare namespace SecretsManagerV2 {
5740
7850
  */
5741
7851
  next_rotation_date?: string;
5742
7852
  }
7853
+ namespace UsernamePasswordSecretMetadata {
7854
+ namespace Constants {
7855
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
7856
+ enum SecretType {
7857
+ ARBITRARY = "arbitrary",
7858
+ IAM_CREDENTIALS = "iam_credentials",
7859
+ IMPORTED_CERT = "imported_cert",
7860
+ KV = "kv",
7861
+ PRIVATE_CERT = "private_cert",
7862
+ PUBLIC_CERT = "public_cert",
7863
+ SERVICE_CREDENTIALS = "service_credentials",
7864
+ USERNAME_PASSWORD = "username_password"
7865
+ }
7866
+ /** A text representation of the secret state. */
7867
+ enum StateDescription {
7868
+ PRE_ACTIVATION = "pre_activation",
7869
+ ACTIVE = "active",
7870
+ SUSPENDED = "suspended",
7871
+ DEACTIVATED = "deactivated",
7872
+ DESTROYED = "destroyed"
7873
+ }
7874
+ }
7875
+ }
5743
7876
  /** UsernamePasswordSecretMetadataPatch. */
5744
7877
  interface UsernamePasswordSecretMetadataPatch extends SecretMetadataPatch {
5745
7878
  /** A human-readable name to assign to your secret.
@@ -5773,10 +7906,10 @@ declare namespace SecretsManagerV2 {
5773
7906
  }
5774
7907
  /** UsernamePasswordSecretPrototype. */
5775
7908
  interface UsernamePasswordSecretPrototype extends SecretPrototype {
5776
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
5777
- * credentials, key-value, and user credentials.
7909
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
7910
+ * service_credentials, kv, and username_password.
5778
7911
  */
5779
- secret_type: string;
7912
+ secret_type: UsernamePasswordSecretPrototype.Constants.SecretType | string;
5780
7913
  /** A human-readable name to assign to your secret.
5781
7914
  *
5782
7915
  * To protect your privacy, do not use personal data, such as your name or location, as a name for your secret.
@@ -5814,6 +7947,21 @@ declare namespace SecretsManagerV2 {
5814
7947
  */
5815
7948
  rotation?: RotationPolicy;
5816
7949
  }
7950
+ namespace UsernamePasswordSecretPrototype {
7951
+ namespace Constants {
7952
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
7953
+ enum SecretType {
7954
+ ARBITRARY = "arbitrary",
7955
+ IAM_CREDENTIALS = "iam_credentials",
7956
+ IMPORTED_CERT = "imported_cert",
7957
+ KV = "kv",
7958
+ PRIVATE_CERT = "private_cert",
7959
+ PUBLIC_CERT = "public_cert",
7960
+ SERVICE_CREDENTIALS = "service_credentials",
7961
+ USERNAME_PASSWORD = "username_password"
7962
+ }
7963
+ }
7964
+ }
5817
7965
  /** Your user credentials secret version. */
5818
7966
  interface UsernamePasswordSecretVersion extends SecretVersion {
5819
7967
  /** Indicates whether the version of the secret was created by automatic rotation. */
@@ -5830,10 +7978,10 @@ declare namespace SecretsManagerV2 {
5830
7978
  id: string;
5831
7979
  /** The human-readable name of your secret. */
5832
7980
  secret_name?: string;
5833
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
5834
- * credentials, key-value, and user credentials.
7981
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
7982
+ * service_credentials, kv, and username_password.
5835
7983
  */
5836
- secret_type: string;
7984
+ secret_type: UsernamePasswordSecretVersion.Constants.SecretType | string;
5837
7985
  /** A v4 UUID identifier, or `default` secret group. */
5838
7986
  secret_group_id: string;
5839
7987
  /** Indicates whether the secret payload is available in this secret version. */
@@ -5841,7 +7989,7 @@ declare namespace SecretsManagerV2 {
5841
7989
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
5842
7990
  * is used for version `n-1`.
5843
7991
  */
5844
- alias?: string;
7992
+ alias?: UsernamePasswordSecretVersion.Constants.Alias | string;
5845
7993
  /** The secret version metadata that a user can customize. */
5846
7994
  version_custom_metadata?: JsonObject;
5847
7995
  /** A v4 UUID identifier. */
@@ -5851,6 +7999,26 @@ declare namespace SecretsManagerV2 {
5851
7999
  /** The password that is assigned to an `username_password` secret. */
5852
8000
  password: string;
5853
8001
  }
8002
+ namespace UsernamePasswordSecretVersion {
8003
+ namespace Constants {
8004
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
8005
+ enum SecretType {
8006
+ ARBITRARY = "arbitrary",
8007
+ IAM_CREDENTIALS = "iam_credentials",
8008
+ IMPORTED_CERT = "imported_cert",
8009
+ KV = "kv",
8010
+ PRIVATE_CERT = "private_cert",
8011
+ PUBLIC_CERT = "public_cert",
8012
+ SERVICE_CREDENTIALS = "service_credentials",
8013
+ USERNAME_PASSWORD = "username_password"
8014
+ }
8015
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
8016
+ enum Alias {
8017
+ CURRENT = "current",
8018
+ PREVIOUS = "previous"
8019
+ }
8020
+ }
8021
+ }
5854
8022
  /** Properties of the version metadata of your user credentials secret. */
5855
8023
  interface UsernamePasswordSecretVersionMetadata extends SecretVersionMetadata {
5856
8024
  /** Indicates whether the version of the secret was created by automatic rotation. */
@@ -5867,10 +8035,10 @@ declare namespace SecretsManagerV2 {
5867
8035
  id: string;
5868
8036
  /** The human-readable name of your secret. */
5869
8037
  secret_name?: string;
5870
- /** The secret type. Supported types are arbitrary, certificates (imported, public, and private), IAM
5871
- * credentials, key-value, and user credentials.
8038
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials,
8039
+ * service_credentials, kv, and username_password.
5872
8040
  */
5873
- secret_type: string;
8041
+ secret_type: UsernamePasswordSecretVersionMetadata.Constants.SecretType | string;
5874
8042
  /** A v4 UUID identifier, or `default` secret group. */
5875
8043
  secret_group_id: string;
5876
8044
  /** Indicates whether the secret payload is available in this secret version. */
@@ -5878,12 +8046,32 @@ declare namespace SecretsManagerV2 {
5878
8046
  /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous'
5879
8047
  * is used for version `n-1`.
5880
8048
  */
5881
- alias?: string;
8049
+ alias?: UsernamePasswordSecretVersionMetadata.Constants.Alias | string;
5882
8050
  /** The secret version metadata that a user can customize. */
5883
8051
  version_custom_metadata?: JsonObject;
5884
8052
  /** A v4 UUID identifier. */
5885
8053
  secret_id: string;
5886
8054
  }
8055
+ namespace UsernamePasswordSecretVersionMetadata {
8056
+ namespace Constants {
8057
+ /** The secret type. Supported types are arbitrary, imported_cert, public_cert, private_cert, iam_credentials, service_credentials, kv, and username_password. */
8058
+ enum SecretType {
8059
+ ARBITRARY = "arbitrary",
8060
+ IAM_CREDENTIALS = "iam_credentials",
8061
+ IMPORTED_CERT = "imported_cert",
8062
+ KV = "kv",
8063
+ PRIVATE_CERT = "private_cert",
8064
+ PUBLIC_CERT = "public_cert",
8065
+ SERVICE_CREDENTIALS = "service_credentials",
8066
+ USERNAME_PASSWORD = "username_password"
8067
+ }
8068
+ /** A human-readable alias that describes the secret version. 'Current' is used for version `n` and 'previous' is used for version `n-1`. */
8069
+ enum Alias {
8070
+ CURRENT = "current",
8071
+ PREVIOUS = "previous"
8072
+ }
8073
+ }
8074
+ }
5887
8075
  /** UsernamePasswordSecretVersionPrototype. */
5888
8076
  interface UsernamePasswordSecretVersionPrototype extends SecretVersionPrototype {
5889
8077
  /** The password that is assigned to an `username_password` secret. */