AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
StartConversationRequest.h
1
6#pragma once
7#include <aws/lexv2-runtime/LexRuntimeV2_EXPORTS.h>
8#include <aws/lexv2-runtime/LexRuntimeV2Request.h>
9#include <aws/lexv2-runtime/model/StartConversationHandler.h>
10#include <aws/core/utils/event/EventStreamDecoder.h>
11#include <memory>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/lexv2-runtime/model/ConversationMode.h>
14#include <aws/lexv2-runtime/model/StartConversationRequestEventStream.h>
15#include <utility>
16
17namespace Aws
18{
19namespace LexRuntimeV2
20{
21namespace Model
22{
23
27 {
28 public:
29 AWS_LEXRUNTIMEV2_API StartConversationRequest() = 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 "StartConversation"; }
36
37 inline virtual bool IsEventStreamRequest() const override { return true; }
38 inline virtual bool HasEventStreamResponse() const override { return true; }
39 // SerializePayload will not be invoked.
40 // This request is sent by encoding its data in event-streams which is sent as IOStream via GetBody()
41 AWS_LEXRUNTIMEV2_API Aws::String SerializePayload() const override { return {}; }
42 AWS_LEXRUNTIMEV2_API std::shared_ptr<Aws::IOStream> GetBody() const override;
43 AWS_LEXRUNTIMEV2_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
44
49
53 inline StartConversationHandler& GetEventStreamHandler() { return m_handler; }
54
58 inline void SetEventStreamHandler(const StartConversationHandler& value) { m_handler = value; m_decoder.ResetEventStreamHandler(&m_handler); }
59
64
65
67
70 inline const Aws::String& GetBotId() const { return m_botId; }
71 inline bool BotIdHasBeenSet() const { return m_botIdHasBeenSet; }
72 template<typename BotIdT = Aws::String>
73 void SetBotId(BotIdT&& value) { m_botIdHasBeenSet = true; m_botId = std::forward<BotIdT>(value); }
74 template<typename BotIdT = Aws::String>
75 StartConversationRequest& WithBotId(BotIdT&& value) { SetBotId(std::forward<BotIdT>(value)); return *this;}
77
79
82 inline const Aws::String& GetBotAliasId() const { return m_botAliasId; }
83 inline bool BotAliasIdHasBeenSet() const { return m_botAliasIdHasBeenSet; }
84 template<typename BotAliasIdT = Aws::String>
85 void SetBotAliasId(BotAliasIdT&& value) { m_botAliasIdHasBeenSet = true; m_botAliasId = std::forward<BotAliasIdT>(value); }
86 template<typename BotAliasIdT = Aws::String>
87 StartConversationRequest& WithBotAliasId(BotAliasIdT&& value) { SetBotAliasId(std::forward<BotAliasIdT>(value)); return *this;}
89
91
94 inline const Aws::String& GetLocaleId() const { return m_localeId; }
95 inline bool LocaleIdHasBeenSet() const { return m_localeIdHasBeenSet; }
96 template<typename LocaleIdT = Aws::String>
97 void SetLocaleId(LocaleIdT&& value) { m_localeIdHasBeenSet = true; m_localeId = std::forward<LocaleIdT>(value); }
98 template<typename LocaleIdT = Aws::String>
99 StartConversationRequest& WithLocaleId(LocaleIdT&& value) { SetLocaleId(std::forward<LocaleIdT>(value)); return *this;}
101
103
106 inline const Aws::String& GetSessionId() const { return m_sessionId; }
107 inline bool SessionIdHasBeenSet() const { return m_sessionIdHasBeenSet; }
108 template<typename SessionIdT = Aws::String>
109 void SetSessionId(SessionIdT&& value) { m_sessionIdHasBeenSet = true; m_sessionId = std::forward<SessionIdT>(value); }
110 template<typename SessionIdT = Aws::String>
111 StartConversationRequest& WithSessionId(SessionIdT&& value) { SetSessionId(std::forward<SessionIdT>(value)); return *this;}
113
115
120 inline ConversationMode GetConversationMode() const { return m_conversationMode; }
121 inline bool ConversationModeHasBeenSet() const { return m_conversationModeHasBeenSet; }
122 inline void SetConversationMode(ConversationMode value) { m_conversationModeHasBeenSet = true; m_conversationMode = value; }
125
127
131 AWS_LEXRUNTIMEV2_API std::shared_ptr<StartConversationRequestEventStream> GetRequestEventStream() const { return m_requestEventStream; }
132 AWS_LEXRUNTIMEV2_API void SetRequestEventStream(const std::shared_ptr<StartConversationRequestEventStream>& value) { m_requestEventStreamHasBeenSet = true; m_requestEventStream = value; }
133 AWS_LEXRUNTIMEV2_API StartConversationRequest& WithRequestEventStream(const std::shared_ptr<StartConversationRequestEventStream>& value) { SetRequestEventStream(value); return *this;}
134
136 private:
137
138 Aws::String m_botId;
139 bool m_botIdHasBeenSet = false;
140
141 Aws::String m_botAliasId;
142 bool m_botAliasIdHasBeenSet = false;
143
144 Aws::String m_localeId;
145 bool m_localeIdHasBeenSet = false;
146
147 Aws::String m_sessionId;
148 bool m_sessionIdHasBeenSet = false;
149
151 bool m_conversationModeHasBeenSet = false;
152
153 std::shared_ptr<StartConversationRequestEventStream> m_requestEventStream;
154 bool m_requestEventStreamHasBeenSet = false;
155 StartConversationHandler m_handler;
157
158 };
159
160} // namespace Model
161} // namespace LexRuntimeV2
162} // 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