1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
use serde_json::Value; use serde::Serialize; #[derive(Deserialize, Debug)] pub struct Input<T> { pub event: T, pub context: Context, } #[derive(Deserialize, Serialize, Debug)] pub struct Context { #[serde(rename = "invokeid")] pub invoke_id: String, #[serde(rename = "awsRequestId")] pub aws_request_id: String, #[serde(rename = "functionName")] pub function_name: String, #[serde(rename = "functionVersion")] pub function_version: String, #[serde(rename = "logGroupName")] pub log_group_name: String, #[serde(rename = "logStreamName")] pub log_stream_name: Option<String>, #[serde(rename = "memoryLimitInMB")] pub memory_limit_in_mb: String, #[serde(rename = "isDefaultFunctionVersion")] pub is_default_function_version: Option<bool>, #[serde(rename = "clientContext")] pub client_context: Option<Value>, pub identity: Option<Identity>, #[serde(rename = "invokedFunctionARN")] pub invoked_function_arn: Option<String>, } #[derive(Deserialize, Serialize, Debug)] pub struct Identity { #[serde(rename = "cognitoIdentityId")] pub cognito_identity_id: String, #[serde(rename = "cognitoIdentityIdPoolId")] pub cognito_identity_id_pool_id: String, } #[derive(Serialize, Debug)] pub enum Output<T: Serialize> { #[serde(rename = "error")] Error(String), #[serde(rename = "value")] Value(T), }