#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "keyspaces.services.k8s.aws", version = "v1alpha1", kind = "Table", plural = "tables")]
#[kube(namespaced)]
#[kube(status = "TableStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct TableSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "capacitySpecification")]
pub capacity_specification: Option<TableCapacitySpecification>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientSideTimestamps")]
pub client_side_timestamps: Option<TableClientSideTimestamps>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub comment: Option<TableComment>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultTimeToLive")]
pub default_time_to_live: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "encryptionSpecification")]
pub encryption_specification: Option<TableEncryptionSpecification>,
#[serde(rename = "keyspaceName")]
pub keyspace_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pointInTimeRecovery")]
pub point_in_time_recovery: Option<TablePointInTimeRecovery>,
#[serde(rename = "schemaDefinition")]
pub schema_definition: TableSchemaDefinition,
#[serde(rename = "tableName")]
pub table_name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<TableTags>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ttl: Option<TableTtl>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TableCapacitySpecification {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readCapacityUnits")]
pub read_capacity_units: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "throughputMode")]
pub throughput_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "writeCapacityUnits")]
pub write_capacity_units: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TableClientSideTimestamps {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TableComment {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TableEncryptionSpecification {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsKeyIdentifier")]
pub kms_key_identifier: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type_")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TablePointInTimeRecovery {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TableSchemaDefinition {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allColumns")]
pub all_columns: Option<Vec<TableSchemaDefinitionAllColumns>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusteringKeys")]
pub clustering_keys: Option<Vec<TableSchemaDefinitionClusteringKeys>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "partitionKeys")]
pub partition_keys: Option<Vec<TableSchemaDefinitionPartitionKeys>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "staticColumns")]
pub static_columns: Option<Vec<TableSchemaDefinitionStaticColumns>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TableSchemaDefinitionAllColumns {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type_")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TableSchemaDefinitionClusteringKeys {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "orderBy")]
pub order_by: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TableSchemaDefinitionPartitionKeys {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TableSchemaDefinitionStaticColumns {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TableTags {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TableTtl {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TableStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")]
pub ack_resource_metadata: Option<TableStatusAckResourceMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TableStatusAckResourceMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "ownerAccountID")]
pub owner_account_id: String,
pub region: String,
}