AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
Instance.h
1
6#pragma once
7#include <aws/snow-device-management/SnowDeviceManagement_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/snow-device-management/model/CpuOptions.h>
10#include <aws/core/utils/DateTime.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/snow-device-management/model/InstanceState.h>
13#include <aws/snow-device-management/model/InstanceBlockDeviceMapping.h>
14#include <aws/snow-device-management/model/SecurityGroupIdentifier.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Json
22{
23 class JsonValue;
24 class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace SnowDeviceManagement
28{
29namespace Model
30{
31
39 {
40 public:
41 AWS_SNOWDEVICEMANAGEMENT_API Instance() = default;
42 AWS_SNOWDEVICEMANAGEMENT_API Instance(Aws::Utils::Json::JsonView jsonValue);
43 AWS_SNOWDEVICEMANAGEMENT_API Instance& operator=(Aws::Utils::Json::JsonView jsonValue);
44 AWS_SNOWDEVICEMANAGEMENT_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
52 inline int GetAmiLaunchIndex() const { return m_amiLaunchIndex; }
53 inline bool AmiLaunchIndexHasBeenSet() const { return m_amiLaunchIndexHasBeenSet; }
54 inline void SetAmiLaunchIndex(int value) { m_amiLaunchIndexHasBeenSet = true; m_amiLaunchIndex = value; }
55 inline Instance& WithAmiLaunchIndex(int value) { SetAmiLaunchIndex(value); return *this;}
57
59
62 inline const Aws::Vector<InstanceBlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
63 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
64 template<typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
65 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value); }
66 template<typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
67 Instance& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) { SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value)); return *this;}
68 template<typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
69 Instance& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value)); return *this; }
71
73
76 inline const CpuOptions& GetCpuOptions() const { return m_cpuOptions; }
77 inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; }
78 template<typename CpuOptionsT = CpuOptions>
79 void SetCpuOptions(CpuOptionsT&& value) { m_cpuOptionsHasBeenSet = true; m_cpuOptions = std::forward<CpuOptionsT>(value); }
80 template<typename CpuOptionsT = CpuOptions>
81 Instance& WithCpuOptions(CpuOptionsT&& value) { SetCpuOptions(std::forward<CpuOptionsT>(value)); return *this;}
83
85
88 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
89 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
90 template<typename CreatedAtT = Aws::Utils::DateTime>
91 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward<CreatedAtT>(value); }
92 template<typename CreatedAtT = Aws::Utils::DateTime>
93 Instance& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward<CreatedAtT>(value)); return *this;}
95
97
100 inline const Aws::String& GetImageId() const { return m_imageId; }
101 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
102 template<typename ImageIdT = Aws::String>
103 void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet = true; m_imageId = std::forward<ImageIdT>(value); }
104 template<typename ImageIdT = Aws::String>
105 Instance& WithImageId(ImageIdT&& value) { SetImageId(std::forward<ImageIdT>(value)); return *this;}
107
109
112 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
113 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
114 template<typename InstanceIdT = Aws::String>
115 void SetInstanceId(InstanceIdT&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::forward<InstanceIdT>(value); }
116 template<typename InstanceIdT = Aws::String>
117 Instance& WithInstanceId(InstanceIdT&& value) { SetInstanceId(std::forward<InstanceIdT>(value)); return *this;}
119
121
124 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
125 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
126 template<typename InstanceTypeT = Aws::String>
127 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward<InstanceTypeT>(value); }
128 template<typename InstanceTypeT = Aws::String>
129 Instance& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward<InstanceTypeT>(value)); return *this;}
131
133
136 inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; }
137 inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; }
138 template<typename PrivateIpAddressT = Aws::String>
139 void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::forward<PrivateIpAddressT>(value); }
140 template<typename PrivateIpAddressT = Aws::String>
141 Instance& WithPrivateIpAddress(PrivateIpAddressT&& value) { SetPrivateIpAddress(std::forward<PrivateIpAddressT>(value)); return *this;}
143
145
148 inline const Aws::String& GetPublicIpAddress() const { return m_publicIpAddress; }
149 inline bool PublicIpAddressHasBeenSet() const { return m_publicIpAddressHasBeenSet; }
150 template<typename PublicIpAddressT = Aws::String>
151 void SetPublicIpAddress(PublicIpAddressT&& value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress = std::forward<PublicIpAddressT>(value); }
152 template<typename PublicIpAddressT = Aws::String>
153 Instance& WithPublicIpAddress(PublicIpAddressT&& value) { SetPublicIpAddress(std::forward<PublicIpAddressT>(value)); return *this;}
155
157
161 inline const Aws::String& GetRootDeviceName() const { return m_rootDeviceName; }
162 inline bool RootDeviceNameHasBeenSet() const { return m_rootDeviceNameHasBeenSet; }
163 template<typename RootDeviceNameT = Aws::String>
164 void SetRootDeviceName(RootDeviceNameT&& value) { m_rootDeviceNameHasBeenSet = true; m_rootDeviceName = std::forward<RootDeviceNameT>(value); }
165 template<typename RootDeviceNameT = Aws::String>
166 Instance& WithRootDeviceName(RootDeviceNameT&& value) { SetRootDeviceName(std::forward<RootDeviceNameT>(value)); return *this;}
168
170
173 inline const Aws::Vector<SecurityGroupIdentifier>& GetSecurityGroups() const { return m_securityGroups; }
174 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
175 template<typename SecurityGroupsT = Aws::Vector<SecurityGroupIdentifier>>
176 void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::forward<SecurityGroupsT>(value); }
177 template<typename SecurityGroupsT = Aws::Vector<SecurityGroupIdentifier>>
178 Instance& WithSecurityGroups(SecurityGroupsT&& value) { SetSecurityGroups(std::forward<SecurityGroupsT>(value)); return *this;}
179 template<typename SecurityGroupsT = SecurityGroupIdentifier>
180 Instance& AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value)); return *this; }
182
184
185 inline const InstanceState& GetState() const { return m_state; }
186 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
187 template<typename StateT = InstanceState>
188 void SetState(StateT&& value) { m_stateHasBeenSet = true; m_state = std::forward<StateT>(value); }
189 template<typename StateT = InstanceState>
190 Instance& WithState(StateT&& value) { SetState(std::forward<StateT>(value)); return *this;}
192
194
197 inline const Aws::Utils::DateTime& GetUpdatedAt() const { return m_updatedAt; }
198 inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; }
199 template<typename UpdatedAtT = Aws::Utils::DateTime>
200 void SetUpdatedAt(UpdatedAtT&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::forward<UpdatedAtT>(value); }
201 template<typename UpdatedAtT = Aws::Utils::DateTime>
202 Instance& WithUpdatedAt(UpdatedAtT&& value) { SetUpdatedAt(std::forward<UpdatedAtT>(value)); return *this;}
204 private:
205
206 int m_amiLaunchIndex{0};
207 bool m_amiLaunchIndexHasBeenSet = false;
208
209 Aws::Vector<InstanceBlockDeviceMapping> m_blockDeviceMappings;
210 bool m_blockDeviceMappingsHasBeenSet = false;
211
212 CpuOptions m_cpuOptions;
213 bool m_cpuOptionsHasBeenSet = false;
214
215 Aws::Utils::DateTime m_createdAt{};
216 bool m_createdAtHasBeenSet = false;
217
218 Aws::String m_imageId;
219 bool m_imageIdHasBeenSet = false;
220
221 Aws::String m_instanceId;
222 bool m_instanceIdHasBeenSet = false;
223
224 Aws::String m_instanceType;
225 bool m_instanceTypeHasBeenSet = false;
226
227 Aws::String m_privateIpAddress;
228 bool m_privateIpAddressHasBeenSet = false;
229
230 Aws::String m_publicIpAddress;
231 bool m_publicIpAddressHasBeenSet = false;
232
233 Aws::String m_rootDeviceName;
234 bool m_rootDeviceNameHasBeenSet = false;
235
237 bool m_securityGroupsHasBeenSet = false;
238
239 InstanceState m_state;
240 bool m_stateHasBeenSet = false;
241
242 Aws::Utils::DateTime m_updatedAt{};
243 bool m_updatedAtHasBeenSet = false;
244 };
245
246} // namespace Model
247} // namespace SnowDeviceManagement
248} // namespace Aws
void SetInstanceId(InstanceIdT &&value)
Definition Instance.h:115
const CpuOptions & GetCpuOptions() const
Definition Instance.h:76
AWS_SNOWDEVICEMANAGEMENT_API Instance(Aws::Utils::Json::JsonView jsonValue)
Instance & WithRootDeviceName(RootDeviceNameT &&value)
Definition Instance.h:166
void SetRootDeviceName(RootDeviceNameT &&value)
Definition Instance.h:164
Instance & WithPrivateIpAddress(PrivateIpAddressT &&value)
Definition Instance.h:141
Instance & WithCpuOptions(CpuOptionsT &&value)
Definition Instance.h:81
const InstanceState & GetState() const
Definition Instance.h:185
Instance & WithInstanceId(InstanceIdT &&value)
Definition Instance.h:117
Instance & AddSecurityGroups(SecurityGroupsT &&value)
Definition Instance.h:180
AWS_SNOWDEVICEMANAGEMENT_API Instance()=default
const Aws::Utils::DateTime & GetUpdatedAt() const
Definition Instance.h:197
const Aws::String & GetInstanceType() const
Definition Instance.h:124
void SetInstanceType(InstanceTypeT &&value)
Definition Instance.h:127
Instance & WithState(StateT &&value)
Definition Instance.h:190
Instance & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
Definition Instance.h:69
const Aws::String & GetPrivateIpAddress() const
Definition Instance.h:136
AWS_SNOWDEVICEMANAGEMENT_API Instance & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetPublicIpAddress(PublicIpAddressT &&value)
Definition Instance.h:151
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
Definition Instance.h:65
const Aws::String & GetImageId() const
Definition Instance.h:100
Instance & WithUpdatedAt(UpdatedAtT &&value)
Definition Instance.h:202
Instance & WithImageId(ImageIdT &&value)
Definition Instance.h:105
void SetSecurityGroups(SecurityGroupsT &&value)
Definition Instance.h:176
const Aws::Vector< InstanceBlockDeviceMapping > & GetBlockDeviceMappings() const
Definition Instance.h:62
Instance & WithInstanceType(InstanceTypeT &&value)
Definition Instance.h:129
const Aws::Vector< SecurityGroupIdentifier > & GetSecurityGroups() const
Definition Instance.h:173
void SetCpuOptions(CpuOptionsT &&value)
Definition Instance.h:79
Instance & WithAmiLaunchIndex(int value)
Definition Instance.h:55
const Aws::Utils::DateTime & GetCreatedAt() const
Definition Instance.h:88
const Aws::String & GetRootDeviceName() const
Definition Instance.h:161
Instance & WithCreatedAt(CreatedAtT &&value)
Definition Instance.h:93
Instance & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
Definition Instance.h:67
Instance & WithPublicIpAddress(PublicIpAddressT &&value)
Definition Instance.h:153
void SetUpdatedAt(UpdatedAtT &&value)
Definition Instance.h:200
AWS_SNOWDEVICEMANAGEMENT_API Aws::Utils::Json::JsonValue Jsonize() const
void SetCreatedAt(CreatedAtT &&value)
Definition Instance.h:91
const Aws::String & GetInstanceId() const
Definition Instance.h:112
Instance & WithSecurityGroups(SecurityGroupsT &&value)
Definition Instance.h:178
void SetPrivateIpAddress(PrivateIpAddressT &&value)
Definition Instance.h:139
const Aws::String & GetPublicIpAddress() const
Definition Instance.h:148
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue