AWS SDK for C++

AWS SDK for C++ Version 1.11.714

Loading...
Searching...
No Matches
StartOutboundChatContactRequest.h
1
6#pragma once
7#include <aws/connect/ConnectRequest.h>
8#include <aws/connect/Connect_EXPORTS.h>
9#include <aws/connect/model/ChatMessage.h>
10#include <aws/connect/model/Endpoint.h>
11#include <aws/connect/model/ParticipantDetails.h>
12#include <aws/connect/model/SegmentAttributeValue.h>
13#include <aws/connect/model/TemplatedMessageConfig.h>
14#include <aws/core/utils/UUID.h>
15#include <aws/core/utils/memory/stl/AWSMap.h>
16#include <aws/core/utils/memory/stl/AWSString.h>
17#include <aws/core/utils/memory/stl/AWSVector.h>
18
19#include <utility>
20
21namespace Aws {
22namespace Connect {
23namespace Model {
24
28 public:
29 AWS_CONNECT_API StartOutboundChatContactRequest() = default;
30
31 // Service request name is the Operation name which will send this request out,
32 // each operation should has unique request name, so that we can get operation's name from this request.
33 // Note: this is not true for response, multiple operations may have the same response name,
34 // so we can not get operation's name from response.
35 inline virtual const char* GetServiceRequestName() const override { return "StartOutboundChatContact"; }
36
37 AWS_CONNECT_API Aws::String SerializePayload() const override;
38
40
41 inline const Endpoint& GetSourceEndpoint() const { return m_sourceEndpoint; }
42 inline bool SourceEndpointHasBeenSet() const { return m_sourceEndpointHasBeenSet; }
43 template <typename SourceEndpointT = Endpoint>
44 void SetSourceEndpoint(SourceEndpointT&& value) {
45 m_sourceEndpointHasBeenSet = true;
46 m_sourceEndpoint = std::forward<SourceEndpointT>(value);
47 }
48 template <typename SourceEndpointT = Endpoint>
50 SetSourceEndpoint(std::forward<SourceEndpointT>(value));
51 return *this;
52 }
54
56
57 inline const Endpoint& GetDestinationEndpoint() const { return m_destinationEndpoint; }
58 inline bool DestinationEndpointHasBeenSet() const { return m_destinationEndpointHasBeenSet; }
59 template <typename DestinationEndpointT = Endpoint>
60 void SetDestinationEndpoint(DestinationEndpointT&& value) {
61 m_destinationEndpointHasBeenSet = true;
62 m_destinationEndpoint = std::forward<DestinationEndpointT>(value);
63 }
64 template <typename DestinationEndpointT = Endpoint>
66 SetDestinationEndpoint(std::forward<DestinationEndpointT>(value));
67 return *this;
68 }
70
72
76 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
77 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
78 template <typename InstanceIdT = Aws::String>
79 void SetInstanceId(InstanceIdT&& value) {
80 m_instanceIdHasBeenSet = true;
81 m_instanceId = std::forward<InstanceIdT>(value);
82 }
83 template <typename InstanceIdT = Aws::String>
85 SetInstanceId(std::forward<InstanceIdT>(value));
86 return *this;
87 }
89
91
99 inline const Aws::Map<Aws::String, SegmentAttributeValue>& GetSegmentAttributes() const { return m_segmentAttributes; }
100 inline bool SegmentAttributesHasBeenSet() const { return m_segmentAttributesHasBeenSet; }
101 template <typename SegmentAttributesT = Aws::Map<Aws::String, SegmentAttributeValue>>
102 void SetSegmentAttributes(SegmentAttributesT&& value) {
103 m_segmentAttributesHasBeenSet = true;
104 m_segmentAttributes = std::forward<SegmentAttributesT>(value);
105 }
106 template <typename SegmentAttributesT = Aws::Map<Aws::String, SegmentAttributeValue>>
108 SetSegmentAttributes(std::forward<SegmentAttributesT>(value));
109 return *this;
110 }
111 template <typename SegmentAttributesKeyT = Aws::String, typename SegmentAttributesValueT = SegmentAttributeValue>
112 StartOutboundChatContactRequest& AddSegmentAttributes(SegmentAttributesKeyT&& key, SegmentAttributesValueT&& value) {
113 m_segmentAttributesHasBeenSet = true;
114 m_segmentAttributes.emplace(std::forward<SegmentAttributesKeyT>(key), std::forward<SegmentAttributesValueT>(value));
115 return *this;
116 }
118
120
125 inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const { return m_attributes; }
126 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
127 template <typename AttributesT = Aws::Map<Aws::String, Aws::String>>
128 void SetAttributes(AttributesT&& value) {
129 m_attributesHasBeenSet = true;
130 m_attributes = std::forward<AttributesT>(value);
131 }
132 template <typename AttributesT = Aws::Map<Aws::String, Aws::String>>
134 SetAttributes(std::forward<AttributesT>(value));
135 return *this;
136 }
137 template <typename AttributesKeyT = Aws::String, typename AttributesValueT = Aws::String>
138 StartOutboundChatContactRequest& AddAttributes(AttributesKeyT&& key, AttributesValueT&& value) {
139 m_attributesHasBeenSet = true;
140 m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value));
141 return *this;
142 }
144
146
155 inline const Aws::String& GetContactFlowId() const { return m_contactFlowId; }
156 inline bool ContactFlowIdHasBeenSet() const { return m_contactFlowIdHasBeenSet; }
157 template <typename ContactFlowIdT = Aws::String>
158 void SetContactFlowId(ContactFlowIdT&& value) {
159 m_contactFlowIdHasBeenSet = true;
160 m_contactFlowId = std::forward<ContactFlowIdT>(value);
161 }
162 template <typename ContactFlowIdT = Aws::String>
164 SetContactFlowId(std::forward<ContactFlowIdT>(value));
165 return *this;
166 }
168
170
175 inline int GetChatDurationInMinutes() const { return m_chatDurationInMinutes; }
176 inline bool ChatDurationInMinutesHasBeenSet() const { return m_chatDurationInMinutesHasBeenSet; }
177 inline void SetChatDurationInMinutes(int value) {
178 m_chatDurationInMinutesHasBeenSet = true;
179 m_chatDurationInMinutes = value;
180 }
183 return *this;
184 }
186
188
189 inline const ParticipantDetails& GetParticipantDetails() const { return m_participantDetails; }
190 inline bool ParticipantDetailsHasBeenSet() const { return m_participantDetailsHasBeenSet; }
191 template <typename ParticipantDetailsT = ParticipantDetails>
192 void SetParticipantDetails(ParticipantDetailsT&& value) {
193 m_participantDetailsHasBeenSet = true;
194 m_participantDetails = std::forward<ParticipantDetailsT>(value);
195 }
196 template <typename ParticipantDetailsT = ParticipantDetails>
198 SetParticipantDetails(std::forward<ParticipantDetailsT>(value));
199 return *this;
200 }
202
204
205 inline const ChatMessage& GetInitialSystemMessage() const { return m_initialSystemMessage; }
206 inline bool InitialSystemMessageHasBeenSet() const { return m_initialSystemMessageHasBeenSet; }
207 template <typename InitialSystemMessageT = ChatMessage>
208 void SetInitialSystemMessage(InitialSystemMessageT&& value) {
209 m_initialSystemMessageHasBeenSet = true;
210 m_initialSystemMessage = std::forward<InitialSystemMessageT>(value);
211 }
212 template <typename InitialSystemMessageT = ChatMessage>
214 SetInitialSystemMessage(std::forward<InitialSystemMessageT>(value));
215 return *this;
216 }
218
220
221 inline const TemplatedMessageConfig& GetInitialTemplatedSystemMessage() const { return m_initialTemplatedSystemMessage; }
222 inline bool InitialTemplatedSystemMessageHasBeenSet() const { return m_initialTemplatedSystemMessageHasBeenSet; }
223 template <typename InitialTemplatedSystemMessageT = TemplatedMessageConfig>
224 void SetInitialTemplatedSystemMessage(InitialTemplatedSystemMessageT&& value) {
225 m_initialTemplatedSystemMessageHasBeenSet = true;
226 m_initialTemplatedSystemMessage = std::forward<InitialTemplatedSystemMessageT>(value);
227 }
228 template <typename InitialTemplatedSystemMessageT = TemplatedMessageConfig>
230 SetInitialTemplatedSystemMessage(std::forward<InitialTemplatedSystemMessageT>(value));
231 return *this;
232 }
234
236
240 inline const Aws::String& GetRelatedContactId() const { return m_relatedContactId; }
241 inline bool RelatedContactIdHasBeenSet() const { return m_relatedContactIdHasBeenSet; }
242 template <typename RelatedContactIdT = Aws::String>
243 void SetRelatedContactId(RelatedContactIdT&& value) {
244 m_relatedContactIdHasBeenSet = true;
245 m_relatedContactId = std::forward<RelatedContactIdT>(value);
246 }
247 template <typename RelatedContactIdT = Aws::String>
249 SetRelatedContactId(std::forward<RelatedContactIdT>(value));
250 return *this;
251 }
253
255
270 inline const Aws::Vector<Aws::String>& GetSupportedMessagingContentTypes() const { return m_supportedMessagingContentTypes; }
271 inline bool SupportedMessagingContentTypesHasBeenSet() const { return m_supportedMessagingContentTypesHasBeenSet; }
272 template <typename SupportedMessagingContentTypesT = Aws::Vector<Aws::String>>
273 void SetSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) {
274 m_supportedMessagingContentTypesHasBeenSet = true;
275 m_supportedMessagingContentTypes = std::forward<SupportedMessagingContentTypesT>(value);
276 }
277 template <typename SupportedMessagingContentTypesT = Aws::Vector<Aws::String>>
278 StartOutboundChatContactRequest& WithSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) {
279 SetSupportedMessagingContentTypes(std::forward<SupportedMessagingContentTypesT>(value));
280 return *this;
281 }
282 template <typename SupportedMessagingContentTypesT = Aws::String>
283 StartOutboundChatContactRequest& AddSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) {
284 m_supportedMessagingContentTypesHasBeenSet = true;
285 m_supportedMessagingContentTypes.emplace_back(std::forward<SupportedMessagingContentTypesT>(value));
286 return *this;
287 }
289
291
299 inline const Aws::String& GetClientToken() const { return m_clientToken; }
300 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
301 template <typename ClientTokenT = Aws::String>
302 void SetClientToken(ClientTokenT&& value) {
303 m_clientTokenHasBeenSet = true;
304 m_clientToken = std::forward<ClientTokenT>(value);
305 }
306 template <typename ClientTokenT = Aws::String>
308 SetClientToken(std::forward<ClientTokenT>(value));
309 return *this;
310 }
312 private:
313 Endpoint m_sourceEndpoint;
314
315 Endpoint m_destinationEndpoint;
316
317 Aws::String m_instanceId;
318
320
322
323 Aws::String m_contactFlowId;
324
325 int m_chatDurationInMinutes{0};
326
327 ParticipantDetails m_participantDetails;
328
329 ChatMessage m_initialSystemMessage;
330
331 TemplatedMessageConfig m_initialTemplatedSystemMessage;
332
333 Aws::String m_relatedContactId;
334
335 Aws::Vector<Aws::String> m_supportedMessagingContentTypes;
336
338 bool m_sourceEndpointHasBeenSet = false;
339 bool m_destinationEndpointHasBeenSet = false;
340 bool m_instanceIdHasBeenSet = false;
341 bool m_segmentAttributesHasBeenSet = false;
342 bool m_attributesHasBeenSet = false;
343 bool m_contactFlowIdHasBeenSet = false;
344 bool m_chatDurationInMinutesHasBeenSet = false;
345 bool m_participantDetailsHasBeenSet = false;
346 bool m_initialSystemMessageHasBeenSet = false;
347 bool m_initialTemplatedSystemMessageHasBeenSet = false;
348 bool m_relatedContactIdHasBeenSet = false;
349 bool m_supportedMessagingContentTypesHasBeenSet = false;
350 bool m_clientTokenHasBeenSet = true;
351};
352
353} // namespace Model
354} // namespace Connect
355} // namespace Aws
StartOutboundChatContactRequest & AddSegmentAttributes(SegmentAttributesKeyT &&key, SegmentAttributesValueT &&value)
StartOutboundChatContactRequest & WithParticipantDetails(ParticipantDetailsT &&value)
StartOutboundChatContactRequest & AddAttributes(AttributesKeyT &&key, AttributesValueT &&value)
StartOutboundChatContactRequest & WithInstanceId(InstanceIdT &&value)
const TemplatedMessageConfig & GetInitialTemplatedSystemMessage() const
StartOutboundChatContactRequest & WithContactFlowId(ContactFlowIdT &&value)
StartOutboundChatContactRequest & WithSourceEndpoint(SourceEndpointT &&value)
StartOutboundChatContactRequest & WithSegmentAttributes(SegmentAttributesT &&value)
const Aws::Map< Aws::String, Aws::String > & GetAttributes() const
StartOutboundChatContactRequest & WithChatDurationInMinutes(int value)
StartOutboundChatContactRequest & WithAttributes(AttributesT &&value)
StartOutboundChatContactRequest & WithDestinationEndpoint(DestinationEndpointT &&value)
const Aws::Map< Aws::String, SegmentAttributeValue > & GetSegmentAttributes() const
void SetInitialTemplatedSystemMessage(InitialTemplatedSystemMessageT &&value)
void SetSupportedMessagingContentTypes(SupportedMessagingContentTypesT &&value)
AWS_CONNECT_API StartOutboundChatContactRequest()=default
StartOutboundChatContactRequest & AddSupportedMessagingContentTypes(SupportedMessagingContentTypesT &&value)
StartOutboundChatContactRequest & WithInitialSystemMessage(InitialSystemMessageT &&value)
StartOutboundChatContactRequest & WithClientToken(ClientTokenT &&value)
AWS_CONNECT_API Aws::String SerializePayload() const override
StartOutboundChatContactRequest & WithRelatedContactId(RelatedContactIdT &&value)
const Aws::Vector< Aws::String > & GetSupportedMessagingContentTypes() const
StartOutboundChatContactRequest & WithInitialTemplatedSystemMessage(InitialTemplatedSystemMessageT &&value)
StartOutboundChatContactRequest & WithSupportedMessagingContentTypes(SupportedMessagingContentTypesT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector