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};

/// AntimatterDelegatedAwsKeyInfo : The details required to use an AWS KMS root encryption key that has been  delegated to Antimatter's AWS account. This will use Antimatter's service  account during set up of the AWS client. 
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AntimatterDelegatedAwsKeyInfo {
    /// 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 AntimatterDelegatedAwsKeyInfo {
    /// The details required to use an AWS KMS root encryption key that has been  delegated to Antimatter's AWS account. This will use Antimatter's service  account during set up of the AWS client. 
    pub fn new(key_arn: String) -> AntimatterDelegatedAwsKeyInfo {
        AntimatterDelegatedAwsKeyInfo {
            key_arn,
            provider_name: None,
        }
    }
}
/// 
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ProviderName {
    #[serde(rename = "aws_am")]
    AwsAm,
}

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