AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
Limits.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/opensearch/OpenSearchService_EXPORTS.h>
9#include <aws/opensearch/model/AdditionalLimit.h>
10#include <aws/opensearch/model/InstanceLimits.h>
11#include <aws/opensearch/model/StorageType.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace OpenSearchService {
23namespace Model {
24
31class Limits {
32 public:
33 AWS_OPENSEARCHSERVICE_API Limits() = default;
34 AWS_OPENSEARCHSERVICE_API Limits(Aws::Utils::Json::JsonView jsonValue);
35 AWS_OPENSEARCHSERVICE_API Limits& operator=(Aws::Utils::Json::JsonView jsonValue);
36 AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const Aws::Vector<StorageType>& GetStorageTypes() const { return m_storageTypes; }
43 inline bool StorageTypesHasBeenSet() const { return m_storageTypesHasBeenSet; }
44 template <typename StorageTypesT = Aws::Vector<StorageType>>
45 void SetStorageTypes(StorageTypesT&& value) {
46 m_storageTypesHasBeenSet = true;
47 m_storageTypes = std::forward<StorageTypesT>(value);
48 }
49 template <typename StorageTypesT = Aws::Vector<StorageType>>
50 Limits& WithStorageTypes(StorageTypesT&& value) {
51 SetStorageTypes(std::forward<StorageTypesT>(value));
52 return *this;
53 }
54 template <typename StorageTypesT = StorageType>
55 Limits& AddStorageTypes(StorageTypesT&& value) {
56 m_storageTypesHasBeenSet = true;
57 m_storageTypes.emplace_back(std::forward<StorageTypesT>(value));
58 return *this;
59 }
61
63
66 inline const InstanceLimits& GetInstanceLimits() const { return m_instanceLimits; }
67 inline bool InstanceLimitsHasBeenSet() const { return m_instanceLimitsHasBeenSet; }
68 template <typename InstanceLimitsT = InstanceLimits>
69 void SetInstanceLimits(InstanceLimitsT&& value) {
70 m_instanceLimitsHasBeenSet = true;
71 m_instanceLimits = std::forward<InstanceLimitsT>(value);
72 }
73 template <typename InstanceLimitsT = InstanceLimits>
74 Limits& WithInstanceLimits(InstanceLimitsT&& value) {
75 SetInstanceLimits(std::forward<InstanceLimitsT>(value));
76 return *this;
77 }
79
81
85 inline const Aws::Vector<AdditionalLimit>& GetAdditionalLimits() const { return m_additionalLimits; }
86 inline bool AdditionalLimitsHasBeenSet() const { return m_additionalLimitsHasBeenSet; }
87 template <typename AdditionalLimitsT = Aws::Vector<AdditionalLimit>>
88 void SetAdditionalLimits(AdditionalLimitsT&& value) {
89 m_additionalLimitsHasBeenSet = true;
90 m_additionalLimits = std::forward<AdditionalLimitsT>(value);
91 }
92 template <typename AdditionalLimitsT = Aws::Vector<AdditionalLimit>>
93 Limits& WithAdditionalLimits(AdditionalLimitsT&& value) {
94 SetAdditionalLimits(std::forward<AdditionalLimitsT>(value));
95 return *this;
96 }
97 template <typename AdditionalLimitsT = AdditionalLimit>
98 Limits& AddAdditionalLimits(AdditionalLimitsT&& value) {
99 m_additionalLimitsHasBeenSet = true;
100 m_additionalLimits.emplace_back(std::forward<AdditionalLimitsT>(value));
101 return *this;
102 }
104 private:
105 Aws::Vector<StorageType> m_storageTypes;
106
107 InstanceLimits m_instanceLimits;
108
109 Aws::Vector<AdditionalLimit> m_additionalLimits;
110 bool m_storageTypesHasBeenSet = false;
111 bool m_instanceLimitsHasBeenSet = false;
112 bool m_additionalLimitsHasBeenSet = false;
113};
114
115} // namespace Model
116} // namespace OpenSearchService
117} // namespace Aws
AWS_OPENSEARCHSERVICE_API Limits & operator=(Aws::Utils::Json::JsonView jsonValue)
Limits & AddAdditionalLimits(AdditionalLimitsT &&value)
Definition Limits.h:98
void SetStorageTypes(StorageTypesT &&value)
Definition Limits.h:45
AWS_OPENSEARCHSERVICE_API Limits()=default
const Aws::Vector< AdditionalLimit > & GetAdditionalLimits() const
Definition Limits.h:85
Limits & AddStorageTypes(StorageTypesT &&value)
Definition Limits.h:55
AWS_OPENSEARCHSERVICE_API Limits(Aws::Utils::Json::JsonView jsonValue)
Limits & WithAdditionalLimits(AdditionalLimitsT &&value)
Definition Limits.h:93
void SetInstanceLimits(InstanceLimitsT &&value)
Definition Limits.h:69
AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const
const InstanceLimits & GetInstanceLimits() const
Definition Limits.h:66
void SetAdditionalLimits(AdditionalLimitsT &&value)
Definition Limits.h:88
Limits & WithStorageTypes(StorageTypesT &&value)
Definition Limits.h:50
const Aws::Vector< StorageType > & GetStorageTypes() const
Definition Limits.h:42
Limits & WithInstanceLimits(InstanceLimitsT &&value)
Definition Limits.h:74
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue