AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
InputSessionStateSpecification.h
1
6#pragma once
7#include <aws/lexv2-models/LexModelsV2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/lexv2-models/model/RuntimeHints.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/lexv2-models/model/ActiveContext.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace LexModelsV2
26{
27namespace Model
28{
29
37 {
38 public:
39 AWS_LEXMODELSV2_API InputSessionStateSpecification() = default;
42 AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
49 inline const Aws::Map<Aws::String, Aws::String>& GetSessionAttributes() const { return m_sessionAttributes; }
50 inline bool SessionAttributesHasBeenSet() const { return m_sessionAttributesHasBeenSet; }
51 template<typename SessionAttributesT = Aws::Map<Aws::String, Aws::String>>
52 void SetSessionAttributes(SessionAttributesT&& value) { m_sessionAttributesHasBeenSet = true; m_sessionAttributes = std::forward<SessionAttributesT>(value); }
53 template<typename SessionAttributesT = Aws::Map<Aws::String, Aws::String>>
54 InputSessionStateSpecification& WithSessionAttributes(SessionAttributesT&& value) { SetSessionAttributes(std::forward<SessionAttributesT>(value)); return *this;}
55 template<typename SessionAttributesKeyT = Aws::String, typename SessionAttributesValueT = Aws::String>
56 InputSessionStateSpecification& AddSessionAttributes(SessionAttributesKeyT&& key, SessionAttributesValueT&& value) {
57 m_sessionAttributesHasBeenSet = true; m_sessionAttributes.emplace(std::forward<SessionAttributesKeyT>(key), std::forward<SessionAttributesValueT>(value)); return *this;
58 }
60
62
65 inline const Aws::Vector<ActiveContext>& GetActiveContexts() const { return m_activeContexts; }
66 inline bool ActiveContextsHasBeenSet() const { return m_activeContextsHasBeenSet; }
67 template<typename ActiveContextsT = Aws::Vector<ActiveContext>>
68 void SetActiveContexts(ActiveContextsT&& value) { m_activeContextsHasBeenSet = true; m_activeContexts = std::forward<ActiveContextsT>(value); }
69 template<typename ActiveContextsT = Aws::Vector<ActiveContext>>
70 InputSessionStateSpecification& WithActiveContexts(ActiveContextsT&& value) { SetActiveContexts(std::forward<ActiveContextsT>(value)); return *this;}
71 template<typename ActiveContextsT = ActiveContext>
72 InputSessionStateSpecification& AddActiveContexts(ActiveContextsT&& value) { m_activeContextsHasBeenSet = true; m_activeContexts.emplace_back(std::forward<ActiveContextsT>(value)); return *this; }
74
76
79 inline const RuntimeHints& GetRuntimeHints() const { return m_runtimeHints; }
80 inline bool RuntimeHintsHasBeenSet() const { return m_runtimeHintsHasBeenSet; }
81 template<typename RuntimeHintsT = RuntimeHints>
82 void SetRuntimeHints(RuntimeHintsT&& value) { m_runtimeHintsHasBeenSet = true; m_runtimeHints = std::forward<RuntimeHintsT>(value); }
83 template<typename RuntimeHintsT = RuntimeHints>
84 InputSessionStateSpecification& WithRuntimeHints(RuntimeHintsT&& value) { SetRuntimeHints(std::forward<RuntimeHintsT>(value)); return *this;}
86 private:
87
88 Aws::Map<Aws::String, Aws::String> m_sessionAttributes;
89 bool m_sessionAttributesHasBeenSet = false;
90
91 Aws::Vector<ActiveContext> m_activeContexts;
92 bool m_activeContextsHasBeenSet = false;
93
94 RuntimeHints m_runtimeHints;
95 bool m_runtimeHintsHasBeenSet = false;
96 };
97
98} // namespace Model
99} // namespace LexModelsV2
100} // 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