AWS SDK for C++

AWS SDK for C++ Version 1.11.764

Loading...
Searching...
No Matches
StartConversationRequest.h
1
6#pragma once
7#include <aws/core/utils/event/EventStreamDecoder.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/lexv2-runtime/LexRuntimeV2Request.h>
10#include <aws/lexv2-runtime/LexRuntimeV2_EXPORTS.h>
11#include <aws/lexv2-runtime/model/ConversationMode.h>
12#include <aws/lexv2-runtime/model/StartConversationHandler.h>
13#include <aws/lexv2-runtime/model/StartConversationRequestEventStream.h>
14
15#include <memory>
16#include <utility>
17
18namespace Aws {
19namespace LexRuntimeV2 {
20namespace Model {
21
25 public:
26 AWS_LEXRUNTIMEV2_API StartConversationRequest() = default;
27
28 // Service request name is the Operation name which will send this request out,
29 // each operation should has unique request name, so that we can get operation's name from this request.
30 // Note: this is not true for response, multiple operations may have the same response name,
31 // so we can not get operation's name from response.
32 inline virtual const char* GetServiceRequestName() const override { return "StartConversation"; }
33
34 inline virtual bool IsEventStreamRequest() const override { return true; }
35 inline virtual bool HasEventStreamResponse() const override { return true; }
36 // SerializePayload will not be invoked.
37 // This request is sent by encoding its data in event-streams which is sent as IOStream via GetBody()
38 AWS_LEXRUNTIMEV2_API Aws::String SerializePayload() const override { return {}; }
39 AWS_LEXRUNTIMEV2_API std::shared_ptr<Aws::IOStream> GetBody() const override;
40 AWS_LEXRUNTIMEV2_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
41
46
50 inline StartConversationHandler& GetEventStreamHandler() { return m_handler; }
51
56 m_handler = value;
57 m_decoder.ResetEventStreamHandler(&m_handler);
58 }
59
65 return *this;
66 }
67
69
72 inline const Aws::String& GetBotId() const { return m_botId; }
73 inline bool BotIdHasBeenSet() const { return m_botIdHasBeenSet; }
74 template <typename BotIdT = Aws::String>
75 void SetBotId(BotIdT&& value) {
76 m_botIdHasBeenSet = true;
77 m_botId = std::forward<BotIdT>(value);
78 }
79 template <typename BotIdT = Aws::String>
81 SetBotId(std::forward<BotIdT>(value));
82 return *this;
83 }
85
87
90 inline const Aws::String& GetBotAliasId() const { return m_botAliasId; }
91 inline bool BotAliasIdHasBeenSet() const { return m_botAliasIdHasBeenSet; }
92 template <typename BotAliasIdT = Aws::String>
93 void SetBotAliasId(BotAliasIdT&& value) {
94 m_botAliasIdHasBeenSet = true;
95 m_botAliasId = std::forward<BotAliasIdT>(value);
96 }
97 template <typename BotAliasIdT = Aws::String>
99 SetBotAliasId(std::forward<BotAliasIdT>(value));
100 return *this;
101 }
103
105
108 inline const Aws::String& GetLocaleId() const { return m_localeId; }
109 inline bool LocaleIdHasBeenSet() const { return m_localeIdHasBeenSet; }
110 template <typename LocaleIdT = Aws::String>
111 void SetLocaleId(LocaleIdT&& value) {
112 m_localeIdHasBeenSet = true;
113 m_localeId = std::forward<LocaleIdT>(value);
114 }
115 template <typename LocaleIdT = Aws::String>
117 SetLocaleId(std::forward<LocaleIdT>(value));
118 return *this;
119 }
121
123
126 inline const Aws::String& GetSessionId() const { return m_sessionId; }
127 inline bool SessionIdHasBeenSet() const { return m_sessionIdHasBeenSet; }
128 template <typename SessionIdT = Aws::String>
129 void SetSessionId(SessionIdT&& value) {
130 m_sessionIdHasBeenSet = true;
131 m_sessionId = std::forward<SessionIdT>(value);
132 }
133 template <typename SessionIdT = Aws::String>
135 SetSessionId(std::forward<SessionIdT>(value));
136 return *this;
137 }
139
141
146 inline ConversationMode GetConversationMode() const { return m_conversationMode; }
147 inline bool ConversationModeHasBeenSet() const { return m_conversationModeHasBeenSet; }
149 m_conversationModeHasBeenSet = true;
150 m_conversationMode = value;
151 }
153 SetConversationMode(value);
154 return *this;
155 }
157
159
163 AWS_LEXRUNTIMEV2_API std::shared_ptr<StartConversationRequestEventStream> GetRequestEventStream() const { return m_requestEventStream; }
164 AWS_LEXRUNTIMEV2_API void SetRequestEventStream(const std::shared_ptr<StartConversationRequestEventStream>& value) {
165 m_requestEventStreamHasBeenSet = true;
166 m_requestEventStream = value;
167 }
168 AWS_LEXRUNTIMEV2_API StartConversationRequest& WithRequestEventStream(const std::shared_ptr<StartConversationRequestEventStream>& value) {
170 return *this;
171 }
172
174 private:
175 Aws::String m_botId;
176
177 Aws::String m_botAliasId;
178
179 Aws::String m_localeId;
180
181 Aws::String m_sessionId;
182
184
185 std::shared_ptr<StartConversationRequestEventStream> m_requestEventStream;
186 StartConversationHandler m_handler;
188
189 bool m_botIdHasBeenSet = false;
190 bool m_botAliasIdHasBeenSet = false;
191 bool m_localeIdHasBeenSet = false;
192 bool m_sessionIdHasBeenSet = false;
193 bool m_conversationModeHasBeenSet = false;
194 bool m_requestEventStreamHasBeenSet = false;
195};
196
197} // namespace Model
198} // namespace LexRuntimeV2
199} // namespace Aws
AWS_LEXRUNTIMEV2_API void SetRequestEventStream(const std::shared_ptr< StartConversationRequestEventStream > &value)
AWS_LEXRUNTIMEV2_API std::shared_ptr< Aws::IOStream > GetBody() const override
StartConversationRequest & WithEventStreamHandler(const StartConversationHandler &value)
AWS_LEXRUNTIMEV2_API std::shared_ptr< StartConversationRequestEventStream > GetRequestEventStream() const
StartConversationRequest & WithLocaleId(LocaleIdT &&value)
AWS_LEXRUNTIMEV2_API StartConversationRequest & WithRequestEventStream(const std::shared_ptr< StartConversationRequestEventStream > &value)
virtual const char * GetServiceRequestName() const override
StartConversationRequest & WithBotId(BotIdT &&value)
AWS_LEXRUNTIMEV2_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
void SetEventStreamHandler(const StartConversationHandler &value)
StartConversationRequest & WithBotAliasId(BotAliasIdT &&value)
AWS_LEXRUNTIMEV2_API Aws::String SerializePayload() const override
AWS_LEXRUNTIMEV2_API StartConversationRequest()=default
Aws::Utils::Event::EventStreamDecoder & GetEventStreamDecoder()
StartConversationRequest & WithConversationMode(ConversationMode value)
StartConversationRequest & WithSessionId(SessionIdT &&value)
void ResetEventStreamHandler(EventStreamHandler *handler)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String