use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AwsServiceAccountKeyInfo {
#[serde(rename = "accessKeyID")]
pub access_key_id: String,
#[serde(rename = "secretAccessKey")]
pub secret_access_key: String,
#[serde(rename = "keyARN")]
pub key_arn: String,
#[serde(rename = "providerName", skip_serializing_if = "Option::is_none")]
pub provider_name: Option<ProviderName>,
}
impl AwsServiceAccountKeyInfo {
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
}
}