AWS SDK for C++

AWS SDK for C++ Version 1.11.711

Loading...
Searching...
No Matches
ComputeAttributes.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/outposts/Outposts_EXPORTS.h>
10#include <aws/outposts/model/AssetInstanceTypeCapacity.h>
11#include <aws/outposts/model/ComputeAssetState.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace Outposts {
23namespace Model {
24
31 public:
32 AWS_OUTPOSTS_API ComputeAttributes() = default;
33 AWS_OUTPOSTS_API ComputeAttributes(Aws::Utils::Json::JsonView jsonValue);
35 AWS_OUTPOSTS_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline const Aws::String& GetHostId() const { return m_hostId; }
42 inline bool HostIdHasBeenSet() const { return m_hostIdHasBeenSet; }
43 template <typename HostIdT = Aws::String>
44 void SetHostId(HostIdT&& value) {
45 m_hostIdHasBeenSet = true;
46 m_hostId = std::forward<HostIdT>(value);
47 }
48 template <typename HostIdT = Aws::String>
49 ComputeAttributes& WithHostId(HostIdT&& value) {
50 SetHostId(std::forward<HostIdT>(value));
51 return *this;
52 }
54
56
65 inline ComputeAssetState GetState() const { return m_state; }
66 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
67 inline void SetState(ComputeAssetState value) {
68 m_stateHasBeenSet = true;
69 m_state = value;
70 }
72 SetState(value);
73 return *this;
74 }
76
78
82 inline const Aws::Vector<Aws::String>& GetInstanceFamilies() const { return m_instanceFamilies; }
83 inline bool InstanceFamiliesHasBeenSet() const { return m_instanceFamiliesHasBeenSet; }
84 template <typename InstanceFamiliesT = Aws::Vector<Aws::String>>
85 void SetInstanceFamilies(InstanceFamiliesT&& value) {
86 m_instanceFamiliesHasBeenSet = true;
87 m_instanceFamilies = std::forward<InstanceFamiliesT>(value);
88 }
89 template <typename InstanceFamiliesT = Aws::Vector<Aws::String>>
90 ComputeAttributes& WithInstanceFamilies(InstanceFamiliesT&& value) {
91 SetInstanceFamilies(std::forward<InstanceFamiliesT>(value));
92 return *this;
93 }
94 template <typename InstanceFamiliesT = Aws::String>
95 ComputeAttributes& AddInstanceFamilies(InstanceFamiliesT&& value) {
96 m_instanceFamiliesHasBeenSet = true;
97 m_instanceFamilies.emplace_back(std::forward<InstanceFamiliesT>(value));
98 return *this;
99 }
101
103
107 inline const Aws::Vector<AssetInstanceTypeCapacity>& GetInstanceTypeCapacities() const { return m_instanceTypeCapacities; }
108 inline bool InstanceTypeCapacitiesHasBeenSet() const { return m_instanceTypeCapacitiesHasBeenSet; }
109 template <typename InstanceTypeCapacitiesT = Aws::Vector<AssetInstanceTypeCapacity>>
110 void SetInstanceTypeCapacities(InstanceTypeCapacitiesT&& value) {
111 m_instanceTypeCapacitiesHasBeenSet = true;
112 m_instanceTypeCapacities = std::forward<InstanceTypeCapacitiesT>(value);
113 }
114 template <typename InstanceTypeCapacitiesT = Aws::Vector<AssetInstanceTypeCapacity>>
115 ComputeAttributes& WithInstanceTypeCapacities(InstanceTypeCapacitiesT&& value) {
116 SetInstanceTypeCapacities(std::forward<InstanceTypeCapacitiesT>(value));
117 return *this;
118 }
119 template <typename InstanceTypeCapacitiesT = AssetInstanceTypeCapacity>
120 ComputeAttributes& AddInstanceTypeCapacities(InstanceTypeCapacitiesT&& value) {
121 m_instanceTypeCapacitiesHasBeenSet = true;
122 m_instanceTypeCapacities.emplace_back(std::forward<InstanceTypeCapacitiesT>(value));
123 return *this;
124 }
126
128
131 inline int GetMaxVcpus() const { return m_maxVcpus; }
132 inline bool MaxVcpusHasBeenSet() const { return m_maxVcpusHasBeenSet; }
133 inline void SetMaxVcpus(int value) {
134 m_maxVcpusHasBeenSet = true;
135 m_maxVcpus = value;
136 }
137 inline ComputeAttributes& WithMaxVcpus(int value) {
138 SetMaxVcpus(value);
139 return *this;
140 }
142 private:
143 Aws::String m_hostId;
144
146
147 Aws::Vector<Aws::String> m_instanceFamilies;
148
149 Aws::Vector<AssetInstanceTypeCapacity> m_instanceTypeCapacities;
150
151 int m_maxVcpus{0};
152 bool m_hostIdHasBeenSet = false;
153 bool m_stateHasBeenSet = false;
154 bool m_instanceFamiliesHasBeenSet = false;
155 bool m_instanceTypeCapacitiesHasBeenSet = false;
156 bool m_maxVcpusHasBeenSet = false;
157};
158
159} // namespace Model
160} // namespace Outposts
161} // namespace Aws
void SetInstanceTypeCapacities(InstanceTypeCapacitiesT &&value)
const Aws::String & GetHostId() const
ComputeAttributes & WithHostId(HostIdT &&value)
void SetState(ComputeAssetState value)
AWS_OUTPOSTS_API ComputeAttributes(Aws::Utils::Json::JsonView jsonValue)
ComputeAttributes & WithState(ComputeAssetState value)
ComputeAttributes & WithInstanceFamilies(InstanceFamiliesT &&value)
AWS_OUTPOSTS_API Aws::Utils::Json::JsonValue Jsonize() const
ComputeAttributes & WithMaxVcpus(int value)
void SetInstanceFamilies(InstanceFamiliesT &&value)
const Aws::Vector< AssetInstanceTypeCapacity > & GetInstanceTypeCapacities() const
AWS_OUTPOSTS_API ComputeAttributes()=default
AWS_OUTPOSTS_API ComputeAttributes & operator=(Aws::Utils::Json::JsonView jsonValue)
ComputeAttributes & AddInstanceTypeCapacities(InstanceTypeCapacitiesT &&value)
ComputeAttributes & WithInstanceTypeCapacities(InstanceTypeCapacitiesT &&value)
const Aws::Vector< Aws::String > & GetInstanceFamilies() const
ComputeAttributes & AddInstanceFamilies(InstanceFamiliesT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue