AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
NodeRangeProperty.h
1
6#pragma once
7#include <aws/batch/Batch_EXPORTS.h>
8#include <aws/batch/model/ConsumableResourceProperties.h>
9#include <aws/batch/model/ContainerProperties.h>
10#include <aws/batch/model/EcsProperties.h>
11#include <aws/batch/model/EksProperties.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace Batch {
25namespace Model {
26
34 public:
35 AWS_BATCH_API NodeRangeProperty() = default;
38 AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
51 inline const Aws::String& GetTargetNodes() const { return m_targetNodes; }
52 inline bool TargetNodesHasBeenSet() const { return m_targetNodesHasBeenSet; }
53 template <typename TargetNodesT = Aws::String>
54 void SetTargetNodes(TargetNodesT&& value) {
55 m_targetNodesHasBeenSet = true;
56 m_targetNodes = std::forward<TargetNodesT>(value);
57 }
58 template <typename TargetNodesT = Aws::String>
59 NodeRangeProperty& WithTargetNodes(TargetNodesT&& value) {
60 SetTargetNodes(std::forward<TargetNodesT>(value));
61 return *this;
62 }
64
66
69 inline const ContainerProperties& GetContainer() const { return m_container; }
70 inline bool ContainerHasBeenSet() const { return m_containerHasBeenSet; }
71 template <typename ContainerT = ContainerProperties>
72 void SetContainer(ContainerT&& value) {
73 m_containerHasBeenSet = true;
74 m_container = std::forward<ContainerT>(value);
75 }
76 template <typename ContainerT = ContainerProperties>
77 NodeRangeProperty& WithContainer(ContainerT&& value) {
78 SetContainer(std::forward<ContainerT>(value));
79 return *this;
80 }
82
84
90 inline const Aws::Vector<Aws::String>& GetInstanceTypes() const { return m_instanceTypes; }
91 inline bool InstanceTypesHasBeenSet() const { return m_instanceTypesHasBeenSet; }
92 template <typename InstanceTypesT = Aws::Vector<Aws::String>>
93 void SetInstanceTypes(InstanceTypesT&& value) {
94 m_instanceTypesHasBeenSet = true;
95 m_instanceTypes = std::forward<InstanceTypesT>(value);
96 }
97 template <typename InstanceTypesT = Aws::Vector<Aws::String>>
98 NodeRangeProperty& WithInstanceTypes(InstanceTypesT&& value) {
99 SetInstanceTypes(std::forward<InstanceTypesT>(value));
100 return *this;
101 }
102 template <typename InstanceTypesT = Aws::String>
103 NodeRangeProperty& AddInstanceTypes(InstanceTypesT&& value) {
104 m_instanceTypesHasBeenSet = true;
105 m_instanceTypes.emplace_back(std::forward<InstanceTypesT>(value));
106 return *this;
107 }
109
111
115 inline const EcsProperties& GetEcsProperties() const { return m_ecsProperties; }
116 inline bool EcsPropertiesHasBeenSet() const { return m_ecsPropertiesHasBeenSet; }
117 template <typename EcsPropertiesT = EcsProperties>
118 void SetEcsProperties(EcsPropertiesT&& value) {
119 m_ecsPropertiesHasBeenSet = true;
120 m_ecsProperties = std::forward<EcsPropertiesT>(value);
121 }
122 template <typename EcsPropertiesT = EcsProperties>
123 NodeRangeProperty& WithEcsProperties(EcsPropertiesT&& value) {
124 SetEcsProperties(std::forward<EcsPropertiesT>(value));
125 return *this;
126 }
128
130
134 inline const EksProperties& GetEksProperties() const { return m_eksProperties; }
135 inline bool EksPropertiesHasBeenSet() const { return m_eksPropertiesHasBeenSet; }
136 template <typename EksPropertiesT = EksProperties>
137 void SetEksProperties(EksPropertiesT&& value) {
138 m_eksPropertiesHasBeenSet = true;
139 m_eksProperties = std::forward<EksPropertiesT>(value);
140 }
141 template <typename EksPropertiesT = EksProperties>
142 NodeRangeProperty& WithEksProperties(EksPropertiesT&& value) {
143 SetEksProperties(std::forward<EksPropertiesT>(value));
144 return *this;
145 }
147
149
152 inline const ConsumableResourceProperties& GetConsumableResourceProperties() const { return m_consumableResourceProperties; }
153 inline bool ConsumableResourcePropertiesHasBeenSet() const { return m_consumableResourcePropertiesHasBeenSet; }
154 template <typename ConsumableResourcePropertiesT = ConsumableResourceProperties>
155 void SetConsumableResourceProperties(ConsumableResourcePropertiesT&& value) {
156 m_consumableResourcePropertiesHasBeenSet = true;
157 m_consumableResourceProperties = std::forward<ConsumableResourcePropertiesT>(value);
158 }
159 template <typename ConsumableResourcePropertiesT = ConsumableResourceProperties>
160 NodeRangeProperty& WithConsumableResourceProperties(ConsumableResourcePropertiesT&& value) {
161 SetConsumableResourceProperties(std::forward<ConsumableResourcePropertiesT>(value));
162 return *this;
163 }
165 private:
166 Aws::String m_targetNodes;
167
168 ContainerProperties m_container;
169
170 Aws::Vector<Aws::String> m_instanceTypes;
171
172 EcsProperties m_ecsProperties;
173
174 EksProperties m_eksProperties;
175
176 ConsumableResourceProperties m_consumableResourceProperties;
177 bool m_targetNodesHasBeenSet = false;
178 bool m_containerHasBeenSet = false;
179 bool m_instanceTypesHasBeenSet = false;
180 bool m_ecsPropertiesHasBeenSet = false;
181 bool m_eksPropertiesHasBeenSet = false;
182 bool m_consumableResourcePropertiesHasBeenSet = false;
183};
184
185} // namespace Model
186} // namespace Batch
187} // namespace Aws
const EksProperties & GetEksProperties() const
NodeRangeProperty & WithTargetNodes(TargetNodesT &&value)
const Aws::Vector< Aws::String > & GetInstanceTypes() const
void SetTargetNodes(TargetNodesT &&value)
void SetContainer(ContainerT &&value)
AWS_BATCH_API NodeRangeProperty()=default
NodeRangeProperty & WithEcsProperties(EcsPropertiesT &&value)
NodeRangeProperty & WithConsumableResourceProperties(ConsumableResourcePropertiesT &&value)
AWS_BATCH_API NodeRangeProperty & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetInstanceTypes(InstanceTypesT &&value)
void SetConsumableResourceProperties(ConsumableResourcePropertiesT &&value)
const ConsumableResourceProperties & GetConsumableResourceProperties() const
const ContainerProperties & GetContainer() const
NodeRangeProperty & WithInstanceTypes(InstanceTypesT &&value)
NodeRangeProperty & WithContainer(ContainerT &&value)
void SetEcsProperties(EcsPropertiesT &&value)
NodeRangeProperty & AddInstanceTypes(InstanceTypesT &&value)
void SetEksProperties(EksPropertiesT &&value)
NodeRangeProperty & WithEksProperties(EksPropertiesT &&value)
AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_BATCH_API NodeRangeProperty(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetTargetNodes() const
const EcsProperties & GetEcsProperties() 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