Skip to main content

akeyless_api/models/
rotated_secret_create_custom.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 RotatedSecretCreateCustom {
16    /// The credentials to connect with use-user-creds/use-target-creds
17    #[serde(rename = "authentication-credentials", skip_serializing_if = "Option::is_none")]
18    pub authentication_credentials: Option<String>,
19    /// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
20    #[serde(rename = "auto-rotate", skip_serializing_if = "Option::is_none")]
21    pub auto_rotate: Option<String>,
22    /// Secret payload to be sent with rotation request
23    #[serde(rename = "custom-payload", skip_serializing_if = "Option::is_none")]
24    pub custom_payload: Option<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    /// Enable password policy
32    #[serde(rename = "enable-password-policy", skip_serializing_if = "Option::is_none")]
33    pub enable_password_policy: Option<String>,
34    /// Additional custom fields to associate with the item
35    #[serde(rename = "item-custom-fields", skip_serializing_if = "Option::is_none")]
36    pub item_custom_fields: Option<std::collections::HashMap<String, String>>,
37    /// Set output format to JSON
38    #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
39    pub json: Option<bool>,
40    /// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
41    #[serde(rename = "key", skip_serializing_if = "Option::is_none")]
42    pub key: Option<String>,
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    /// Rotated secret name
47    #[serde(rename = "name")]
48    pub name: String,
49    /// The length of the password to be generated
50    #[serde(rename = "password-length", skip_serializing_if = "Option::is_none")]
51    pub password_length: Option<String>,
52    /// Rotate the value of the secret after SRA session ends [true/false]
53    #[serde(rename = "rotate-after-disconnect", skip_serializing_if = "Option::is_none")]
54    pub rotate_after_disconnect: Option<String>,
55    /// How many days before the rotation of the item would you like to be notified
56    #[serde(rename = "rotation-event-in", skip_serializing_if = "Option::is_none")]
57    pub rotation_event_in: Option<Vec<String>>,
58    /// The Hour of the rotation in UTC
59    #[serde(rename = "rotation-hour", skip_serializing_if = "Option::is_none")]
60    pub rotation_hour: Option<i32>,
61    /// The number of days to wait between every automatic key rotation (1-365)
62    #[serde(rename = "rotation-interval", skip_serializing_if = "Option::is_none")]
63    pub rotation_interval: Option<String>,
64    /// Allow providing external user for a domain users
65    #[serde(rename = "secure-access-allow-external-user", skip_serializing_if = "Option::is_none")]
66    pub secure_access_allow_external_user: Option<bool>,
67    /// Deprecated. use secure-access-certificate-issuer
68    #[serde(rename = "secure-access-bastion-issuer", skip_serializing_if = "Option::is_none")]
69    pub secure_access_bastion_issuer: Option<String>,
70    /// Path to the SSH Certificate Issuer for your Akeyless Secure Access
71    #[serde(rename = "secure-access-certificate-issuer", skip_serializing_if = "Option::is_none")]
72    pub secure_access_certificate_issuer: Option<String>,
73    /// Enable/Disable secure remote access [true/false]
74    #[serde(rename = "secure-access-enable", skip_serializing_if = "Option::is_none")]
75    pub secure_access_enable: Option<String>,
76    /// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
77    #[serde(rename = "secure-access-host", skip_serializing_if = "Option::is_none")]
78    pub secure_access_host: Option<Vec<String>>,
79    /// Default domain name server. i.e. microsoft.com
80    #[serde(rename = "secure-access-rdp-domain", skip_serializing_if = "Option::is_none")]
81    pub secure_access_rdp_domain: Option<String>,
82    /// Override the RDP Domain username
83    #[serde(rename = "secure-access-rdp-user", skip_serializing_if = "Option::is_none")]
84    pub secure_access_rdp_user: Option<String>,
85    /// Override the SSH username as indicated in SSH Certificate Issuer
86    #[serde(rename = "secure-access-ssh-user", skip_serializing_if = "Option::is_none")]
87    pub secure_access_ssh_user: Option<String>,
88    /// Destination URL to inject secrets
89    #[serde(rename = "secure-access-url", skip_serializing_if = "Option::is_none")]
90    pub secure_access_url: Option<String>,
91    /// Enable Web Secure Remote Access
92    #[serde(rename = "secure-access-web", skip_serializing_if = "Option::is_none")]
93    pub secure_access_web: Option<bool>,
94    /// Secure browser via Akeyless's Secure Remote Access (SRA)
95    #[serde(rename = "secure-access-web-browsing", skip_serializing_if = "Option::is_none")]
96    pub secure_access_web_browsing: Option<bool>,
97    /// Web-Proxy via Akeyless's Secure Remote Access (SRA)
98    #[serde(rename = "secure-access-web-proxy", skip_serializing_if = "Option::is_none")]
99    pub secure_access_web_proxy: Option<bool>,
100    /// Add tags attached to this object
101    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
102    pub tags: Option<Vec<String>>,
103    /// The target name to associate
104    #[serde(rename = "target-name")]
105    pub target_name: String,
106    /// Maximum allowed time in seconds for the custom rotator to return the results
107    #[serde(rename = "timeout-sec", skip_serializing_if = "Option::is_none")]
108    pub timeout_sec: Option<i64>,
109    /// Authentication token (see `/auth` and `/configure`)
110    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
111    pub token: Option<String>,
112    /// The universal identity token, Required only for universal_identity authentication
113    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
114    pub uid_token: Option<String>,
115    /// Password must contain capital letters [true/false]
116    #[serde(rename = "use-capital-letters", skip_serializing_if = "Option::is_none")]
117    pub use_capital_letters: Option<String>,
118    /// Password must contain lower case letters [true/false]
119    #[serde(rename = "use-lower-letters", skip_serializing_if = "Option::is_none")]
120    pub use_lower_letters: Option<String>,
121    /// Password must contain numbers [true/false]
122    #[serde(rename = "use-numbers", skip_serializing_if = "Option::is_none")]
123    pub use_numbers: Option<String>,
124    /// Password must contain special characters [true/false]
125    #[serde(rename = "use-special-characters", skip_serializing_if = "Option::is_none")]
126    pub use_special_characters: Option<String>,
127}
128
129impl RotatedSecretCreateCustom {
130    pub fn new(name: String, target_name: String) -> RotatedSecretCreateCustom {
131        RotatedSecretCreateCustom {
132            authentication_credentials: None,
133            auto_rotate: None,
134            custom_payload: None,
135            delete_protection: None,
136            description: None,
137            enable_password_policy: None,
138            item_custom_fields: None,
139            json: None,
140            key: None,
141            max_versions: None,
142            name,
143            password_length: None,
144            rotate_after_disconnect: None,
145            rotation_event_in: None,
146            rotation_hour: None,
147            rotation_interval: None,
148            secure_access_allow_external_user: None,
149            secure_access_bastion_issuer: None,
150            secure_access_certificate_issuer: None,
151            secure_access_enable: None,
152            secure_access_host: None,
153            secure_access_rdp_domain: None,
154            secure_access_rdp_user: None,
155            secure_access_ssh_user: None,
156            secure_access_url: None,
157            secure_access_web: None,
158            secure_access_web_browsing: None,
159            secure_access_web_proxy: None,
160            tags: None,
161            target_name,
162            timeout_sec: None,
163            token: None,
164            uid_token: None,
165            use_capital_letters: None,
166            use_lower_letters: None,
167            use_numbers: None,
168            use_special_characters: None,
169        }
170    }
171}
172