Skip to main content

oci_rust_sdk/core/models/
macsec_key.rs

1use serde::{Deserialize, Serialize};
2
3#[allow(unused_imports)]
4use super::*;
5/// An object defining the Secrets-in-Vault OCIDs representing the MACsec key.
6#[derive(Debug, Clone, Serialize, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct MacsecKey {
9    /// Secret [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) containing the Connectivity association Key Name (CKN) of this MACsec key.
10    pub connectivity_association_name_secret_id: String,
11
12    /// Secret [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) containing the Connectivity Association Key (CAK) of this MACsec key.
13    pub connectivity_association_key_secret_id: String,
14
15    /// The secret version of the connectivity association name secret in Vault. Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues.
16    #[serde(skip_serializing_if = "Option::is_none")]
17    pub connectivity_association_name_secret_version: Option<i64>,
18
19    /// The secret version of the {@code connectivityAssociationKey} secret in Vault. Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues.
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub connectivity_association_key_secret_version: Option<i64>,
22}
23
24/// Required fields for MacsecKey
25pub struct MacsecKeyRequired {
26    /// Secret [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) containing the Connectivity association Key Name (CKN) of this MACsec key.
27    pub connectivity_association_name_secret_id: String,
28
29    /// Secret [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) containing the Connectivity Association Key (CAK) of this MACsec key.
30    pub connectivity_association_key_secret_id: String,
31}
32
33impl MacsecKey {
34    /// Create a new MacsecKey with required fields
35    pub fn new(required: MacsecKeyRequired) -> Self {
36        Self {
37            connectivity_association_name_secret_id: required
38                .connectivity_association_name_secret_id,
39
40            connectivity_association_key_secret_id: required.connectivity_association_key_secret_id,
41
42            connectivity_association_name_secret_version: None,
43
44            connectivity_association_key_secret_version: None,
45        }
46    }
47
48    /// Set connectivity_association_name_secret_id
49    pub fn set_connectivity_association_name_secret_id(mut self, value: String) -> Self {
50        self.connectivity_association_name_secret_id = value;
51        self
52    }
53
54    /// Set connectivity_association_name_secret_version
55    pub fn set_connectivity_association_name_secret_version(mut self, value: Option<i64>) -> Self {
56        self.connectivity_association_name_secret_version = value;
57        self
58    }
59
60    /// Set connectivity_association_key_secret_id
61    pub fn set_connectivity_association_key_secret_id(mut self, value: String) -> Self {
62        self.connectivity_association_key_secret_id = value;
63        self
64    }
65
66    /// Set connectivity_association_key_secret_version
67    pub fn set_connectivity_association_key_secret_version(mut self, value: Option<i64>) -> Self {
68        self.connectivity_association_key_secret_version = value;
69        self
70    }
71
72    /// Set connectivity_association_name_secret_version (unwraps Option)
73    pub fn with_connectivity_association_name_secret_version(mut self, value: i64) -> Self {
74        self.connectivity_association_name_secret_version = Some(value);
75        self
76    }
77
78    /// Set connectivity_association_key_secret_version (unwraps Option)
79    pub fn with_connectivity_association_key_secret_version(mut self, value: i64) -> Self {
80        self.connectivity_association_key_secret_version = Some(value);
81        self
82    }
83}