@ibm-cloud/secrets-manager 0.1.0 → 1.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.
@@ -20,6 +20,9 @@ import { BaseService, UserOptions } from 'ibm-cloud-sdk-core';
20
20
  * With IBM Cloud® Secrets Manager, you can create, lease, and centrally manage secrets that are used in IBM Cloud
21
21
  * services or your custom-built applications. Secrets are stored in a dedicated instance of Secrets Manager, built on
22
22
  * open source HashiCorp Vault.
23
+ *
24
+ * API Version: 1.0.0
25
+ * See: https://cloud.ibm.com/docs/secrets-manager
23
26
  */
24
27
  declare class SecretsManagerV1 extends BaseService {
25
28
  static DEFAULT_SERVICE_URL: string;
@@ -48,65 +51,6 @@ declare class SecretsManagerV1 extends BaseService {
48
51
  * @returns {SecretsManagerV1}
49
52
  */
50
53
  constructor(options: UserOptions);
51
- /*************************
52
- * config
53
- ************************/
54
- /**
55
- * Configure secrets of a given type.
56
- *
57
- * Updates the configuration for the given secret type.
58
- *
59
- * @param {Object} params - The parameters to send to the service.
60
- * @param {string} params.secretType - The secret type.
61
- * @param {EngineConfigOneOf} params.engineConfigOneOf - The base request for setting secret engine configuration.
62
- * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
63
- * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>}
64
- */
65
- putConfig(params: SecretsManagerV1.PutConfigParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>;
66
- /**
67
- * Get the configuration for a secret type.
68
- *
69
- * Retrieves the configuration that is associated with the given secret type.
70
- *
71
- * @param {Object} params - The parameters to send to the service.
72
- * @param {string} params.secretType - The secret type.
73
- * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
74
- * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.EngineConfigOneOf>>}
75
- */
76
- getConfig(params: SecretsManagerV1.GetConfigParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.EngineConfigOneOf>>;
77
- /*************************
78
- * policies
79
- ************************/
80
- /**
81
- * Set secret policies.
82
- *
83
- * Creates or updates one or more policies, such as an [automatic rotation
84
- * policy](http://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-rotate-secrets#auto-rotate-secret), for the
85
- * specified secret.
86
- *
87
- * @param {Object} params - The parameters to send to the service.
88
- * @param {string} params.secretType - The secret type.
89
- * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
90
- * @param {CollectionMetadata} params.metadata - The metadata that describes the resource array.
91
- * @param {SecretPolicyRotation[]} params.resources - A collection of resources.
92
- * @param {string} [params.policy] - The type of policy that is associated with the specified secret.
93
- * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
94
- * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretPoliciesOneOf>>}
95
- */
96
- putPolicy(params: SecretsManagerV1.PutPolicyParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretPoliciesOneOf>>;
97
- /**
98
- * List secret policies.
99
- *
100
- * Retrieves a list of policies that are associated with a specified secret.
101
- *
102
- * @param {Object} params - The parameters to send to the service.
103
- * @param {string} params.secretType - The secret type.
104
- * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
105
- * @param {string} [params.policy] - The type of policy that is associated with the specified secret.
106
- * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
107
- * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretPoliciesOneOf>>}
108
- */
109
- getPolicy(params: SecretsManagerV1.GetPolicyParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretPoliciesOneOf>>;
110
54
  /*************************
111
55
  * secretGroups
112
56
  ************************/
@@ -180,13 +124,15 @@ declare class SecretsManagerV1 extends BaseService {
180
124
  /**
181
125
  * Create a secret.
182
126
  *
183
- * Creates a secret that you can use to access or authenticate to a protected resource.
127
+ * Creates a secret or imports an existing value that you can use to access or authenticate to a protected resource.
184
128
  *
185
- * A successful request stores the secret in your dedicated instance based on the secret type and data that you
186
- * specify. The response returns the ID value of the secret, along with other metadata.
129
+ * Use this method to either generate or import an existing secret, such as an arbitrary value or a TLS certificate,
130
+ * that you can manage in your Secrets Manager service instance. A successful request stores the secret in your
131
+ * dedicated instance based on the secret type and data that you specify. The response returns the ID value of the
132
+ * secret, along with other metadata.
187
133
  *
188
134
  * To learn more about the types of secrets that you can create with Secrets Manager, check out the
189
- * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-secret-basics).
135
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-what-is-secret).
190
136
  *
191
137
  * @param {Object} params - The parameters to send to the service.
192
138
  * @param {string} params.secretType - The secret type.
@@ -244,6 +190,13 @@ declare class SecretsManagerV1 extends BaseService {
244
190
  *
245
191
  * **Usage:** To sort a list of secrets by their creation date, use
246
192
  * `../secrets/{secret-type}?sort_by=creation_date`.
193
+ * @param {string[]} [params.groups] - Filter secrets by groups.
194
+ *
195
+ * You can apply multiple filters by using a comma-separated list of secret group IDs. If you need to filter secrets
196
+ * that are in the default secret group, use the `default` keyword.
197
+ *
198
+ * **Usage:** To retrieve a list of secrets that are associated with an existing secret group or the default group,
199
+ * use `../secrets?groups={secret_group_ID},default`.
247
200
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
248
201
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.ListSecrets>>}
249
202
  */
@@ -269,14 +222,14 @@ declare class SecretsManagerV1 extends BaseService {
269
222
  *
270
223
  * Invokes an action on a specified secret. This method supports the following actions:
271
224
  *
272
- * - `rotate`: Replace the value of an `arbitrary` or `username_password` secret.
225
+ * - `rotate`: Replace the value of an `arbitrary`, `username_password`, `public_cert` or `imported_cert` secret.
273
226
  * - `delete_credentials`: Delete the API key that is associated with an `iam_credentials` secret.
274
227
  *
275
228
  * @param {Object} params - The parameters to send to the service.
276
229
  * @param {string} params.secretType - The secret type.
277
230
  * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
278
231
  * @param {string} params.action - The action to perform on the specified secret.
279
- * @param {SecretActionOneOf} params.secretActionOneOf - The base request for invoking an action on a secret.
232
+ * @param {SecretAction} params.secretAction - The properties to update for the secret.
280
233
  * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
281
234
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecret>>}
282
235
  */
@@ -293,13 +246,52 @@ declare class SecretsManagerV1 extends BaseService {
293
246
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>}
294
247
  */
295
248
  deleteSecret(params: SecretsManagerV1.DeleteSecretParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>;
249
+ /**
250
+ * Get a version of a secret.
251
+ *
252
+ * Retrieves a version of a secret by specifying the ID of the version or the alias `previous`.
253
+ *
254
+ * A successful request returns the secret data that is associated with the specified version of your secret, along
255
+ * with other metadata.
256
+ *
257
+ * @param {Object} params - The parameters to send to the service.
258
+ * @param {string} params.secretType - The secret type.
259
+ * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
260
+ * @param {string} params.versionId - The v4 UUID that uniquely identifies the secret version. You can also use
261
+ * `previous` to retrieve the previous version.
262
+ *
263
+ * **Note:** To find the version ID of a secret, use the [Get secret metadata](#get-secret-metadata) method and check
264
+ * the response details.
265
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
266
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretVersion>>}
267
+ */
268
+ getSecretVersion(params: SecretsManagerV1.GetSecretVersionParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretVersion>>;
269
+ /**
270
+ * Get secret version metadata.
271
+ *
272
+ * Retrieves secret version metadata by specifying the ID of the version or the alias `previous`.
273
+ *
274
+ * A successful request returns the metadata that is associated with the specified version of your secret.
275
+ *
276
+ * @param {Object} params - The parameters to send to the service.
277
+ * @param {string} params.secretType - The secret type.
278
+ * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
279
+ * @param {string} params.versionId - The v4 UUID that uniquely identifies the secret version. You can also use
280
+ * `previous` to retrieve the previous version.
281
+ *
282
+ * **Note:** To find the version ID of a secret, use the [Get secret metadata](#get-secret-metadata) method and check
283
+ * the response details.
284
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
285
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretVersionMetadata>>}
286
+ */
287
+ getSecretVersionMetadata(params: SecretsManagerV1.GetSecretVersionMetadataParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretVersionMetadata>>;
296
288
  /**
297
289
  * Get secret metadata.
298
290
  *
299
291
  * Retrieves the details of a secret by specifying the ID.
300
292
  *
301
293
  * A successful request returns only metadata about the secret, such as its name and creation date. To retrieve the
302
- * value of a secret, use the [Get a secret](#get-secret) method.
294
+ * value of a secret, use the [Get a secret](#get-secret) or [Get a version of a secret](#get-secret-version) methods.
303
295
  *
304
296
  * @param {Object} params - The parameters to send to the service.
305
297
  * @param {string} params.secretType - The secret type.
@@ -325,6 +317,142 @@ declare class SecretsManagerV1 extends BaseService {
325
317
  * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.SecretMetadataRequest>>}
326
318
  */
327
319
  updateSecretMetadata(params: SecretsManagerV1.UpdateSecretMetadataParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.SecretMetadataRequest>>;
320
+ /*************************
321
+ * policies
322
+ ************************/
323
+ /**
324
+ * Set secret policies.
325
+ *
326
+ * Creates or updates one or more policies, such as an [automatic rotation
327
+ * policy](http://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-rotate-secrets#auto-rotate-secret), for the
328
+ * specified secret.
329
+ *
330
+ * @param {Object} params - The parameters to send to the service.
331
+ * @param {string} params.secretType - The secret type.
332
+ * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
333
+ * @param {CollectionMetadata} params.metadata - The metadata that describes the resource array.
334
+ * @param {SecretPolicyRotation[]} params.resources - A collection of resources.
335
+ * @param {string} [params.policy] - The type of policy that is associated with the specified secret.
336
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
337
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretPolicies>>}
338
+ */
339
+ putPolicy(params: SecretsManagerV1.PutPolicyParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretPolicies>>;
340
+ /**
341
+ * List secret policies.
342
+ *
343
+ * Retrieves a list of policies that are associated with a specified secret.
344
+ *
345
+ * @param {Object} params - The parameters to send to the service.
346
+ * @param {string} params.secretType - The secret type.
347
+ * @param {string} params.id - The v4 UUID that uniquely identifies the secret.
348
+ * @param {string} [params.policy] - The type of policy that is associated with the specified secret.
349
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
350
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretPolicies>>}
351
+ */
352
+ getPolicy(params: SecretsManagerV1.GetPolicyParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSecretPolicies>>;
353
+ /*************************
354
+ * config
355
+ ************************/
356
+ /**
357
+ * Set the configuration of a secret type.
358
+ *
359
+ * Sets the configuration for the specified secret type.
360
+ *
361
+ * Use this method to configure the IAM credentials (`iam_credentials`) engine for your service instance. Looking to
362
+ * set up certificate ordering? To configure the public certificates (`public_cert`) engine, use the [Add a
363
+ * configuration](#create_config_element) method.
364
+ *
365
+ * @param {Object} params - The parameters to send to the service.
366
+ * @param {string} params.secretType -
367
+ * @param {EngineConfig} params.engineConfig - Properties to update for a secrets engine.
368
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
369
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>}
370
+ */
371
+ putConfig(params: SecretsManagerV1.PutConfigParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>;
372
+ /**
373
+ * Get the configuration of a secret type.
374
+ *
375
+ * Retrieves the configuration that is associated with the specified secret type.
376
+ *
377
+ * @param {Object} params - The parameters to send to the service.
378
+ * @param {string} params.secretType - The secret type.
379
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
380
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetConfig>>}
381
+ */
382
+ getConfig(params: SecretsManagerV1.GetConfigParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetConfig>>;
383
+ /**
384
+ * Add a configuration.
385
+ *
386
+ * Adds a configuration element to the specified secret type.
387
+ *
388
+ * Use this method to define the configurations that are required to enable the public certificates (`public_cert`)
389
+ * engine. You can add up to 10 certificate authority and DNS provider configurations for your instance.
390
+ *
391
+ * @param {Object} params - The parameters to send to the service.
392
+ * @param {string} params.secretType - The secret type.
393
+ * @param {string} params.configElement - The configuration element to define or manage.
394
+ * @param {string} params.name - The human-readable name to assign to your configuration.
395
+ * @param {string} params.type - The type of configuration. Value options differ depending on the `config_element`
396
+ * property that you want to define.
397
+ * @param {ConfigElementDefConfig} params.config - The configuration to define for the specified secret type.
398
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
399
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>}
400
+ */
401
+ createConfigElement(params: SecretsManagerV1.CreateConfigElementParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>;
402
+ /**
403
+ * List configurations.
404
+ *
405
+ * Lists the configuration elements that are associated with a specified secret type.
406
+ *
407
+ * @param {Object} params - The parameters to send to the service.
408
+ * @param {string} params.secretType - The secret type.
409
+ * @param {string} params.configElement - The configuration element to define or manage.
410
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
411
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetConfigElements>>}
412
+ */
413
+ getConfigElements(params: SecretsManagerV1.GetConfigElementsParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetConfigElements>>;
414
+ /**
415
+ * Get a configuration.
416
+ *
417
+ * Retrieves the details of a specific configuration that is associated with a secret type.
418
+ *
419
+ * @param {Object} params - The parameters to send to the service.
420
+ * @param {string} params.secretType - The secret type.
421
+ * @param {string} params.configElement - The configuration element to define or manage.
422
+ * @param {string} params.configName - The name of your configuration.
423
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
424
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>}
425
+ */
426
+ getConfigElement(params: SecretsManagerV1.GetConfigElementParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>;
427
+ /**
428
+ * Update a configuration.
429
+ *
430
+ * Updates a configuration element that is associated with the specified secret type.
431
+ *
432
+ * @param {Object} params - The parameters to send to the service.
433
+ * @param {string} params.secretType - The secret type.
434
+ * @param {string} params.configElement - The configuration element to define or manage.
435
+ * @param {string} params.configName - The name of your configuration.
436
+ * @param {string} params.type - The type of configuration. Value options differ depending on the `config_element`
437
+ * property that you want to define.
438
+ * @param {JsonObject} params.config -
439
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
440
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>}
441
+ */
442
+ updateConfigElement(params: SecretsManagerV1.UpdateConfigElementParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.GetSingleConfigElement>>;
443
+ /**
444
+ * Delete a configuration.
445
+ *
446
+ * Deletes a configuration element from the specified secret type.
447
+ *
448
+ * @param {Object} params - The parameters to send to the service.
449
+ * @param {string} params.secretType - The secret type.
450
+ * @param {string} params.configElement - The configuration element to define or manage.
451
+ * @param {string} params.configName - The name of your configuration.
452
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
453
+ * @returns {Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>}
454
+ */
455
+ deleteConfigElement(params: SecretsManagerV1.DeleteConfigElementParams): Promise<SecretsManagerV1.Response<SecretsManagerV1.Empty>>;
328
456
  }
329
457
  /*************************
330
458
  * interfaces
@@ -349,80 +477,6 @@ declare namespace SecretsManagerV1 {
349
477
  /*************************
350
478
  * request interfaces
351
479
  ************************/
352
- /** Parameters for the `putConfig` operation. */
353
- interface PutConfigParams {
354
- /** The secret type. */
355
- secretType: PutConfigConstants.SecretType | string;
356
- /** The base request for setting secret engine configuration. */
357
- engineConfigOneOf: EngineConfigOneOf;
358
- headers?: OutgoingHttpHeaders;
359
- }
360
- /** Constants for the `putConfig` operation. */
361
- namespace PutConfigConstants {
362
- /** The secret type. */
363
- enum SecretType {
364
- IAM_CREDENTIALS = "iam_credentials"
365
- }
366
- }
367
- /** Parameters for the `getConfig` operation. */
368
- interface GetConfigParams {
369
- /** The secret type. */
370
- secretType: GetConfigConstants.SecretType | string;
371
- headers?: OutgoingHttpHeaders;
372
- }
373
- /** Constants for the `getConfig` operation. */
374
- namespace GetConfigConstants {
375
- /** The secret type. */
376
- enum SecretType {
377
- IAM_CREDENTIALS = "iam_credentials"
378
- }
379
- }
380
- /** Parameters for the `putPolicy` operation. */
381
- interface PutPolicyParams {
382
- /** The secret type. */
383
- secretType: PutPolicyConstants.SecretType | string;
384
- /** The v4 UUID that uniquely identifies the secret. */
385
- id: string;
386
- /** The metadata that describes the resource array. */
387
- metadata: CollectionMetadata;
388
- /** A collection of resources. */
389
- resources: SecretPolicyRotation[];
390
- /** The type of policy that is associated with the specified secret. */
391
- policy?: PutPolicyConstants.Policy | string;
392
- headers?: OutgoingHttpHeaders;
393
- }
394
- /** Constants for the `putPolicy` operation. */
395
- namespace PutPolicyConstants {
396
- /** The secret type. */
397
- enum SecretType {
398
- USERNAME_PASSWORD = "username_password"
399
- }
400
- /** The type of policy that is associated with the specified secret. */
401
- enum Policy {
402
- ROTATION = "rotation"
403
- }
404
- }
405
- /** Parameters for the `getPolicy` operation. */
406
- interface GetPolicyParams {
407
- /** The secret type. */
408
- secretType: GetPolicyConstants.SecretType | string;
409
- /** The v4 UUID that uniquely identifies the secret. */
410
- id: string;
411
- /** The type of policy that is associated with the specified secret. */
412
- policy?: GetPolicyConstants.Policy | string;
413
- headers?: OutgoingHttpHeaders;
414
- }
415
- /** Constants for the `getPolicy` operation. */
416
- namespace GetPolicyConstants {
417
- /** The secret type. */
418
- enum SecretType {
419
- USERNAME_PASSWORD = "username_password"
420
- }
421
- /** The type of policy that is associated with the specified secret. */
422
- enum Policy {
423
- ROTATION = "rotation"
424
- }
425
- }
426
480
  /** Parameters for the `createSecretGroup` operation. */
427
481
  interface CreateSecretGroupParams {
428
482
  /** The metadata that describes the resource array. */
@@ -472,8 +526,10 @@ declare namespace SecretsManagerV1 {
472
526
  /** The secret type. */
473
527
  enum SecretType {
474
528
  ARBITRARY = "arbitrary",
475
- USERNAME_PASSWORD = "username_password",
476
- IAM_CREDENTIALS = "iam_credentials"
529
+ IAM_CREDENTIALS = "iam_credentials",
530
+ IMPORTED_CERT = "imported_cert",
531
+ PUBLIC_CERT = "public_cert",
532
+ USERNAME_PASSWORD = "username_password"
477
533
  }
478
534
  }
479
535
  /** Parameters for the `listSecrets` operation. */
@@ -501,8 +557,10 @@ declare namespace SecretsManagerV1 {
501
557
  /** The secret type. */
502
558
  enum SecretType {
503
559
  ARBITRARY = "arbitrary",
504
- USERNAME_PASSWORD = "username_password",
505
- IAM_CREDENTIALS = "iam_credentials"
560
+ IAM_CREDENTIALS = "iam_credentials",
561
+ IMPORTED_CERT = "imported_cert",
562
+ PUBLIC_CERT = "public_cert",
563
+ USERNAME_PASSWORD = "username_password"
506
564
  }
507
565
  }
508
566
  /** Parameters for the `listAllSecrets` operation. */
@@ -534,6 +592,15 @@ declare namespace SecretsManagerV1 {
534
592
  * `../secrets/{secret-type}?sort_by=creation_date`.
535
593
  */
536
594
  sortBy?: ListAllSecretsConstants.SortBy | string;
595
+ /** Filter secrets by groups.
596
+ *
597
+ * You can apply multiple filters by using a comma-separated list of secret group IDs. If you need to filter
598
+ * secrets that are in the default secret group, use the `default` keyword.
599
+ *
600
+ * **Usage:** To retrieve a list of secrets that are associated with an existing secret group or the default group,
601
+ * use `../secrets?groups={secret_group_ID},default`.
602
+ */
603
+ groups?: string[];
537
604
  headers?: OutgoingHttpHeaders;
538
605
  }
539
606
  /** Constants for the `listAllSecrets` operation. */
@@ -560,8 +627,10 @@ declare namespace SecretsManagerV1 {
560
627
  /** The secret type. */
561
628
  enum SecretType {
562
629
  ARBITRARY = "arbitrary",
563
- USERNAME_PASSWORD = "username_password",
564
- IAM_CREDENTIALS = "iam_credentials"
630
+ IAM_CREDENTIALS = "iam_credentials",
631
+ IMPORTED_CERT = "imported_cert",
632
+ PUBLIC_CERT = "public_cert",
633
+ USERNAME_PASSWORD = "username_password"
565
634
  }
566
635
  }
567
636
  /** Parameters for the `updateSecret` operation. */
@@ -572,8 +641,8 @@ declare namespace SecretsManagerV1 {
572
641
  id: string;
573
642
  /** The action to perform on the specified secret. */
574
643
  action: UpdateSecretConstants.Action | string;
575
- /** The base request for invoking an action on a secret. */
576
- secretActionOneOf: SecretActionOneOf;
644
+ /** The properties to update for the secret. */
645
+ secretAction: SecretAction;
577
646
  headers?: OutgoingHttpHeaders;
578
647
  }
579
648
  /** Constants for the `updateSecret` operation. */
@@ -581,8 +650,10 @@ declare namespace SecretsManagerV1 {
581
650
  /** The secret type. */
582
651
  enum SecretType {
583
652
  ARBITRARY = "arbitrary",
584
- USERNAME_PASSWORD = "username_password",
585
- IAM_CREDENTIALS = "iam_credentials"
653
+ IAM_CREDENTIALS = "iam_credentials",
654
+ IMPORTED_CERT = "imported_cert",
655
+ PUBLIC_CERT = "public_cert",
656
+ USERNAME_PASSWORD = "username_password"
586
657
  }
587
658
  /** The action to perform on the specified secret. */
588
659
  enum Action {
@@ -603,25 +674,75 @@ declare namespace SecretsManagerV1 {
603
674
  /** The secret type. */
604
675
  enum SecretType {
605
676
  ARBITRARY = "arbitrary",
606
- USERNAME_PASSWORD = "username_password",
607
- IAM_CREDENTIALS = "iam_credentials"
677
+ IAM_CREDENTIALS = "iam_credentials",
678
+ IMPORTED_CERT = "imported_cert",
679
+ PUBLIC_CERT = "public_cert",
680
+ USERNAME_PASSWORD = "username_password"
608
681
  }
609
682
  }
610
- /** Parameters for the `getSecretMetadata` operation. */
611
- interface GetSecretMetadataParams {
683
+ /** Parameters for the `getSecretVersion` operation. */
684
+ interface GetSecretVersionParams {
612
685
  /** The secret type. */
613
- secretType: GetSecretMetadataConstants.SecretType | string;
686
+ secretType: GetSecretVersionConstants.SecretType | string;
614
687
  /** The v4 UUID that uniquely identifies the secret. */
615
688
  id: string;
689
+ /** The v4 UUID that uniquely identifies the secret version. You can also use `previous` to retrieve the
690
+ * previous version.
691
+ *
692
+ * **Note:** To find the version ID of a secret, use the [Get secret metadata](#get-secret-metadata) method and
693
+ * check the response details.
694
+ */
695
+ versionId: string;
616
696
  headers?: OutgoingHttpHeaders;
617
697
  }
618
- /** Constants for the `getSecretMetadata` operation. */
619
- namespace GetSecretMetadataConstants {
698
+ /** Constants for the `getSecretVersion` operation. */
699
+ namespace GetSecretVersionConstants {
620
700
  /** The secret type. */
621
701
  enum SecretType {
622
- ARBITRARY = "arbitrary",
623
- USERNAME_PASSWORD = "username_password",
624
- IAM_CREDENTIALS = "iam_credentials"
702
+ IMPORTED_CERT = "imported_cert",
703
+ PUBLIC_CERT = "public_cert"
704
+ }
705
+ }
706
+ /** Parameters for the `getSecretVersionMetadata` operation. */
707
+ interface GetSecretVersionMetadataParams {
708
+ /** The secret type. */
709
+ secretType: GetSecretVersionMetadataConstants.SecretType | string;
710
+ /** The v4 UUID that uniquely identifies the secret. */
711
+ id: string;
712
+ /** The v4 UUID that uniquely identifies the secret version. You can also use `previous` to retrieve the
713
+ * previous version.
714
+ *
715
+ * **Note:** To find the version ID of a secret, use the [Get secret metadata](#get-secret-metadata) method and
716
+ * check the response details.
717
+ */
718
+ versionId: string;
719
+ headers?: OutgoingHttpHeaders;
720
+ }
721
+ /** Constants for the `getSecretVersionMetadata` operation. */
722
+ namespace GetSecretVersionMetadataConstants {
723
+ /** The secret type. */
724
+ enum SecretType {
725
+ IMPORTED_CERT = "imported_cert",
726
+ PUBLIC_CERT = "public_cert"
727
+ }
728
+ }
729
+ /** Parameters for the `getSecretMetadata` operation. */
730
+ interface GetSecretMetadataParams {
731
+ /** The secret type. */
732
+ secretType: GetSecretMetadataConstants.SecretType | string;
733
+ /** The v4 UUID that uniquely identifies the secret. */
734
+ id: string;
735
+ headers?: OutgoingHttpHeaders;
736
+ }
737
+ /** Constants for the `getSecretMetadata` operation. */
738
+ namespace GetSecretMetadataConstants {
739
+ /** The secret type. */
740
+ enum SecretType {
741
+ ARBITRARY = "arbitrary",
742
+ IAM_CREDENTIALS = "iam_credentials",
743
+ IMPORTED_CERT = "imported_cert",
744
+ PUBLIC_CERT = "public_cert",
745
+ USERNAME_PASSWORD = "username_password"
625
746
  }
626
747
  }
627
748
  /** Parameters for the `updateSecretMetadata` operation. */
@@ -641,13 +762,233 @@ declare namespace SecretsManagerV1 {
641
762
  /** The secret type. */
642
763
  enum SecretType {
643
764
  ARBITRARY = "arbitrary",
765
+ IAM_CREDENTIALS = "iam_credentials",
766
+ IMPORTED_CERT = "imported_cert",
767
+ PUBLIC_CERT = "public_cert",
768
+ USERNAME_PASSWORD = "username_password"
769
+ }
770
+ }
771
+ /** Parameters for the `putPolicy` operation. */
772
+ interface PutPolicyParams {
773
+ /** The secret type. */
774
+ secretType: PutPolicyConstants.SecretType | string;
775
+ /** The v4 UUID that uniquely identifies the secret. */
776
+ id: string;
777
+ /** The metadata that describes the resource array. */
778
+ metadata: CollectionMetadata;
779
+ /** A collection of resources. */
780
+ resources: SecretPolicyRotation[];
781
+ /** The type of policy that is associated with the specified secret. */
782
+ policy?: PutPolicyConstants.Policy | string;
783
+ headers?: OutgoingHttpHeaders;
784
+ }
785
+ /** Constants for the `putPolicy` operation. */
786
+ namespace PutPolicyConstants {
787
+ /** The secret type. */
788
+ enum SecretType {
789
+ USERNAME_PASSWORD = "username_password",
790
+ PUBLIC_CERT = "public_cert"
791
+ }
792
+ /** The type of policy that is associated with the specified secret. */
793
+ enum Policy {
794
+ ROTATION = "rotation"
795
+ }
796
+ }
797
+ /** Parameters for the `getPolicy` operation. */
798
+ interface GetPolicyParams {
799
+ /** The secret type. */
800
+ secretType: GetPolicyConstants.SecretType | string;
801
+ /** The v4 UUID that uniquely identifies the secret. */
802
+ id: string;
803
+ /** The type of policy that is associated with the specified secret. */
804
+ policy?: GetPolicyConstants.Policy | string;
805
+ headers?: OutgoingHttpHeaders;
806
+ }
807
+ /** Constants for the `getPolicy` operation. */
808
+ namespace GetPolicyConstants {
809
+ /** The secret type. */
810
+ enum SecretType {
644
811
  USERNAME_PASSWORD = "username_password",
812
+ PUBLIC_CERT = "public_cert"
813
+ }
814
+ /** The type of policy that is associated with the specified secret. */
815
+ enum Policy {
816
+ ROTATION = "rotation"
817
+ }
818
+ }
819
+ /** Parameters for the `putConfig` operation. */
820
+ interface PutConfigParams {
821
+ secretType: PutConfigConstants.SecretType | string;
822
+ /** Properties to update for a secrets engine. */
823
+ engineConfig: EngineConfig;
824
+ headers?: OutgoingHttpHeaders;
825
+ }
826
+ /** Constants for the `putConfig` operation. */
827
+ namespace PutConfigConstants {
828
+ /** SecretType */
829
+ enum SecretType {
645
830
  IAM_CREDENTIALS = "iam_credentials"
646
831
  }
647
832
  }
833
+ /** Parameters for the `getConfig` operation. */
834
+ interface GetConfigParams {
835
+ /** The secret type. */
836
+ secretType: GetConfigConstants.SecretType | string;
837
+ headers?: OutgoingHttpHeaders;
838
+ }
839
+ /** Constants for the `getConfig` operation. */
840
+ namespace GetConfigConstants {
841
+ /** The secret type. */
842
+ enum SecretType {
843
+ IAM_CREDENTIALS = "iam_credentials",
844
+ PUBLIC_CERT = "public_cert"
845
+ }
846
+ }
847
+ /** Parameters for the `createConfigElement` operation. */
848
+ interface CreateConfigElementParams {
849
+ /** The secret type. */
850
+ secretType: CreateConfigElementConstants.SecretType | string;
851
+ /** The configuration element to define or manage. */
852
+ configElement: CreateConfigElementConstants.ConfigElement | string;
853
+ /** The human-readable name to assign to your configuration. */
854
+ name: string;
855
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to
856
+ * define.
857
+ */
858
+ type: CreateConfigElementConstants.Type | string;
859
+ /** The configuration to define for the specified secret type. */
860
+ config: ConfigElementDefConfig;
861
+ headers?: OutgoingHttpHeaders;
862
+ }
863
+ /** Constants for the `createConfigElement` operation. */
864
+ namespace CreateConfigElementConstants {
865
+ /** The secret type. */
866
+ enum SecretType {
867
+ PUBLIC_CERT = "public_cert"
868
+ }
869
+ /** The configuration element to define or manage. */
870
+ enum ConfigElement {
871
+ CERTIFICATE_AUTHORITIES = "certificate_authorities",
872
+ DNS_PROVIDERS = "dns_providers"
873
+ }
874
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to define. */
875
+ enum Type {
876
+ LETSENCRYPT = "letsencrypt",
877
+ LETSENCRYPT_STAGE = "letsencrypt-stage",
878
+ CIS = "cis",
879
+ CLASSIC_INFRASTRUCTURE = "classic_infrastructure"
880
+ }
881
+ }
882
+ /** Parameters for the `getConfigElements` operation. */
883
+ interface GetConfigElementsParams {
884
+ /** The secret type. */
885
+ secretType: GetConfigElementsConstants.SecretType | string;
886
+ /** The configuration element to define or manage. */
887
+ configElement: GetConfigElementsConstants.ConfigElement | string;
888
+ headers?: OutgoingHttpHeaders;
889
+ }
890
+ /** Constants for the `getConfigElements` operation. */
891
+ namespace GetConfigElementsConstants {
892
+ /** The secret type. */
893
+ enum SecretType {
894
+ PUBLIC_CERT = "public_cert"
895
+ }
896
+ /** The configuration element to define or manage. */
897
+ enum ConfigElement {
898
+ CERTIFICATE_AUTHORITIES = "certificate_authorities",
899
+ DNS_PROVIDERS = "dns_providers"
900
+ }
901
+ }
902
+ /** Parameters for the `getConfigElement` operation. */
903
+ interface GetConfigElementParams {
904
+ /** The secret type. */
905
+ secretType: GetConfigElementConstants.SecretType | string;
906
+ /** The configuration element to define or manage. */
907
+ configElement: GetConfigElementConstants.ConfigElement | string;
908
+ /** The name of your configuration. */
909
+ configName: string;
910
+ headers?: OutgoingHttpHeaders;
911
+ }
912
+ /** Constants for the `getConfigElement` operation. */
913
+ namespace GetConfigElementConstants {
914
+ /** The secret type. */
915
+ enum SecretType {
916
+ PUBLIC_CERT = "public_cert"
917
+ }
918
+ /** The configuration element to define or manage. */
919
+ enum ConfigElement {
920
+ CERTIFICATE_AUTHORITIES = "certificate_authorities",
921
+ DNS_PROVIDERS = "dns_providers"
922
+ }
923
+ }
924
+ /** Parameters for the `updateConfigElement` operation. */
925
+ interface UpdateConfigElementParams {
926
+ /** The secret type. */
927
+ secretType: UpdateConfigElementConstants.SecretType | string;
928
+ /** The configuration element to define or manage. */
929
+ configElement: UpdateConfigElementConstants.ConfigElement | string;
930
+ /** The name of your configuration. */
931
+ configName: string;
932
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to
933
+ * define.
934
+ */
935
+ type: UpdateConfigElementConstants.Type | string;
936
+ config: JsonObject;
937
+ headers?: OutgoingHttpHeaders;
938
+ }
939
+ /** Constants for the `updateConfigElement` operation. */
940
+ namespace UpdateConfigElementConstants {
941
+ /** The secret type. */
942
+ enum SecretType {
943
+ PUBLIC_CERT = "public_cert"
944
+ }
945
+ /** The configuration element to define or manage. */
946
+ enum ConfigElement {
947
+ CERTIFICATE_AUTHORITIES = "certificate_authorities",
948
+ DNS_PROVIDERS = "dns_providers"
949
+ }
950
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to define. */
951
+ enum Type {
952
+ LETSENCRYPT = "letsencrypt",
953
+ LETSENCRYPT_STAGE = "letsencrypt-stage",
954
+ CIS = "cis",
955
+ CLASSIC_INFRASTRUCTURE = "classic_infrastructure"
956
+ }
957
+ }
958
+ /** Parameters for the `deleteConfigElement` operation. */
959
+ interface DeleteConfigElementParams {
960
+ /** The secret type. */
961
+ secretType: DeleteConfigElementConstants.SecretType | string;
962
+ /** The configuration element to define or manage. */
963
+ configElement: DeleteConfigElementConstants.ConfigElement | string;
964
+ /** The name of your configuration. */
965
+ configName: string;
966
+ headers?: OutgoingHttpHeaders;
967
+ }
968
+ /** Constants for the `deleteConfigElement` operation. */
969
+ namespace DeleteConfigElementConstants {
970
+ /** The secret type. */
971
+ enum SecretType {
972
+ PUBLIC_CERT = "public_cert"
973
+ }
974
+ /** The configuration element to define or manage. */
975
+ enum ConfigElement {
976
+ CERTIFICATE_AUTHORITIES = "certificate_authorities",
977
+ DNS_PROVIDERS = "dns_providers"
978
+ }
979
+ }
648
980
  /*************************
649
981
  * model interfaces
650
982
  ************************/
983
+ /** CertificateSecretData. */
984
+ interface CertificateSecretData {
985
+ /** The contents of the certificate. */
986
+ certificate?: string;
987
+ /** The private key that is associated with the certificate. */
988
+ private_key?: string;
989
+ /** The intermediate certificate that is associated with the certificate. */
990
+ intermediate?: string;
991
+ }
651
992
  /** The metadata that describes the resource array. */
652
993
  interface CollectionMetadata {
653
994
  /** The type of resources in the resource array. */
@@ -655,104 +996,812 @@ declare namespace SecretsManagerV1 {
655
996
  /** The number of elements in the resource array. */
656
997
  collection_total: number;
657
998
  }
658
- /** The base schema for creating secrets. */
999
+ /** The configuration to add or update. */
1000
+ interface ConfigElementDef {
1001
+ /** The human-readable name to assign to your configuration. */
1002
+ name: string;
1003
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to
1004
+ * define.
1005
+ */
1006
+ type: string;
1007
+ /** The configuration to define for the specified secret type. */
1008
+ config: ConfigElementDefConfig;
1009
+ }
1010
+ /** The configuration to define for the specified secret type. */
1011
+ interface ConfigElementDefConfig {
1012
+ }
1013
+ /** Properties that describe a configuration element. */
1014
+ interface ConfigElementMetadata {
1015
+ /** The human-readable name to assign to your configuration. */
1016
+ name: string;
1017
+ /** The type of configuration. Value options differ depending on the `config_element` property that you want to
1018
+ * define.
1019
+ */
1020
+ type: string;
1021
+ }
1022
+ /** Properties that describe a secret. */
659
1023
  interface CreateSecret {
660
1024
  /** The metadata that describes the resource array. */
661
1025
  metadata: CollectionMetadata;
662
1026
  /** A collection of resources. */
663
1027
  resources: SecretResource[];
664
1028
  }
665
- /** EngineConfigOneOf. */
666
- interface EngineConfigOneOf {
1029
+ /** EngineConfig. */
1030
+ interface EngineConfig {
1031
+ }
1032
+ /** Configuration for the specified secret type. */
1033
+ interface GetConfig {
1034
+ /** The metadata that describes the resource array. */
1035
+ metadata: CollectionMetadata;
1036
+ /** A collection of resources. */
1037
+ resources: GetConfigResourcesItem[];
1038
+ }
1039
+ /** Properties that describe a list of configurations. */
1040
+ interface GetConfigElements {
1041
+ /** The metadata that describes the resource array. */
1042
+ metadata: CollectionMetadata;
1043
+ /** A collection of resources. */
1044
+ resources: GetConfigElementsResourcesItem[];
1045
+ }
1046
+ /** GetConfigElementsResourcesItem. */
1047
+ interface GetConfigElementsResourcesItem {
1048
+ }
1049
+ /** GetConfigResourcesItem. */
1050
+ interface GetConfigResourcesItem {
667
1051
  }
668
- /** The base schema for retrieving a secret. */
1052
+ /** Properties that describe a secret. */
669
1053
  interface GetSecret {
670
1054
  /** The metadata that describes the resource array. */
671
1055
  metadata: CollectionMetadata;
672
1056
  /** A collection of resources. */
673
1057
  resources: SecretResource[];
674
1058
  }
675
- /** GetSecretPoliciesOneOf. */
676
- interface GetSecretPoliciesOneOf {
1059
+ /** GetSecretPolicies. */
1060
+ interface GetSecretPolicies {
677
1061
  }
678
- /** Properties that are associated with a rotation policy. */
679
- interface GetSecretPoliciesOneOfGetSecretPolicyRotationResourcesItem {
1062
+ /** Properties that describe a rotation policy. */
1063
+ interface GetSecretPolicyRotationResourcesItem {
680
1064
  /** The v4 UUID that uniquely identifies the policy. */
681
1065
  id: string;
682
1066
  /** The Cloud Resource Name (CRN) that uniquely identifies your cloud resources. */
683
1067
  crn?: string;
684
1068
  /** The date the policy was created. The date format follows RFC 3339. */
685
1069
  creation_date?: string;
686
- /** The unique identifier for the entity that created the policy. */
1070
+ /** The unique identifier for the entity that created the policy. */
1071
+ created_by?: string;
1072
+ /** Updates when the policy is replaced or modified. The date format follows RFC 3339. */
1073
+ last_update_date?: string;
1074
+ /** The unique identifier for the entity that updated the policy. */
1075
+ updated_by?: string;
1076
+ /** The MIME type that represents the policy. Currently, only the default is supported. */
1077
+ type: string;
1078
+ rotation: SecretPolicyRotationRotation;
1079
+ }
1080
+ /** Properties that describe the version of a secret. */
1081
+ interface GetSecretVersion {
1082
+ /** The metadata that describes the resource array. */
1083
+ metadata: CollectionMetadata;
1084
+ /** A collection of resources. */
1085
+ resources: SecretVersion[];
1086
+ }
1087
+ /** Properties that describe the version of a secret. */
1088
+ interface GetSecretVersionMetadata {
1089
+ /** The metadata that describes the resource array. */
1090
+ metadata: CollectionMetadata;
1091
+ /** A collection of resources. */
1092
+ resources: SecretVersionMetadata[];
1093
+ }
1094
+ /** Properties that describe a configuration. */
1095
+ interface GetSingleConfigElement {
1096
+ /** The metadata that describes the resource array. */
1097
+ metadata: CollectionMetadata;
1098
+ /** A collection of resources. */
1099
+ resources: ConfigElementDef[];
1100
+ }
1101
+ /** Issuance information that is associated with your certificate. */
1102
+ interface IssuanceInfo {
1103
+ /** The date the certificate was ordered. The date format follows RFC 3339. */
1104
+ ordered_on?: string;
1105
+ /** An code that identifies an issuance error.
1106
+ *
1107
+ * This field, along with `error_message`, is returned when Secrets Manager successfully processes your request,
1108
+ * but a certificate is unable to be issued by the certificate authority.
1109
+ */
1110
+ error_code?: string;
1111
+ /** A human-readable message that provides details about the issuance error. */
1112
+ error_message?: string;
1113
+ /** Indicates whether the issued certificate is bundled with intermediate certificates. */
1114
+ bundle_certs?: boolean;
1115
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
1116
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
1117
+ */
1118
+ state?: number;
1119
+ /** A text representation of the secret state. */
1120
+ state_description?: string;
1121
+ /** Indicates whether the issued certificate is configured with an automatic rotation policy. */
1122
+ auto_rotated?: boolean;
1123
+ /** The name that was assigned to the certificate authority configuration. */
1124
+ ca?: string;
1125
+ /** The name that was assigned to the DNS provider configuration. */
1126
+ dns?: string;
1127
+ }
1128
+ /** Properties that describe a list of secrets. */
1129
+ interface ListSecrets {
1130
+ /** The metadata that describes the resource array. */
1131
+ metadata: CollectionMetadata;
1132
+ /** A collection of resources. */
1133
+ resources?: SecretResource[];
1134
+ }
1135
+ /** Rotation. */
1136
+ interface Rotation {
1137
+ /** Determines whether Secrets Manager rotates your certificate automatically.
1138
+ *
1139
+ * If set to `true`, the service reorders your certificate 31 days before it expires. To access the previous
1140
+ * version of the certifcate, you can use the [Get a version of a secret](#get-secret-version) method.
1141
+ */
1142
+ auto_rotate?: boolean;
1143
+ /** Determines whether Secrets Manager rotates the private key for your certificate automatically.
1144
+ *
1145
+ * If set to `true`, the service generates and stores a new private key for your rotated certificate.
1146
+ */
1147
+ rotate_keys?: boolean;
1148
+ }
1149
+ /** SecretAction. */
1150
+ interface SecretAction {
1151
+ }
1152
+ /** Properties that describe a secret group. */
1153
+ interface SecretGroupDef {
1154
+ /** The metadata that describes the resource array. */
1155
+ metadata: CollectionMetadata;
1156
+ /** A collection of resources. */
1157
+ resources: SecretGroupResource[];
1158
+ }
1159
+ /** Metadata properties to update for a secret group. */
1160
+ interface SecretGroupMetadataUpdatable {
1161
+ /** A human-readable name to assign to your secret group.
1162
+ *
1163
+ * To protect your privacy, do not use personal data, such as your name or location, as a name for your secret
1164
+ * group.
1165
+ */
1166
+ name?: string;
1167
+ /** An extended description of your secret group.
1168
+ *
1169
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
1170
+ * secret group.
1171
+ */
1172
+ description?: string;
1173
+ }
1174
+ /** Properties that describe a secret group. */
1175
+ interface SecretGroupResource {
1176
+ /** The v4 UUID that uniquely identifies the secret group. */
1177
+ id?: string;
1178
+ /** A human-readable name to assign to your secret group.
1179
+ *
1180
+ * To protect your privacy, do not use personal data, such as your name or location, as a name for your secret
1181
+ * group.
1182
+ */
1183
+ name?: string;
1184
+ /** An extended description of your secret group.
1185
+ *
1186
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
1187
+ * secret group.
1188
+ */
1189
+ description?: string;
1190
+ /** The date the secret group was created. The date format follows RFC 3339. */
1191
+ creation_date?: string;
1192
+ /** Updates when the metadata of the secret group is modified. The date format follows RFC 3339. */
1193
+ last_update_date?: string;
1194
+ /** The MIME type that represents the secret group. */
1195
+ type?: string;
1196
+ /** SecretGroupResource accepts additional properties. */
1197
+ [propName: string]: any;
1198
+ }
1199
+ /** SecretMetadata. */
1200
+ interface SecretMetadata {
1201
+ }
1202
+ /** The metadata of a secret. */
1203
+ interface SecretMetadataRequest {
1204
+ /** The metadata that describes the resource array. */
1205
+ metadata: CollectionMetadata;
1206
+ /** A collection of resources. */
1207
+ resources: SecretMetadata[];
1208
+ }
1209
+ /** Properties that describe a rotation policy. */
1210
+ interface SecretPolicyRotation {
1211
+ /** The MIME type that represents the policy. Currently, only the default is supported. */
1212
+ type: string;
1213
+ rotation: SecretPolicyRotationRotation;
1214
+ }
1215
+ /** SecretPolicyRotationRotation. */
1216
+ interface SecretPolicyRotationRotation {
1217
+ }
1218
+ /** SecretResource. */
1219
+ interface SecretResource {
1220
+ }
1221
+ /** SecretVersion. */
1222
+ interface SecretVersion {
1223
+ }
1224
+ /** SecretVersionMetadata. */
1225
+ interface SecretVersionMetadata {
1226
+ }
1227
+ /** CertificateValidity. */
1228
+ interface CertificateValidity {
1229
+ /** The date the certificate validity period begins. */
1230
+ not_before?: string;
1231
+ /** The date the certificate validity period ends. */
1232
+ not_after?: string;
1233
+ }
1234
+ /** Metadata properties that describe an arbitrary secret. */
1235
+ interface ArbitrarySecretMetadata extends SecretMetadata {
1236
+ /** The unique ID of the secret. */
1237
+ id?: string;
1238
+ /** Labels that you can use to filter for secrets in your instance.
1239
+ *
1240
+ * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1241
+ * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1242
+ *
1243
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1244
+ */
1245
+ labels?: string[];
1246
+ /** A human-readable alias to assign to your secret.
1247
+ *
1248
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
1249
+ */
1250
+ name: string;
1251
+ /** An extended description of your secret.
1252
+ *
1253
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
1254
+ * secret.
1255
+ */
1256
+ description?: string;
1257
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
1258
+ *
1259
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
1260
+ */
1261
+ secret_group_id?: string;
1262
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
1263
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
1264
+ */
1265
+ state?: number;
1266
+ /** A text representation of the secret state. */
1267
+ state_description?: string;
1268
+ /** The secret type. */
1269
+ secret_type?: string;
1270
+ /** The Cloud Resource Name (CRN) that uniquely identifies the resource. */
1271
+ crn?: string;
1272
+ /** The date the secret was created. The date format follows RFC 3339. */
1273
+ creation_date?: string;
1274
+ /** The unique identifier for the entity that created the secret. */
1275
+ created_by?: string;
1276
+ /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
1277
+ last_update_date?: string;
1278
+ /** The number of versions the secret has. */
1279
+ versions_total?: number;
1280
+ /** The date the secret material expires. The date format follows RFC 3339.
1281
+ *
1282
+ * You can set an expiration date on supported secret types at their creation. If you create a secret without
1283
+ * specifying an expiration date, the secret does not expire. The `expiration_date` field is supported for the
1284
+ * following secret types:
1285
+ *
1286
+ * - `arbitrary`
1287
+ * - `username_password`.
1288
+ */
1289
+ expiration_date?: string;
1290
+ }
1291
+ /** Properties that describe a secret. */
1292
+ interface ArbitrarySecretResource extends SecretResource {
1293
+ /** The v4 UUID that uniquely identifies the secret. */
1294
+ id?: string;
1295
+ /** A human-readable alias to assign to your secret.
1296
+ *
1297
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
1298
+ */
1299
+ name: string;
1300
+ /** An extended description of your secret.
1301
+ *
1302
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
1303
+ * secret.
1304
+ */
1305
+ description?: string;
1306
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
1307
+ *
1308
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
1309
+ */
1310
+ secret_group_id?: string;
1311
+ /** Labels that you can use to filter for secrets in your instance.
1312
+ *
1313
+ * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1314
+ * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1315
+ *
1316
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1317
+ */
1318
+ labels?: string[];
1319
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
1320
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
1321
+ */
1322
+ state?: number;
1323
+ /** A text representation of the secret state. */
1324
+ state_description?: string;
1325
+ /** The secret type. */
1326
+ secret_type?: string;
1327
+ /** The Cloud Resource Name (CRN) that uniquely identifies your Secrets Manager resource. */
1328
+ crn?: string;
1329
+ /** The date the secret was created. The date format follows RFC 3339. */
1330
+ creation_date?: string;
1331
+ /** The unique identifier for the entity that created the secret. */
1332
+ created_by?: string;
1333
+ /** Updates when the actual secret is modified. The date format follows RFC 3339. */
1334
+ last_update_date?: string;
1335
+ /** The number of versions that are associated with a secret. */
1336
+ versions_total?: number;
1337
+ /** An array that contains metadata for each secret version. For more information on the metadata properties,
1338
+ * see [Get secret version metadata](#get-secret-version-metadata).
1339
+ */
1340
+ versions?: JsonObject[];
1341
+ /** The date the secret material expires. The date format follows RFC 3339.
1342
+ *
1343
+ * You can set an expiration date on supported secret types at their creation. If you create a secret without
1344
+ * specifying an expiration date, the secret does not expire. The `expiration_date` field is supported for the
1345
+ * following secret types:
1346
+ *
1347
+ * - `arbitrary`
1348
+ * - `username_password`.
1349
+ */
1350
+ expiration_date?: string;
1351
+ /** The new secret data to assign to the secret. */
1352
+ payload?: string;
1353
+ secret_data?: JsonObject;
1354
+ }
1355
+ /** Properties that describe a secret version. */
1356
+ interface ArbitrarySecretVersionMetadata extends SecretVersionMetadata {
1357
+ /** The ID of the secret version. */
1358
+ id?: string;
1359
+ /** The date that the version of the secret was created. */
1360
+ creation_date?: string;
1361
+ /** The unique identifier for the entity that created the secret version. */
1362
+ created_by?: string;
1363
+ }
1364
+ /** Metadata properties that describe a certificate secret. */
1365
+ interface CertificateSecretMetadata extends SecretMetadata {
1366
+ /** The unique ID of the secret. */
1367
+ id?: string;
1368
+ /** Labels that you can use to filter for secrets in your instance.
1369
+ *
1370
+ * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1371
+ * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1372
+ *
1373
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1374
+ */
1375
+ labels?: string[];
1376
+ /** A human-readable alias to assign to your secret.
1377
+ *
1378
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
1379
+ */
1380
+ name: string;
1381
+ /** An extended description of your secret.
1382
+ *
1383
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
1384
+ * secret.
1385
+ */
1386
+ description?: string;
1387
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
1388
+ *
1389
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
1390
+ */
1391
+ secret_group_id?: string;
1392
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
1393
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
1394
+ */
1395
+ state?: number;
1396
+ /** A text representation of the secret state. */
1397
+ state_description?: string;
1398
+ /** The secret type. */
1399
+ secret_type?: string;
1400
+ /** The Cloud Resource Name (CRN) that uniquely identifies the resource. */
1401
+ crn?: string;
1402
+ /** The date the secret was created. The date format follows RFC 3339. */
1403
+ creation_date?: string;
1404
+ /** The unique identifier for the entity that created the secret. */
1405
+ created_by?: string;
1406
+ /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
1407
+ last_update_date?: string;
1408
+ /** The number of versions the secret has. */
1409
+ versions_total?: number;
1410
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1411
+ serial_number?: string;
1412
+ /** The identifier for the cryptographic algorthim that was used by the issuing certificate authority to sign
1413
+ * the ceritificate.
1414
+ */
1415
+ algorithm?: string;
1416
+ /** The identifier for the cryptographic algorithm that was used to generate the public key that is associated
1417
+ * with the certificate.
1418
+ */
1419
+ key_algorithm?: string;
1420
+ /** The distinguished name that identifies the entity that signed and issued the certificate. */
1421
+ issuer?: string;
1422
+ validity?: CertificateValidity;
1423
+ /** The fully qualified domain name or host domain name that is defined for the certificate. */
1424
+ common_name?: string;
1425
+ /** Indicates whether the certificate was imported with an associated intermediate certificate. */
1426
+ intermediate_included?: boolean;
1427
+ /** Indicates whether the certificate was imported with an associated private key. */
1428
+ private_key_included?: boolean;
1429
+ /** The alternative names that are defined for the certificate. */
1430
+ alt_names?: string[];
1431
+ /** The date that the certificate expires. The date format follows RFC 3339. */
1432
+ expiration_date?: string;
1433
+ }
1434
+ /** Properties that describe a secret. */
1435
+ interface CertificateSecretResource extends SecretResource {
1436
+ /** The v4 UUID that uniquely identifies the secret. */
1437
+ id?: string;
1438
+ /** A human-readable alias to assign to your secret.
1439
+ *
1440
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
1441
+ */
1442
+ name: string;
1443
+ /** An extended description of your secret.
1444
+ *
1445
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
1446
+ * secret.
1447
+ */
1448
+ description?: string;
1449
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
1450
+ *
1451
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
1452
+ */
1453
+ secret_group_id?: string;
1454
+ /** Labels that you can use to filter for secrets in your instance.
1455
+ *
1456
+ * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1457
+ * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1458
+ *
1459
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1460
+ */
1461
+ labels?: string[];
1462
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
1463
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
1464
+ */
1465
+ state?: number;
1466
+ /** A text representation of the secret state. */
1467
+ state_description?: string;
1468
+ /** The secret type. */
1469
+ secret_type?: string;
1470
+ /** The Cloud Resource Name (CRN) that uniquely identifies your Secrets Manager resource. */
1471
+ crn?: string;
1472
+ /** The date the secret was created. The date format follows RFC 3339. */
1473
+ creation_date?: string;
1474
+ /** The unique identifier for the entity that created the secret. */
1475
+ created_by?: string;
1476
+ /** Updates when the actual secret is modified. The date format follows RFC 3339. */
1477
+ last_update_date?: string;
1478
+ /** The number of versions that are associated with a secret. */
1479
+ versions_total?: number;
1480
+ /** An array that contains metadata for each secret version. For more information on the metadata properties,
1481
+ * see [Get secret version metadata](#get-secret-version-metadata).
1482
+ */
1483
+ versions?: JsonObject[];
1484
+ /** The contents of your certificate. The data must be formatted on a single line with embedded newline
1485
+ * characters.
1486
+ */
1487
+ certificate?: string;
1488
+ /** The private key to associate with the certificate. The data must be formatted on a single line with embedded
1489
+ * newline characters.
1490
+ */
1491
+ private_key?: string;
1492
+ /** The intermediate certificate to associate with the root certificate. The data must be formatted on a single
1493
+ * line with embedded newline characters.
1494
+ */
1495
+ intermediate?: string;
1496
+ secret_data?: JsonObject;
1497
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1498
+ serial_number?: string;
1499
+ /** The identifier for the cryptographic algorthim that was used by the issuing certificate authority to sign
1500
+ * the ceritificate.
1501
+ */
1502
+ algorithm?: string;
1503
+ /** The identifier for the cryptographic algorithm that was used to generate the public key that is associated
1504
+ * with the certificate.
1505
+ */
1506
+ key_algorithm?: string;
1507
+ /** The distinguished name that identifies the entity that signed and issued the certificate. */
1508
+ issuer?: string;
1509
+ validity?: CertificateValidity;
1510
+ /** The fully qualified domain name or host domain name that is defined for the certificate. */
1511
+ common_name?: string;
1512
+ /** Indicates whether the certificate was imported with an associated intermediate certificate. */
1513
+ intermediate_included?: boolean;
1514
+ /** Indicates whether the certificate was imported with an associated private key. */
1515
+ private_key_included?: boolean;
1516
+ /** The alternative names that are defined for the certificate. */
1517
+ alt_names?: string[];
1518
+ /** The date that the certificate expires. The date format follows RFC 3339. */
1519
+ expiration_date?: string;
1520
+ }
1521
+ /** CertificateSecretVersion. */
1522
+ interface CertificateSecretVersion extends SecretVersion {
1523
+ /** The v4 UUID that uniquely identifies the secret. */
1524
+ id?: string;
1525
+ /** The Cloud Resource Name (CRN) that uniquely identifies the secret. */
1526
+ crn?: string;
1527
+ /** The ID of the secret version. */
1528
+ version_id?: string;
1529
+ /** The date that the version of the secret was created. */
1530
+ creation_date?: string;
1531
+ /** The unique identifier for the entity that created the secret version. */
1532
+ created_by?: string;
1533
+ validity?: CertificateValidity;
1534
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1535
+ serial_number?: string;
1536
+ /** The date that the certificate expires. The date format follows RFC 3339. */
1537
+ expiration_date?: string;
1538
+ secret_data?: CertificateSecretData;
1539
+ }
1540
+ /** Properties that describe a secret version. */
1541
+ interface CertificateSecretVersionMetadata extends SecretVersionMetadata {
1542
+ /** The ID of the secret version. */
1543
+ id?: string;
1544
+ /** The date that the version of the secret was created. */
1545
+ creation_date?: string;
1546
+ /** The unique identifier for the entity that created the secret version. */
1547
+ created_by?: string;
1548
+ /** The unique serial number that was assigned to the certificate by the issuing certificate authority. */
1549
+ serial_number?: string;
1550
+ /** The date that the certificate expires. The date format follows RFC 3339. */
1551
+ expiration_date?: string;
1552
+ validity?: CertificateValidity;
1553
+ }
1554
+ /** Properties that describe an IBM Cloud classic infrastructure (SoftLayer) configuration. */
1555
+ interface ConfigElementDefConfigClassicInfrastructureConfig extends ConfigElementDefConfig {
1556
+ /** The username that is associated with your classic infrastructure account.
1557
+ *
1558
+ * In most cases, your classic infrastructure username is your `<account_id>_<email_address>`. In the console, you
1559
+ * can find your username by going to **Manage > Access (IAM) > Users > name > VPN password.** For more
1560
+ * information, see the
1561
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#authorize-classic-infrastructure).
1562
+ */
1563
+ classic_infrastructure_username: string;
1564
+ /** Your classic infrastructure API key.
1565
+ *
1566
+ * In the console, you can view or create a classic infrastructure API key by going to **Manage > Access (IAM)
1567
+ * > Users > name > API keys.** For more information, see the
1568
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#authorize-classic-infrastructure).
1569
+ */
1570
+ classic_infrastructure_password: string;
1571
+ }
1572
+ /** Properties that describe an IBM Cloud Internet Services (CIS) configuration. */
1573
+ interface ConfigElementDefConfigCloudInternetServicesConfig extends ConfigElementDefConfig {
1574
+ /** The Cloud Resource Name (CRN) that is associated with the CIS instance. */
1575
+ cis_crn: string;
1576
+ /** An IBM Cloud API key that has the capability to list domains in your CIS instance.
1577
+ *
1578
+ * To grant Secrets Manager the ability to view the CIS instance and all of its domains, the API key must be
1579
+ * assigned the Reader service role on Internet Services (`internet-svcs`).
1580
+ *
1581
+ * If you need to manage specific domains, you can assign the Manager role. For production environments, it is
1582
+ * recommended that you assign the Reader access role, and then use the
1583
+ * [IAM Policy Management API](https://cloud.ibm.com/apidocs/iam-policy-management#create-policy) to control
1584
+ * specific domains. For more information, see the
1585
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#authorize-specific-domains).
1586
+ */
1587
+ cis_apikey?: string;
1588
+ }
1589
+ /** Properties that describe a Let's Encrypt configuration. */
1590
+ interface ConfigElementDefConfigLetsEncryptConfig extends ConfigElementDefConfig {
1591
+ /** The private key that is associated with your Automatic Certificate Management Environment (ACME) account.
1592
+ *
1593
+ * If you have a working ACME client or account for Let's Encrypt, you can use the existing private key to enable
1594
+ * communications with Secrets Manager. If you don't have an account yet, you can create one. For more information,
1595
+ * see the
1596
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-prepare-order-certificates#create-acme-account).
1597
+ */
1598
+ private_key: string;
1599
+ }
1600
+ /** Configuration for the IAM credentials engine. */
1601
+ interface CreateIAMCredentialsSecretEngineRootConfig extends EngineConfig {
1602
+ /** An IBM Cloud API key that has the capability to create and manage service IDs.
1603
+ *
1604
+ * The API key must be assigned the Editor platform role on the Access Groups Service and the Operator platform
1605
+ * role on the IAM Identity Service. For more information, see the
1606
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-configure-iam-engine).
1607
+ */
1608
+ api_key: string;
1609
+ /** The hash value of the IBM Cloud API key that is used to create and manage service IDs. */
1610
+ api_key_hash?: string;
1611
+ }
1612
+ /** Delete the credentials that are associated with an `iam_credentials` secret. */
1613
+ interface DeleteCredentialsForIAMCredentialsSecret extends SecretAction {
1614
+ /** The service ID that you want to delete. It is deleted together with its API key. */
1615
+ service_id: string;
1616
+ }
1617
+ /** Certificate authorities configuration. */
1618
+ interface GetConfigElementsResourcesItemCertificateAuthoritiesConfig extends GetConfigElementsResourcesItem {
1619
+ certificate_authorities: ConfigElementMetadata[];
1620
+ }
1621
+ /** DNS providers configuration. */
1622
+ interface GetConfigElementsResourcesItemDnsProvidersConfig extends GetConfigElementsResourcesItem {
1623
+ dns_providers: ConfigElementMetadata[];
1624
+ }
1625
+ /** Properties that describe a rotation policy. */
1626
+ interface GetSecretPolicyRotation extends GetSecretPolicies {
1627
+ /** The metadata that describes the resource array. */
1628
+ metadata: CollectionMetadata;
1629
+ /** A collection of resources. */
1630
+ resources: GetSecretPolicyRotationResourcesItem[];
1631
+ }
1632
+ /** Configuration for the IAM credentials engine. */
1633
+ interface IAMCredentialsSecretEngineRootConfig extends GetConfigResourcesItem {
1634
+ /** An IBM Cloud API key that has the capability to create and manage service IDs.
1635
+ *
1636
+ * The API key must be assigned the Editor platform role on the Access Groups Service and the Operator platform
1637
+ * role on the IAM Identity Service. For more information, see the
1638
+ * [docs](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-configure-iam-engine).
1639
+ */
1640
+ api_key: string;
1641
+ /** The hash value of the IBM Cloud API key that is used to create and manage service IDs. */
1642
+ api_key_hash?: string;
1643
+ }
1644
+ /** Metadata properties that describe a iam_credentials secret. */
1645
+ interface IAMCredentialsSecretMetadata extends SecretMetadata {
1646
+ /** The unique ID of the secret. */
1647
+ id?: string;
1648
+ /** Labels that you can use to filter for secrets in your instance.
1649
+ *
1650
+ * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1651
+ * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1652
+ *
1653
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1654
+ */
1655
+ labels?: string[];
1656
+ /** A human-readable alias to assign to your secret.
1657
+ *
1658
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
1659
+ */
1660
+ name: string;
1661
+ /** An extended description of your secret.
1662
+ *
1663
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
1664
+ * secret.
1665
+ */
1666
+ description?: string;
1667
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
1668
+ *
1669
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
1670
+ */
1671
+ secret_group_id?: string;
1672
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
1673
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
1674
+ */
1675
+ state?: number;
1676
+ /** A text representation of the secret state. */
1677
+ state_description?: string;
1678
+ /** The secret type. */
1679
+ secret_type?: string;
1680
+ /** The Cloud Resource Name (CRN) that uniquely identifies the resource. */
1681
+ crn?: string;
1682
+ /** The date the secret was created. The date format follows RFC 3339. */
1683
+ creation_date?: string;
1684
+ /** The unique identifier for the entity that created the secret. */
1685
+ created_by?: string;
1686
+ /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
1687
+ last_update_date?: string;
1688
+ /** The number of versions the secret has. */
1689
+ versions_total?: number;
1690
+ /** The time-to-live (TTL) or lease duration to assign to generated credentials.
1691
+ *
1692
+ * For `iam_credentials` secrets, the TTL defines for how long each generated API key remains valid. The value can
1693
+ * be either an integer that specifies the number of seconds, or the string representation of a duration, such as
1694
+ * `120m` or `24h`.
1695
+ */
1696
+ ttl?: any;
1697
+ /** For `iam_credentials` secrets, this field controls whether to use the same service ID and API key for future
1698
+ * read operations on this secret. If set to `true`, the service reuses the current credentials. If set to `false`,
1699
+ * a new service ID and API key is generated each time that the secret is read or accessed.
1700
+ */
1701
+ reuse_api_key?: boolean;
1702
+ }
1703
+ /** Properties that describe a secret. */
1704
+ interface IAMCredentialsSecretResource extends SecretResource {
1705
+ /** The v4 UUID that uniquely identifies the secret. */
1706
+ id?: string;
1707
+ /** A human-readable alias to assign to your secret.
1708
+ *
1709
+ * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
1710
+ */
1711
+ name: string;
1712
+ /** An extended description of your secret.
1713
+ *
1714
+ * To protect your privacy, do not use personal data, such as your name or location, as a description for your
1715
+ * secret.
1716
+ */
1717
+ description?: string;
1718
+ /** The v4 UUID that uniquely identifies the secret group to assign to this secret.
1719
+ *
1720
+ * If you omit this parameter, your secret is assigned to the `default` secret group.
1721
+ */
1722
+ secret_group_id?: string;
1723
+ /** Labels that you can use to filter for secrets in your instance.
1724
+ *
1725
+ * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
1726
+ * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
1727
+ *
1728
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
1729
+ */
1730
+ labels?: string[];
1731
+ /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
1732
+ * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
1733
+ */
1734
+ state?: number;
1735
+ /** A text representation of the secret state. */
1736
+ state_description?: string;
1737
+ /** The secret type. */
1738
+ secret_type?: string;
1739
+ /** The Cloud Resource Name (CRN) that uniquely identifies your Secrets Manager resource. */
1740
+ crn?: string;
1741
+ /** The date the secret was created. The date format follows RFC 3339. */
1742
+ creation_date?: string;
1743
+ /** The unique identifier for the entity that created the secret. */
687
1744
  created_by?: string;
688
- /** Updates when the policy is replaced or modified. The date format follows RFC 3339. */
1745
+ /** Updates when the actual secret is modified. The date format follows RFC 3339. */
689
1746
  last_update_date?: string;
690
- /** The unique identifier for the entity that updated the policy. */
691
- updated_by?: string;
692
- /** The MIME type that represents the policy. Currently, only the default is supported. */
693
- type: string;
694
- /** The secret rotation time interval. */
695
- rotation: SecretPolicyRotationRotation;
696
- }
697
- /** The base schema for listing secrets. */
698
- interface ListSecrets {
699
- /** The metadata that describes the resource array. */
700
- metadata: CollectionMetadata;
701
- /** A collection of resources. */
702
- resources?: SecretResource[];
703
- }
704
- /** SecretActionOneOf. */
705
- interface SecretActionOneOf {
706
- }
707
- /** The base schema definition for a secret group. */
708
- interface SecretGroupDef {
709
- /** The metadata that describes the resource array. */
710
- metadata: CollectionMetadata;
711
- /** A collection of resources. */
712
- resources: SecretGroupResource[];
713
- }
714
- /** Metadata properties that describe a secret group. */
715
- interface SecretGroupMetadataUpdatable {
716
- /** A human-readable name to assign to your secret group.
1747
+ /** The number of versions that are associated with a secret. */
1748
+ versions_total?: number;
1749
+ /** An array that contains metadata for each secret version. For more information on the metadata properties,
1750
+ * see [Get secret version metadata](#get-secret-version-metadata).
1751
+ */
1752
+ versions?: JsonObject[];
1753
+ /** The time-to-live (TTL) or lease duration to assign to generated credentials.
717
1754
  *
718
- * To protect your privacy, do not use personal data, such as your name or location, as a name for your secret
719
- * group.
1755
+ * For `iam_credentials` secrets, the TTL defines for how long each generated API key remains valid. The value can
1756
+ * be either an integer that specifies the number of seconds, or the string representation of a duration, such as
1757
+ * `120m` or `24h`.
720
1758
  */
721
- name?: string;
722
- /** An extended description of your secret group.
1759
+ ttl?: any;
1760
+ /** The access groups that define the capabilities of the service ID and API key that are generated for an
1761
+ * `iam_credentials` secret.
723
1762
  *
724
- * To protect your privacy, do not use personal data, such as your name or location, as a description for your
725
- * secret group.
1763
+ * **Tip:** To list the access groups that are available in an account, you can use the [IAM Access Groups
1764
+ * API](https://cloud.ibm.com/apidocs/iam-access-groups#list-access-groups). To find the ID of an access group in
1765
+ * the console, go to **Manage > Access (IAM) > Access groups**. Select the access group to inspect, and click
1766
+ * **Details** to view its ID.
726
1767
  */
727
- description?: string;
728
- }
729
- /** Properties that describe a secret group. */
730
- interface SecretGroupResource {
731
- /** The v4 UUID that uniquely identifies the secret group. */
732
- id?: string;
733
- /** A human-readable name to assign to your secret group.
1768
+ access_groups?: string[];
1769
+ /** The API key that is generated for this secret.
734
1770
  *
735
- * To protect your privacy, do not use personal data, such as your name or location, as a name for your secret
736
- * group.
1771
+ * After the secret reaches the end of its lease (see the `ttl` field), the API key is deleted automatically. If
1772
+ * you want to continue to use the same API key for future read operations, see the `reuse_api_key` field.
737
1773
  */
738
- name?: string;
739
- /** An extended description of your secret group.
1774
+ api_key?: string;
1775
+ /** The service ID under which the API key (see the `api_key` field) is created. This service ID is added to the
1776
+ * access groups that you assign for this secret.
1777
+ */
1778
+ service_id?: string;
1779
+ /** Set to `true` to reuse the service ID and API key for this secret.
740
1780
  *
741
- * To protect your privacy, do not use personal data, such as your name or location, as a description for your
742
- * secret group.
1781
+ * Use this field to control whether to use the same service ID and API key for future read operations on this
1782
+ * secret. If set to `true`, the service reuses the current credentials. If set to `false`, a new service ID and
1783
+ * API key is generated each time that the secret is read or accessed.
743
1784
  */
744
- description?: string;
745
- /** The date the secret group was created. The date format follows RFC 3339. */
1785
+ reuse_api_key?: boolean;
1786
+ }
1787
+ /** Properties that describe a secret version. */
1788
+ interface IAMCredentialsSecretVersionMetadata extends SecretVersionMetadata {
1789
+ /** The ID of the secret version. */
1790
+ id?: string;
1791
+ /** The date that the version of the secret was created. */
746
1792
  creation_date?: string;
747
- /** Updates when the metadata of the secret group is modified. The date format follows RFC 3339. */
748
- last_update_date?: string;
749
- /** The MIME type that represents the secret group. */
750
- type?: string;
751
- /** SecretGroupResource accepts additional properties. */
752
- [propName: string]: any;
1793
+ /** The unique identifier for the entity that created the secret version. */
1794
+ created_by?: string;
753
1795
  }
754
- /** Metadata properties that describe a secret. */
755
- interface SecretMetadata {
1796
+ /** Configuration for the public certificates engine. */
1797
+ interface PublicCertSecretEngineRootConfig extends GetConfigResourcesItem {
1798
+ /** The certificate authority configurations that are associated with your instance. */
1799
+ certificate_authorities?: ConfigElementMetadata[];
1800
+ /** The DNS provider configurations that are associated with your instance. */
1801
+ dns_providers?: ConfigElementMetadata[];
1802
+ }
1803
+ /** Metadata properties that describe a public certificate secret. */
1804
+ interface PublicCertificateMetadataSecretResource extends SecretMetadata {
756
1805
  /** The unique ID of the secret. */
757
1806
  id?: string;
758
1807
  /** Labels that you can use to filter for secrets in your instance.
@@ -787,23 +1836,6 @@ declare namespace SecretsManagerV1 {
787
1836
  state_description?: string;
788
1837
  /** The secret type. */
789
1838
  secret_type?: string;
790
- /** The date the secret material expires. The date format follows RFC 3339.
791
- *
792
- * You can set an expiration date on supported secret types at their creation. If you create a secret without
793
- * specifying an expiration date, the secret does not expire. The `expiration_date` field is supported for the
794
- * following secret types:
795
- *
796
- * - `arbitrary`
797
- * - `username_password`.
798
- */
799
- expiration_date?: string;
800
- /** The time-to-live (TTL) or lease duration to assign to generated credentials.
801
- *
802
- * For `iam_credentials` secrets, the TTL defines for how long each generated API key remains valid. The value can
803
- * be either an integer that specifies the number of seconds, or the string representation of a duration, such as
804
- * `120m` or `24h`.
805
- */
806
- ttl?: any;
807
1839
  /** The Cloud Resource Name (CRN) that uniquely identifies the resource. */
808
1840
  crn?: string;
809
1841
  /** The date the secret was created. The date format follows RFC 3339. */
@@ -812,80 +1844,37 @@ declare namespace SecretsManagerV1 {
812
1844
  created_by?: string;
813
1845
  /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
814
1846
  last_update_date?: string;
815
- }
816
- /** The metadata of a secret. */
817
- interface SecretMetadataRequest {
818
- /** The metadata that describes the resource array. */
819
- metadata: CollectionMetadata;
820
- /** A collection of resources. */
821
- resources: SecretMetadata[];
822
- }
823
- /** Properties that are associated with a rotation policy. */
824
- interface SecretPolicyRotation {
825
- /** The MIME type that represents the policy. Currently, only the default is supported. */
826
- type: string;
827
- /** The secret rotation time interval. */
828
- rotation: SecretPolicyRotationRotation;
829
- }
830
- /** The secret rotation time interval. */
831
- interface SecretPolicyRotationRotation {
832
- /** Specifies the length of the secret rotation time interval. */
833
- interval: number;
834
- /** Specifies the units for the secret rotation time interval. */
835
- unit: string;
836
- }
837
- /** SecretResource. */
838
- interface SecretResource {
839
- }
840
- /** Properties that are associated with a specific secret version. */
841
- interface SecretVersion {
842
- /** The ID of the secret version. */
843
- id?: string;
844
- /** The date that the version of the secret was created. */
845
- creation_date?: string;
846
- /** The unique identifier for the entity that created the secret. */
847
- created_by?: string;
848
- /** Indicates whether the version of the secret was created by automatic rotation. */
849
- auto_rotated?: boolean;
850
- }
851
- /** Configuration that is used to generate IAM credentials. */
852
- interface EngineConfigOneOfIAMSecretEngineRootConfig extends EngineConfigOneOf {
853
- /** An IBM Cloud API key that has the capability to create and manage service IDs.
1847
+ /** The number of versions the secret has. */
1848
+ versions_total?: number;
1849
+ /** The distinguished name that identifies the entity that signed and issued the certificate. */
1850
+ issuer?: string;
1851
+ /** Determines whether your issued certificate is bundled with intermediate certificates.
854
1852
  *
855
- * The API key must be assigned the Editor platform role on the Access Groups Service and the Operator platform
856
- * role on the IAM Identity Service. For more information, see [Enabling the IAM secrets
857
- * engine](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-secret-engines#configure-iam-engine).
1853
+ * Set to `false` for the certificate file to contain only the issued certificate.
858
1854
  */
859
- api_key: string;
860
- /** The hash value of the IBM Cloud API key that is used to create and manage service IDs. */
861
- api_key_hash?: string;
862
- }
863
- /** The base schema for retrieving a policy that is associated with a secret. */
864
- interface GetSecretPoliciesOneOfGetSecretPolicyRotation extends GetSecretPoliciesOneOf {
865
- /** The metadata that describes the resource array. */
866
- metadata: CollectionMetadata;
867
- /** A collection of resources. */
868
- resources: GetSecretPoliciesOneOfGetSecretPolicyRotationResourcesItem[];
869
- }
870
- /** Delete the credentials that are associated with an `iam_credentials` secret. */
871
- interface SecretActionOneOfDeleteCredentialsForIAMSecret extends SecretActionOneOf {
872
- /** The service ID that you want to delete. It is deleted together with its API key. */
873
- service_id: string;
874
- }
875
- /** The request body of a `rotate` action. */
876
- interface SecretActionOneOfRotateArbitrarySecretBody extends SecretActionOneOf {
877
- /** The new secret data to assign to an `arbitrary` secret. */
878
- payload: string;
879
- }
880
- /** The request body of a `rotate` action. */
881
- interface SecretActionOneOfRotateUsernamePasswordSecretBody extends SecretActionOneOf {
882
- /** The new password to assign to a `username_password` secret. */
883
- password: string;
1855
+ bundle_certs?: boolean;
1856
+ /** The identifier for the cryptographic algorthim to be used by the issuing certificate authority to sign the
1857
+ * ceritificate.
1858
+ */
1859
+ algorithm?: string;
1860
+ /** The identifier for the cryptographic algorithm to be used to generate the public key that is associated with
1861
+ * the certificate.
1862
+ */
1863
+ key_algorithm?: string;
1864
+ /** The alternative names that are defined for the certificate. */
1865
+ alt_names?: string[];
1866
+ /** The fully qualified domain name or host domain name for the certificate. */
1867
+ common_name?: string;
1868
+ /** Indicates whether the certificate was ordered with an associated intermediate certificate. */
1869
+ intermediate_included?: boolean;
1870
+ /** Indicates whether the certificate was ordered with an associated private key. */
1871
+ private_key_included?: boolean;
1872
+ rotation?: Rotation;
1873
+ /** Issuance information that is associated with your certificate. */
1874
+ issuance_info?: IssuanceInfo;
884
1875
  }
885
- /** The base schema for secrets. */
886
- interface SecretResourceArbitrarySecretResource extends SecretResource {
887
- /** The MIME type that represents the secret. */
888
- type?: string;
1876
+ /** Properties that describe a secret. */
1877
+ interface PublicCertificateSecretResource extends SecretResource {
889
1878
  /** The v4 UUID that uniquely identifies the secret. */
890
1879
  id?: string;
891
1880
  /** A human-readable alias to assign to your secret.
@@ -928,28 +1917,99 @@ declare namespace SecretsManagerV1 {
928
1917
  created_by?: string;
929
1918
  /** Updates when the actual secret is modified. The date format follows RFC 3339. */
930
1919
  last_update_date?: string;
931
- /** An array that contains metadata for each secret version. */
932
- versions?: SecretVersion[];
933
- /** The date the secret material expires. The date format follows RFC 3339.
1920
+ /** The number of versions that are associated with a secret. */
1921
+ versions_total?: number;
1922
+ /** An array that contains metadata for each secret version. For more information on the metadata properties,
1923
+ * see [Get secret version metadata](#get-secret-version-metadata).
1924
+ */
1925
+ versions?: JsonObject[];
1926
+ /** The distinguished name that identifies the entity that signed and issued the certificate. */
1927
+ issuer?: string;
1928
+ /** Determines whether your issued certificate is bundled with intermediate certificates.
934
1929
  *
935
- * You can set an expiration date on supported secret types at their creation. If you create a secret without
936
- * specifying an expiration date, the secret does not expire. The `expiration_date` field is supported for the
937
- * following secret types:
1930
+ * Set to `false` for the certificate file to contain only the issued certificate.
1931
+ */
1932
+ bundle_certs?: boolean;
1933
+ /** The name of the certificate authority configuration.
938
1934
  *
939
- * - `arbitrary`
940
- * - `username_password`.
1935
+ * To view a list of your configured authorities, use the [List configurations API](#get-secret-config-element).
941
1936
  */
942
- expiration_date?: string;
943
- /** The new secret data to assign to an `arbitrary` secret. */
944
- payload?: string;
1937
+ ca?: string;
1938
+ /** The name of the DNS provider configuration.
1939
+ *
1940
+ * To view a list of your configured authorities, use the [List configurations API](#get-secret-config-element).
1941
+ */
1942
+ dns?: string;
1943
+ /** The identifier for the cryptographic algorthim to be used by the issuing certificate authority to sign the
1944
+ * ceritificate.
1945
+ */
1946
+ algorithm?: string;
1947
+ /** The identifier for the cryptographic algorithm to be used to generate the public key that is associated with
1948
+ * the certificate.
1949
+ *
1950
+ * The algorithm that you select determines the encryption algorthim (`RSA` or `ECDSA`) and key size to be used to
1951
+ * generate keys and sign certificates. For longer living certificates it is recommended to use longer keys to
1952
+ * provide more encryption protection.
1953
+ */
1954
+ key_algorithm?: string;
1955
+ /** The alternative names that are defined for the certificate. */
1956
+ alt_names?: string[];
1957
+ /** The fully qualified domain name or host domain name for the certificate. */
1958
+ common_name?: string;
1959
+ rotation?: Rotation;
1960
+ /** Issuance information that is associated with your certificate. */
1961
+ issuance_info?: IssuanceInfo;
1962
+ /** The data that is associated with the secret. */
945
1963
  secret_data?: JsonObject;
946
1964
  }
947
- /** The base schema for secrets. */
948
- interface SecretResourceIAMSecretResource extends SecretResource {
949
- /** The MIME type that represents the secret. */
950
- type?: string;
951
- /** The v4 UUID that uniquely identifies the secret. */
1965
+ /** The request body of a `rotate` action. */
1966
+ interface RotateArbitrarySecretBody extends SecretAction {
1967
+ /** The new secret data to assign to an `arbitrary` secret. */
1968
+ payload: string;
1969
+ }
1970
+ /** The request body of a rotate certificate action. */
1971
+ interface RotateCertificateBody extends SecretAction {
1972
+ /** The new data to associate with the certificate. */
1973
+ certificate: string;
1974
+ /** The new private key to associate with the certificate. */
1975
+ private_key?: string;
1976
+ /** The new intermediate certificate to associate with the certificate. */
1977
+ intermediate?: string;
1978
+ }
1979
+ /** The request body of a `rotate` action. */
1980
+ interface RotatePublicCertBody extends SecretAction {
1981
+ /** Determine whether keys should be rotated. */
1982
+ rotate_keys: boolean;
1983
+ }
1984
+ /** The request body of a `rotate` action. */
1985
+ interface RotateUsernamePasswordSecretBody extends SecretAction {
1986
+ /** The new password to assign to a `username_password` secret. */
1987
+ password: string;
1988
+ }
1989
+ /** The secret rotation time interval. */
1990
+ interface SecretPolicyRotationRotationPolicyRotation extends SecretPolicyRotationRotation {
1991
+ /** Specifies the length of the secret rotation time interval. */
1992
+ interval: number;
1993
+ /** Specifies the units for the secret rotation time interval. */
1994
+ unit: string;
1995
+ }
1996
+ /** The `public_cert` secret rotation policy. */
1997
+ interface SecretPolicyRotationRotationPublicCertPolicyRotation extends SecretPolicyRotationRotation {
1998
+ auto_rotate: boolean;
1999
+ rotate_keys: boolean;
2000
+ }
2001
+ /** Metadata properties that describe a username_password secret. */
2002
+ interface UsernamePasswordSecretMetadata extends SecretMetadata {
2003
+ /** The unique ID of the secret. */
952
2004
  id?: string;
2005
+ /** Labels that you can use to filter for secrets in your instance.
2006
+ *
2007
+ * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
2008
+ * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
2009
+ *
2010
+ * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
2011
+ */
2012
+ labels?: string[];
953
2013
  /** A human-readable alias to assign to your secret.
954
2014
  *
955
2015
  * To protect your privacy, do not use personal data, such as your name or location, as an alias for your secret.
@@ -966,14 +2026,6 @@ declare namespace SecretsManagerV1 {
966
2026
  * If you omit this parameter, your secret is assigned to the `default` secret group.
967
2027
  */
968
2028
  secret_group_id?: string;
969
- /** Labels that you can use to filter for secrets in your instance.
970
- *
971
- * Up to 30 labels can be created. Labels can be between 2-30 characters, including spaces. Special characters not
972
- * permitted include the angled bracket, comma, colon, ampersand, and vertical pipe character (|).
973
- *
974
- * To protect your privacy, do not use personal data, such as your name or location, as a label for your secret.
975
- */
976
- labels?: string[];
977
2029
  /** The secret state based on NIST SP 800-57. States are integers and correspond to the Pre-activation = 0,
978
2030
  * Active = 1, Suspended = 2, Deactivated = 3, and Destroyed = 5 values.
979
2031
  */
@@ -982,52 +2034,29 @@ declare namespace SecretsManagerV1 {
982
2034
  state_description?: string;
983
2035
  /** The secret type. */
984
2036
  secret_type?: string;
985
- /** The Cloud Resource Name (CRN) that uniquely identifies your Secrets Manager resource. */
2037
+ /** The Cloud Resource Name (CRN) that uniquely identifies the resource. */
986
2038
  crn?: string;
987
2039
  /** The date the secret was created. The date format follows RFC 3339. */
988
2040
  creation_date?: string;
989
2041
  /** The unique identifier for the entity that created the secret. */
990
2042
  created_by?: string;
991
- /** Updates when the actual secret is modified. The date format follows RFC 3339. */
2043
+ /** Updates when any part of the secret metadata is modified. The date format follows RFC 3339. */
992
2044
  last_update_date?: string;
993
- /** An array that contains metadata for each secret version. */
994
- versions?: SecretVersion[];
995
- /** The time-to-live (TTL) or lease duration to assign to generated credentials.
996
- *
997
- * For `iam_credentials` secrets, the TTL defines for how long each generated API key remains valid. The value can
998
- * be either an integer that specifies the number of seconds, or the string representation of a duration, such as
999
- * `120m` or `24h`.
1000
- */
1001
- ttl?: any;
1002
- /** The access groups that define the capabilities of the service ID and API key that are generated for an
1003
- * `iam_credentials` secret.
1004
- *
1005
- * **Tip:** To find the ID of an access group, go to **Manage > Access (IAM) > Access groups** in the IBM Cloud
1006
- * console. Select the access group to inspect, and click **Details** to view its ID.
1007
- */
1008
- access_groups?: string[];
1009
- /** The API key that is generated for this secret.
2045
+ /** The number of versions the secret has. */
2046
+ versions_total?: number;
2047
+ /** The date the secret material expires. The date format follows RFC 3339.
1010
2048
  *
1011
- * After the secret reaches the end of its lease (see the `ttl` field), the API key is deleted automatically. If
1012
- * you want to continue to use the same API key for future read operations, see the `reuse_api_key` field.
1013
- */
1014
- api_key?: string;
1015
- /** The service ID under which the API key (see the `api_key` field) is created. This service ID is added to the
1016
- * access groups that you assign for this secret.
1017
- */
1018
- service_id?: string;
1019
- /** Set to `true` to reuse the service ID and API key for this secret.
2049
+ * You can set an expiration date on supported secret types at their creation. If you create a secret without
2050
+ * specifying an expiration date, the secret does not expire. The `expiration_date` field is supported for the
2051
+ * following secret types:
1020
2052
  *
1021
- * Use this field to control whether to use the same service ID and API key for future read operations on this
1022
- * secret. If set to `true`, the service reuses the current credentials. If set to `false`, a new service ID and
1023
- * API key is generated each time that the secret is read or accessed.
2053
+ * - `arbitrary`
2054
+ * - `username_password`.
1024
2055
  */
1025
- reuse_api_key?: boolean;
2056
+ expiration_date?: string;
1026
2057
  }
1027
- /** The base schema for secrets. */
1028
- interface SecretResourceUsernamePasswordSecretResource extends SecretResource {
1029
- /** The MIME type that represents the secret. */
1030
- type?: string;
2058
+ /** Properties that describe a secret. */
2059
+ interface UsernamePasswordSecretResource extends SecretResource {
1031
2060
  /** The v4 UUID that uniquely identifies the secret. */
1032
2061
  id?: string;
1033
2062
  /** A human-readable alias to assign to your secret.
@@ -1070,8 +2099,12 @@ declare namespace SecretsManagerV1 {
1070
2099
  created_by?: string;
1071
2100
  /** Updates when the actual secret is modified. The date format follows RFC 3339. */
1072
2101
  last_update_date?: string;
1073
- /** An array that contains metadata for each secret version. */
1074
- versions?: SecretVersion[];
2102
+ /** The number of versions that are associated with a secret. */
2103
+ versions_total?: number;
2104
+ /** An array that contains metadata for each secret version. For more information on the metadata properties,
2105
+ * see [Get secret version metadata](#get-secret-version-metadata).
2106
+ */
2107
+ versions?: JsonObject[];
1075
2108
  /** The username to assign to this secret. */
1076
2109
  username?: string;
1077
2110
  /** The password to assign to this secret. */
@@ -1094,5 +2127,16 @@ declare namespace SecretsManagerV1 {
1094
2127
  */
1095
2128
  next_rotation_date?: string;
1096
2129
  }
2130
+ /** Properties that describe a secret version. */
2131
+ interface UsernamePasswordSecretVersionMetadata extends SecretVersionMetadata {
2132
+ /** The ID of the secret version. */
2133
+ id?: string;
2134
+ /** The date that the version of the secret was created. */
2135
+ creation_date?: string;
2136
+ /** The unique identifier for the entity that created the secret version. */
2137
+ created_by?: string;
2138
+ /** Indicates whether the version of the secret was created by automatic rotation. */
2139
+ auto_rotated?: boolean;
2140
+ }
1097
2141
  }
1098
2142
  export = SecretsManagerV1;