Skip to main content

akeyless_api/models/
create_key.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/// CreateKey : createKey is a command that creates a new key. [Deprecated: Use command create-dfc-key]
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CreateKey {
17    /// Key type; options: [AES128GCM, AES256GCM, AES128SIV, AES256SIV, AES128CBC, AES256CBC, RSA1024, RSA2048, RSA3072, RSA4096]
18    #[serde(rename = "alg")]
19    pub alg: String,
20    /// Common name for the generated certificate. Relevant only for generate-self-signed-certificate.
21    #[serde(rename = "certificate-common-name", skip_serializing_if = "Option::is_none")]
22    pub certificate_common_name: Option<String>,
23    /// Country name for the generated certificate. Relevant only for generate-self-signed-certificate.
24    #[serde(rename = "certificate-country", skip_serializing_if = "Option::is_none")]
25    pub certificate_country: Option<String>,
26    /// Digest algorithm to be used for the certificate key signing.
27    #[serde(rename = "certificate-digest-algo", skip_serializing_if = "Option::is_none")]
28    pub certificate_digest_algo: Option<String>,
29    /// Locality for the generated certificate. Relevant only for generate-self-signed-certificate.
30    #[serde(rename = "certificate-locality", skip_serializing_if = "Option::is_none")]
31    pub certificate_locality: Option<String>,
32    /// Organization name for the generated certificate. Relevant only for generate-self-signed-certificate.
33    #[serde(rename = "certificate-organization", skip_serializing_if = "Option::is_none")]
34    pub certificate_organization: Option<String>,
35    /// Province name for the generated certificate. Relevant only for generate-self-signed-certificate.
36    #[serde(rename = "certificate-province", skip_serializing_if = "Option::is_none")]
37    pub certificate_province: Option<String>,
38    /// TTL in days for the generated certificate. Required only for generate-self-signed-certificate.
39    #[serde(rename = "certificate-ttl", skip_serializing_if = "Option::is_none")]
40    pub certificate_ttl: Option<i64>,
41    /// The csr config data in base64 encoding
42    #[serde(rename = "conf-file-data", skip_serializing_if = "Option::is_none")]
43    pub conf_file_data: Option<String>,
44    /// The customer fragment ID that will be used to create the key (if empty, the key will be created independently of a customer fragment)
45    #[serde(rename = "customer-frg-id", skip_serializing_if = "Option::is_none")]
46    pub customer_frg_id: Option<String>,
47    /// Protection from accidental deletion of this object [true/false]
48    #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
49    pub delete_protection: Option<String>,
50    /// Description of the object
51    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
52    pub description: Option<String>,
53    /// Whether to generate a self signed certificate with the key. If set, --certificate-ttl must be provided.
54    #[serde(rename = "generate-self-signed-certificate", skip_serializing_if = "Option::is_none")]
55    pub generate_self_signed_certificate: Option<bool>,
56    /// Specifies the hash algorithm used for the encryption key's operations, available options: [SHA256, SHA384, SHA512]
57    #[serde(rename = "hash-algorithm", skip_serializing_if = "Option::is_none")]
58    pub hash_algorithm: Option<String>,
59    /// Set output format to JSON
60    #[serde(rename = "json", skip_serializing_if = "Option::is_none")]
61    pub json: Option<bool>,
62    /// Deprecated - use description
63    #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
64    pub metadata: Option<String>,
65    /// Key name
66    #[serde(rename = "name")]
67    pub name: String,
68    /// The number of fragments that the item will be split into (not includes customer fragment)
69    #[serde(rename = "split-level", skip_serializing_if = "Option::is_none")]
70    pub split_level: Option<i64>,
71    /// List of the tags attached to this key
72    #[serde(rename = "tag", skip_serializing_if = "Option::is_none")]
73    pub tag: Option<Vec<String>>,
74    /// Authentication token (see `/auth` and `/configure`)
75    #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
76    pub token: Option<String>,
77    /// The universal identity token, Required only for universal_identity authentication
78    #[serde(rename = "uid-token", skip_serializing_if = "Option::is_none")]
79    pub uid_token: Option<String>,
80}
81
82impl CreateKey {
83    /// createKey is a command that creates a new key. [Deprecated: Use command create-dfc-key]
84    pub fn new(alg: String, name: String) -> CreateKey {
85        CreateKey {
86            alg,
87            certificate_common_name: None,
88            certificate_country: None,
89            certificate_digest_algo: None,
90            certificate_locality: None,
91            certificate_organization: None,
92            certificate_province: None,
93            certificate_ttl: None,
94            conf_file_data: None,
95            customer_frg_id: None,
96            delete_protection: None,
97            description: None,
98            generate_self_signed_certificate: None,
99            hash_algorithm: None,
100            json: None,
101            metadata: None,
102            name,
103            split_level: None,
104            tag: None,
105            token: None,
106            uid_token: None,
107        }
108    }
109}
110