/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents an Amazon EC2 instance provisioned as part of
* cluster.See Also:
AWS
* API Reference
The unique identifier for the instance in Amazon EMR.
*/ inline const Aws::String& GetId() const{ return m_id; } /** *The unique identifier for the instance in Amazon EMR.
*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *The unique identifier for the instance in Amazon EMR.
*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *The unique identifier for the instance in Amazon EMR.
*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *The unique identifier for the instance in Amazon EMR.
*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *The unique identifier for the instance in Amazon EMR.
*/ inline Instance& WithId(const Aws::String& value) { SetId(value); return *this;} /** *The unique identifier for the instance in Amazon EMR.
*/ inline Instance& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *The unique identifier for the instance in Amazon EMR.
*/ inline Instance& WithId(const char* value) { SetId(value); return *this;} /** *The unique identifier of the instance in Amazon EC2.
*/ inline const Aws::String& GetEc2InstanceId() const{ return m_ec2InstanceId; } /** *The unique identifier of the instance in Amazon EC2.
*/ inline bool Ec2InstanceIdHasBeenSet() const { return m_ec2InstanceIdHasBeenSet; } /** *The unique identifier of the instance in Amazon EC2.
*/ inline void SetEc2InstanceId(const Aws::String& value) { m_ec2InstanceIdHasBeenSet = true; m_ec2InstanceId = value; } /** *The unique identifier of the instance in Amazon EC2.
*/ inline void SetEc2InstanceId(Aws::String&& value) { m_ec2InstanceIdHasBeenSet = true; m_ec2InstanceId = std::move(value); } /** *The unique identifier of the instance in Amazon EC2.
*/ inline void SetEc2InstanceId(const char* value) { m_ec2InstanceIdHasBeenSet = true; m_ec2InstanceId.assign(value); } /** *The unique identifier of the instance in Amazon EC2.
*/ inline Instance& WithEc2InstanceId(const Aws::String& value) { SetEc2InstanceId(value); return *this;} /** *The unique identifier of the instance in Amazon EC2.
*/ inline Instance& WithEc2InstanceId(Aws::String&& value) { SetEc2InstanceId(std::move(value)); return *this;} /** *The unique identifier of the instance in Amazon EC2.
*/ inline Instance& WithEc2InstanceId(const char* value) { SetEc2InstanceId(value); return *this;} /** *The public DNS name of the instance.
*/ inline const Aws::String& GetPublicDnsName() const{ return m_publicDnsName; } /** *The public DNS name of the instance.
*/ inline bool PublicDnsNameHasBeenSet() const { return m_publicDnsNameHasBeenSet; } /** *The public DNS name of the instance.
*/ inline void SetPublicDnsName(const Aws::String& value) { m_publicDnsNameHasBeenSet = true; m_publicDnsName = value; } /** *The public DNS name of the instance.
*/ inline void SetPublicDnsName(Aws::String&& value) { m_publicDnsNameHasBeenSet = true; m_publicDnsName = std::move(value); } /** *The public DNS name of the instance.
*/ inline void SetPublicDnsName(const char* value) { m_publicDnsNameHasBeenSet = true; m_publicDnsName.assign(value); } /** *The public DNS name of the instance.
*/ inline Instance& WithPublicDnsName(const Aws::String& value) { SetPublicDnsName(value); return *this;} /** *The public DNS name of the instance.
*/ inline Instance& WithPublicDnsName(Aws::String&& value) { SetPublicDnsName(std::move(value)); return *this;} /** *The public DNS name of the instance.
*/ inline Instance& WithPublicDnsName(const char* value) { SetPublicDnsName(value); return *this;} /** *The public IP address of the instance.
*/ inline const Aws::String& GetPublicIpAddress() const{ return m_publicIpAddress; } /** *The public IP address of the instance.
*/ inline bool PublicIpAddressHasBeenSet() const { return m_publicIpAddressHasBeenSet; } /** *The public IP address of the instance.
*/ inline void SetPublicIpAddress(const Aws::String& value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress = value; } /** *The public IP address of the instance.
*/ inline void SetPublicIpAddress(Aws::String&& value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress = std::move(value); } /** *The public IP address of the instance.
*/ inline void SetPublicIpAddress(const char* value) { m_publicIpAddressHasBeenSet = true; m_publicIpAddress.assign(value); } /** *The public IP address of the instance.
*/ inline Instance& WithPublicIpAddress(const Aws::String& value) { SetPublicIpAddress(value); return *this;} /** *The public IP address of the instance.
*/ inline Instance& WithPublicIpAddress(Aws::String&& value) { SetPublicIpAddress(std::move(value)); return *this;} /** *The public IP address of the instance.
*/ inline Instance& WithPublicIpAddress(const char* value) { SetPublicIpAddress(value); return *this;} /** *The private DNS name of the instance.
*/ inline const Aws::String& GetPrivateDnsName() const{ return m_privateDnsName; } /** *The private DNS name of the instance.
*/ inline bool PrivateDnsNameHasBeenSet() const { return m_privateDnsNameHasBeenSet; } /** *The private DNS name of the instance.
*/ inline void SetPrivateDnsName(const Aws::String& value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName = value; } /** *The private DNS name of the instance.
*/ inline void SetPrivateDnsName(Aws::String&& value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName = std::move(value); } /** *The private DNS name of the instance.
*/ inline void SetPrivateDnsName(const char* value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName.assign(value); } /** *The private DNS name of the instance.
*/ inline Instance& WithPrivateDnsName(const Aws::String& value) { SetPrivateDnsName(value); return *this;} /** *The private DNS name of the instance.
*/ inline Instance& WithPrivateDnsName(Aws::String&& value) { SetPrivateDnsName(std::move(value)); return *this;} /** *The private DNS name of the instance.
*/ inline Instance& WithPrivateDnsName(const char* value) { SetPrivateDnsName(value); return *this;} /** *The private IP address of the instance.
*/ inline const Aws::String& GetPrivateIpAddress() const{ return m_privateIpAddress; } /** *The private IP address of the instance.
*/ inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; } /** *The private IP address of the instance.
*/ inline void SetPrivateIpAddress(const Aws::String& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = value; } /** *The private IP address of the instance.
*/ inline void SetPrivateIpAddress(Aws::String&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::move(value); } /** *The private IP address of the instance.
*/ inline void SetPrivateIpAddress(const char* value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress.assign(value); } /** *The private IP address of the instance.
*/ inline Instance& WithPrivateIpAddress(const Aws::String& value) { SetPrivateIpAddress(value); return *this;} /** *The private IP address of the instance.
*/ inline Instance& WithPrivateIpAddress(Aws::String&& value) { SetPrivateIpAddress(std::move(value)); return *this;} /** *The private IP address of the instance.
*/ inline Instance& WithPrivateIpAddress(const char* value) { SetPrivateIpAddress(value); return *this;} /** *The current status of the instance.
*/ inline const InstanceStatus& GetStatus() const{ return m_status; } /** *The current status of the instance.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The current status of the instance.
*/ inline void SetStatus(const InstanceStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The current status of the instance.
*/ inline void SetStatus(InstanceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The current status of the instance.
*/ inline Instance& WithStatus(const InstanceStatus& value) { SetStatus(value); return *this;} /** *The current status of the instance.
*/ inline Instance& WithStatus(InstanceStatus&& value) { SetStatus(std::move(value)); return *this;} /** *The identifier of the instance group to which this instance belongs.
*/ inline const Aws::String& GetInstanceGroupId() const{ return m_instanceGroupId; } /** *The identifier of the instance group to which this instance belongs.
*/ inline bool InstanceGroupIdHasBeenSet() const { return m_instanceGroupIdHasBeenSet; } /** *The identifier of the instance group to which this instance belongs.
*/ inline void SetInstanceGroupId(const Aws::String& value) { m_instanceGroupIdHasBeenSet = true; m_instanceGroupId = value; } /** *The identifier of the instance group to which this instance belongs.
*/ inline void SetInstanceGroupId(Aws::String&& value) { m_instanceGroupIdHasBeenSet = true; m_instanceGroupId = std::move(value); } /** *The identifier of the instance group to which this instance belongs.
*/ inline void SetInstanceGroupId(const char* value) { m_instanceGroupIdHasBeenSet = true; m_instanceGroupId.assign(value); } /** *The identifier of the instance group to which this instance belongs.
*/ inline Instance& WithInstanceGroupId(const Aws::String& value) { SetInstanceGroupId(value); return *this;} /** *The identifier of the instance group to which this instance belongs.
*/ inline Instance& WithInstanceGroupId(Aws::String&& value) { SetInstanceGroupId(std::move(value)); return *this;} /** *The identifier of the instance group to which this instance belongs.
*/ inline Instance& WithInstanceGroupId(const char* value) { SetInstanceGroupId(value); return *this;} /** *The unique identifier of the instance fleet to which an Amazon EC2 instance * belongs.
*/ inline const Aws::String& GetInstanceFleetId() const{ return m_instanceFleetId; } /** *The unique identifier of the instance fleet to which an Amazon EC2 instance * belongs.
*/ inline bool InstanceFleetIdHasBeenSet() const { return m_instanceFleetIdHasBeenSet; } /** *The unique identifier of the instance fleet to which an Amazon EC2 instance * belongs.
*/ inline void SetInstanceFleetId(const Aws::String& value) { m_instanceFleetIdHasBeenSet = true; m_instanceFleetId = value; } /** *The unique identifier of the instance fleet to which an Amazon EC2 instance * belongs.
*/ inline void SetInstanceFleetId(Aws::String&& value) { m_instanceFleetIdHasBeenSet = true; m_instanceFleetId = std::move(value); } /** *The unique identifier of the instance fleet to which an Amazon EC2 instance * belongs.
*/ inline void SetInstanceFleetId(const char* value) { m_instanceFleetIdHasBeenSet = true; m_instanceFleetId.assign(value); } /** *The unique identifier of the instance fleet to which an Amazon EC2 instance * belongs.
*/ inline Instance& WithInstanceFleetId(const Aws::String& value) { SetInstanceFleetId(value); return *this;} /** *The unique identifier of the instance fleet to which an Amazon EC2 instance * belongs.
*/ inline Instance& WithInstanceFleetId(Aws::String&& value) { SetInstanceFleetId(std::move(value)); return *this;} /** *The unique identifier of the instance fleet to which an Amazon EC2 instance * belongs.
*/ inline Instance& WithInstanceFleetId(const char* value) { SetInstanceFleetId(value); return *this;} /** *The instance purchasing option. Valid values are ON_DEMAND
or
* SPOT
.
The instance purchasing option. Valid values are ON_DEMAND
or
* SPOT
.
The instance purchasing option. Valid values are ON_DEMAND
or
* SPOT
.
The instance purchasing option. Valid values are ON_DEMAND
or
* SPOT
.
The instance purchasing option. Valid values are ON_DEMAND
or
* SPOT
.
The instance purchasing option. Valid values are ON_DEMAND
or
* SPOT
.
The Amazon EC2 instance type, for example m3.xlarge
.
The Amazon EC2 instance type, for example m3.xlarge
.
The Amazon EC2 instance type, for example m3.xlarge
.
The Amazon EC2 instance type, for example m3.xlarge
.
The Amazon EC2 instance type, for example m3.xlarge
.
The Amazon EC2 instance type, for example m3.xlarge
.
The Amazon EC2 instance type, for example m3.xlarge
.
The Amazon EC2 instance type, for example m3.xlarge
.
The list of Amazon EBS volumes that are attached to this instance.
*/ inline const Aws::VectorThe list of Amazon EBS volumes that are attached to this instance.
*/ inline bool EbsVolumesHasBeenSet() const { return m_ebsVolumesHasBeenSet; } /** *The list of Amazon EBS volumes that are attached to this instance.
*/ inline void SetEbsVolumes(const Aws::VectorThe list of Amazon EBS volumes that are attached to this instance.
*/ inline void SetEbsVolumes(Aws::VectorThe list of Amazon EBS volumes that are attached to this instance.
*/ inline Instance& WithEbsVolumes(const Aws::VectorThe list of Amazon EBS volumes that are attached to this instance.
*/ inline Instance& WithEbsVolumes(Aws::VectorThe list of Amazon EBS volumes that are attached to this instance.
*/ inline Instance& AddEbsVolumes(const EbsVolume& value) { m_ebsVolumesHasBeenSet = true; m_ebsVolumes.push_back(value); return *this; } /** *The list of Amazon EBS volumes that are attached to this instance.
*/ inline Instance& AddEbsVolumes(EbsVolume&& value) { m_ebsVolumesHasBeenSet = true; m_ebsVolumes.push_back(std::move(value)); return *this; } private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_ec2InstanceId; bool m_ec2InstanceIdHasBeenSet = false; Aws::String m_publicDnsName; bool m_publicDnsNameHasBeenSet = false; Aws::String m_publicIpAddress; bool m_publicIpAddressHasBeenSet = false; Aws::String m_privateDnsName; bool m_privateDnsNameHasBeenSet = false; Aws::String m_privateIpAddress; bool m_privateIpAddressHasBeenSet = false; InstanceStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_instanceGroupId; bool m_instanceGroupIdHasBeenSet = false; Aws::String m_instanceFleetId; bool m_instanceFleetIdHasBeenSet = false; MarketType m_market; bool m_marketHasBeenSet = false; Aws::String m_instanceType; bool m_instanceTypeHasBeenSet = false; Aws::Vector