use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListTablesInput {
#[serde(skip_serializing_if = "Option::is_none")]
pub exclusive_start_table_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i32>,
}
impl ListTablesInput {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
exclusive_start_table_name: Some("test-exclusive_start_table_name".into()),
limit: Some(100),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListTablesOutput {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub table_names: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub last_evaluated_table_name: Option<String>,
}
impl ListTablesOutput {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
table_names: vec![],
last_evaluated_table_name: Some("test-last_evaluated_table_name".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeTableInput {
pub table_name: String,
}
impl DescribeTableInput {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
table_name: "test-table_name".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DescribeTableOutput {
#[serde(skip_serializing_if = "Option::is_none")]
pub table: Option<TableDescription>,
}
impl DescribeTableOutput {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
table: Some(TableDescription::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct UpdateTableInput {
pub table_name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub billing_mode: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioned_throughput: Option<ProvisionedThroughput>,
#[serde(skip_serializing_if = "Option::is_none")]
pub deletion_protection_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub table_class: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub stream_specification: Option<StreamSpecification>,
}
impl UpdateTableInput {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
table_name: "test-table_name".into(),
billing_mode: Some("test-billing_mode".into()),
provisioned_throughput: Some(ProvisionedThroughput::fixture()),
deletion_protection_enabled: Some(false),
table_class: Some("test-table_class".into()),
stream_specification: Some(StreamSpecification::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct UpdateTableOutput {
#[serde(skip_serializing_if = "Option::is_none")]
pub table_description: Option<TableDescription>,
}
impl UpdateTableOutput {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
table_description: Some(TableDescription::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteTableInput {
pub table_name: String,
}
impl DeleteTableInput {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
table_name: "test-table_name".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct DeleteTableOutput {
#[serde(skip_serializing_if = "Option::is_none")]
pub table_description: Option<TableDescription>,
}
impl DeleteTableOutput {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
table_description: Some(TableDescription::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct TableDescription {
#[serde(skip_serializing_if = "Option::is_none")]
pub table_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub table_arn: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub table_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub table_status: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub creation_date_time: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub item_count: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub table_size_bytes: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub billing_mode_summary: Option<BillingModeSummary>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioned_throughput: Option<ProvisionedThroughputDescription>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub key_schema: Vec<KeySchemaElement>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub attribute_definitions: Vec<AttributeDefinition>,
#[serde(skip_serializing_if = "Option::is_none")]
pub stream_specification: Option<StreamSpecification>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sse_description: Option<SSEDescription>,
#[serde(skip_serializing_if = "Option::is_none")]
pub table_class_summary: Option<TableClassSummary>,
#[serde(skip_serializing_if = "Option::is_none")]
pub deletion_protection_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub archival_summary: Option<ArchivalSummary>,
}
impl TableDescription {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
table_name: Some("test-table_name".into()),
table_arn: Some("test-table_arn".into()),
table_id: Some("test-table_id".into()),
table_status: Some("test-table_status".into()),
item_count: Some(100),
table_size_bytes: Some(100),
billing_mode_summary: Some(BillingModeSummary::fixture()),
provisioned_throughput: Some(ProvisionedThroughputDescription::fixture()),
key_schema: vec![],
attribute_definitions: vec![],
stream_specification: Some(StreamSpecification::fixture()),
sse_description: Some(SSEDescription::fixture()),
table_class_summary: Some(TableClassSummary::fixture()),
deletion_protection_enabled: Some(false),
archival_summary: Some(ArchivalSummary::fixture()),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct BillingModeSummary {
#[serde(skip_serializing_if = "Option::is_none")]
pub billing_mode: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub last_update_to_pay_per_request_date_time: Option<f64>,
}
impl BillingModeSummary {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
billing_mode: Some("test-billing_mode".into()),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ProvisionedThroughputDescription {
#[serde(skip_serializing_if = "Option::is_none")]
pub read_capacity_units: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub write_capacity_units: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub number_of_decreases_today: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub last_increase_date_time: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub last_decrease_date_time: Option<f64>,
}
impl ProvisionedThroughputDescription {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
read_capacity_units: Some(100),
write_capacity_units: Some(100),
number_of_decreases_today: Some(100),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ProvisionedThroughput {
pub read_capacity_units: i64,
pub write_capacity_units: i64,
}
impl ProvisionedThroughput {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
read_capacity_units: 100,
write_capacity_units: 100,
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct KeySchemaElement {
pub attribute_name: String,
pub key_type: String,
}
impl KeySchemaElement {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
attribute_name: "test-attribute_name".into(),
key_type: "test-key_type".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct AttributeDefinition {
pub attribute_name: String,
pub attribute_type: String,
}
impl AttributeDefinition {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
attribute_name: "test-attribute_name".into(),
attribute_type: "test-attribute_type".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct StreamSpecification {
#[serde(default)]
pub stream_enabled: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub stream_view_type: Option<String>,
}
impl StreamSpecification {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
stream_enabled: false,
stream_view_type: Some("test-stream_view_type".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SSEDescription {
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sse_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kms_master_key_arn: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub inaccessible_encryption_date_time: Option<f64>,
}
impl SSEDescription {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
status: Some("test-status".into()),
sse_type: Some("test-sse_type".into()),
kms_master_key_arn: Some("test-kms_master_key_arn".into()),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct TableClassSummary {
#[serde(skip_serializing_if = "Option::is_none")]
pub table_class: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub last_update_date_time: Option<f64>,
}
impl TableClassSummary {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
table_class: Some("test-table_class".into()),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ArchivalSummary {
#[serde(skip_serializing_if = "Option::is_none")]
pub archival_date_time: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub archival_reason: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub archival_backup_arn: Option<String>,
}
impl ArchivalSummary {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
archival_reason: Some("test-archival_reason".into()),
archival_backup_arn: Some("test-archival_backup_arn".into()),
..Default::default()
}
}
}