AWS SDK for C++

AWS SDK for C++ Version 1.11.676

Loading...
Searching...
No Matches
CreateChatTokenRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ivschat/IvschatRequest.h>
11#include <aws/ivschat/Ivschat_EXPORTS.h>
12#include <aws/ivschat/model/ChatTokenCapability.h>
13
14#include <utility>
15
16namespace Aws {
17namespace ivschat {
18namespace Model {
19
23 public:
24 AWS_IVSCHAT_API CreateChatTokenRequest() = default;
25
26 // Service request name is the Operation name which will send this request out,
27 // each operation should has unique request name, so that we can get operation's name from this request.
28 // Note: this is not true for response, multiple operations may have the same response name,
29 // so we can not get operation's name from response.
30 inline virtual const char* GetServiceRequestName() const override { return "CreateChatToken"; }
31
32 AWS_IVSCHAT_API Aws::String SerializePayload() const override;
33
35
39 inline const Aws::String& GetRoomIdentifier() const { return m_roomIdentifier; }
40 inline bool RoomIdentifierHasBeenSet() const { return m_roomIdentifierHasBeenSet; }
41 template <typename RoomIdentifierT = Aws::String>
42 void SetRoomIdentifier(RoomIdentifierT&& value) {
43 m_roomIdentifierHasBeenSet = true;
44 m_roomIdentifier = std::forward<RoomIdentifierT>(value);
45 }
46 template <typename RoomIdentifierT = Aws::String>
47 CreateChatTokenRequest& WithRoomIdentifier(RoomIdentifierT&& value) {
48 SetRoomIdentifier(std::forward<RoomIdentifierT>(value));
49 return *this;
50 }
52
54
58 inline const Aws::String& GetUserId() const { return m_userId; }
59 inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; }
60 template <typename UserIdT = Aws::String>
61 void SetUserId(UserIdT&& value) {
62 m_userIdHasBeenSet = true;
63 m_userId = std::forward<UserIdT>(value);
64 }
65 template <typename UserIdT = Aws::String>
67 SetUserId(std::forward<UserIdT>(value));
68 return *this;
69 }
71
73
78 inline const Aws::Vector<ChatTokenCapability>& GetCapabilities() const { return m_capabilities; }
79 inline bool CapabilitiesHasBeenSet() const { return m_capabilitiesHasBeenSet; }
80 template <typename CapabilitiesT = Aws::Vector<ChatTokenCapability>>
81 void SetCapabilities(CapabilitiesT&& value) {
82 m_capabilitiesHasBeenSet = true;
83 m_capabilities = std::forward<CapabilitiesT>(value);
84 }
85 template <typename CapabilitiesT = Aws::Vector<ChatTokenCapability>>
86 CreateChatTokenRequest& WithCapabilities(CapabilitiesT&& value) {
87 SetCapabilities(std::forward<CapabilitiesT>(value));
88 return *this;
89 }
91 m_capabilitiesHasBeenSet = true;
92 m_capabilities.push_back(value);
93 return *this;
94 }
96
98
102 inline int GetSessionDurationInMinutes() const { return m_sessionDurationInMinutes; }
103 inline bool SessionDurationInMinutesHasBeenSet() const { return m_sessionDurationInMinutesHasBeenSet; }
104 inline void SetSessionDurationInMinutes(int value) {
105 m_sessionDurationInMinutesHasBeenSet = true;
106 m_sessionDurationInMinutes = value;
107 }
110 return *this;
111 }
113
115
120 inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const { return m_attributes; }
121 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
122 template <typename AttributesT = Aws::Map<Aws::String, Aws::String>>
123 void SetAttributes(AttributesT&& value) {
124 m_attributesHasBeenSet = true;
125 m_attributes = std::forward<AttributesT>(value);
126 }
127 template <typename AttributesT = Aws::Map<Aws::String, Aws::String>>
129 SetAttributes(std::forward<AttributesT>(value));
130 return *this;
131 }
132 template <typename AttributesKeyT = Aws::String, typename AttributesValueT = Aws::String>
133 CreateChatTokenRequest& AddAttributes(AttributesKeyT&& key, AttributesValueT&& value) {
134 m_attributesHasBeenSet = true;
135 m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value));
136 return *this;
137 }
139 private:
140 Aws::String m_roomIdentifier;
141 bool m_roomIdentifierHasBeenSet = false;
142
143 Aws::String m_userId;
144 bool m_userIdHasBeenSet = false;
145
147 bool m_capabilitiesHasBeenSet = false;
148
149 int m_sessionDurationInMinutes{0};
150 bool m_sessionDurationInMinutesHasBeenSet = false;
151
153 bool m_attributesHasBeenSet = false;
154};
155
156} // namespace Model
157} // namespace ivschat
158} // namespace Aws
virtual const char * GetServiceRequestName() const override
CreateChatTokenRequest & WithAttributes(AttributesT &&value)
const Aws::Map< Aws::String, Aws::String > & GetAttributes() const
CreateChatTokenRequest & AddCapabilities(ChatTokenCapability value)
CreateChatTokenRequest & WithCapabilities(CapabilitiesT &&value)
const Aws::Vector< ChatTokenCapability > & GetCapabilities() const
AWS_IVSCHAT_API Aws::String SerializePayload() const override
CreateChatTokenRequest & AddAttributes(AttributesKeyT &&key, AttributesValueT &&value)
CreateChatTokenRequest & WithSessionDurationInMinutes(int value)
AWS_IVSCHAT_API CreateChatTokenRequest()=default
CreateChatTokenRequest & WithUserId(UserIdT &&value)
CreateChatTokenRequest & WithRoomIdentifier(RoomIdentifierT &&value)
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