Skip to main content

akeyless_api/models/
dynamic_secret_create_k8s.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/// DynamicSecretCreateK8s : dynamicSecretCreateK8s is a command that creates k8s dynamic secret
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct DynamicSecretCreateK8s {
17    /// Customize how temporary usernames are generated using go template
18    #[serde(rename = "custom-username-template", skip_serializing_if = "Option::is_none")]
19    pub custom_username_template: Option<String>,
20    /// Protection from accidental deletion of this object [true/false]
21    #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
22    pub delete_protection: Option<String>,
23    /// Description of the object
24    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
25    pub description: Option<String>,
26    /// Additional custom fields to associate with the item
27    #[serde(rename = "item-custom-fields", skip_serializing_if = "Option::is_none")]
28    pub item_custom_fields: Option<std::collections::HashMap<String, String>>,
29    /// Set output format to JSON
30    #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
31    pub json: Option<bool>,
32    /// Comma-separated list of allowed K8S namespaces for the generated ServiceAccount (relevant only for k8s-service-account-type=dynamic)
33    #[serde(rename = "k8s-allowed-namespaces", skip_serializing_if = "Option::is_none")]
34    pub k8s_allowed_namespaces: Option<String>,
35    /// K8S cluster CA certificate
36    #[serde(rename = "k8s-cluster-ca-cert", skip_serializing_if = "Option::is_none")]
37    pub k8s_cluster_ca_cert: Option<String>,
38    /// K8S cluster URL endpoint
39    #[serde(rename = "k8s-cluster-endpoint", skip_serializing_if = "Option::is_none")]
40    pub k8s_cluster_endpoint: Option<String>,
41    /// K8S cluster name
42    #[serde(rename = "k8s-cluster-name", skip_serializing_if = "Option::is_none")]
43    pub k8s_cluster_name: Option<String>,
44    /// K8S cluster Bearer token
45    #[serde(rename = "k8s-cluster-token", skip_serializing_if = "Option::is_none")]
46    pub k8s_cluster_token: Option<String>,
47    /// K8S Namespace where the ServiceAccount exists.
48    #[serde(rename = "k8s-namespace", skip_serializing_if = "Option::is_none")]
49    pub k8s_namespace: Option<String>,
50    /// The pre-existing Role or ClusterRole name to bind the generated ServiceAccount to (relevant only for k8s-service-account-type=dynamic)
51    #[serde(rename = "k8s-predefined-role-name", skip_serializing_if = "Option::is_none")]
52    pub k8s_predefined_role_name: Option<String>,
53    /// Specifies the type of the pre-existing K8S role [Role, ClusterRole] (relevant only for k8s-service-account-type=dynamic)
54    #[serde(rename = "k8s-predefined-role-type", skip_serializing_if = "Option::is_none")]
55    pub k8s_predefined_role_type: Option<String>,
56    /// Content of the yaml in a Base64 format.
57    #[serde(rename = "k8s-rolebinding-yaml-data", skip_serializing_if = "Option::is_none")]
58    pub k8s_rolebinding_yaml_data: Option<String>,
59    /// Path to yaml file that contains definitions of K8S role and role binding (relevant only for k8s-service-account-type=dynamic)
60    #[serde(rename = "k8s-rolebinding-yaml-def", skip_serializing_if = "Option::is_none")]
61    pub k8s_rolebinding_yaml_def: Option<String>,
62    /// K8S ServiceAccount to extract token from.
63    #[serde(rename = "k8s-service-account", skip_serializing_if = "Option::is_none")]
64    pub k8s_service_account: Option<String>,
65    /// K8S ServiceAccount type [fixed, dynamic].
66    #[serde(rename = "k8s-service-account-type", skip_serializing_if = "Option::is_none")]
67    pub k8s_service_account_type: Option<String>,
68    /// Dynamic secret name
69    #[serde(rename = "name")]
70    pub name: String,
71    /// Dynamic producer encryption key
72    #[serde(rename = "producer-encryption-key-name", skip_serializing_if = "Option::is_none")]
73    pub producer_encryption_key_name: Option<String>,
74    /// Enable Port forwarding while using CLI access
75    #[serde(rename = "secure-access-allow-port-forwading", skip_serializing_if = "Option::is_none")]
76    pub secure_access_allow_port_forwading: Option<bool>,
77    /// Deprecated. use secure-access-certificate-issuer
78    #[serde(rename = "secure-access-bastion-issuer", skip_serializing_if = "Option::is_none")]
79    pub secure_access_bastion_issuer: Option<String>,
80    /// Path to the SSH Certificate Issuer for your Akeyless Secure Access
81    #[serde(rename = "secure-access-certificate-issuer", skip_serializing_if = "Option::is_none")]
82    pub secure_access_certificate_issuer: Option<String>,
83    /// The K8s cluster endpoint URL
84    #[serde(rename = "secure-access-cluster-endpoint", skip_serializing_if = "Option::is_none")]
85    pub secure_access_cluster_endpoint: Option<String>,
86    /// The K8s dashboard url
87    #[serde(rename = "secure-access-dashboard-url", skip_serializing_if = "Option::is_none")]
88    pub secure_access_dashboard_url: Option<String>,
89    /// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
90    #[serde(rename = "secure-access-delay", skip_serializing_if = "Option::is_none")]
91    pub secure_access_delay: Option<i64>,
92    /// Enable/Disable secure remote access [true/false]
93    #[serde(rename = "secure-access-enable", skip_serializing_if = "Option::is_none")]
94    pub secure_access_enable: Option<String>,
95    /// Enable Web Secure Remote Access
96    #[serde(rename = "secure-access-web", skip_serializing_if = "Option::is_none")]
97    pub secure_access_web: Option<bool>,
98    /// Secure browser via Akeyless's Secure Remote Access (SRA)
99    #[serde(rename = "secure-access-web-browsing", skip_serializing_if = "Option::is_none")]
100    pub secure_access_web_browsing: Option<bool>,
101    /// Web-Proxy via Akeyless's Secure Remote Access (SRA)
102    #[serde(rename = "secure-access-web-proxy", skip_serializing_if = "Option::is_none")]
103    pub secure_access_web_proxy: Option<bool>,
104    /// Add tags attached to this object
105    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
106    pub tags: Option<Vec<String>>,
107    /// Target name
108    #[serde(rename = "target-name", skip_serializing_if = "Option::is_none")]
109    pub target_name: Option<String>,
110    /// Authentication token (see `/auth` and `/configure`)
111    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
112    pub token: Option<String>,
113    /// The universal identity token, Required only for universal_identity authentication
114    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
115    pub uid_token: Option<String>,
116    /// Use the GW's service account
117    #[serde(rename = "use-gw-service-account", skip_serializing_if = "Option::is_none")]
118    pub use_gw_service_account: Option<bool>,
119    /// User TTL
120    #[serde(rename = "user-ttl", skip_serializing_if = "Option::is_none")]
121    pub user_ttl: Option<String>,
122}
123
124impl DynamicSecretCreateK8s {
125    /// dynamicSecretCreateK8s is a command that creates k8s dynamic secret
126    pub fn new(name: String) -> DynamicSecretCreateK8s {
127        DynamicSecretCreateK8s {
128            custom_username_template: None,
129            delete_protection: None,
130            description: None,
131            item_custom_fields: None,
132            json: None,
133            k8s_allowed_namespaces: None,
134            k8s_cluster_ca_cert: None,
135            k8s_cluster_endpoint: None,
136            k8s_cluster_name: None,
137            k8s_cluster_token: None,
138            k8s_namespace: None,
139            k8s_predefined_role_name: None,
140            k8s_predefined_role_type: None,
141            k8s_rolebinding_yaml_data: None,
142            k8s_rolebinding_yaml_def: None,
143            k8s_service_account: None,
144            k8s_service_account_type: None,
145            name,
146            producer_encryption_key_name: None,
147            secure_access_allow_port_forwading: None,
148            secure_access_bastion_issuer: None,
149            secure_access_certificate_issuer: None,
150            secure_access_cluster_endpoint: None,
151            secure_access_dashboard_url: None,
152            secure_access_delay: None,
153            secure_access_enable: None,
154            secure_access_web: None,
155            secure_access_web_browsing: None,
156            secure_access_web_proxy: None,
157            tags: None,
158            target_name: None,
159            token: None,
160            uid_token: None,
161            use_gw_service_account: None,
162            user_ttl: None,
163        }
164    }
165}
166