Skip to main content

akeyless_api/models/
create_rotated_secret.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/// CreateRotatedSecret : createRotatedSecret is a command that creates a rotated secret [Deprecated: Use rotated-secret-create commands]
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CreateRotatedSecret {
17    #[serde(rename = "ProviderType", skip_serializing_if = "Option::is_none")]
18    pub provider_type: Option<String>,
19    /// API ID to rotate (relevant only for rotator-type=api-key)
20    #[serde(rename = "api-id", skip_serializing_if = "Option::is_none")]
21    pub api_id: Option<String>,
22    /// API key to rotate (relevant only for rotator-type=api-key)
23    #[serde(rename = "api-key", skip_serializing_if = "Option::is_none")]
24    pub api_key: Option<String>,
25    /// ApplicationId (used in azure)
26    #[serde(rename = "application-id", skip_serializing_if = "Option::is_none")]
27    pub application_id: Option<String>,
28    /// The credentials to connect with use-user-creds/use-target-creds
29    #[serde(rename = "authentication-credentials", skip_serializing_if = "Option::is_none")]
30    pub authentication_credentials: Option<String>,
31    /// Whether to automatically rotate every --rotation-interval days, or disable existing automatic rotation [true/false]
32    #[serde(rename = "auto-rotate", skip_serializing_if = "Option::is_none")]
33    pub auto_rotate: Option<String>,
34    /// Aws Region (relevant only for aws)
35    #[serde(rename = "aws-region", skip_serializing_if = "Option::is_none")]
36    pub aws_region: Option<String>,
37    /// Secret payload to be sent with rotation request (relevant only for rotator-type=custom)
38    #[serde(rename = "custom-payload", skip_serializing_if = "Option::is_none")]
39    pub custom_payload: Option<String>,
40    /// Protection from accidental deletion of this object [true/false]
41    #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
42    pub delete_protection: Option<String>,
43    /// Description of the object
44    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
45    pub description: Option<String>,
46    /// Base64-encoded service account private key text
47    #[serde(rename = "gcp-key", skip_serializing_if = "Option::is_none")]
48    pub gcp_key: Option<String>,
49    /// The email of the gcp service account to rotate
50    #[serde(rename = "gcp-service-account-email", skip_serializing_if = "Option::is_none")]
51    pub gcp_service_account_email: Option<String>,
52    /// The key id of the gcp service account to rotate
53    #[serde(rename = "gcp-service-account-key-id", skip_serializing_if = "Option::is_none")]
54    pub gcp_service_account_key_id: Option<String>,
55    /// Create a new access key without deleting the old key from AWS for backup (relevant only for AWS) [true/false]
56    #[serde(rename = "grace-rotation", skip_serializing_if = "Option::is_none")]
57    pub grace_rotation: Option<String>,
58    /// 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
59    #[serde(rename = "host-provider", skip_serializing_if = "Option::is_none")]
60    pub host_provider: Option<String>,
61    /// Set output format to JSON
62    #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
63    pub json: Option<bool>,
64    /// The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
65    #[serde(rename = "key", skip_serializing_if = "Option::is_none")]
66    pub key: Option<String>,
67    /// Deprecated - use description
68    #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
69    pub metadata: Option<String>,
70    /// Secret name
71    #[serde(rename = "name")]
72    pub name: String,
73    /// The length of the password to be generated
74    #[serde(rename = "password-length", skip_serializing_if = "Option::is_none")]
75    pub password_length: Option<String>,
76    /// Rotate the value of the secret after SRA session ends [true/false]
77    #[serde(rename = "rotate-after-disconnect", skip_serializing_if = "Option::is_none")]
78    pub rotate_after_disconnect: Option<String>,
79    /// rotated-username password (relevant only for rotator-type=password)
80    #[serde(rename = "rotated-password", skip_serializing_if = "Option::is_none")]
81    pub rotated_password: Option<String>,
82    /// 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=password)
83    #[serde(rename = "rotated-username", skip_serializing_if = "Option::is_none")]
84    pub rotated_username: Option<String>,
85    /// The Hour of the rotation in UTC. Default rotation-hour is 14:00
86    #[serde(rename = "rotation-hour", skip_serializing_if = "Option::is_none")]
87    pub rotation_hour: Option<i32>,
88    /// The number of days to wait between every automatic key rotation (1-365)
89    #[serde(rename = "rotation-interval", skip_serializing_if = "Option::is_none")]
90    pub rotation_interval: Option<String>,
91    #[serde(rename = "rotator-creds-type", skip_serializing_if = "Option::is_none")]
92    pub rotator_creds_type: Option<String>,
93    /// Custom rotation command (relevant only for ssh target)
94    #[serde(rename = "rotator-custom-cmd", skip_serializing_if = "Option::is_none")]
95    pub rotator_custom_cmd: Option<String>,
96    /// Rotator Type
97    #[serde(rename = "rotator-type")]
98    pub rotator_type: String,
99    /// Rotate same password for each host from the Linked Target (relevant only for Linked Target)
100    #[serde(rename = "same-password", skip_serializing_if = "Option::is_none")]
101    pub same_password: Option<String>,
102    /// Allow providing external user for a domain users (relevant only for rdp)
103    #[serde(rename = "secure-access-allow-external-user", skip_serializing_if = "Option::is_none")]
104    pub secure_access_allow_external_user: Option<bool>,
105    /// The AWS account id (relevant only for aws)
106    #[serde(rename = "secure-access-aws-account-id", skip_serializing_if = "Option::is_none")]
107    pub secure_access_aws_account_id: Option<String>,
108    /// The AWS native cli
109    #[serde(rename = "secure-access-aws-native-cli", skip_serializing_if = "Option::is_none")]
110    pub secure_access_aws_native_cli: Option<bool>,
111    /// Deprecated. use secure-access-certificate-issuer
112    #[serde(rename = "secure-access-bastion-issuer", skip_serializing_if = "Option::is_none")]
113    pub secure_access_bastion_issuer: Option<String>,
114    /// Path to the SSH Certificate Issuer for your Akeyless Secure Access
115    #[serde(rename = "secure-access-certificate-issuer", skip_serializing_if = "Option::is_none")]
116    pub secure_access_certificate_issuer: Option<String>,
117    /// The DB name (relevant only for DB Dynamic-Secret)
118    #[serde(rename = "secure-access-db-name", skip_serializing_if = "Option::is_none")]
119    pub secure_access_db_name: Option<String>,
120    /// The db schema (relevant only for mssql or postgresql)
121    #[serde(rename = "secure-access-db-schema", skip_serializing_if = "Option::is_none")]
122    pub secure_access_db_schema: Option<String>,
123    /// Enable this flag to prevent simultaneous use of the same secret
124    #[serde(rename = "secure-access-disable-concurrent-connections", skip_serializing_if = "Option::is_none")]
125    pub secure_access_disable_concurrent_connections: Option<bool>,
126    /// Enable/Disable secure remote access [true/false]
127    #[serde(rename = "secure-access-enable", skip_serializing_if = "Option::is_none")]
128    pub secure_access_enable: Option<String>,
129    /// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
130    #[serde(rename = "secure-access-host", skip_serializing_if = "Option::is_none")]
131    pub secure_access_host: Option<Vec<String>>,
132    /// Required when the Dynamic Secret is used for a domain user (relevant only for RDP Dynamic-Secret)
133    #[serde(rename = "secure-access-rdp-domain", skip_serializing_if = "Option::is_none")]
134    pub secure_access_rdp_domain: Option<String>,
135    /// Override the RDP Domain username (relevant only for rdp)
136    #[serde(rename = "secure-access-rdp-user", skip_serializing_if = "Option::is_none")]
137    pub secure_access_rdp_user: Option<String>,
138    /// Destination URL to inject secrets
139    #[serde(rename = "secure-access-url", skip_serializing_if = "Option::is_none")]
140    pub secure_access_url: Option<String>,
141    /// Enable Web Secure Remote Access
142    #[serde(rename = "secure-access-web", skip_serializing_if = "Option::is_none")]
143    pub secure_access_web: Option<bool>,
144    /// Secure browser viaAkeyless's Secure Remote Access (SRA) (relevant only for aws or azure)
145    #[serde(rename = "secure-access-web-browsing", skip_serializing_if = "Option::is_none")]
146    pub secure_access_web_browsing: Option<bool>,
147    /// Web-Proxy via Akeyless's Secure Remote Access (SRA) (relevant only for aws or azure)
148    #[serde(rename = "secure-access-web-proxy", skip_serializing_if = "Option::is_none")]
149    pub secure_access_web_proxy: Option<bool>,
150    /// Deprecated: use RotatedPassword
151    #[serde(rename = "ssh-password", skip_serializing_if = "Option::is_none")]
152    pub ssh_password: Option<String>,
153    /// Deprecated: use RotatedUser
154    #[serde(rename = "ssh-username", skip_serializing_if = "Option::is_none")]
155    pub ssh_username: Option<String>,
156    /// The name of the storage account key to rotate [key1/key2/kerb1/kerb2] (relevat to azure-storage-account)
157    #[serde(rename = "storage-account-key-name", skip_serializing_if = "Option::is_none")]
158    pub storage_account_key_name: Option<String>,
159    /// Add tags attached to this object
160    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
161    pub tags: Option<Vec<String>>,
162    /// 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
163    #[serde(rename = "target", skip_serializing_if = "Option::is_none")]
164    pub target: Option<Vec<String>>,
165    /// Target name
166    #[serde(rename = "target-name")]
167    pub target_name: String,
168    /// Authentication token (see `/auth` and `/configure`)
169    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
170    pub token: Option<String>,
171    /// The universal identity token, Required only for universal_identity authentication
172    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
173    pub uid_token: Option<String>,
174    /// LDAP User Attribute, Default value \"cn\"
175    #[serde(rename = "user-attribute", skip_serializing_if = "Option::is_none")]
176    pub user_attribute: Option<String>,
177    /// LDAP User Base DN
178    #[serde(rename = "user-dn", skip_serializing_if = "Option::is_none")]
179    pub user_dn: Option<String>,
180}
181
182impl CreateRotatedSecret {
183    /// createRotatedSecret is a command that creates a rotated secret [Deprecated: Use rotated-secret-create commands]
184    pub fn new(name: String, rotator_type: String, target_name: String) -> CreateRotatedSecret {
185        CreateRotatedSecret {
186            provider_type: None,
187            api_id: None,
188            api_key: None,
189            application_id: None,
190            authentication_credentials: None,
191            auto_rotate: None,
192            aws_region: None,
193            custom_payload: None,
194            delete_protection: None,
195            description: None,
196            gcp_key: None,
197            gcp_service_account_email: None,
198            gcp_service_account_key_id: None,
199            grace_rotation: None,
200            host_provider: None,
201            json: None,
202            key: None,
203            metadata: None,
204            name,
205            password_length: None,
206            rotate_after_disconnect: None,
207            rotated_password: None,
208            rotated_username: None,
209            rotation_hour: None,
210            rotation_interval: None,
211            rotator_creds_type: None,
212            rotator_custom_cmd: None,
213            rotator_type,
214            same_password: None,
215            secure_access_allow_external_user: None,
216            secure_access_aws_account_id: None,
217            secure_access_aws_native_cli: None,
218            secure_access_bastion_issuer: None,
219            secure_access_certificate_issuer: None,
220            secure_access_db_name: None,
221            secure_access_db_schema: None,
222            secure_access_disable_concurrent_connections: None,
223            secure_access_enable: None,
224            secure_access_host: None,
225            secure_access_rdp_domain: None,
226            secure_access_rdp_user: None,
227            secure_access_url: None,
228            secure_access_web: None,
229            secure_access_web_browsing: None,
230            secure_access_web_proxy: None,
231            ssh_password: None,
232            ssh_username: None,
233            storage_account_key_name: None,
234            tags: None,
235            target: None,
236            target_name,
237            token: None,
238            uid_token: None,
239            user_attribute: None,
240            user_dn: None,
241        }
242    }
243}
244