AWS SDK for C++

AWS SDK for C++ Version 1.11.909

Loading...
Searching...
No Matches
ProductAttributeValues.h
1
6#pragma once
7#include <aws/budgets/Budgets_EXPORTS.h>
8#include <aws/budgets/model/MatchOption.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace Budgets {
22namespace Model {
23
32 public:
33 AWS_BUDGETS_API ProductAttributeValues() = default;
36 AWS_BUDGETS_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
50 inline const Aws::String& GetKey() const { return m_key; }
51 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
52 template <typename KeyT = Aws::String>
53 void SetKey(KeyT&& value) {
54 m_keyHasBeenSet = true;
55 m_key = std::forward<KeyT>(value);
56 }
57 template <typename KeyT = Aws::String>
59 SetKey(std::forward<KeyT>(value));
60 return *this;
61 }
63
65
73 inline const Aws::Vector<Aws::String>& GetValues() const { return m_values; }
74 inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; }
75 template <typename ValuesT = Aws::Vector<Aws::String>>
76 void SetValues(ValuesT&& value) {
77 m_valuesHasBeenSet = true;
78 m_values = std::forward<ValuesT>(value);
79 }
80 template <typename ValuesT = Aws::Vector<Aws::String>>
82 SetValues(std::forward<ValuesT>(value));
83 return *this;
84 }
85 template <typename ValuesT = Aws::String>
87 m_valuesHasBeenSet = true;
88 m_values.emplace_back(std::forward<ValuesT>(value));
89 return *this;
90 }
92
94
104 inline const Aws::Vector<MatchOption>& GetMatchOptions() const { return m_matchOptions; }
105 inline bool MatchOptionsHasBeenSet() const { return m_matchOptionsHasBeenSet; }
106 template <typename MatchOptionsT = Aws::Vector<MatchOption>>
107 void SetMatchOptions(MatchOptionsT&& value) {
108 m_matchOptionsHasBeenSet = true;
109 m_matchOptions = std::forward<MatchOptionsT>(value);
110 }
111 template <typename MatchOptionsT = Aws::Vector<MatchOption>>
112 ProductAttributeValues& WithMatchOptions(MatchOptionsT&& value) {
113 SetMatchOptions(std::forward<MatchOptionsT>(value));
114 return *this;
115 }
117 m_matchOptionsHasBeenSet = true;
118 m_matchOptions.push_back(value);
119 return *this;
120 }
122 private:
123 Aws::String m_key;
124
126
127 Aws::Vector<MatchOption> m_matchOptions;
128 bool m_keyHasBeenSet = false;
129 bool m_valuesHasBeenSet = false;
130 bool m_matchOptionsHasBeenSet = false;
131};
132
133} // namespace Model
134} // namespace Budgets
135} // namespace Aws
AWS_BUDGETS_API ProductAttributeValues(Aws::Utils::Json::JsonView jsonValue)
ProductAttributeValues & WithValues(ValuesT &&value)
AWS_BUDGETS_API ProductAttributeValues & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_BUDGETS_API ProductAttributeValues()=default
ProductAttributeValues & AddMatchOptions(MatchOption value)
ProductAttributeValues & WithMatchOptions(MatchOptionsT &&value)
ProductAttributeValues & WithKey(KeyT &&value)
ProductAttributeValues & AddValues(ValuesT &&value)
const Aws::Vector< Aws::String > & GetValues() const
const Aws::Vector< MatchOption > & GetMatchOptions() const
AWS_BUDGETS_API Aws::Utils::Json::JsonValue Jsonize() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue