AWS SDK for C++

AWS SDK for C++ Version 1.11.788

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
67 inline ComputeAssetState GetState() const { return m_state; }
68 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
69 inline void SetState(ComputeAssetState value) {
70 m_stateHasBeenSet = true;
71 m_state = value;
72 }
74 SetState(value);
75 return *this;
76 }
78
80
84 inline const Aws::Vector<Aws::String>& GetInstanceFamilies() const { return m_instanceFamilies; }
85 inline bool InstanceFamiliesHasBeenSet() const { return m_instanceFamiliesHasBeenSet; }
86 template <typename InstanceFamiliesT = Aws::Vector<Aws::String>>
87 void SetInstanceFamilies(InstanceFamiliesT&& value) {
88 m_instanceFamiliesHasBeenSet = true;
89 m_instanceFamilies = std::forward<InstanceFamiliesT>(value);
90 }
91 template <typename InstanceFamiliesT = Aws::Vector<Aws::String>>
92 ComputeAttributes& WithInstanceFamilies(InstanceFamiliesT&& value) {
93 SetInstanceFamilies(std::forward<InstanceFamiliesT>(value));
94 return *this;
95 }
96 template <typename InstanceFamiliesT = Aws::String>
97 ComputeAttributes& AddInstanceFamilies(InstanceFamiliesT&& value) {
98 m_instanceFamiliesHasBeenSet = true;
99 m_instanceFamilies.emplace_back(std::forward<InstanceFamiliesT>(value));
100 return *this;
101 }
103
105
109 inline const Aws::Vector<AssetInstanceTypeCapacity>& GetInstanceTypeCapacities() const { return m_instanceTypeCapacities; }
110 inline bool InstanceTypeCapacitiesHasBeenSet() const { return m_instanceTypeCapacitiesHasBeenSet; }
111 template <typename InstanceTypeCapacitiesT = Aws::Vector<AssetInstanceTypeCapacity>>
112 void SetInstanceTypeCapacities(InstanceTypeCapacitiesT&& value) {
113 m_instanceTypeCapacitiesHasBeenSet = true;
114 m_instanceTypeCapacities = std::forward<InstanceTypeCapacitiesT>(value);
115 }
116 template <typename InstanceTypeCapacitiesT = Aws::Vector<AssetInstanceTypeCapacity>>
117 ComputeAttributes& WithInstanceTypeCapacities(InstanceTypeCapacitiesT&& value) {
118 SetInstanceTypeCapacities(std::forward<InstanceTypeCapacitiesT>(value));
119 return *this;
120 }
121 template <typename InstanceTypeCapacitiesT = AssetInstanceTypeCapacity>
122 ComputeAttributes& AddInstanceTypeCapacities(InstanceTypeCapacitiesT&& value) {
123 m_instanceTypeCapacitiesHasBeenSet = true;
124 m_instanceTypeCapacities.emplace_back(std::forward<InstanceTypeCapacitiesT>(value));
125 return *this;
126 }
128
130
133 inline int GetMaxVcpus() const { return m_maxVcpus; }
134 inline bool MaxVcpusHasBeenSet() const { return m_maxVcpusHasBeenSet; }
135 inline void SetMaxVcpus(int value) {
136 m_maxVcpusHasBeenSet = true;
137 m_maxVcpus = value;
138 }
139 inline ComputeAttributes& WithMaxVcpus(int value) {
140 SetMaxVcpus(value);
141 return *this;
142 }
144 private:
145 Aws::String m_hostId;
146
148
149 Aws::Vector<Aws::String> m_instanceFamilies;
150
151 Aws::Vector<AssetInstanceTypeCapacity> m_instanceTypeCapacities;
152
153 int m_maxVcpus{0};
154 bool m_hostIdHasBeenSet = false;
155 bool m_stateHasBeenSet = false;
156 bool m_instanceFamiliesHasBeenSet = false;
157 bool m_instanceTypeCapacitiesHasBeenSet = false;
158 bool m_maxVcpusHasBeenSet = false;
159};
160
161} // namespace Model
162} // namespace Outposts
163} // 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