AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
Limits.h
1
6#pragma once
7#include <aws/opensearch/OpenSearchService_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/opensearch/model/InstanceLimits.h>
10#include <aws/opensearch/model/StorageType.h>
11#include <aws/opensearch/model/AdditionalLimit.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace OpenSearchService
25{
26namespace Model
27{
28
35 class Limits
36 {
37 public:
38 AWS_OPENSEARCHSERVICE_API Limits() = default;
39 AWS_OPENSEARCHSERVICE_API Limits(Aws::Utils::Json::JsonView jsonValue);
40 AWS_OPENSEARCHSERVICE_API Limits& operator=(Aws::Utils::Json::JsonView jsonValue);
41 AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
48 inline const Aws::Vector<StorageType>& GetStorageTypes() const { return m_storageTypes; }
49 inline bool StorageTypesHasBeenSet() const { return m_storageTypesHasBeenSet; }
50 template<typename StorageTypesT = Aws::Vector<StorageType>>
51 void SetStorageTypes(StorageTypesT&& value) { m_storageTypesHasBeenSet = true; m_storageTypes = std::forward<StorageTypesT>(value); }
52 template<typename StorageTypesT = Aws::Vector<StorageType>>
53 Limits& WithStorageTypes(StorageTypesT&& value) { SetStorageTypes(std::forward<StorageTypesT>(value)); return *this;}
54 template<typename StorageTypesT = StorageType>
55 Limits& AddStorageTypes(StorageTypesT&& value) { m_storageTypesHasBeenSet = true; m_storageTypes.emplace_back(std::forward<StorageTypesT>(value)); return *this; }
57
59
62 inline const InstanceLimits& GetInstanceLimits() const { return m_instanceLimits; }
63 inline bool InstanceLimitsHasBeenSet() const { return m_instanceLimitsHasBeenSet; }
64 template<typename InstanceLimitsT = InstanceLimits>
65 void SetInstanceLimits(InstanceLimitsT&& value) { m_instanceLimitsHasBeenSet = true; m_instanceLimits = std::forward<InstanceLimitsT>(value); }
66 template<typename InstanceLimitsT = InstanceLimits>
67 Limits& WithInstanceLimits(InstanceLimitsT&& value) { SetInstanceLimits(std::forward<InstanceLimitsT>(value)); return *this;}
69
71
75 inline const Aws::Vector<AdditionalLimit>& GetAdditionalLimits() const { return m_additionalLimits; }
76 inline bool AdditionalLimitsHasBeenSet() const { return m_additionalLimitsHasBeenSet; }
77 template<typename AdditionalLimitsT = Aws::Vector<AdditionalLimit>>
78 void SetAdditionalLimits(AdditionalLimitsT&& value) { m_additionalLimitsHasBeenSet = true; m_additionalLimits = std::forward<AdditionalLimitsT>(value); }
79 template<typename AdditionalLimitsT = Aws::Vector<AdditionalLimit>>
80 Limits& WithAdditionalLimits(AdditionalLimitsT&& value) { SetAdditionalLimits(std::forward<AdditionalLimitsT>(value)); return *this;}
81 template<typename AdditionalLimitsT = AdditionalLimit>
82 Limits& AddAdditionalLimits(AdditionalLimitsT&& value) { m_additionalLimitsHasBeenSet = true; m_additionalLimits.emplace_back(std::forward<AdditionalLimitsT>(value)); return *this; }
84 private:
85
86 Aws::Vector<StorageType> m_storageTypes;
87 bool m_storageTypesHasBeenSet = false;
88
89 InstanceLimits m_instanceLimits;
90 bool m_instanceLimitsHasBeenSet = false;
91
92 Aws::Vector<AdditionalLimit> m_additionalLimits;
93 bool m_additionalLimitsHasBeenSet = false;
94 };
95
96} // namespace Model
97} // namespace OpenSearchService
98} // namespace Aws
AWS_OPENSEARCHSERVICE_API Limits & operator=(Aws::Utils::Json::JsonView jsonValue)
Limits & AddAdditionalLimits(AdditionalLimitsT &&value)
Definition Limits.h:82
void SetStorageTypes(StorageTypesT &&value)
Definition Limits.h:51
AWS_OPENSEARCHSERVICE_API Limits()=default
const Aws::Vector< AdditionalLimit > & GetAdditionalLimits() const
Definition Limits.h:75
Limits & AddStorageTypes(StorageTypesT &&value)
Definition Limits.h:55
AWS_OPENSEARCHSERVICE_API Limits(Aws::Utils::Json::JsonView jsonValue)
Limits & WithAdditionalLimits(AdditionalLimitsT &&value)
Definition Limits.h:80
void SetInstanceLimits(InstanceLimitsT &&value)
Definition Limits.h:65
AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const
const InstanceLimits & GetInstanceLimits() const
Definition Limits.h:62
void SetAdditionalLimits(AdditionalLimitsT &&value)
Definition Limits.h:78
Limits & WithStorageTypes(StorageTypesT &&value)
Definition Limits.h:53
const Aws::Vector< StorageType > & GetStorageTypes() const
Definition Limits.h:48
Limits & WithInstanceLimits(InstanceLimitsT &&value)
Definition Limits.h:67
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue