use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum LogGroupClass {
Standard,
InfrequentAccess,
Delivery,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LogGroup {
#[serde(skip_serializing_if = "Option::is_none")]
pub log_group_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub creation_time: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub stored_bytes: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub retention_in_days: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kms_key_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub log_group_class: Option<LogGroupClass>,
#[serde(skip_serializing_if = "Option::is_none")]
pub log_group_arn: Option<String>,
}
impl LogGroup {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
log_group_name: Some("test-log_group_name".into()),
arn: Some("test-arn".into()),
creation_time: Some(100),
stored_bytes: Some(100),
retention_in_days: Some(100),
kms_key_id: Some("test-kms_key_id".into()),
log_group_arn: Some("test-log_group_arn".into()),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DescribeLogGroupsResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub log_groups: Vec<LogGroup>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
impl DescribeLogGroupsResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
log_groups: vec![],
next_token: Some("test-next_token".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ListTagsForResourceResponse {
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
}
impl ListTagsForResourceResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
tags: Default::default(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DescribeLogStreamsRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub log_group_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub log_stream_name_prefix: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub order_by: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub descending: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i32>,
}
impl DescribeLogStreamsRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
log_group_name: Some("test-log_group_name".into()),
log_stream_name_prefix: Some("test-log_stream_name_prefix".into()),
order_by: Some("test-order_by".into()),
descending: Some(false),
next_token: Some("test-next_token".into()),
limit: Some(100),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DescribeLogStreamsResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub log_streams: Vec<LogStream>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
impl DescribeLogStreamsResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
log_streams: vec![],
next_token: Some("test-next_token".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LogStream {
#[serde(skip_serializing_if = "Option::is_none")]
pub log_stream_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub creation_time: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub first_event_timestamp: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub last_event_timestamp: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub last_ingestion_time: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
}
impl LogStream {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
log_stream_name: Some("test-log_stream_name".into()),
creation_time: Some(100),
first_event_timestamp: Some(100),
last_event_timestamp: Some(100),
last_ingestion_time: Some(100),
arn: Some("test-arn".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PutRetentionPolicyRequest {
pub log_group_name: String,
pub retention_in_days: i32,
}
impl PutRetentionPolicyRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
log_group_name: "test-log_group_name".into(),
retention_in_days: 100,
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DeleteLogStreamRequest {
pub log_group_name: String,
pub log_stream_name: String,
}
impl DeleteLogStreamRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
log_group_name: "test-log_group_name".into(),
log_stream_name: "test-log_stream_name".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DescribeMetricFiltersResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub metric_filters: Vec<MetricFilter>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
impl DescribeMetricFiltersResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
metric_filters: vec![],
next_token: Some("test-next_token".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct MetricFilter {
#[serde(skip_serializing_if = "Option::is_none")]
pub filter_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub filter_pattern: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub metric_transformations: Vec<MetricTransformation>,
#[serde(skip_serializing_if = "Option::is_none")]
pub log_group_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub creation_time: Option<i64>,
}
impl MetricFilter {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
filter_name: Some("test-filter_name".into()),
filter_pattern: Some("test-filter_pattern".into()),
metric_transformations: vec![],
log_group_name: Some("test-log_group_name".into()),
creation_time: Some(100),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct MetricTransformation {
pub metric_name: String,
pub metric_namespace: String,
pub metric_value: String,
}
impl MetricTransformation {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
metric_name: "test-metric_name".into(),
metric_namespace: "test-metric_namespace".into(),
metric_value: "test-metric_value".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DescribeLogGroupsRequest {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub account_identifiers: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub log_group_name_prefix: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub log_group_name_pattern: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub include_linked_accounts: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub log_group_class: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub log_group_identifiers: Vec<String>,
}
impl DescribeLogGroupsRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
account_identifiers: vec![],
log_group_name_prefix: Some("test-log_group_name_prefix".into()),
log_group_name_pattern: Some("test-log_group_name_pattern".into()),
next_token: Some("test-next_token".into()),
limit: Some(100),
include_linked_accounts: Some(false),
log_group_class: Some("test-log_group_class".into()),
log_group_identifiers: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ListTagsForResourceRequest {
pub resource_arn: String,
}
impl ListTagsForResourceRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
resource_arn: "test-resource_arn".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DescribeMetricFiltersRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub log_group_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub filter_name_prefix: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub metric_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub metric_namespace: Option<String>,
}
impl DescribeMetricFiltersRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
log_group_name: Some("test-log_group_name".into()),
filter_name_prefix: Some("test-filter_name_prefix".into()),
next_token: Some("test-next_token".into()),
limit: Some(100),
metric_name: Some("test-metric_name".into()),
metric_namespace: Some("test-metric_namespace".into()),
}
}
}