Skip to main content

akeyless_api/models/
dynamic_secret_create_postgre_sql.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/// DynamicSecretCreatePostgreSql : dynamicSecretCreatePostgreSql is a command that creates postgresql dynamic secret
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct DynamicSecretCreatePostgreSql {
17    /// PostgreSQL Creation statements
18    #[serde(rename = "creation-statements", skip_serializing_if = "Option::is_none")]
19    pub creation_statements: Option<String>,
20    /// Customize how temporary usernames are generated using go template
21    #[serde(rename = "custom-username-template", skip_serializing_if = "Option::is_none")]
22    pub custom_username_template: Option<String>,
23    /// Protection from accidental deletion of this object [true/false]
24    #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
25    pub delete_protection: Option<String>,
26    /// Description of the object
27    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
28    pub description: Option<String>,
29    /// Additional custom fields to associate with the item
30    #[serde(rename = "item-custom-fields", skip_serializing_if = "Option::is_none")]
31    pub item_custom_fields: Option<std::collections::HashMap<String, String>>,
32    /// Set output format to JSON
33    #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
34    pub json: Option<bool>,
35    /// Dynamic secret name
36    #[serde(rename = "name")]
37    pub name: String,
38    /// The length of the password to be generated
39    #[serde(rename = "password-length", skip_serializing_if = "Option::is_none")]
40    pub password_length: Option<String>,
41    /// PostgreSQL DB Name
42    #[serde(rename = "postgresql-db-name", skip_serializing_if = "Option::is_none")]
43    pub postgresql_db_name: Option<String>,
44    /// PostgreSQL Host
45    #[serde(rename = "postgresql-host", skip_serializing_if = "Option::is_none")]
46    pub postgresql_host: Option<String>,
47    /// PostgreSQL Password
48    #[serde(rename = "postgresql-password", skip_serializing_if = "Option::is_none")]
49    pub postgresql_password: Option<String>,
50    /// PostgreSQL Port
51    #[serde(rename = "postgresql-port", skip_serializing_if = "Option::is_none")]
52    pub postgresql_port: Option<String>,
53    /// PostgreSQL Username
54    #[serde(rename = "postgresql-username", skip_serializing_if = "Option::is_none")]
55    pub postgresql_username: Option<String>,
56    /// Dynamic producer encryption key
57    #[serde(rename = "producer-encryption-key", skip_serializing_if = "Option::is_none")]
58    pub producer_encryption_key: Option<String>,
59    /// PostgreSQL Revocation statements
60    #[serde(rename = "revocation-statement", skip_serializing_if = "Option::is_none")]
61    pub revocation_statement: Option<String>,
62    /// Deprecated. use secure-access-certificate-issuer
63    #[serde(rename = "secure-access-bastion-issuer", skip_serializing_if = "Option::is_none")]
64    pub secure_access_bastion_issuer: Option<String>,
65    /// Path to the SSH Certificate Issuer for your Akeyless Secure Access
66    #[serde(rename = "secure-access-certificate-issuer", skip_serializing_if = "Option::is_none")]
67    pub secure_access_certificate_issuer: Option<String>,
68    /// The DB name (relevant only for DB Dynamic-Secret)
69    #[serde(rename = "secure-access-db-name", skip_serializing_if = "Option::is_none")]
70    pub secure_access_db_name: Option<String>,
71    /// The DB schema
72    #[serde(rename = "secure-access-db-schema", skip_serializing_if = "Option::is_none")]
73    pub secure_access_db_schema: Option<String>,
74    /// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
75    #[serde(rename = "secure-access-delay", skip_serializing_if = "Option::is_none")]
76    pub secure_access_delay: Option<i64>,
77    /// Enable/Disable secure remote access [true/false]
78    #[serde(rename = "secure-access-enable", skip_serializing_if = "Option::is_none")]
79    pub secure_access_enable: Option<String>,
80    /// Target DB servers for connections (In case of Linked Target association, host(s) will inherit Linked Target hosts)
81    #[serde(rename = "secure-access-host", skip_serializing_if = "Option::is_none")]
82    pub secure_access_host: Option<Vec<String>>,
83    /// Enable Web Secure Remote Access
84    #[serde(rename = "secure-access-web", skip_serializing_if = "Option::is_none")]
85    pub secure_access_web: Option<bool>,
86    /// Enable/Disable SSL [true/false]
87    #[serde(rename = "ssl", skip_serializing_if = "Option::is_none")]
88    pub ssl: Option<bool>,
89    /// Add tags attached to this object
90    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
91    pub tags: Option<Vec<String>>,
92    /// Target name
93    #[serde(rename = "target-name", skip_serializing_if = "Option::is_none")]
94    pub target_name: Option<String>,
95    /// Authentication token (see `/auth` and `/configure`)
96    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
97    pub token: Option<String>,
98    /// The universal identity token, Required only for universal_identity authentication
99    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
100    pub uid_token: Option<String>,
101    /// User TTL
102    #[serde(rename = "user-ttl", skip_serializing_if = "Option::is_none")]
103    pub user_ttl: Option<String>,
104}
105
106impl DynamicSecretCreatePostgreSql {
107    /// dynamicSecretCreatePostgreSql is a command that creates postgresql dynamic secret
108    pub fn new(name: String) -> DynamicSecretCreatePostgreSql {
109        DynamicSecretCreatePostgreSql {
110            creation_statements: None,
111            custom_username_template: None,
112            delete_protection: None,
113            description: None,
114            item_custom_fields: None,
115            json: None,
116            name,
117            password_length: None,
118            postgresql_db_name: None,
119            postgresql_host: None,
120            postgresql_password: None,
121            postgresql_port: None,
122            postgresql_username: None,
123            producer_encryption_key: None,
124            revocation_statement: None,
125            secure_access_bastion_issuer: None,
126            secure_access_certificate_issuer: None,
127            secure_access_db_name: None,
128            secure_access_db_schema: None,
129            secure_access_delay: None,
130            secure_access_enable: None,
131            secure_access_host: None,
132            secure_access_web: None,
133            ssl: None,
134            tags: None,
135            target_name: None,
136            token: None,
137            uid_token: None,
138            user_ttl: None,
139        }
140    }
141}
142