AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
NodeProperties.h
1
6#pragma once
7#include <aws/batch/Batch_EXPORTS.h>
8#include <aws/batch/model/NodeRangeProperty.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace Batch {
21namespace Model {
22
31 public:
32 AWS_BATCH_API NodeProperties() = default;
35 AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline int GetNumNodes() const { return m_numNodes; }
42 inline bool NumNodesHasBeenSet() const { return m_numNodesHasBeenSet; }
43 inline void SetNumNodes(int value) {
44 m_numNodesHasBeenSet = true;
45 m_numNodes = value;
46 }
47 inline NodeProperties& WithNumNodes(int value) {
48 SetNumNodes(value);
49 return *this;
50 }
52
54
58 inline int GetMainNode() const { return m_mainNode; }
59 inline bool MainNodeHasBeenSet() const { return m_mainNodeHasBeenSet; }
60 inline void SetMainNode(int value) {
61 m_mainNodeHasBeenSet = true;
62 m_mainNode = value;
63 }
64 inline NodeProperties& WithMainNode(int value) {
65 SetMainNode(value);
66 return *this;
67 }
69
71
75 inline const Aws::Vector<NodeRangeProperty>& GetNodeRangeProperties() const { return m_nodeRangeProperties; }
76 inline bool NodeRangePropertiesHasBeenSet() const { return m_nodeRangePropertiesHasBeenSet; }
77 template <typename NodeRangePropertiesT = Aws::Vector<NodeRangeProperty>>
78 void SetNodeRangeProperties(NodeRangePropertiesT&& value) {
79 m_nodeRangePropertiesHasBeenSet = true;
80 m_nodeRangeProperties = std::forward<NodeRangePropertiesT>(value);
81 }
82 template <typename NodeRangePropertiesT = Aws::Vector<NodeRangeProperty>>
83 NodeProperties& WithNodeRangeProperties(NodeRangePropertiesT&& value) {
84 SetNodeRangeProperties(std::forward<NodeRangePropertiesT>(value));
85 return *this;
86 }
87 template <typename NodeRangePropertiesT = NodeRangeProperty>
88 NodeProperties& AddNodeRangeProperties(NodeRangePropertiesT&& value) {
89 m_nodeRangePropertiesHasBeenSet = true;
90 m_nodeRangeProperties.emplace_back(std::forward<NodeRangePropertiesT>(value));
91 return *this;
92 }
94 private:
95 int m_numNodes{0};
96
97 int m_mainNode{0};
98
99 Aws::Vector<NodeRangeProperty> m_nodeRangeProperties;
100 bool m_numNodesHasBeenSet = false;
101 bool m_mainNodeHasBeenSet = false;
102 bool m_nodeRangePropertiesHasBeenSet = false;
103};
104
105} // namespace Model
106} // namespace Batch
107} // namespace Aws
NodeProperties & AddNodeRangeProperties(NodeRangePropertiesT &&value)
NodeProperties & WithMainNode(int value)
AWS_BATCH_API NodeProperties(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< NodeRangeProperty > & GetNodeRangeProperties() const
NodeProperties & WithNodeRangeProperties(NodeRangePropertiesT &&value)
void SetNodeRangeProperties(NodeRangePropertiesT &&value)
NodeProperties & WithNumNodes(int value)
AWS_BATCH_API NodeProperties & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_BATCH_API NodeProperties()=default
AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue