vaultrs/api/ssh/
responses.rs

1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5/// Response from executing
6/// [ReadRoleRequest][crate::api::ssh::requests::ReadRoleRequest]
7#[derive(Deserialize, Debug, Serialize)]
8pub struct ReadRoleResponse {
9    pub algorithm_signer: String,
10    pub allow_bare_domains: bool,
11    pub allow_host_certificates: bool,
12    pub allow_subdomains: bool,
13    pub allow_user_certificates: bool,
14    pub allow_user_key_ids: bool,
15    pub allowed_user_key_lengths: Option<HashMap<String, u64>>,
16    pub allowed_critical_options: Option<String>,
17    pub allowed_domains: String,
18    pub allowed_extensions: String,
19    pub allowed_users: String,
20    pub allowed_users_template: bool,
21    pub admin_user: Option<String>,
22    pub cidr_list: Option<String>,
23    pub default_critical_options: Option<HashMap<String, String>>,
24    pub default_extensions: Option<HashMap<String, String>>,
25    pub default_extensions_template: Option<bool>,
26    pub default_user: String,
27    pub key_bits: u64,
28    pub key_id_format: String,
29    pub key_type: String,
30    pub max_ttl: u64,
31    pub ttl: u64,
32}
33
34/// Response from executing
35/// [ListRolesRequest][crate::api::ssh::requests::ListRolesRequest]
36#[derive(Deserialize, Debug, Serialize)]
37pub struct ListRolesResponse {
38    pub keys: Vec<String>,
39    pub key_info: HashMap<String, KeyInfo>,
40}
41
42/// Response from executing
43/// [ListRolesRequest][crate::api::ssh::requests::ListRolesRequest]
44#[derive(Deserialize, Debug, Serialize)]
45pub struct KeyInfo {
46    pub key_type: String,
47}
48
49/// Response from executing
50/// [ListZeroAddressRolesRequest][crate::api::ssh::requests::ListZeroAddressRolesRequest]
51#[derive(Deserialize, Debug, Serialize)]
52pub struct ListZeroAddressRolesResponse {
53    pub roles: Vec<String>,
54}
55
56/// Response from executing
57/// [GenerateSSHCredsRequest][crate::api::ssh::requests::GenerateSSHCredsRequest]
58#[derive(Deserialize, Debug, Serialize)]
59pub struct GenerateSSHCredsResponse {
60    pub allowed_users: Option<String>,
61    pub admin_user: Option<String>,
62    pub cidr_list: Option<String>,
63    pub default_user: Option<String>,
64    pub exclude_cidr_list: Option<String>,
65    pub install_script: Option<String>,
66    pub key: String,
67    pub key_bits: Option<u64>,
68    pub key_option_specs: Option<String>,
69    pub key_type: String,
70    pub port: u64,
71}
72
73/// Response from executing
74/// [ListRolesByIPRequest][crate::api::ssh::requests::ListRolesByIPRequest]
75#[derive(Deserialize, Debug, Serialize)]
76pub struct ListRolesByIPResponse {
77    pub roles: Vec<String>,
78}
79
80/// Response from executing
81/// [VerifySSHOTPRequest][crate::api::ssh::requests::VerifySSHOTPRequest]
82#[derive(Deserialize, Debug, Serialize)]
83pub struct VerifySSHOTPResponse {
84    pub ip: String,
85    pub username: String,
86}
87
88/// Response from executing
89/// [SubmitCAInfoRequest][crate::api::ssh::requests::SubmitCAInfoRequest]
90#[derive(Deserialize, Debug, Serialize)]
91pub struct SubmitCAInfoResponse {
92    pub public_key: String,
93}
94
95/// Response from executing
96/// [ReadPublicKeyRequest][crate::api::ssh::requests::ReadPublicKeyRequest]
97#[derive(Deserialize, Debug, Serialize)]
98pub struct ReadPublicKeyResponse {
99    pub public_key: String,
100}
101
102/// Response from executing
103/// [SignSSHKeyRequest][crate::api::ssh::requests::SignSSHKeyRequest]
104#[derive(Deserialize, Debug, Serialize)]
105pub struct SignSSHKeyResponse {
106    pub serial_number: String,
107    pub signed_key: String,
108}