Skip to main content

akeyless_api/models/
dynamic_secret_update_gcp.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/// DynamicSecretUpdateGcp : dynamicSecretUpdateGcp is a command that updates a GCP dynamic secret
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct DynamicSecretUpdateGcp {
17    #[serde(rename = "access-type", skip_serializing_if = "Option::is_none")]
18    pub access_type: Option<String>,
19    /// Customize how temporary usernames are generated using go template
20    #[serde(rename = "custom-username-template", skip_serializing_if = "Option::is_none")]
21    pub custom_username_template: Option<String>,
22    /// Protection from accidental deletion of this object [true/false]
23    #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
24    pub delete_protection: Option<String>,
25    /// Description of the object
26    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
27    pub description: Option<String>,
28    /// For externally provided users, denotes the key-name of IdP claim to extract the username from (Relevant only when --access-type=external)
29    #[serde(rename = "fixed-user-claim-keyname", skip_serializing_if = "Option::is_none")]
30    pub fixed_user_claim_keyname: Option<String>,
31    #[serde(rename = "gcp-cred-type", skip_serializing_if = "Option::is_none")]
32    pub gcp_cred_type: Option<String>,
33    /// Base64-encoded service account private key text
34    #[serde(rename = "gcp-key", skip_serializing_if = "Option::is_none")]
35    pub gcp_key: Option<String>,
36    /// Service account key algorithm, e.g. KEY_ALG_RSA_1024 (Relevant only when --access-type=sa and --gcp-cred-type=key)
37    #[serde(rename = "gcp-key-algo", skip_serializing_if = "Option::is_none")]
38    pub gcp_key_algo: Option<String>,
39    /// GCP Project ID override for dynamic secret operations
40    #[serde(rename = "gcp-project-id", skip_serializing_if = "Option::is_none")]
41    pub gcp_project_id: Option<String>,
42    /// The email of the fixed service account to generate keys or tokens for (Relevant only when --access-type=sa and --service-account-type=fixed)
43    #[serde(rename = "gcp-sa-email", skip_serializing_if = "Option::is_none")]
44    pub gcp_sa_email: Option<String>,
45    /// Access token scopes list, e.g. scope1,scope2 (Relevant only when --access-type=sa; required when --gcp-cred-type=token)
46    #[serde(rename = "gcp-token-scopes", skip_serializing_if = "Option::is_none")]
47    pub gcp_token_scopes: Option<String>,
48    /// Additional custom fields to associate with the item
49    #[serde(rename = "item-custom-fields", skip_serializing_if = "Option::is_none")]
50    pub item_custom_fields: Option<std::collections::HashMap<String, String>>,
51    /// Set output format to JSON
52    #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
53    pub json: Option<bool>,
54    /// Dynamic secret name
55    #[serde(rename = "name")]
56    pub name: String,
57    /// Dynamic secret name
58    #[serde(rename = "new-name", skip_serializing_if = "Option::is_none")]
59    pub new_name: Option<String>,
60    /// Dynamic producer encryption key
61    #[serde(rename = "producer-encryption-key-name", skip_serializing_if = "Option::is_none")]
62    pub producer_encryption_key_name: Option<String>,
63    /// Role binding definitions in JSON format (Relevant only when --access-type=sa and --service-account-type=dynamic)
64    #[serde(rename = "role-binding", skip_serializing_if = "Option::is_none")]
65    pub role_binding: Option<String>,
66    /// Comma-separated list of GCP roles to assign to the user (Relevant only when --access-type=external)
67    #[serde(rename = "role-names", skip_serializing_if = "Option::is_none")]
68    pub role_names: Option<String>,
69    /// The delay duration, in seconds, to wait after generating just-in-time credentials. Accepted range: 0-120 seconds
70    #[serde(rename = "secure-access-delay", skip_serializing_if = "Option::is_none")]
71    pub secure_access_delay: Option<i64>,
72    /// Enable/Disable secure remote access [true/false]
73    #[serde(rename = "secure-access-enable", skip_serializing_if = "Option::is_none")]
74    pub secure_access_enable: Option<String>,
75    /// Destination URL to inject secrets
76    #[serde(rename = "secure-access-url", skip_serializing_if = "Option::is_none")]
77    pub secure_access_url: Option<String>,
78    /// Secure browser via Akeyless's Secure Remote Access (SRA)
79    #[serde(rename = "secure-access-web-browsing", skip_serializing_if = "Option::is_none")]
80    pub secure_access_web_browsing: Option<bool>,
81    /// Web-Proxy via Akeyless's Secure Remote Access (SRA)
82    #[serde(rename = "secure-access-web-proxy", skip_serializing_if = "Option::is_none")]
83    pub secure_access_web_proxy: Option<bool>,
84    /// The type of the GCP service account. Options [fixed, dynamic] (Relevant only when --access-type=sa)
85    #[serde(rename = "service-account-type", skip_serializing_if = "Option::is_none")]
86    pub service_account_type: Option<String>,
87    /// Add tags attached to this object
88    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
89    pub tags: Option<Vec<String>>,
90    /// Target name
91    #[serde(rename = "target-name", skip_serializing_if = "Option::is_none")]
92    pub target_name: Option<String>,
93    /// Authentication token (see `/auth` and `/configure`)
94    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
95    pub token: Option<String>,
96    /// The universal identity token, Required only for universal_identity authentication
97    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
98    pub uid_token: Option<String>,
99    /// User TTL
100    #[serde(rename = "user-ttl", skip_serializing_if = "Option::is_none")]
101    pub user_ttl: Option<String>,
102}
103
104impl DynamicSecretUpdateGcp {
105    /// dynamicSecretUpdateGcp is a command that updates a GCP dynamic secret
106    pub fn new(name: String) -> DynamicSecretUpdateGcp {
107        DynamicSecretUpdateGcp {
108            access_type: None,
109            custom_username_template: None,
110            delete_protection: None,
111            description: None,
112            fixed_user_claim_keyname: None,
113            gcp_cred_type: None,
114            gcp_key: None,
115            gcp_key_algo: None,
116            gcp_project_id: None,
117            gcp_sa_email: None,
118            gcp_token_scopes: None,
119            item_custom_fields: None,
120            json: None,
121            name,
122            new_name: None,
123            producer_encryption_key_name: None,
124            role_binding: None,
125            role_names: None,
126            secure_access_delay: None,
127            secure_access_enable: None,
128            secure_access_url: None,
129            secure_access_web_browsing: None,
130            secure_access_web_proxy: None,
131            service_account_type: None,
132            tags: None,
133            target_name: None,
134            token: None,
135            uid_token: None,
136            user_ttl: None,
137        }
138    }
139}
140