Skip to main content

akeyless_api/models/
dynamic_secret_create_aws.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/// DynamicSecretCreateAws : dynamicSecretCreateAws is a command that creates aws dynamic secret
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct DynamicSecretCreateAws {
17    #[serde(rename = "access-mode", skip_serializing_if = "Option::is_none")]
18    pub access_mode: Option<String>,
19    /// Admin credentials rotation interval (days)
20    #[serde(rename = "admin-rotation-interval-days", skip_serializing_if = "Option::is_none")]
21    pub admin_rotation_interval_days: Option<i64>,
22    /// Access Key ID
23    #[serde(rename = "aws-access-key-id", skip_serializing_if = "Option::is_none")]
24    pub aws_access_key_id: Option<String>,
25    /// Secret Access Key
26    #[serde(rename = "aws-access-secret-key", skip_serializing_if = "Option::is_none")]
27    pub aws_access_secret_key: Option<String>,
28    /// The AWS External ID associated with the AWS role (relevant only for assume_role mode)
29    #[serde(rename = "aws-external-id", skip_serializing_if = "Option::is_none")]
30    pub aws_external_id: Option<String>,
31    /// AWS Role ARNs to be used in the Assume Role operation (relevant only for assume_role mode)
32    #[serde(rename = "aws-role-arns", skip_serializing_if = "Option::is_none")]
33    pub aws_role_arns: Option<String>,
34    /// AWS User console access
35    #[serde(rename = "aws-user-console-access", skip_serializing_if = "Option::is_none")]
36    pub aws_user_console_access: Option<bool>,
37    /// AWS User groups
38    #[serde(rename = "aws-user-groups", skip_serializing_if = "Option::is_none")]
39    pub aws_user_groups: Option<String>,
40    /// AWS User policies
41    #[serde(rename = "aws-user-policies", skip_serializing_if = "Option::is_none")]
42    pub aws_user_policies: Option<String>,
43    /// Enable AWS User programmatic access
44    #[serde(rename = "aws-user-programmatic-access", skip_serializing_if = "Option::is_none")]
45    pub aws_user_programmatic_access: Option<bool>,
46    /// Customize how temporary usernames are generated using go template
47    #[serde(rename = "custom-username-template", skip_serializing_if = "Option::is_none")]
48    pub custom_username_template: Option<String>,
49    /// Protection from accidental deletion of this object [true/false]
50    #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
51    pub delete_protection: Option<String>,
52    /// Description of the object
53    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
54    pub description: Option<String>,
55    /// Automatic admin credentials rotation
56    #[serde(rename = "enable-admin-rotation", skip_serializing_if = "Option::is_none")]
57    pub enable_admin_rotation: Option<bool>,
58    /// Additional custom fields to associate with the item
59    #[serde(rename = "item-custom-fields", skip_serializing_if = "Option::is_none")]
60    pub item_custom_fields: Option<std::collections::HashMap<String, String>>,
61    /// Set output format to JSON
62    #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
63    pub json: Option<bool>,
64    /// Dynamic secret name
65    #[serde(rename = "name")]
66    pub name: String,
67    /// The length of the password to be generated
68    #[serde(rename = "password-length", skip_serializing_if = "Option::is_none")]
69    pub password_length: Option<String>,
70    /// Dynamic producer encryption key
71    #[serde(rename = "producer-encryption-key-name", skip_serializing_if = "Option::is_none")]
72    pub producer_encryption_key_name: Option<String>,
73    /// Region
74    #[serde(rename = "region", skip_serializing_if = "Option::is_none")]
75    pub region: Option<String>,
76    /// The AWS account id
77    #[serde(rename = "secure-access-aws-account-id", skip_serializing_if = "Option::is_none")]
78    pub secure_access_aws_account_id: Option<String>,
79    /// The AWS native cli
80    #[serde(rename = "secure-access-aws-native-cli", skip_serializing_if = "Option::is_none")]
81    pub secure_access_aws_native_cli: Option<bool>,
82    /// Deprecated. use secure-access-certificate-issuer
83    #[serde(rename = "secure-access-bastion-issuer", skip_serializing_if = "Option::is_none")]
84    pub secure_access_bastion_issuer: Option<String>,
85    /// Path to the SSH Certificate Issuer for your Akeyless Secure Access
86    #[serde(rename = "secure-access-certificate-issuer", skip_serializing_if = "Option::is_none")]
87    pub secure_access_certificate_issuer: Option<String>,
88    /// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
89    #[serde(rename = "secure-access-delay", skip_serializing_if = "Option::is_none")]
90    pub secure_access_delay: Option<i64>,
91    /// Enable/Disable secure remote access [true/false]
92    #[serde(rename = "secure-access-enable", skip_serializing_if = "Option::is_none")]
93    pub secure_access_enable: Option<String>,
94    /// Enable Web Secure Remote Access
95    #[serde(rename = "secure-access-web", skip_serializing_if = "Option::is_none")]
96    pub secure_access_web: Option<bool>,
97    /// Secure browser via Akeyless's Secure Remote Access (SRA)
98    #[serde(rename = "secure-access-web-browsing", skip_serializing_if = "Option::is_none")]
99    pub secure_access_web_browsing: Option<bool>,
100    /// Web-Proxy via Akeyless's Secure Remote Access (SRA)
101    #[serde(rename = "secure-access-web-proxy", skip_serializing_if = "Option::is_none")]
102    pub secure_access_web_proxy: Option<bool>,
103    /// String of Key value session tags comma separated, relevant only for Assumed Role
104    #[serde(rename = "session-tags", skip_serializing_if = "Option::is_none")]
105    pub session_tags: Option<String>,
106    /// Add tags attached to this object
107    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
108    pub tags: Option<Vec<String>>,
109    /// Target name
110    #[serde(rename = "target-name", skip_serializing_if = "Option::is_none")]
111    pub target_name: Option<String>,
112    /// Authentication token (see `/auth` and `/configure`)
113    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
114    pub token: Option<String>,
115    /// String of transitive tag keys space separated, relevant only for Assumed Role
116    #[serde(rename = "transitive-tag-keys", skip_serializing_if = "Option::is_none")]
117    pub transitive_tag_keys: Option<String>,
118    /// The universal identity token, Required only for universal_identity authentication
119    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
120    pub uid_token: Option<String>,
121    /// User TTL
122    #[serde(rename = "user-ttl", skip_serializing_if = "Option::is_none")]
123    pub user_ttl: Option<String>,
124}
125
126impl DynamicSecretCreateAws {
127    /// dynamicSecretCreateAws is a command that creates aws dynamic secret
128    pub fn new(name: String) -> DynamicSecretCreateAws {
129        DynamicSecretCreateAws {
130            access_mode: None,
131            admin_rotation_interval_days: None,
132            aws_access_key_id: None,
133            aws_access_secret_key: None,
134            aws_external_id: None,
135            aws_role_arns: None,
136            aws_user_console_access: None,
137            aws_user_groups: None,
138            aws_user_policies: None,
139            aws_user_programmatic_access: None,
140            custom_username_template: None,
141            delete_protection: None,
142            description: None,
143            enable_admin_rotation: None,
144            item_custom_fields: None,
145            json: None,
146            name,
147            password_length: None,
148            producer_encryption_key_name: None,
149            region: None,
150            secure_access_aws_account_id: None,
151            secure_access_aws_native_cli: None,
152            secure_access_bastion_issuer: None,
153            secure_access_certificate_issuer: None,
154            secure_access_delay: None,
155            secure_access_enable: None,
156            secure_access_web: None,
157            secure_access_web_browsing: None,
158            secure_access_web_proxy: None,
159            session_tags: None,
160            tags: None,
161            target_name: None,
162            token: None,
163            transitive_tag_keys: None,
164            uid_token: None,
165            user_ttl: None,
166        }
167    }
168}
169