Skip to main content

akeyless_api/models/
dynamic_secret_update_gitlab.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/// DynamicSecretUpdateGitlab : dynamicSecretUpdateGitlab is a command that updates gitlab dynamic secret
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct DynamicSecretUpdateGitlab {
17    /// Protection from accidental deletion of this object [true/false]
18    #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
19    pub delete_protection: Option<String>,
20    /// Description of the object
21    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
22    pub description: Option<String>,
23    /// Gitlab access token
24    #[serde(rename = "gitlab-access-token", skip_serializing_if = "Option::is_none")]
25    pub gitlab_access_token: Option<String>,
26    /// Gitlab access token type [project,group]
27    #[serde(rename = "gitlab-access-type")]
28    pub gitlab_access_type: String,
29    /// Gitlab tls certificate (base64 encoded)
30    #[serde(rename = "gitlab-certificate", skip_serializing_if = "Option::is_none")]
31    pub gitlab_certificate: Option<String>,
32    /// Gitlab role
33    #[serde(rename = "gitlab-role", skip_serializing_if = "Option::is_none")]
34    pub gitlab_role: Option<String>,
35    /// Comma-separated list of access token scopes to grant
36    #[serde(rename = "gitlab-token-scopes")]
37    pub gitlab_token_scopes: String,
38    /// Gitlab base url
39    #[serde(rename = "gitlab-url", skip_serializing_if = "Option::is_none")]
40    pub gitlab_url: Option<String>,
41    /// Gitlab group name, required for access-type=group
42    #[serde(rename = "group-name", skip_serializing_if = "Option::is_none")]
43    pub group_name: Option<String>,
44    /// Gitlab project name, required for access-type=project
45    #[serde(rename = "installation-organization", skip_serializing_if = "Option::is_none")]
46    pub installation_organization: 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    /// Dynamic secret name
54    #[serde(rename = "name")]
55    pub name: String,
56    /// Dynamic secret name
57    #[serde(rename = "new-name", skip_serializing_if = "Option::is_none")]
58    pub new_name: Option<String>,
59    /// Add tags attached to this object
60    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
61    pub tags: Option<Vec<String>>,
62    /// Target name
63    #[serde(rename = "target-name", skip_serializing_if = "Option::is_none")]
64    pub target_name: Option<String>,
65    /// Authentication token (see `/auth` and `/configure`)
66    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
67    pub token: Option<String>,
68    /// Access Token TTL
69    #[serde(rename = "ttl", skip_serializing_if = "Option::is_none")]
70    pub ttl: Option<String>,
71    /// The universal identity token, Required only for universal_identity authentication
72    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
73    pub uid_token: Option<String>,
74}
75
76impl DynamicSecretUpdateGitlab {
77    /// dynamicSecretUpdateGitlab is a command that updates gitlab dynamic secret
78    pub fn new(gitlab_access_type: String, gitlab_token_scopes: String, name: String) -> DynamicSecretUpdateGitlab {
79        DynamicSecretUpdateGitlab {
80            delete_protection: None,
81            description: None,
82            gitlab_access_token: None,
83            gitlab_access_type,
84            gitlab_certificate: None,
85            gitlab_role: None,
86            gitlab_token_scopes,
87            gitlab_url: None,
88            group_name: None,
89            installation_organization: None,
90            item_custom_fields: None,
91            json: None,
92            name,
93            new_name: None,
94            tags: None,
95            target_name: None,
96            token: None,
97            ttl: None,
98            uid_token: None,
99        }
100    }
101}
102