Skip to main content

akeyless_api/models/
dynamic_secret_update_venafi.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/// DynamicSecretUpdateVenafi : dynamicSecretUpdateVenafi is a command that updates a Venafi dynamic secret to dynamically update certificates generated by Venafi or have Akeyless generated certificates using PKI be monitored by Venafi
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct DynamicSecretUpdateVenafi {
17    /// Admin credentials rotation interval (days)
18    #[serde(rename = "admin-rotation-interval-days", skip_serializing_if = "Option::is_none")]
19    pub admin_rotation_interval_days: Option<i64>,
20    /// Allow subdomains
21    #[serde(rename = "allow-subdomains", skip_serializing_if = "Option::is_none")]
22    pub allow_subdomains: Option<bool>,
23    /// Allowed domains
24    #[serde(rename = "allowed-domains", skip_serializing_if = "Option::is_none")]
25    pub allowed_domains: Option<Vec<String>>,
26    /// Auto generated folder
27    #[serde(rename = "auto-generated-folder", skip_serializing_if = "Option::is_none")]
28    pub auto_generated_folder: Option<String>,
29    /// Protection from accidental deletion of this object [true/false]
30    #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
31    pub delete_protection: Option<String>,
32    /// Description of the object
33    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
34    pub description: Option<String>,
35    /// Automatic admin credentials rotation
36    #[serde(rename = "enable-admin-rotation", skip_serializing_if = "Option::is_none")]
37    pub enable_admin_rotation: Option<bool>,
38    /// Additional custom fields to associate with the item
39    #[serde(rename = "item-custom-fields", skip_serializing_if = "Option::is_none")]
40    pub item_custom_fields: Option<std::collections::HashMap<String, String>>,
41    /// Set output format to JSON
42    #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
43    pub json: Option<bool>,
44    /// Dynamic secret name
45    #[serde(rename = "name")]
46    pub name: String,
47    /// Dynamic secret name
48    #[serde(rename = "new-name", skip_serializing_if = "Option::is_none")]
49    pub new_name: Option<String>,
50    /// Dynamic producer encryption key
51    #[serde(rename = "producer-encryption-key-name", skip_serializing_if = "Option::is_none")]
52    pub producer_encryption_key_name: Option<String>,
53    /// Root first in chain
54    #[serde(rename = "root-first-in-chain", skip_serializing_if = "Option::is_none")]
55    pub root_first_in_chain: Option<bool>,
56    /// Use Akeyless PKI issuer or Venafi issuer
57    #[serde(rename = "sign-using-akeyless-pki", skip_serializing_if = "Option::is_none")]
58    pub sign_using_akeyless_pki: Option<bool>,
59    /// Signer key name
60    #[serde(rename = "signer-key-name", skip_serializing_if = "Option::is_none")]
61    pub signer_key_name: Option<String>,
62    /// Store private key
63    #[serde(rename = "store-private-key", skip_serializing_if = "Option::is_none")]
64    pub store_private_key: Option<bool>,
65    /// Add tags attached to this object
66    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
67    pub tags: Option<Vec<String>>,
68    /// Target name
69    #[serde(rename = "target-name", skip_serializing_if = "Option::is_none")]
70    pub target_name: Option<String>,
71    /// Authentication token (see `/auth` and `/configure`)
72    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
73    pub token: Option<String>,
74    /// The universal identity token, Required only for universal_identity authentication
75    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
76    pub uid_token: Option<String>,
77    /// User TTL in time.Duration format (2160h / 129600m / etc...). When using sign-using-akeyless-pki certificates created will have this validity period, otherwise the user-ttl is taken from the Validity Period field of the Zone's' Issuing Template. When using cert-manager it is advised to have a TTL of above 60 days (1440h). For more information - https://cert-manager.io/docs/usage/certificate/
78    #[serde(rename = "user-ttl", skip_serializing_if = "Option::is_none")]
79    pub user_ttl: Option<String>,
80    /// Venafi Access Token to use to access the TPP environment (Relevant when using TPP)
81    #[serde(rename = "venafi-access-token", skip_serializing_if = "Option::is_none")]
82    pub venafi_access_token: Option<String>,
83    /// Venafi API key
84    #[serde(rename = "venafi-api-key", skip_serializing_if = "Option::is_none")]
85    pub venafi_api_key: Option<String>,
86    /// Venafi Baseurl
87    #[serde(rename = "venafi-baseurl", skip_serializing_if = "Option::is_none")]
88    pub venafi_baseurl: Option<String>,
89    /// Venafi Client ID that was used when the access token was generated
90    #[serde(rename = "venafi-client-id", skip_serializing_if = "Option::is_none")]
91    pub venafi_client_id: Option<String>,
92    /// Venafi Refresh Token to use when the Access Token is expired (Relevant when using TPP)
93    #[serde(rename = "venafi-refresh-token", skip_serializing_if = "Option::is_none")]
94    pub venafi_refresh_token: Option<String>,
95    /// Venafi using TPP
96    #[serde(rename = "venafi-use-tpp", skip_serializing_if = "Option::is_none")]
97    pub venafi_use_tpp: Option<bool>,
98    /// Venafi Zone
99    #[serde(rename = "venafi-zone", skip_serializing_if = "Option::is_none")]
100    pub venafi_zone: Option<String>,
101}
102
103impl DynamicSecretUpdateVenafi {
104    /// dynamicSecretUpdateVenafi is a command that updates a Venafi dynamic secret to dynamically update certificates generated by Venafi or have Akeyless generated certificates using PKI be monitored by Venafi
105    pub fn new(name: String) -> DynamicSecretUpdateVenafi {
106        DynamicSecretUpdateVenafi {
107            admin_rotation_interval_days: None,
108            allow_subdomains: None,
109            allowed_domains: None,
110            auto_generated_folder: None,
111            delete_protection: None,
112            description: None,
113            enable_admin_rotation: None,
114            item_custom_fields: None,
115            json: None,
116            name,
117            new_name: None,
118            producer_encryption_key_name: None,
119            root_first_in_chain: None,
120            sign_using_akeyless_pki: None,
121            signer_key_name: None,
122            store_private_key: None,
123            tags: None,
124            target_name: None,
125            token: None,
126            uid_token: None,
127            user_ttl: None,
128            venafi_access_token: None,
129            venafi_api_key: None,
130            venafi_baseurl: None,
131            venafi_client_id: None,
132            venafi_refresh_token: None,
133            venafi_use_tpp: None,
134            venafi_zone: None,
135        }
136    }
137}
138