use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListFunctionsRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub marker: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_items: Option<i32>,
}
impl ListFunctionsRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
marker: Some("test-marker".into()),
max_items: Some(100),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ListFunctionsResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub functions: Vec<FunctionConfiguration>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_marker: Option<String>,
}
impl ListFunctionsResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
functions: vec![],
next_marker: Some("test-next_marker".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct FunctionConfiguration {
pub function_name: String,
pub function_arn: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub runtime: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub handler: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub code_size: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub timeout: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub memory_size: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub last_modified: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub environment: Option<Option<EnvironmentResponse>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub vpc_config: Option<Option<VpcConfigResponse>>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub architectures: Vec<String>,
}
impl FunctionConfiguration {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
function_name: "test-function_name".into(),
function_arn: "test-function_arn".into(),
runtime: Some("test-runtime".into()),
handler: Some("test-handler".into()),
code_size: Some(100),
description: Some("test-description".into()),
timeout: Some(100),
memory_size: Some(100),
last_modified: Some("test-last_modified".into()),
architectures: vec![],
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct EnvironmentResponse {
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub variables: std::collections::HashMap<String, String>,
}
impl EnvironmentResponse {
#[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 VpcConfigResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub subnet_ids: Vec<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub security_group_ids: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub vpc_id: Option<String>,
}
impl VpcConfigResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
subnet_ids: vec![],
security_group_ids: vec![],
vpc_id: Some("test-vpc_id".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct GetFunctionConfigurationRequest {
pub function_name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub qualifier: Option<String>,
}
impl GetFunctionConfigurationRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
function_name: "test-function_name".into(),
qualifier: Some("test-qualifier".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct UpdateFunctionConfigurationRequest {
pub function_name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub timeout: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub memory_size: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub runtime: Option<String>,
}
impl UpdateFunctionConfigurationRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
function_name: "test-function_name".into(),
timeout: Some(100),
memory_size: Some(100),
runtime: Some("test-runtime".into()),
}
}
}