Skip to main content

akeyless_api/models/
create_secret.rs

1/*
2 * Akeyless API
3 *
4 * The purpose of this application is to provide access to Akeyless API.
5 *
6 * The version of the OpenAPI document: 3.0
7 * Contact: support@akeyless.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct CreateSecret {
16    /// for personal password manager
17    #[serde(rename = "accessibility", skip_serializing_if = "Option::is_none")]
18    pub accessibility: Option<String>,
19    /// Trigger an event when a secret value changed [true/false] (Relevant only for Static Secret)
20    #[serde(rename = "change-event", skip_serializing_if = "Option::is_none")]
21    pub change_event: Option<String>,
22    /// For Password Management use, additional fields
23    #[serde(rename = "custom-field", skip_serializing_if = "Option::is_none")]
24    pub custom_field: Option<std::collections::HashMap<String, String>>,
25    /// Protection from accidental deletion of this object [true/false]
26    #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
27    pub delete_protection: Option<String>,
28    /// Description of the object
29    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
30    pub description: Option<String>,
31    /// Secret format [text/json/key-value] (relevant only for type 'generic')
32    #[serde(rename = "format", skip_serializing_if = "Option::is_none")]
33    pub format: Option<String>,
34    /// For Password Management use, reflect the website context
35    #[serde(rename = "inject-url", skip_serializing_if = "Option::is_none")]
36    pub inject_url: Option<Vec<String>>,
37    /// Additional custom fields to associate with the item
38    #[serde(rename = "item-custom-fields", skip_serializing_if = "Option::is_none")]
39    pub item_custom_fields: Option<std::collections::HashMap<String, String>>,
40    /// Set output format to JSON
41    #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
42    pub json: Option<bool>,
43    /// Set the maximum number of versions, limited by the account settings defaults.
44    #[serde(rename = "max-versions", skip_serializing_if = "Option::is_none")]
45    pub max_versions: Option<String>,
46    /// Deprecated - use description
47    #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
48    pub metadata: Option<String>,
49    /// The provided value is a multiline value (separated by '\\n')
50    #[serde(rename = "multiline_value", skip_serializing_if = "Option::is_none")]
51    pub multiline_value: Option<bool>,
52    /// Secret name
53    #[serde(rename = "name")]
54    pub name: String,
55    /// For Password Management use, additional fields
56    #[serde(rename = "password", skip_serializing_if = "Option::is_none")]
57    pub password: Option<String>,
58    /// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
59    #[serde(rename = "protection_key", skip_serializing_if = "Option::is_none")]
60    pub protection_key: Option<String>,
61    /// Deprecated. use secure-access-certificate-issuer
62    #[serde(rename = "secure-access-bastion-issuer", skip_serializing_if = "Option::is_none")]
63    pub secure_access_bastion_issuer: Option<String>,
64    /// Path to the SSH Certificate Issuer for your Akeyless Secure Access
65    #[serde(rename = "secure-access-certificate-issuer", skip_serializing_if = "Option::is_none")]
66    pub secure_access_certificate_issuer: Option<String>,
67    /// Enable/Disable secure remote access [true/false]
68    #[serde(rename = "secure-access-enable", skip_serializing_if = "Option::is_none")]
69    pub secure_access_enable: Option<String>,
70    #[serde(rename = "secure-access-gateway", skip_serializing_if = "Option::is_none")]
71    pub secure_access_gateway: Option<String>,
72    /// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
73    #[serde(rename = "secure-access-host", skip_serializing_if = "Option::is_none")]
74    pub secure_access_host: Option<Vec<String>>,
75    /// Remote Desktop Username
76    #[serde(rename = "secure-access-rdp-user", skip_serializing_if = "Option::is_none")]
77    pub secure_access_rdp_user: Option<String>,
78    /// Static-Secret values contains SSH Credentials, either Private Key or Password [password/private-key]
79    #[serde(rename = "secure-access-ssh-creds", skip_serializing_if = "Option::is_none")]
80    pub secure_access_ssh_creds: Option<String>,
81    /// Override the SSH username as indicated in SSH Certificate Issuer
82    #[serde(rename = "secure-access-ssh-user", skip_serializing_if = "Option::is_none")]
83    pub secure_access_ssh_user: Option<String>,
84    /// Destination URL to inject secrets
85    #[serde(rename = "secure-access-url", skip_serializing_if = "Option::is_none")]
86    pub secure_access_url: Option<String>,
87    /// Secure browser via Akeyless's Secure Remote Access (SRA)
88    #[serde(rename = "secure-access-web-browsing", skip_serializing_if = "Option::is_none")]
89    pub secure_access_web_browsing: Option<bool>,
90    /// Web-Proxy via Akeyless's Secure Remote Access (SRA)
91    #[serde(rename = "secure-access-web-proxy", skip_serializing_if = "Option::is_none")]
92    pub secure_access_web_proxy: Option<bool>,
93    /// Add tags attached to this object
94    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
95    pub tags: Option<Vec<String>>,
96    /// Authentication token (see `/auth` and `/configure`)
97    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
98    pub token: Option<String>,
99    /// The secret sub type [generic/password]
100    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
101    pub r#type: Option<String>,
102    /// The universal identity token, Required only for universal_identity authentication
103    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
104    pub uid_token: Option<String>,
105    /// For Password Management use
106    #[serde(rename = "username", skip_serializing_if = "Option::is_none")]
107    pub username: Option<String>,
108    /// The secret value (relevant only for type 'generic')
109    #[serde(rename = "value")]
110    pub value: String,
111}
112
113impl CreateSecret {
114    pub fn new(name: String, value: String) -> CreateSecret {
115        CreateSecret {
116            accessibility: None,
117            change_event: None,
118            custom_field: None,
119            delete_protection: None,
120            description: None,
121            format: None,
122            inject_url: None,
123            item_custom_fields: None,
124            json: None,
125            max_versions: None,
126            metadata: None,
127            multiline_value: None,
128            name,
129            password: None,
130            protection_key: None,
131            secure_access_bastion_issuer: None,
132            secure_access_certificate_issuer: None,
133            secure_access_enable: None,
134            secure_access_gateway: None,
135            secure_access_host: None,
136            secure_access_rdp_user: None,
137            secure_access_ssh_creds: None,
138            secure_access_ssh_user: None,
139            secure_access_url: None,
140            secure_access_web_browsing: None,
141            secure_access_web_proxy: None,
142            tags: None,
143            token: None,
144            r#type: None,
145            uid_token: None,
146            username: None,
147            value,
148        }
149    }
150}
151