Skip to content

Commit a9d38ec

Browse files
committed
adding event for SES
1 parent a89fe95 commit a9d38ec

File tree

1 file changed

+104
-0
lines changed
  • aws-lambda-java-events/src/main/java/com/amazonaws/services/lambda/runtime/events

1 file changed

+104
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
package com.amazonaws.services.lambda.runtime.events;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
import org.joda.time.DateTime;
8+
9+
import java.util.List;
10+
import java.util.Map;
11+
12+
/**
13+
* Represent an event received from SES when it receives an incoming message.
14+
*
15+
* See <a href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-lambda.html">documentation</a>.
16+
*/
17+
@Data
18+
@AllArgsConstructor
19+
@Builder(setterPrefix = "with")
20+
@NoArgsConstructor
21+
public class SESEvent {
22+
23+
private List<Record> Records;
24+
25+
@Data
26+
@AllArgsConstructor
27+
@Builder(setterPrefix = "with")
28+
@NoArgsConstructor
29+
private static class Record {
30+
private String eventSource;
31+
private String eventVersion;
32+
private Ses ses;
33+
}
34+
35+
@Data
36+
@AllArgsConstructor
37+
@Builder(setterPrefix = "with")
38+
@NoArgsConstructor
39+
private static class Ses {
40+
private Mail mail;
41+
private Receipt receipt;
42+
}
43+
44+
@Data
45+
@AllArgsConstructor
46+
@Builder(setterPrefix = "with")
47+
@NoArgsConstructor
48+
private static class Mail {
49+
private DateTime timestamp;
50+
private String source;
51+
private String messageId;
52+
private String[] destination;
53+
private boolean headersTruncated;
54+
private Map<String, String> headers;
55+
private CommonHeaders commonHeaders;
56+
}
57+
58+
@Data
59+
@AllArgsConstructor
60+
@Builder(setterPrefix = "with")
61+
@NoArgsConstructor
62+
private static class CommonHeaders {
63+
private String returnPath;
64+
private String[] from;
65+
private String date;
66+
private String[] to;
67+
private String messageId;
68+
private String subject;
69+
}
70+
71+
@Data
72+
@AllArgsConstructor
73+
@Builder(setterPrefix = "with")
74+
@NoArgsConstructor
75+
private static class Receipt {
76+
private DateTime timestamp;
77+
private long processingTimeMillis;
78+
private String[] recipients;
79+
private Action action;
80+
private Verdict spamVerdict;
81+
private Verdict virusVerdict;
82+
private Verdict spfVerdict;
83+
private Verdict dkimVerdict;
84+
private Verdict dmarcVerdict;
85+
}
86+
87+
@Data
88+
@AllArgsConstructor
89+
@Builder(setterPrefix = "with")
90+
@NoArgsConstructor
91+
private static class Action {
92+
private String type;
93+
private String functionArn;
94+
private String invocationType;
95+
}
96+
97+
@Data
98+
@AllArgsConstructor
99+
@Builder(setterPrefix = "with")
100+
@NoArgsConstructor
101+
private static class Verdict {
102+
private String status;
103+
}
104+
}

0 commit comments

Comments
 (0)