AWS SDK for C++

AWS SDK for C++ Version 1.11.745

Loading...
Searching...
No Matches
InputSessionStateSpecification.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/lexv2-models/LexModelsV2_EXPORTS.h>
11#include <aws/lexv2-models/model/ActiveContext.h>
12#include <aws/lexv2-models/model/RuntimeHints.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace LexModelsV2 {
24namespace Model {
25
33 public:
34 AWS_LEXMODELSV2_API InputSessionStateSpecification() = default;
37 AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
43 inline const Aws::Map<Aws::String, Aws::String>& GetSessionAttributes() const { return m_sessionAttributes; }
44 inline bool SessionAttributesHasBeenSet() const { return m_sessionAttributesHasBeenSet; }
45 template <typename SessionAttributesT = Aws::Map<Aws::String, Aws::String>>
46 void SetSessionAttributes(SessionAttributesT&& value) {
47 m_sessionAttributesHasBeenSet = true;
48 m_sessionAttributes = std::forward<SessionAttributesT>(value);
49 }
50 template <typename SessionAttributesT = Aws::Map<Aws::String, Aws::String>>
52 SetSessionAttributes(std::forward<SessionAttributesT>(value));
53 return *this;
54 }
55 template <typename SessionAttributesKeyT = Aws::String, typename SessionAttributesValueT = Aws::String>
56 InputSessionStateSpecification& AddSessionAttributes(SessionAttributesKeyT&& key, SessionAttributesValueT&& value) {
57 m_sessionAttributesHasBeenSet = true;
58 m_sessionAttributes.emplace(std::forward<SessionAttributesKeyT>(key), std::forward<SessionAttributesValueT>(value));
59 return *this;
60 }
62
64
67 inline const Aws::Vector<ActiveContext>& GetActiveContexts() const { return m_activeContexts; }
68 inline bool ActiveContextsHasBeenSet() const { return m_activeContextsHasBeenSet; }
69 template <typename ActiveContextsT = Aws::Vector<ActiveContext>>
70 void SetActiveContexts(ActiveContextsT&& value) {
71 m_activeContextsHasBeenSet = true;
72 m_activeContexts = std::forward<ActiveContextsT>(value);
73 }
74 template <typename ActiveContextsT = Aws::Vector<ActiveContext>>
76 SetActiveContexts(std::forward<ActiveContextsT>(value));
77 return *this;
78 }
79 template <typename ActiveContextsT = ActiveContext>
81 m_activeContextsHasBeenSet = true;
82 m_activeContexts.emplace_back(std::forward<ActiveContextsT>(value));
83 return *this;
84 }
86
88
91 inline const RuntimeHints& GetRuntimeHints() const { return m_runtimeHints; }
92 inline bool RuntimeHintsHasBeenSet() const { return m_runtimeHintsHasBeenSet; }
93 template <typename RuntimeHintsT = RuntimeHints>
94 void SetRuntimeHints(RuntimeHintsT&& value) {
95 m_runtimeHintsHasBeenSet = true;
96 m_runtimeHints = std::forward<RuntimeHintsT>(value);
97 }
98 template <typename RuntimeHintsT = RuntimeHints>
100 SetRuntimeHints(std::forward<RuntimeHintsT>(value));
101 return *this;
102 }
104 private:
105 Aws::Map<Aws::String, Aws::String> m_sessionAttributes;
106
107 Aws::Vector<ActiveContext> m_activeContexts;
108
109 RuntimeHints m_runtimeHints;
110 bool m_sessionAttributesHasBeenSet = false;
111 bool m_activeContextsHasBeenSet = false;
112 bool m_runtimeHintsHasBeenSet = false;
113};
114
115} // namespace Model
116} // namespace LexModelsV2
117} // namespace Aws
AWS_LEXMODELSV2_API InputSessionStateSpecification & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_LEXMODELSV2_API InputSessionStateSpecification()=default
InputSessionStateSpecification & AddSessionAttributes(SessionAttributesKeyT &&key, SessionAttributesValueT &&value)
InputSessionStateSpecification & WithSessionAttributes(SessionAttributesT &&value)
AWS_LEXMODELSV2_API InputSessionStateSpecification(Aws::Utils::Json::JsonView jsonValue)
InputSessionStateSpecification & WithRuntimeHints(RuntimeHintsT &&value)
AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Map< Aws::String, Aws::String > & GetSessionAttributes() const
InputSessionStateSpecification & WithActiveContexts(ActiveContextsT &&value)
const Aws::Vector< ActiveContext > & GetActiveContexts() const
InputSessionStateSpecification & AddActiveContexts(ActiveContextsT &&value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue