7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/snow-device-management/SnowDeviceManagement_EXPORTS.h>
11#include <aws/snow-device-management/model/CpuOptions.h>
12#include <aws/snow-device-management/model/InstanceBlockDeviceMapping.h>
13#include <aws/snow-device-management/model/InstanceState.h>
14#include <aws/snow-device-management/model/SecurityGroupIdentifier.h>
25namespace SnowDeviceManagement {
36 AWS_SNOWDEVICEMANAGEMENT_API
Instance() =
default;
49 m_amiLaunchIndexHasBeenSet =
true;
50 m_amiLaunchIndex = value;
64 template <
typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
66 m_blockDeviceMappingsHasBeenSet =
true;
67 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
69 template <
typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
74 template <
typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
76 m_blockDeviceMappingsHasBeenSet =
true;
77 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
88 template <
typename CpuOptionsT = CpuOptions>
90 m_cpuOptionsHasBeenSet =
true;
91 m_cpuOptions = std::forward<CpuOptionsT>(value);
93 template <
typename CpuOptionsT = CpuOptions>
106 template <
typename CreatedAtT = Aws::Utils::DateTime>
108 m_createdAtHasBeenSet =
true;
109 m_createdAt = std::forward<CreatedAtT>(value);
111 template <
typename CreatedAtT = Aws::Utils::DateTime>
124 template <
typename ImageIdT = Aws::String>
126 m_imageIdHasBeenSet =
true;
127 m_imageId = std::forward<ImageIdT>(value);
129 template <
typename ImageIdT = Aws::String>
142 template <
typename InstanceIdT = Aws::String>
144 m_instanceIdHasBeenSet =
true;
145 m_instanceId = std::forward<InstanceIdT>(value);
147 template <
typename InstanceIdT = Aws::String>
160 template <
typename InstanceTypeT = Aws::String>
162 m_instanceTypeHasBeenSet =
true;
163 m_instanceType = std::forward<InstanceTypeT>(value);
165 template <
typename InstanceTypeT = Aws::String>
178 template <
typename PrivateIpAddressT = Aws::String>
180 m_privateIpAddressHasBeenSet =
true;
181 m_privateIpAddress = std::forward<PrivateIpAddressT>(value);
183 template <
typename PrivateIpAddressT = Aws::String>
196 template <
typename PublicIpAddressT = Aws::String>
198 m_publicIpAddressHasBeenSet =
true;
199 m_publicIpAddress = std::forward<PublicIpAddressT>(value);
201 template <
typename PublicIpAddressT = Aws::String>
215 template <
typename RootDeviceNameT = Aws::String>
217 m_rootDeviceNameHasBeenSet =
true;
218 m_rootDeviceName = std::forward<RootDeviceNameT>(value);
220 template <
typename RootDeviceNameT = Aws::String>
233 template <
typename SecurityGroupsT = Aws::Vector<SecurityGroupIdentifier>>
235 m_securityGroupsHasBeenSet =
true;
236 m_securityGroups = std::forward<SecurityGroupsT>(value);
238 template <
typename SecurityGroupsT = Aws::Vector<SecurityGroupIdentifier>>
243 template <
typename SecurityGroupsT = SecurityGroupIdentifier>
245 m_securityGroupsHasBeenSet =
true;
246 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
255 template <
typename StateT = InstanceState>
257 m_stateHasBeenSet =
true;
258 m_state = std::forward<StateT>(value);
260 template <
typename StateT = InstanceState>
262 SetState(std::forward<StateT>(value));
273 template <
typename UpdatedAtT = Aws::Utils::DateTime>
275 m_updatedAtHasBeenSet =
true;
276 m_updatedAt = std::forward<UpdatedAtT>(value);
278 template <
typename UpdatedAtT = Aws::Utils::DateTime>
285 int m_amiLaunchIndex{0};
289 CpuOptions m_cpuOptions;
307 InstanceState m_state;
310 bool m_amiLaunchIndexHasBeenSet =
false;
311 bool m_blockDeviceMappingsHasBeenSet =
false;
312 bool m_cpuOptionsHasBeenSet =
false;
313 bool m_createdAtHasBeenSet =
false;
314 bool m_imageIdHasBeenSet =
false;
315 bool m_instanceIdHasBeenSet =
false;
316 bool m_instanceTypeHasBeenSet =
false;
317 bool m_privateIpAddressHasBeenSet =
false;
318 bool m_publicIpAddressHasBeenSet =
false;
319 bool m_rootDeviceNameHasBeenSet =
false;
320 bool m_securityGroupsHasBeenSet =
false;
321 bool m_stateHasBeenSet =
false;
322 bool m_updatedAtHasBeenSet =
false;
bool PrivateIpAddressHasBeenSet() const
void SetInstanceId(InstanceIdT &&value)
bool SecurityGroupsHasBeenSet() const
const CpuOptions & GetCpuOptions() const
AWS_SNOWDEVICEMANAGEMENT_API Instance(Aws::Utils::Json::JsonView jsonValue)
Instance & WithRootDeviceName(RootDeviceNameT &&value)
void SetRootDeviceName(RootDeviceNameT &&value)
void SetState(StateT &&value)
Instance & WithPrivateIpAddress(PrivateIpAddressT &&value)
Instance & WithCpuOptions(CpuOptionsT &&value)
const InstanceState & GetState() const
Instance & WithInstanceId(InstanceIdT &&value)
Instance & AddSecurityGroups(SecurityGroupsT &&value)
AWS_SNOWDEVICEMANAGEMENT_API Instance()=default
const Aws::Utils::DateTime & GetUpdatedAt() const
int GetAmiLaunchIndex() const
const Aws::String & GetInstanceType() const
bool UpdatedAtHasBeenSet() const
void SetInstanceType(InstanceTypeT &&value)
Instance & WithState(StateT &&value)
Instance & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
bool PublicIpAddressHasBeenSet() const
const Aws::String & GetPrivateIpAddress() const
AWS_SNOWDEVICEMANAGEMENT_API Instance & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetPublicIpAddress(PublicIpAddressT &&value)
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
bool ImageIdHasBeenSet() const
const Aws::String & GetImageId() const
bool StateHasBeenSet() const
Instance & WithUpdatedAt(UpdatedAtT &&value)
bool BlockDeviceMappingsHasBeenSet() const
Instance & WithImageId(ImageIdT &&value)
void SetSecurityGroups(SecurityGroupsT &&value)
const Aws::Vector< InstanceBlockDeviceMapping > & GetBlockDeviceMappings() const
void SetAmiLaunchIndex(int value)
Instance & WithInstanceType(InstanceTypeT &&value)
bool InstanceIdHasBeenSet() const
const Aws::Vector< SecurityGroupIdentifier > & GetSecurityGroups() const
bool InstanceTypeHasBeenSet() const
void SetCpuOptions(CpuOptionsT &&value)
Instance & WithAmiLaunchIndex(int value)
const Aws::Utils::DateTime & GetCreatedAt() const
const Aws::String & GetRootDeviceName() const
Instance & WithCreatedAt(CreatedAtT &&value)
void SetImageId(ImageIdT &&value)
Instance & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
Instance & WithPublicIpAddress(PublicIpAddressT &&value)
void SetUpdatedAt(UpdatedAtT &&value)
AWS_SNOWDEVICEMANAGEMENT_API Aws::Utils::Json::JsonValue Jsonize() const
bool CpuOptionsHasBeenSet() const
void SetCreatedAt(CreatedAtT &&value)
bool AmiLaunchIndexHasBeenSet() const
bool RootDeviceNameHasBeenSet() const
bool CreatedAtHasBeenSet() const
const Aws::String & GetInstanceId() const
Instance & WithSecurityGroups(SecurityGroupsT &&value)
void SetPrivateIpAddress(PrivateIpAddressT &&value)
const Aws::String & GetPublicIpAddress() 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