Skip to main content

akeyless_api/models/
rotated_secret_create_ldap.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 RotatedSecretCreateLdap {
16    #[serde(rename = "ProviderType", skip_serializing_if = "Option::is_none")]
17    pub provider_type: Option<String>,
18    /// The credentials to connect with use-user-creds/use-target-creds
19    #[serde(rename = "authentication-credentials", skip_serializing_if = "Option::is_none")]
20    pub authentication_credentials: Option<String>,
21    /// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
22    #[serde(rename = "auto-rotate", skip_serializing_if = "Option::is_none")]
23    pub auto_rotate: Option<String>,
24    /// Protection from accidental deletion of this object [true/false]
25    #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
26    pub delete_protection: Option<String>,
27    /// Description of the object
28    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
29    pub description: Option<String>,
30    /// Host provider type [explicit/target], Default Host provider is explicit, Relevant only for Secure Remote Access of ssh cert issuer, ldap rotated secret and ldap dynamic secret
31    #[serde(rename = "host-provider", skip_serializing_if = "Option::is_none")]
32    pub host_provider: Option<String>,
33    /// Additional custom fields to associate with the item
34    #[serde(rename = "item-custom-fields", skip_serializing_if = "Option::is_none")]
35    pub item_custom_fields: Option<std::collections::HashMap<String, String>>,
36    /// Set output format to JSON
37    #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
38    pub json: Option<bool>,
39    /// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
40    #[serde(rename = "key", skip_serializing_if = "Option::is_none")]
41    pub key: Option<String>,
42    /// Set the maximum number of versions, limited by the account settings defaults.
43    #[serde(rename = "max-versions", skip_serializing_if = "Option::is_none")]
44    pub max_versions: Option<String>,
45    /// Rotated secret name
46    #[serde(rename = "name")]
47    pub name: String,
48    /// The length of the password to be generated
49    #[serde(rename = "password-length", skip_serializing_if = "Option::is_none")]
50    pub password_length: Option<String>,
51    /// Rotate the value of the secret after SRA session ends [true/false]
52    #[serde(rename = "rotate-after-disconnect", skip_serializing_if = "Option::is_none")]
53    pub rotate_after_disconnect: Option<String>,
54    /// rotated-username password (relevant only for rotator-type=ldap)
55    #[serde(rename = "rotated-password", skip_serializing_if = "Option::is_none")]
56    pub rotated_password: Option<String>,
57    /// username to be rotated, if selected use-self-creds at rotator-creds-type, this username will try to rotate it's own password, if use-target-creds is selected, target credentials will be use to rotate the rotated-password (relevant only for rotator-type=ldap)
58    #[serde(rename = "rotated-username", skip_serializing_if = "Option::is_none")]
59    pub rotated_username: Option<String>,
60    /// How many days before the rotation of the item would you like to be notified
61    #[serde(rename = "rotation-event-in", skip_serializing_if = "Option::is_none")]
62    pub rotation_event_in: Option<Vec<String>>,
63    /// The Hour of the rotation in UTC
64    #[serde(rename = "rotation-hour", skip_serializing_if = "Option::is_none")]
65    pub rotation_hour: Option<i32>,
66    /// The number of days to wait between every automatic key rotation (1-365)
67    #[serde(rename = "rotation-interval", skip_serializing_if = "Option::is_none")]
68    pub rotation_interval: Option<String>,
69    /// The rotator type. options: [target/ldap]
70    #[serde(rename = "rotator-type")]
71    pub rotator_type: String,
72    /// Deprecated. use secure-access-certificate-issuer
73    #[serde(rename = "secure-access-bastion-issuer", skip_serializing_if = "Option::is_none")]
74    pub secure_access_bastion_issuer: Option<String>,
75    /// Path to the SSH Certificate Issuer for your Akeyless Secure Access
76    #[serde(rename = "secure-access-certificate-issuer", skip_serializing_if = "Option::is_none")]
77    pub secure_access_certificate_issuer: Option<String>,
78    /// Enable/Disable secure remote access [true/false]
79    #[serde(rename = "secure-access-enable", skip_serializing_if = "Option::is_none")]
80    pub secure_access_enable: Option<String>,
81    /// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
82    #[serde(rename = "secure-access-host", skip_serializing_if = "Option::is_none")]
83    pub secure_access_host: Option<Vec<String>>,
84    /// Default domain name server. i.e. microsoft.com
85    #[serde(rename = "secure-access-rdp-domain", skip_serializing_if = "Option::is_none")]
86    pub secure_access_rdp_domain: Option<String>,
87    /// Destination URL to inject secrets
88    #[serde(rename = "secure-access-url", skip_serializing_if = "Option::is_none")]
89    pub secure_access_url: Option<String>,
90    /// Enable Web Secure Remote Access
91    #[serde(rename = "secure-access-web", skip_serializing_if = "Option::is_none")]
92    pub secure_access_web: Option<bool>,
93    /// Secure browser via Akeyless's Secure Remote Access (SRA)
94    #[serde(rename = "secure-access-web-browsing", skip_serializing_if = "Option::is_none")]
95    pub secure_access_web_browsing: Option<bool>,
96    /// Web-Proxy via Akeyless's Secure Remote Access (SRA)
97    #[serde(rename = "secure-access-web-proxy", skip_serializing_if = "Option::is_none")]
98    pub secure_access_web_proxy: Option<bool>,
99    /// Add tags attached to this object
100    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
101    pub tags: Option<Vec<String>>,
102    /// A list of linked targets to be associated, Relevant only for Secure Remote Access for ssh cert issuer, ldap rotated secret and ldap dynamic secret, To specify multiple targets use argument multiple times
103    #[serde(rename = "target", skip_serializing_if = "Option::is_none")]
104    pub target: Option<Vec<String>>,
105    /// The target name to associate
106    #[serde(rename = "target-name")]
107    pub target_name: String,
108    /// Authentication token (see `/auth` and `/configure`)
109    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
110    pub token: Option<String>,
111    /// The universal identity token, Required only for universal_identity authentication
112    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
113    pub uid_token: Option<String>,
114    /// LDAP User Attribute, Default value \"cn\"
115    #[serde(rename = "user-attribute", skip_serializing_if = "Option::is_none")]
116    pub user_attribute: Option<String>,
117    /// Base DN to Perform User Search
118    #[serde(rename = "user-dn", skip_serializing_if = "Option::is_none")]
119    pub user_dn: Option<String>,
120}
121
122impl RotatedSecretCreateLdap {
123    pub fn new(name: String, rotator_type: String, target_name: String) -> RotatedSecretCreateLdap {
124        RotatedSecretCreateLdap {
125            provider_type: None,
126            authentication_credentials: None,
127            auto_rotate: None,
128            delete_protection: None,
129            description: None,
130            host_provider: None,
131            item_custom_fields: None,
132            json: None,
133            key: None,
134            max_versions: None,
135            name,
136            password_length: None,
137            rotate_after_disconnect: None,
138            rotated_password: None,
139            rotated_username: None,
140            rotation_event_in: None,
141            rotation_hour: None,
142            rotation_interval: None,
143            rotator_type,
144            secure_access_bastion_issuer: None,
145            secure_access_certificate_issuer: None,
146            secure_access_enable: None,
147            secure_access_host: None,
148            secure_access_rdp_domain: None,
149            secure_access_url: None,
150            secure_access_web: None,
151            secure_access_web_browsing: None,
152            secure_access_web_proxy: None,
153            tags: None,
154            target: None,
155            target_name,
156            token: None,
157            uid_token: None,
158            user_attribute: None,
159            user_dn: None,
160        }
161    }
162}
163