Skip to content

Commit c3aec20

Browse files
msailesraupachz
authored andcommitted
Implementation of Amazon Connect event (aws#140)
1 parent 9b8dbc9 commit c3aec20

File tree

1 file changed

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

1 file changed

+83
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
/*
2+
* Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
5+
* the License. A copy of the License is located at
6+
*
7+
* http://aws.amazon.com/apache2.0
8+
*
9+
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
10+
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
11+
* and limitations under the License.
12+
*/
13+
package com.amazonaws.services.lambda.runtime.events;
14+
15+
import lombok.AllArgsConstructor;
16+
import lombok.Builder;
17+
import lombok.Data;
18+
import lombok.NoArgsConstructor;
19+
20+
import java.io.Serializable;
21+
import java.util.Map;
22+
23+
/**
24+
* Class to represent an Amazon Connect contact flow event.
25+
*
26+
* @see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/connect-lambda-functions.html>Connect Lambda Functions</a>
27+
*
28+
* @author msailes <[email protected]>
29+
*/
30+
31+
@Data
32+
@Builder(setterPrefix = "with")
33+
@NoArgsConstructor
34+
@AllArgsConstructor
35+
public class ConnectEvent implements Serializable, Cloneable {
36+
37+
private Details details;
38+
private String name;
39+
40+
@Data
41+
@Builder(setterPrefix = "with")
42+
@NoArgsConstructor
43+
@AllArgsConstructor
44+
public static class Details implements Serializable, Cloneable {
45+
private ContactData contactData;
46+
private Map<String, Object> parameters;
47+
}
48+
49+
@Data
50+
@Builder(setterPrefix = "with")
51+
@NoArgsConstructor
52+
@AllArgsConstructor
53+
public static class ContactData implements Serializable, Cloneable {
54+
private Map<String, String> attributes;
55+
private String channel;
56+
private String contactId;
57+
private CustomerEndpoint customerEndpoint;
58+
private String initialContactId;
59+
private String initiationMethod;
60+
private String instanceArn;
61+
private String previousContactId;
62+
private String queue;
63+
private SystemEndpoint systemEndpoint;
64+
}
65+
66+
@Data
67+
@Builder(setterPrefix = "with")
68+
@NoArgsConstructor
69+
@AllArgsConstructor
70+
public static class CustomerEndpoint implements Serializable, Cloneable {
71+
private String address;
72+
private String type;
73+
}
74+
75+
@Data
76+
@Builder(setterPrefix = "with")
77+
@NoArgsConstructor
78+
@AllArgsConstructor
79+
public static class SystemEndpoint implements Serializable, Cloneable {
80+
private String address;
81+
private String type;
82+
}
83+
}

0 commit comments

Comments
 (0)