use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum EngineType {
#[serde(rename = "OpenSearch")]
OpenSearch,
#[serde(rename = "Elasticsearch")]
Elasticsearch,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListDomainNamesRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub engine_type: Option<EngineType>,
}
impl ListDomainNamesRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListDomainNamesResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub domain_names: Vec<DomainInfo>,
}
impl ListDomainNamesResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
domain_names: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DomainInfo {
#[serde(skip_serializing_if = "Option::is_none")]
pub domain_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub engine_type: Option<EngineType>,
}
impl DomainInfo {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
domain_name: Some("test-domain_name".into()),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeDomainRequest {
pub domain_name: String,
}
impl DescribeDomainRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
domain_name: "test-domain_name".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeDomainResponse {
pub domain_status: DomainStatus,
}
impl DescribeDomainResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
domain_status: DomainStatus::fixture(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DomainStatus {
pub domain_id: String,
pub domain_name: String,
#[serde(rename = "ARN")]
pub arn: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub created: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub endpoint_v2: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub processing: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub engine_version: Option<String>,
}
impl DomainStatus {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
domain_id: "test-domain_id".into(),
domain_name: "test-domain_name".into(),
arn: "test-arn".into(),
created: Some(false),
deleted: Some(false),
endpoint: Some("test-endpoint".into()),
endpoint_v2: Some("test-endpoint_v2".into()),
processing: Some(false),
engine_version: Some("test-engine_version".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteDomainRequest {
pub domain_name: String,
}
impl DeleteDomainRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
domain_name: "test-domain_name".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteDomainResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub domain_status: Option<DomainStatus>,
}
impl DeleteDomainResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
domain_status: Some(DomainStatus::fixture()),
}
}
}