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>
27namespace SnowDeviceManagement
41 AWS_SNOWDEVICEMANAGEMENT_API
Instance() =
default;
54 inline void SetAmiLaunchIndex(
int value) { m_amiLaunchIndexHasBeenSet =
true; m_amiLaunchIndex = value; }
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>>
68 template<
typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
69 Instance&
AddBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet =
true; m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
return *
this; }
78 template<
typename CpuOptionsT = CpuOptions>
79 void SetCpuOptions(CpuOptionsT&& value) { m_cpuOptionsHasBeenSet =
true; m_cpuOptions = std::forward<CpuOptionsT>(value); }
80 template<
typename CpuOptionsT = CpuOptions>
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>
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>
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>
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>
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>
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>
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>
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>>
179 template<
typename SecurityGroupsT = SecurityGroupIdentifier>
180 Instance&
AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet =
true; m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
return *
this; }
187 template<
typename StateT = InstanceState>
188 void SetState(StateT&& value) { m_stateHasBeenSet =
true; m_state = std::forward<StateT>(value); }
189 template<
typename StateT = InstanceState>
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>
206 int m_amiLaunchIndex{0};
207 bool m_amiLaunchIndexHasBeenSet =
false;
210 bool m_blockDeviceMappingsHasBeenSet =
false;
212 CpuOptions m_cpuOptions;
213 bool m_cpuOptionsHasBeenSet =
false;
216 bool m_createdAtHasBeenSet =
false;
219 bool m_imageIdHasBeenSet =
false;
222 bool m_instanceIdHasBeenSet =
false;
225 bool m_instanceTypeHasBeenSet =
false;
228 bool m_privateIpAddressHasBeenSet =
false;
231 bool m_publicIpAddressHasBeenSet =
false;
234 bool m_rootDeviceNameHasBeenSet =
false;
237 bool m_securityGroupsHasBeenSet =
false;
239 InstanceState m_state;
240 bool m_stateHasBeenSet =
false;
243 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