use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeCacheClustersRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_cluster_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_records: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub marker: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub show_cache_node_info: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub show_cache_clusters_not_in_replication_groups: Option<bool>,
}
impl DescribeCacheClustersRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
cache_cluster_id: Some("test-cache_cluster_id".into()),
max_records: Some(100),
marker: Some("test-marker".into()),
show_cache_node_info: Some(false),
show_cache_clusters_not_in_replication_groups: Some(false),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeCacheClustersResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub cache_clusters: Vec<CacheCluster>,
#[serde(skip_serializing_if = "Option::is_none")]
pub marker: Option<String>,
}
impl DescribeCacheClustersResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
cache_clusters: vec![],
marker: Some("test-marker".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CacheCluster {
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_cluster_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_node_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub engine: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub engine_version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_cluster_status: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub num_cache_nodes: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_cluster_create_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub preferred_maintenance_window: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub preferred_availability_zone: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_subnet_group_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub auto_minor_version_upgrade: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub replication_group_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub snapshot_retention_limit: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub snapshot_window: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub auth_token_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub transit_encryption_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub at_rest_encryption_enabled: Option<bool>,
#[serde(rename = "ARN")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub cache_nodes: Vec<CacheNode>,
#[serde(skip_serializing_if = "Option::is_none")]
pub configuration_endpoint: Option<Endpoint>,
}
impl CacheCluster {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
cache_cluster_id: Some("test-cache_cluster_id".into()),
cache_node_type: Some("test-cache_node_type".into()),
engine: Some("test-engine".into()),
engine_version: Some("test-engine_version".into()),
cache_cluster_status: Some("test-cache_cluster_status".into()),
num_cache_nodes: Some(100),
cache_cluster_create_time: Some("test-cache_cluster_create_time".into()),
preferred_maintenance_window: Some("test-preferred_maintenance_window".into()),
preferred_availability_zone: Some("test-preferred_availability_zone".into()),
cache_subnet_group_name: Some("test-cache_subnet_group_name".into()),
auto_minor_version_upgrade: Some(false),
replication_group_id: Some("test-replication_group_id".into()),
snapshot_retention_limit: Some(100),
snapshot_window: Some("test-snapshot_window".into()),
auth_token_enabled: Some(false),
transit_encryption_enabled: Some(false),
at_rest_encryption_enabled: Some(false),
arn: Some("test-arn".into()),
cache_nodes: vec![],
configuration_endpoint: Some(Endpoint::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CacheNode {
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_node_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_node_status: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_node_create_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub endpoint: Option<Endpoint>,
#[serde(skip_serializing_if = "Option::is_none")]
pub parameter_group_status: Option<String>,
}
impl CacheNode {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
cache_node_id: Some("test-cache_node_id".into()),
cache_node_status: Some("test-cache_node_status".into()),
cache_node_create_time: Some("test-cache_node_create_time".into()),
endpoint: Some(Endpoint::fixture()),
parameter_group_status: Some("test-parameter_group_status".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct Endpoint {
#[serde(skip_serializing_if = "Option::is_none")]
pub address: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub port: Option<i32>,
}
impl Endpoint {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
address: Some("test-address".into()),
port: Some(100),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeReplicationGroupsRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub replication_group_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_records: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub marker: Option<String>,
}
impl DescribeReplicationGroupsRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
replication_group_id: Some("test-replication_group_id".into()),
max_records: Some(100),
marker: Some("test-marker".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeReplicationGroupsResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub replication_groups: Vec<ReplicationGroup>,
#[serde(skip_serializing_if = "Option::is_none")]
pub marker: Option<String>,
}
impl DescribeReplicationGroupsResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
replication_groups: vec![],
marker: Some("test-marker".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ReplicationGroup {
#[serde(skip_serializing_if = "Option::is_none")]
pub replication_group_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub node_groups: Vec<NodeGroup>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub member_clusters: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_node_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub automatic_failover: Option<String>,
#[serde(rename = "MultiAZ")]
#[serde(skip_serializing_if = "Option::is_none")]
pub multi_az: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub configuration_endpoint: Option<Endpoint>,
#[serde(skip_serializing_if = "Option::is_none")]
pub snapshot_retention_limit: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub snapshot_window: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cluster_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub auth_token_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub transit_encryption_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub at_rest_encryption_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kms_key_id: Option<String>,
#[serde(rename = "ARN")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub replication_group_create_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub engine: Option<String>,
}
impl ReplicationGroup {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
replication_group_id: Some("test-replication_group_id".into()),
description: Some("test-description".into()),
status: Some("test-status".into()),
node_groups: vec![],
member_clusters: vec![],
cache_node_type: Some("test-cache_node_type".into()),
automatic_failover: Some("test-automatic_failover".into()),
multi_az: Some("test-multi_az".into()),
configuration_endpoint: Some(Endpoint::fixture()),
snapshot_retention_limit: Some(100),
snapshot_window: Some("test-snapshot_window".into()),
cluster_enabled: Some(false),
auth_token_enabled: Some(false),
transit_encryption_enabled: Some(false),
at_rest_encryption_enabled: Some(false),
kms_key_id: Some("test-kms_key_id".into()),
arn: Some("test-arn".into()),
replication_group_create_time: Some("test-replication_group_create_time".into()),
engine: Some("test-engine".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct NodeGroup {
#[serde(skip_serializing_if = "Option::is_none")]
pub node_group_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub primary_endpoint: Option<Endpoint>,
#[serde(skip_serializing_if = "Option::is_none")]
pub reader_endpoint: Option<Endpoint>,
#[serde(skip_serializing_if = "Option::is_none")]
pub slots: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub node_group_members: Vec<NodeGroupMember>,
}
impl NodeGroup {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
node_group_id: Some("test-node_group_id".into()),
status: Some("test-status".into()),
primary_endpoint: Some(Endpoint::fixture()),
reader_endpoint: Some(Endpoint::fixture()),
slots: Some("test-slots".into()),
node_group_members: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct NodeGroupMember {
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_cluster_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_node_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub read_endpoint: Option<Endpoint>,
#[serde(skip_serializing_if = "Option::is_none")]
pub preferred_availability_zone: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub current_role: Option<String>,
}
impl NodeGroupMember {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
cache_cluster_id: Some("test-cache_cluster_id".into()),
cache_node_id: Some("test-cache_node_id".into()),
read_endpoint: Some(Endpoint::fixture()),
preferred_availability_zone: Some("test-preferred_availability_zone".into()),
current_role: Some("test-current_role".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteCacheClusterRequest {
pub cache_cluster_id: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub final_snapshot_identifier: Option<String>,
}
impl DeleteCacheClusterRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
cache_cluster_id: "test-cache_cluster_id".into(),
final_snapshot_identifier: Some("test-final_snapshot_identifier".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteCacheClusterResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_cluster: Option<CacheCluster>,
}
impl DeleteCacheClusterResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
cache_cluster: Some(CacheCluster::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteReplicationGroupRequest {
pub replication_group_id: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub retain_primary_cluster: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub final_snapshot_identifier: Option<String>,
}
impl DeleteReplicationGroupRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
replication_group_id: "test-replication_group_id".into(),
retain_primary_cluster: Some(false),
final_snapshot_identifier: Some("test-final_snapshot_identifier".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteReplicationGroupResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub replication_group: Option<ReplicationGroup>,
}
impl DeleteReplicationGroupResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
replication_group: Some(ReplicationGroup::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CreateSnapshotRequest {
pub snapshot_name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub replication_group_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_cluster_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kms_key_id: Option<String>,
}
impl CreateSnapshotRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
snapshot_name: "test-snapshot_name".into(),
replication_group_id: Some("test-replication_group_id".into()),
cache_cluster_id: Some("test-cache_cluster_id".into()),
kms_key_id: Some("test-kms_key_id".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct CreateSnapshotResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub snapshot: Option<Snapshot>,
}
impl CreateSnapshotResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
snapshot: Some(Snapshot::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct Snapshot {
#[serde(skip_serializing_if = "Option::is_none")]
pub snapshot_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub replication_group_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_cluster_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub snapshot_status: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub snapshot_source: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_node_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub engine: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub engine_version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub num_cache_nodes: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub preferred_availability_zone: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_cluster_create_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub preferred_maintenance_window: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub snapshot_retention_limit: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub snapshot_window: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub num_node_groups: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub automatic_failover: Option<String>,
#[serde(rename = "ARN")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kms_key_id: Option<String>,
}
impl Snapshot {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
snapshot_name: Some("test-snapshot_name".into()),
replication_group_id: Some("test-replication_group_id".into()),
cache_cluster_id: Some("test-cache_cluster_id".into()),
snapshot_status: Some("test-snapshot_status".into()),
snapshot_source: Some("test-snapshot_source".into()),
cache_node_type: Some("test-cache_node_type".into()),
engine: Some("test-engine".into()),
engine_version: Some("test-engine_version".into()),
num_cache_nodes: Some(100),
preferred_availability_zone: Some("test-preferred_availability_zone".into()),
cache_cluster_create_time: Some("test-cache_cluster_create_time".into()),
preferred_maintenance_window: Some("test-preferred_maintenance_window".into()),
snapshot_retention_limit: Some(100),
snapshot_window: Some("test-snapshot_window".into()),
num_node_groups: Some(100),
automatic_failover: Some("test-automatic_failover".into()),
arn: Some("test-arn".into()),
kms_key_id: Some("test-kms_key_id".into()),
}
}
}