AWS SDK for C++

AWS SDK for C++ Version 1.11.924

Loading...
Searching...
No Matches
Rule.h
1
6#pragma once
7#include <aws/clouddirectory/CloudDirectory_EXPORTS.h>
8#include <aws/clouddirectory/model/RuleType.h>
9#include <aws/core/utils/memory/stl/AWSMap.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace CloudDirectory {
22namespace Model {
23
30class Rule {
31 public:
32 AWS_CLOUDDIRECTORY_API Rule() = default;
33 AWS_CLOUDDIRECTORY_API Rule(Aws::Utils::Json::JsonView jsonValue);
34 AWS_CLOUDDIRECTORY_API Rule& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_CLOUDDIRECTORY_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline RuleType GetType() const { return m_type; }
42 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
43 inline void SetType(RuleType value) {
44 m_typeHasBeenSet = true;
45 m_type = value;
46 }
47 inline Rule& WithType(RuleType value) {
48 SetType(value);
49 return *this;
50 }
52
54
57 inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const { return m_parameters; }
58 inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
59 template <typename ParametersT = Aws::Map<Aws::String, Aws::String>>
60 void SetParameters(ParametersT&& value) {
61 m_parametersHasBeenSet = true;
62 m_parameters = std::forward<ParametersT>(value);
63 }
64 template <typename ParametersT = Aws::Map<Aws::String, Aws::String>>
65 Rule& WithParameters(ParametersT&& value) {
66 SetParameters(std::forward<ParametersT>(value));
67 return *this;
68 }
69 template <typename ParametersKeyT = Aws::String, typename ParametersValueT = Aws::String>
70 Rule& AddParameters(ParametersKeyT&& key, ParametersValueT&& value) {
71 m_parametersHasBeenSet = true;
72 m_parameters.emplace(std::forward<ParametersKeyT>(key), std::forward<ParametersValueT>(value));
73 return *this;
74 }
76 private:
78
80 bool m_typeHasBeenSet = false;
81 bool m_parametersHasBeenSet = false;
82};
83
84} // namespace Model
85} // namespace CloudDirectory
86} // namespace Aws
const Aws::Map< Aws::String, Aws::String > & GetParameters() const
Definition Rule.h:57
void SetParameters(ParametersT &&value)
Definition Rule.h:60
void SetType(RuleType value)
Definition Rule.h:43
bool TypeHasBeenSet() const
Definition Rule.h:42
AWS_CLOUDDIRECTORY_API Rule()=default
bool ParametersHasBeenSet() const
Definition Rule.h:58
Rule & AddParameters(ParametersKeyT &&key, ParametersValueT &&value)
Definition Rule.h:70
Rule & WithType(RuleType value)
Definition Rule.h:47
Rule & WithParameters(ParametersT &&value)
Definition Rule.h:65
AWS_CLOUDDIRECTORY_API Rule(Aws::Utils::Json::JsonView jsonValue)
RuleType GetType() const
Definition Rule.h:41
AWS_CLOUDDIRECTORY_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_CLOUDDIRECTORY_API Rule & operator=(Aws::Utils::Json::JsonView jsonValue)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
Aws::Utils::Json::JsonValue JsonValue