vaultrs/api/kv2/
responses.rs

1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4use serde_json::Value;
5
6/// Response from executing
7/// [ReadConfigurationRequest][crate::api::kv2::requests::ReadConfigurationRequest]
8#[derive(Deserialize, Debug, Serialize)]
9pub struct ReadConfigurationResponse {
10    pub cas_required: bool,
11    pub delete_version_after: String,
12    pub max_versions: u64,
13}
14
15/// Response from executing
16/// [ReadSecretRequest][crate::api::kv2::requests::ReadSecretRequest]
17#[derive(Deserialize, Debug, Serialize)]
18pub struct ReadSecretResponse {
19    pub data: Value,
20    pub metadata: SecretVersionMetadata,
21}
22
23/// Response from executing
24/// [ReadSecretRequest][crate::api::kv2::requests::ReadSecretRequest]
25#[derive(Deserialize, Debug, Serialize)]
26pub struct SecretVersionMetadata {
27    pub created_time: String,
28    pub deletion_time: String,
29    pub custom_metadata: Option<HashMap<String, String>>,
30    pub destroyed: bool,
31    pub version: u64,
32}
33
34/// Response from executing
35/// [ListSecretsRequest][crate::api::kv2::requests::ListSecretsRequest]
36#[derive(Deserialize, Debug, Serialize)]
37pub struct ListSecretsResponse {
38    pub keys: Vec<String>,
39}
40
41/// Response from executing
42/// [ReadSecretMetadataRequest][crate::api::kv2::requests::ReadSecretMetadataRequest]
43#[derive(Deserialize, Debug, Serialize)]
44pub struct ReadSecretMetadataResponse {
45    pub cas_required: bool,
46    pub created_time: String,
47    pub current_version: u64,
48    pub delete_version_after: String,
49    pub max_versions: u64,
50    pub oldest_version: u64,
51    pub updated_time: String,
52    pub custom_metadata: Option<HashMap<String, String>>,
53    pub versions: HashMap<String, SecretMetadata>,
54}
55
56/// Response from executing
57/// [ReadSecretMetadataRequest][crate::api::kv2::requests::ReadSecretMetadataRequest]
58#[derive(Deserialize, Debug, Serialize)]
59pub struct SecretMetadata {
60    pub created_time: String,
61    pub deletion_time: String,
62    pub destroyed: bool,
63}