Skip to main content

akeyless_api/models/
assoc_target_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/// AssocTargetItem : assocTargetItem is a command that creates an association between target and item.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct AssocTargetItem {
17    /// A path on the target to store the certificate pem file (relevant only for certificate provisioning)
18    #[serde(rename = "certificate-path", skip_serializing_if = "Option::is_none")]
19    pub certificate_path: Option<String>,
20    /// A path on the target to store the full chain pem file (relevant only for certificate provisioning)
21    #[serde(rename = "chain-path", skip_serializing_if = "Option::is_none")]
22    pub chain_path: Option<String>,
23    /// Automatically disable previous key version (required for azure targets)
24    #[serde(rename = "disable-previous-key-version", skip_serializing_if = "Option::is_none")]
25    pub disable_previous_key_version: Option<bool>,
26    /// The external key name to associate with the classic key (Relevant only for Classic Key AWS/Azure/GCP targets)
27    #[serde(rename = "external-key-name", skip_serializing_if = "Option::is_none")]
28    pub external_key_name: Option<String>,
29    /// Set output format to JSON
30    #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
31    pub json: Option<bool>,
32    /// A list of allowed operations for the key (required for azure targets)
33    #[serde(rename = "key-operations", skip_serializing_if = "Option::is_none")]
34    pub key_operations: Option<Vec<String>>,
35    /// Keyring name of the GCP KMS (required for gcp targets)
36    #[serde(rename = "keyring-name", skip_serializing_if = "Option::is_none")]
37    pub keyring_name: Option<String>,
38    /// Algorithm of the key in GCP KMS (required for gcp targets)
39    #[serde(rename = "kms-algorithm", skip_serializing_if = "Option::is_none")]
40    pub kms_algorithm: Option<String>,
41    /// Location id of the GCP KMS (required for gcp targets)
42    #[serde(rename = "location-id", skip_serializing_if = "Option::is_none")]
43    pub location_id: Option<String>,
44    /// Set to 'true' to create a multi-region managed key. (Relevant only for Classic Key AWS targets)
45    #[serde(rename = "multi-region", skip_serializing_if = "Option::is_none")]
46    pub multi_region: Option<String>,
47    /// The item to associate
48    #[serde(rename = "name")]
49    pub name: String,
50    /// A custom command to run on the remote target after successful provisioning (relevant only for certificate provisioning)
51    #[serde(rename = "post-provision-command", skip_serializing_if = "Option::is_none")]
52    pub post_provision_command: Option<String>,
53    /// A path on the target to store the private key (relevant only for certificate provisioning)
54    #[serde(rename = "private-key-path", skip_serializing_if = "Option::is_none")]
55    pub private_key_path: Option<String>,
56    /// Project id of the GCP KMS (required for gcp targets)
57    #[serde(rename = "project-id", skip_serializing_if = "Option::is_none")]
58    pub project_id: Option<String>,
59    /// Protection level of the key [software/hardware] (relevant for gcp targets)
60    #[serde(rename = "protection-level", skip_serializing_if = "Option::is_none")]
61    pub protection_level: Option<String>,
62    /// Purpose of the key in GCP KMS (required for gcp targets)
63    #[serde(rename = "purpose", skip_serializing_if = "Option::is_none")]
64    pub purpose: Option<String>,
65    /// The list of regions to create a copy of the key in (relevant for aws targets)
66    #[serde(rename = "regions", skip_serializing_if = "Option::is_none")]
67    pub regions: Option<Vec<String>>,
68    /// Is the target to associate is for sra, relevant only for linked target association for ldap rotated secret
69    #[serde(rename = "sra-association", skip_serializing_if = "Option::is_none")]
70    pub sra_association: Option<bool>,
71    /// The target to associate
72    #[serde(rename = "target-name")]
73    pub target_name: String,
74    /// The tenant secret type [Data/SearchIndex/Analytics] (required for salesforce targets)
75    #[serde(rename = "tenant-secret-type", skip_serializing_if = "Option::is_none")]
76    pub tenant_secret_type: Option<String>,
77    /// Authentication token (see `/auth` and `/configure`)
78    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
79    pub token: Option<String>,
80    /// The universal identity token, Required only for universal_identity authentication
81    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
82    pub uid_token: Option<String>,
83    /// Name of the vault used (required for azure targets)
84    #[serde(rename = "vault-name", skip_serializing_if = "Option::is_none")]
85    pub vault_name: Option<String>,
86}
87
88impl AssocTargetItem {
89    /// assocTargetItem is a command that creates an association between target and item.
90    pub fn new(name: String, target_name: String) -> AssocTargetItem {
91        AssocTargetItem {
92            certificate_path: None,
93            chain_path: None,
94            disable_previous_key_version: None,
95            external_key_name: None,
96            json: None,
97            key_operations: None,
98            keyring_name: None,
99            kms_algorithm: None,
100            location_id: None,
101            multi_region: None,
102            name,
103            post_provision_command: None,
104            private_key_path: None,
105            project_id: None,
106            protection_level: None,
107            purpose: None,
108            regions: None,
109            sra_association: None,
110            target_name,
111            tenant_secret_type: None,
112            token: None,
113            uid_token: None,
114            vault_name: None,
115        }
116    }
117}
118