Skip to main content

akeyless_api/models/
auth_method_create_kerberos.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/// AuthMethodCreateKerberos : authMethodCreateKerberos is a command that creates a new auth method that will be able to authenticate using Kerberos
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct AuthMethodCreateKerberos {
17    /// Access expiration date in Unix timestamp (select 0 for access without expiry date)
18    #[serde(rename = "access-expires", skip_serializing_if = "Option::is_none")]
19    pub access_expires: Option<i64>,
20    /// limit the auth method usage for specific client types [cli,ui,gateway-admin,sdk,mobile,extension]
21    #[serde(rename = "allowed-client-type", skip_serializing_if = "Option::is_none")]
22    pub allowed_client_type: Option<Vec<String>>,
23    /// Subclaims to include in audit logs, e.g \"--audit-logs-claims email --audit-logs-claims username\"
24    #[serde(rename = "audit-logs-claims", skip_serializing_if = "Option::is_none")]
25    pub audit_logs_claims: Option<Vec<String>>,
26    #[serde(rename = "bind-dn", skip_serializing_if = "Option::is_none")]
27    pub bind_dn: Option<String>,
28    #[serde(rename = "bind-dn-password", skip_serializing_if = "Option::is_none")]
29    pub bind_dn_password: Option<String>,
30    /// A CIDR whitelist with the IPs that the access is restricted to
31    #[serde(rename = "bound-ips", skip_serializing_if = "Option::is_none")]
32    pub bound_ips: Option<Vec<String>>,
33    /// Protection from accidental deletion of this object [true/false]
34    #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
35    pub delete_protection: Option<String>,
36    /// Auth Method description
37    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
38    pub description: Option<String>,
39    /// How many days before the expiration of the auth method would you like to be notified.
40    #[serde(rename = "expiration-event-in", skip_serializing_if = "Option::is_none")]
41    pub expiration_event_in: Option<Vec<String>>,
42    /// if true: enforce role-association must include sub claims
43    #[serde(rename = "force-sub-claims", skip_serializing_if = "Option::is_none")]
44    pub force_sub_claims: Option<bool>,
45    #[serde(rename = "group-attr", skip_serializing_if = "Option::is_none")]
46    pub group_attr: Option<String>,
47    #[serde(rename = "group-dn", skip_serializing_if = "Option::is_none")]
48    pub group_dn: Option<String>,
49    #[serde(rename = "group-filter", skip_serializing_if = "Option::is_none")]
50    pub group_filter: Option<String>,
51    /// A CIDR whitelist with the GW IPs that the access is restricted to
52    #[serde(rename = "gw-bound-ips", skip_serializing_if = "Option::is_none")]
53    pub gw_bound_ips: Option<Vec<String>>,
54    /// Set output format to JSON
55    #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
56    pub json: Option<bool>,
57    /// Jwt TTL
58    #[serde(rename = "jwt-ttl", skip_serializing_if = "Option::is_none")]
59    pub jwt_ttl: Option<i64>,
60    #[serde(rename = "keytab-file-data", skip_serializing_if = "Option::is_none")]
61    pub keytab_file_data: Option<String>,
62    #[serde(rename = "keytab-file-path", skip_serializing_if = "Option::is_none")]
63    pub keytab_file_path: Option<String>,
64    #[serde(rename = "krb5-conf-data", skip_serializing_if = "Option::is_none")]
65    pub krb5_conf_data: Option<String>,
66    #[serde(rename = "krb5-conf-path", skip_serializing_if = "Option::is_none")]
67    pub krb5_conf_path: Option<String>,
68    #[serde(rename = "ldap-anonymous-search", skip_serializing_if = "Option::is_none")]
69    pub ldap_anonymous_search: Option<bool>,
70    #[serde(rename = "ldap-ca-cert", skip_serializing_if = "Option::is_none")]
71    pub ldap_ca_cert: Option<String>,
72    #[serde(rename = "ldap-url", skip_serializing_if = "Option::is_none")]
73    pub ldap_url: Option<String>,
74    /// Auth Method name
75    #[serde(rename = "name")]
76    pub name: String,
77    /// Choose the relevant product type for the auth method [sm, sra, pm, dp, ca]
78    #[serde(rename = "product-type", skip_serializing_if = "Option::is_none")]
79    pub product_type: Option<Vec<String>>,
80    /// A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
81    #[serde(rename = "subclaims-delimiters", skip_serializing_if = "Option::is_none")]
82    pub subclaims_delimiters: Option<Vec<String>>,
83    /// Authentication token (see `/auth` and `/configure`)
84    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
85    pub token: Option<String>,
86    /// The universal identity token, Required only for universal_identity authentication
87    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
88    pub uid_token: Option<String>,
89    /// A unique identifier (ID) value which is a \"sub claim\" name that contains details uniquely identifying that resource. This \"sub claim\" is used to distinguish between different identities.
90    #[serde(rename = "unique-identifier", skip_serializing_if = "Option::is_none")]
91    pub unique_identifier: Option<String>,
92    #[serde(rename = "user-attribute", skip_serializing_if = "Option::is_none")]
93    pub user_attribute: Option<String>,
94    #[serde(rename = "user-dn", skip_serializing_if = "Option::is_none")]
95    pub user_dn: Option<String>,
96}
97
98impl AuthMethodCreateKerberos {
99    /// authMethodCreateKerberos is a command that creates a new auth method that will be able to authenticate using Kerberos
100    pub fn new(name: String) -> AuthMethodCreateKerberos {
101        AuthMethodCreateKerberos {
102            access_expires: None,
103            allowed_client_type: None,
104            audit_logs_claims: None,
105            bind_dn: None,
106            bind_dn_password: None,
107            bound_ips: None,
108            delete_protection: None,
109            description: None,
110            expiration_event_in: None,
111            force_sub_claims: None,
112            group_attr: None,
113            group_dn: None,
114            group_filter: None,
115            gw_bound_ips: None,
116            json: None,
117            jwt_ttl: None,
118            keytab_file_data: None,
119            keytab_file_path: None,
120            krb5_conf_data: None,
121            krb5_conf_path: None,
122            ldap_anonymous_search: None,
123            ldap_ca_cert: None,
124            ldap_url: None,
125            name,
126            product_type: None,
127            subclaims_delimiters: None,
128            token: None,
129            uid_token: None,
130            unique_identifier: None,
131            user_attribute: None,
132            user_dn: None,
133        }
134    }
135}
136