use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
pub struct RedshiftConfig {
#[serde(rename = "accessKeyId")]
pub access_key_id: String,
#[serde(rename = "clusterIdentifier")]
#[serde(skip_serializing_if = "Option::is_none")]
pub cluster_identifier: Option<String>,
#[serde(rename = "dbName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub db_name: Option<String>,
#[serde(rename = "dbUser")]
#[serde(skip_serializing_if = "Option::is_none")]
pub db_user: Option<String>,
pub region: String,
#[serde(rename = "schemaName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub schema_name: Option<String>,
#[serde(rename = "secretAccessKey")]
pub secret_access_key: String,
#[serde(rename = "tableName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub table_name: Option<String>,
#[serde(rename = "workgroupName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub workgroup_name: Option<String>,
}
impl RedshiftConfig {
pub fn new(access_key_id: String, region: String, secret_access_key: String) -> Self {
Self {
access_key_id,
cluster_identifier: None,
db_name: None,
db_user: None,
region,
schema_name: None,
secret_access_key,
table_name: None,
workgroup_name: None,
}
}
}