Skip to main content

akeyless_api/models/
update_item.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#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct UpdateItem {
16    #[serde(rename = "ProviderType", skip_serializing_if = "Option::is_none")]
17    pub provider_type: Option<String>,
18    /// for personal password manager
19    #[serde(rename = "accessibility", skip_serializing_if = "Option::is_none")]
20    pub accessibility: Option<String>,
21    /// List of the new tags that will be attached to this item
22    #[serde(rename = "add-tag", skip_serializing_if = "Option::is_none")]
23    pub add_tag: Option<Vec<String>>,
24    /// PEM Certificate in a Base64 format. Used for updating RSA keys' certificates.
25    #[serde(rename = "cert-file-data", skip_serializing_if = "Option::is_none")]
26    pub cert_file_data: Option<String>,
27    #[serde(rename = "certificate-format", skip_serializing_if = "Option::is_none")]
28    pub certificate_format: Option<String>,
29    /// Trigger an event when a secret value changed [true/false] (Relevant only for Static Secret)
30    #[serde(rename = "change-event", skip_serializing_if = "Option::is_none")]
31    pub change_event: Option<String>,
32    /// Protection from accidental deletion of this object [true/false]
33    #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
34    pub delete_protection: Option<String>,
35    /// Description of the object
36    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
37    pub description: Option<String>,
38    /// How many days before the expiration of the certificate would you like to be notified.
39    #[serde(rename = "expiration-event-in", skip_serializing_if = "Option::is_none")]
40    pub expiration_event_in: Option<Vec<String>>,
41    /// GCP Secret Manager regions to query for regional secrets (comma-separated, e.g., us-east1,us-west1). Max 12 regions. USC with GCP targets only.
42    #[serde(rename = "gcp-sm-regions", skip_serializing_if = "Option::is_none")]
43    pub gcp_sm_regions: Option<String>,
44    /// 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
45    #[serde(rename = "host-provider", skip_serializing_if = "Option::is_none")]
46    pub host_provider: Option<String>,
47    /// Additional custom fields to associate with the item
48    #[serde(rename = "item-custom-fields", skip_serializing_if = "Option::is_none")]
49    pub item_custom_fields: Option<std::collections::HashMap<String, String>>,
50    /// Set output format to JSON
51    #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
52    pub json: Option<bool>,
53    /// Set the maximum number of versions, limited by the account settings defaults.
54    #[serde(rename = "max-versions", skip_serializing_if = "Option::is_none")]
55    pub max_versions: Option<String>,
56    /// Current item name
57    #[serde(rename = "name")]
58    pub name: String,
59    /// Deprecated - use description
60    #[serde(rename = "new-metadata", skip_serializing_if = "Option::is_none")]
61    pub new_metadata: Option<String>,
62    /// New item name
63    #[serde(rename = "new-name", skip_serializing_if = "Option::is_none")]
64    pub new_name: Option<String>,
65    /// List of the existent tags that will be removed from this item
66    #[serde(rename = "rm-tag", skip_serializing_if = "Option::is_none")]
67    pub rm_tag: Option<Vec<String>>,
68    /// Rotate the value of the secret after SRA session ends [true/false]
69    #[serde(rename = "rotate-after-disconnect", skip_serializing_if = "Option::is_none")]
70    pub rotate_after_disconnect: Option<String>,
71    /// List of the new hosts that will be attached to SRA servers host
72    #[serde(rename = "secure-access-add-host", skip_serializing_if = "Option::is_none")]
73    pub secure_access_add_host: Option<Vec<String>>,
74    /// Allow providing external user for a domain users [true/false]
75    #[serde(rename = "secure-access-allow-external-user", skip_serializing_if = "Option::is_none")]
76    pub secure_access_allow_external_user: Option<String>,
77    /// Enable Port forwarding while using CLI access (relevant only for EKS/GKE/K8s Dynamic-Secret)
78    #[serde(rename = "secure-access-allow-port-forwading", skip_serializing_if = "Option::is_none")]
79    pub secure_access_allow_port_forwading: Option<bool>,
80    /// Bastion's SSH control API endpoint. E.g. https://my.sra-server:9900 (relevant only for ssh cert issuer)
81    #[serde(rename = "secure-access-api", skip_serializing_if = "Option::is_none")]
82    pub secure_access_api: Option<String>,
83    /// The AWS account id (relevant only for aws)
84    #[serde(rename = "secure-access-aws-account-id", skip_serializing_if = "Option::is_none")]
85    pub secure_access_aws_account_id: Option<String>,
86    /// The AWS native cli (relevant only for aws)
87    #[serde(rename = "secure-access-aws-native-cli", skip_serializing_if = "Option::is_none")]
88    pub secure_access_aws_native_cli: Option<bool>,
89    /// The AWS region (relevant only for aws)
90    #[serde(rename = "secure-access-aws-region", skip_serializing_if = "Option::is_none")]
91    pub secure_access_aws_region: Option<String>,
92    /// Deprecated. use secure-access-api
93    #[serde(rename = "secure-access-bastion-api", skip_serializing_if = "Option::is_none")]
94    pub secure_access_bastion_api: Option<String>,
95    /// Deprecated. use secure-access-certificate-issuer
96    #[serde(rename = "secure-access-bastion-issuer", skip_serializing_if = "Option::is_none")]
97    pub secure_access_bastion_issuer: Option<String>,
98    /// Deprecated. use secure-access-ssh
99    #[serde(rename = "secure-access-bastion-ssh", skip_serializing_if = "Option::is_none")]
100    pub secure_access_bastion_ssh: Option<String>,
101    /// Path to the SSH Certificate Issuer for your Akeyless Secure Access
102    #[serde(rename = "secure-access-certificate-issuer", skip_serializing_if = "Option::is_none")]
103    pub secure_access_certificate_issuer: Option<String>,
104    /// The K8s cluster endpoint URL (relevant only for EKS/GKE/K8s Dynamic-Secret)
105    #[serde(rename = "secure-access-cluster-endpoint", skip_serializing_if = "Option::is_none")]
106    pub secure_access_cluster_endpoint: Option<String>,
107    /// The K8s dashboard url (relevant only for k8s)
108    #[serde(rename = "secure-access-dashboard-url", skip_serializing_if = "Option::is_none")]
109    pub secure_access_dashboard_url: Option<String>,
110    /// The DB name (relevant only for DB Dynamic-Secret)
111    #[serde(rename = "secure-access-db-name", skip_serializing_if = "Option::is_none")]
112    pub secure_access_db_name: Option<String>,
113    /// The DB schema (relevant only for DB Dynamic-Secret)
114    #[serde(rename = "secure-access-db-schema", skip_serializing_if = "Option::is_none")]
115    pub secure_access_db_schema: Option<String>,
116    /// Enable/Disable secure remote access [true/false]
117    #[serde(rename = "secure-access-enable", skip_serializing_if = "Option::is_none")]
118    pub secure_access_enable: Option<String>,
119    #[serde(rename = "secure-access-gateway", skip_serializing_if = "Option::is_none")]
120    pub secure_access_gateway: Option<String>,
121    /// Target servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts - Relevant only for Dynamic Secrets/producers)
122    #[serde(rename = "secure-access-host", skip_serializing_if = "Option::is_none")]
123    pub secure_access_host: Option<Vec<String>>,
124    /// RD Gateway server (relevant only for rdp)
125    #[serde(rename = "secure-access-rd-gateway-server", skip_serializing_if = "Option::is_none")]
126    pub secure_access_rd_gateway_server: Option<String>,
127    /// Required when the Dynamic Secret is used for a domain user (relevant only for RDP Dynamic-Secret)
128    #[serde(rename = "secure-access-rdp-domain", skip_serializing_if = "Option::is_none")]
129    pub secure_access_rdp_domain: Option<String>,
130    /// Override the RDP Domain username
131    #[serde(rename = "secure-access-rdp-user", skip_serializing_if = "Option::is_none")]
132    pub secure_access_rdp_user: Option<String>,
133    /// List of the existent hosts that will be removed from SRA servers host
134    #[serde(rename = "secure-access-rm-host", skip_serializing_if = "Option::is_none")]
135    pub secure_access_rm_host: Option<Vec<String>>,
136    /// Bastion's SSH server. E.g. my.sra-server:22 (relevant only for ssh cert issuer)
137    #[serde(rename = "secure-access-ssh", skip_serializing_if = "Option::is_none")]
138    pub secure_access_ssh: Option<String>,
139    /// Secret values contains SSH Credentials, either Private Key or Password [password/private-key] (relevant only for Static-Secret or Rotated-secret)
140    #[serde(rename = "secure-access-ssh-creds", skip_serializing_if = "Option::is_none")]
141    pub secure_access_ssh_creds: Option<String>,
142    /// SSH username to connect to target server, must be in 'Allowed Users' list (relevant only for ssh cert issuer)
143    #[serde(rename = "secure-access-ssh-creds-user", skip_serializing_if = "Option::is_none")]
144    pub secure_access_ssh_creds_user: Option<String>,
145    /// Destination URL to inject secrets
146    #[serde(rename = "secure-access-url", skip_serializing_if = "Option::is_none")]
147    pub secure_access_url: Option<String>,
148    /// Deprecated. Use secure-access-use-internal-ssh-access
149    #[serde(rename = "secure-access-use-internal-bastion", skip_serializing_if = "Option::is_none")]
150    pub secure_access_use_internal_bastion: Option<bool>,
151    /// Use internal SSH Access
152    #[serde(rename = "secure-access-use-internal-ssh-access", skip_serializing_if = "Option::is_none")]
153    pub secure_access_use_internal_ssh_access: Option<bool>,
154    /// Secure browser via Akeyless's Secure Remote Access (SRA)
155    #[serde(rename = "secure-access-web-browsing", skip_serializing_if = "Option::is_none")]
156    pub secure_access_web_browsing: Option<bool>,
157    /// Web-Proxy via Akeyless's Secure Remote Access (SRA)
158    #[serde(rename = "secure-access-web-proxy", skip_serializing_if = "Option::is_none")]
159    pub secure_access_web_proxy: Option<bool>,
160    /// Authentication token (see `/auth` and `/configure`)
161    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
162    pub token: Option<String>,
163    /// The universal identity token, Required only for universal_identity authentication
164    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
165    pub uid_token: Option<String>,
166}
167
168impl UpdateItem {
169    pub fn new(name: String) -> UpdateItem {
170        UpdateItem {
171            provider_type: None,
172            accessibility: None,
173            add_tag: None,
174            cert_file_data: None,
175            certificate_format: None,
176            change_event: None,
177            delete_protection: None,
178            description: None,
179            expiration_event_in: None,
180            gcp_sm_regions: None,
181            host_provider: None,
182            item_custom_fields: None,
183            json: None,
184            max_versions: None,
185            name,
186            new_metadata: None,
187            new_name: None,
188            rm_tag: None,
189            rotate_after_disconnect: None,
190            secure_access_add_host: None,
191            secure_access_allow_external_user: None,
192            secure_access_allow_port_forwading: None,
193            secure_access_api: None,
194            secure_access_aws_account_id: None,
195            secure_access_aws_native_cli: None,
196            secure_access_aws_region: None,
197            secure_access_bastion_api: None,
198            secure_access_bastion_issuer: None,
199            secure_access_bastion_ssh: None,
200            secure_access_certificate_issuer: None,
201            secure_access_cluster_endpoint: None,
202            secure_access_dashboard_url: None,
203            secure_access_db_name: None,
204            secure_access_db_schema: None,
205            secure_access_enable: None,
206            secure_access_gateway: None,
207            secure_access_host: None,
208            secure_access_rd_gateway_server: None,
209            secure_access_rdp_domain: None,
210            secure_access_rdp_user: None,
211            secure_access_rm_host: None,
212            secure_access_ssh: None,
213            secure_access_ssh_creds: None,
214            secure_access_ssh_creds_user: None,
215            secure_access_url: None,
216            secure_access_use_internal_bastion: None,
217            secure_access_use_internal_ssh_access: None,
218            secure_access_web_browsing: None,
219            secure_access_web_proxy: None,
220            token: None,
221            uid_token: None,
222        }
223    }
224}
225