antimatter_api 2.0.13

Interact with the Antimatter Cloud API
Documentation
/*
 * Antimatter Public API
 *
 * Interact with the Antimatter Cloud API
 *
 * The version of the OpenAPI document: 2.0.13
 * Contact: support@antimatter.io
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// AwsServiceAccountKeyInfo : The AWS service account information and details required to use the provided AWS hosted encryption keys for cryptographic operations. 
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AwsServiceAccountKeyInfo {
    /// The AWS access key ID.
    #[serde(rename = "accessKeyID")]
    pub access_key_id: String,
    /// The access key ID's secret access key.
    #[serde(rename = "secretAccessKey")]
    pub secret_access_key: String,
    /// The key ARN to be used.
    #[serde(rename = "keyARN")]
    pub key_arn: String,
    #[serde(rename = "providerName", skip_serializing_if = "Option::is_none")]
    pub provider_name: Option<ProviderName>,
}

impl AwsServiceAccountKeyInfo {
    /// The AWS service account information and details required to use the provided AWS hosted encryption keys for cryptographic operations. 
    pub fn new(access_key_id: String, secret_access_key: String, key_arn: String) -> AwsServiceAccountKeyInfo {
        AwsServiceAccountKeyInfo {
            access_key_id,
            secret_access_key,
            key_arn,
            provider_name: None,
        }
    }
}
/// 
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ProviderName {
    #[serde(rename = "aws_sa")]
    AwsSa,
}

impl Default for ProviderName {
    fn default() -> ProviderName {
        Self::AwsSa
    }
}