Skip to main content

akeyless_api/models/
dynamic_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/// DynamicSecretCreateLdap : dynamicSecretCreateLdap is a command that creates ldap dynamic secret
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct DynamicSecretCreateLdap {
17    #[serde(rename = "ProviderType", skip_serializing_if = "Option::is_none")]
18    pub provider_type: Option<String>,
19    /// Bind DN
20    #[serde(rename = "bind-dn", skip_serializing_if = "Option::is_none")]
21    pub bind_dn: Option<String>,
22    /// Bind DN Password
23    #[serde(rename = "bind-dn-password", skip_serializing_if = "Option::is_none")]
24    pub bind_dn_password: Option<String>,
25    /// Customize how temporary usernames are generated using go template
26    #[serde(rename = "custom-username-template", skip_serializing_if = "Option::is_none")]
27    pub custom_username_template: Option<String>,
28    /// Protection from accidental deletion of this object [true/false]
29    #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
30    pub delete_protection: Option<String>,
31    /// Description of the object
32    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
33    pub description: Option<String>,
34    /// Externally provided username [true/false]
35    #[serde(rename = "external-username", skip_serializing_if = "Option::is_none")]
36    pub external_username: Option<String>,
37    /// For externally provided users, denotes the key-name of IdP claim to extract the username from (relevant only for external-username=true)
38    #[serde(rename = "fixed-user-claim-keyname", skip_serializing_if = "Option::is_none")]
39    pub fixed_user_claim_keyname: Option<String>,
40    /// Group DN which the temporary user should be added
41    #[serde(rename = "group-dn", skip_serializing_if = "Option::is_none")]
42    pub group_dn: Option<String>,
43    /// 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
44    #[serde(rename = "host-provider", skip_serializing_if = "Option::is_none")]
45    pub host_provider: Option<String>,
46    /// Additional custom fields to associate with the item
47    #[serde(rename = "item-custom-fields", skip_serializing_if = "Option::is_none")]
48    pub item_custom_fields: Option<std::collections::HashMap<String, String>>,
49    /// Set output format to JSON
50    #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
51    pub json: Option<bool>,
52    /// CA Certificate File Content
53    #[serde(rename = "ldap-ca-cert", skip_serializing_if = "Option::is_none")]
54    pub ldap_ca_cert: Option<String>,
55    /// LDAP Server URL
56    #[serde(rename = "ldap-url", skip_serializing_if = "Option::is_none")]
57    pub ldap_url: Option<String>,
58    /// Dynamic secret name
59    #[serde(rename = "name")]
60    pub name: String,
61    /// The length of the password to be generated
62    #[serde(rename = "password-length", skip_serializing_if = "Option::is_none")]
63    pub password_length: Option<String>,
64    /// Dynamic producer encryption key
65    #[serde(rename = "producer-encryption-key-name", skip_serializing_if = "Option::is_none")]
66    pub producer_encryption_key_name: Option<String>,
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    /// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
74    #[serde(rename = "secure-access-delay", skip_serializing_if = "Option::is_none")]
75    pub secure_access_delay: Option<i64>,
76    /// Enable/Disable secure remote access [true/false]
77    #[serde(rename = "secure-access-enable", skip_serializing_if = "Option::is_none")]
78    pub secure_access_enable: Option<String>,
79    /// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
80    #[serde(rename = "secure-access-host", skip_serializing_if = "Option::is_none")]
81    pub secure_access_host: Option<Vec<String>>,
82    /// RD Gateway server
83    #[serde(rename = "secure-access-rd-gateway-server", skip_serializing_if = "Option::is_none")]
84    pub secure_access_rd_gateway_server: Option<String>,
85    /// Required when the Dynamic Secret is used for a domain user
86    #[serde(rename = "secure-access-rdp-domain", skip_serializing_if = "Option::is_none")]
87    pub secure_access_rdp_domain: Option<String>,
88    /// Add tags attached to this object
89    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
90    pub tags: Option<Vec<String>>,
91    /// 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
92    #[serde(rename = "target", skip_serializing_if = "Option::is_none")]
93    pub target: Option<Vec<String>>,
94    /// Target name
95    #[serde(rename = "target-name", skip_serializing_if = "Option::is_none")]
96    pub target_name: Option<String>,
97    /// Authentication token (see `/auth` and `/configure`)
98    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
99    pub token: Option<String>,
100    /// Token expiration
101    #[serde(rename = "token-expiration", skip_serializing_if = "Option::is_none")]
102    pub token_expiration: Option<String>,
103    /// The universal identity token, Required only for universal_identity authentication
104    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
105    pub uid_token: Option<String>,
106    /// User Attribute
107    #[serde(rename = "user-attribute", skip_serializing_if = "Option::is_none")]
108    pub user_attribute: Option<String>,
109    /// User DN
110    #[serde(rename = "user-dn", skip_serializing_if = "Option::is_none")]
111    pub user_dn: Option<String>,
112    /// User TTL
113    #[serde(rename = "user-ttl", skip_serializing_if = "Option::is_none")]
114    pub user_ttl: Option<String>,
115}
116
117impl DynamicSecretCreateLdap {
118    /// dynamicSecretCreateLdap is a command that creates ldap dynamic secret
119    pub fn new(name: String) -> DynamicSecretCreateLdap {
120        DynamicSecretCreateLdap {
121            provider_type: None,
122            bind_dn: None,
123            bind_dn_password: None,
124            custom_username_template: None,
125            delete_protection: None,
126            description: None,
127            external_username: None,
128            fixed_user_claim_keyname: None,
129            group_dn: None,
130            host_provider: None,
131            item_custom_fields: None,
132            json: None,
133            ldap_ca_cert: None,
134            ldap_url: None,
135            name,
136            password_length: None,
137            producer_encryption_key_name: None,
138            secure_access_bastion_issuer: None,
139            secure_access_certificate_issuer: None,
140            secure_access_delay: None,
141            secure_access_enable: None,
142            secure_access_host: None,
143            secure_access_rd_gateway_server: None,
144            secure_access_rdp_domain: None,
145            tags: None,
146            target: None,
147            target_name: None,
148            token: None,
149            token_expiration: None,
150            uid_token: None,
151            user_attribute: None,
152            user_dn: None,
153            user_ttl: None,
154        }
155    }
156}
157