/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

Describes an Elastic Graphics accelerator.

See Also:

AWS API * Reference

*/ class ElasticGpus { public: AWS_EC2_API ElasticGpus(); AWS_EC2_API ElasticGpus(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API ElasticGpus& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The ID of the Elastic Graphics accelerator.

*/ inline const Aws::String& GetElasticGpuId() const{ return m_elasticGpuId; } /** *

The ID of the Elastic Graphics accelerator.

*/ inline bool ElasticGpuIdHasBeenSet() const { return m_elasticGpuIdHasBeenSet; } /** *

The ID of the Elastic Graphics accelerator.

*/ inline void SetElasticGpuId(const Aws::String& value) { m_elasticGpuIdHasBeenSet = true; m_elasticGpuId = value; } /** *

The ID of the Elastic Graphics accelerator.

*/ inline void SetElasticGpuId(Aws::String&& value) { m_elasticGpuIdHasBeenSet = true; m_elasticGpuId = std::move(value); } /** *

The ID of the Elastic Graphics accelerator.

*/ inline void SetElasticGpuId(const char* value) { m_elasticGpuIdHasBeenSet = true; m_elasticGpuId.assign(value); } /** *

The ID of the Elastic Graphics accelerator.

*/ inline ElasticGpus& WithElasticGpuId(const Aws::String& value) { SetElasticGpuId(value); return *this;} /** *

The ID of the Elastic Graphics accelerator.

*/ inline ElasticGpus& WithElasticGpuId(Aws::String&& value) { SetElasticGpuId(std::move(value)); return *this;} /** *

The ID of the Elastic Graphics accelerator.

*/ inline ElasticGpus& WithElasticGpuId(const char* value) { SetElasticGpuId(value); return *this;} /** *

The Availability Zone in the which the Elastic Graphics accelerator * resides.

*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *

The Availability Zone in the which the Elastic Graphics accelerator * resides.

*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *

The Availability Zone in the which the Elastic Graphics accelerator * resides.

*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *

The Availability Zone in the which the Elastic Graphics accelerator * resides.

*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *

The Availability Zone in the which the Elastic Graphics accelerator * resides.

*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *

The Availability Zone in the which the Elastic Graphics accelerator * resides.

*/ inline ElasticGpus& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *

The Availability Zone in the which the Elastic Graphics accelerator * resides.

*/ inline ElasticGpus& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *

The Availability Zone in the which the Elastic Graphics accelerator * resides.

*/ inline ElasticGpus& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *

The type of Elastic Graphics accelerator.

*/ inline const Aws::String& GetElasticGpuType() const{ return m_elasticGpuType; } /** *

The type of Elastic Graphics accelerator.

*/ inline bool ElasticGpuTypeHasBeenSet() const { return m_elasticGpuTypeHasBeenSet; } /** *

The type of Elastic Graphics accelerator.

*/ inline void SetElasticGpuType(const Aws::String& value) { m_elasticGpuTypeHasBeenSet = true; m_elasticGpuType = value; } /** *

The type of Elastic Graphics accelerator.

*/ inline void SetElasticGpuType(Aws::String&& value) { m_elasticGpuTypeHasBeenSet = true; m_elasticGpuType = std::move(value); } /** *

The type of Elastic Graphics accelerator.

*/ inline void SetElasticGpuType(const char* value) { m_elasticGpuTypeHasBeenSet = true; m_elasticGpuType.assign(value); } /** *

The type of Elastic Graphics accelerator.

*/ inline ElasticGpus& WithElasticGpuType(const Aws::String& value) { SetElasticGpuType(value); return *this;} /** *

The type of Elastic Graphics accelerator.

*/ inline ElasticGpus& WithElasticGpuType(Aws::String&& value) { SetElasticGpuType(std::move(value)); return *this;} /** *

The type of Elastic Graphics accelerator.

*/ inline ElasticGpus& WithElasticGpuType(const char* value) { SetElasticGpuType(value); return *this;} /** *

The status of the Elastic Graphics accelerator.

*/ inline const ElasticGpuHealth& GetElasticGpuHealth() const{ return m_elasticGpuHealth; } /** *

The status of the Elastic Graphics accelerator.

*/ inline bool ElasticGpuHealthHasBeenSet() const { return m_elasticGpuHealthHasBeenSet; } /** *

The status of the Elastic Graphics accelerator.

*/ inline void SetElasticGpuHealth(const ElasticGpuHealth& value) { m_elasticGpuHealthHasBeenSet = true; m_elasticGpuHealth = value; } /** *

The status of the Elastic Graphics accelerator.

*/ inline void SetElasticGpuHealth(ElasticGpuHealth&& value) { m_elasticGpuHealthHasBeenSet = true; m_elasticGpuHealth = std::move(value); } /** *

The status of the Elastic Graphics accelerator.

*/ inline ElasticGpus& WithElasticGpuHealth(const ElasticGpuHealth& value) { SetElasticGpuHealth(value); return *this;} /** *

The status of the Elastic Graphics accelerator.

*/ inline ElasticGpus& WithElasticGpuHealth(ElasticGpuHealth&& value) { SetElasticGpuHealth(std::move(value)); return *this;} /** *

The state of the Elastic Graphics accelerator.

*/ inline const ElasticGpuState& GetElasticGpuState() const{ return m_elasticGpuState; } /** *

The state of the Elastic Graphics accelerator.

*/ inline bool ElasticGpuStateHasBeenSet() const { return m_elasticGpuStateHasBeenSet; } /** *

The state of the Elastic Graphics accelerator.

*/ inline void SetElasticGpuState(const ElasticGpuState& value) { m_elasticGpuStateHasBeenSet = true; m_elasticGpuState = value; } /** *

The state of the Elastic Graphics accelerator.

*/ inline void SetElasticGpuState(ElasticGpuState&& value) { m_elasticGpuStateHasBeenSet = true; m_elasticGpuState = std::move(value); } /** *

The state of the Elastic Graphics accelerator.

*/ inline ElasticGpus& WithElasticGpuState(const ElasticGpuState& value) { SetElasticGpuState(value); return *this;} /** *

The state of the Elastic Graphics accelerator.

*/ inline ElasticGpus& WithElasticGpuState(ElasticGpuState&& value) { SetElasticGpuState(std::move(value)); return *this;} /** *

The ID of the instance to which the Elastic Graphics accelerator is * attached.

*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** *

The ID of the instance to which the Elastic Graphics accelerator is * attached.

*/ inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } /** *

The ID of the instance to which the Elastic Graphics accelerator is * attached.

*/ inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } /** *

The ID of the instance to which the Elastic Graphics accelerator is * attached.

*/ inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } /** *

The ID of the instance to which the Elastic Graphics accelerator is * attached.

*/ inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } /** *

The ID of the instance to which the Elastic Graphics accelerator is * attached.

*/ inline ElasticGpus& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** *

The ID of the instance to which the Elastic Graphics accelerator is * attached.

*/ inline ElasticGpus& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} /** *

The ID of the instance to which the Elastic Graphics accelerator is * attached.

*/ inline ElasticGpus& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} /** *

The tags assigned to the Elastic Graphics accelerator.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The tags assigned to the Elastic Graphics accelerator.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags assigned to the Elastic Graphics accelerator.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags assigned to the Elastic Graphics accelerator.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags assigned to the Elastic Graphics accelerator.

*/ inline ElasticGpus& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The tags assigned to the Elastic Graphics accelerator.

*/ inline ElasticGpus& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The tags assigned to the Elastic Graphics accelerator.

*/ inline ElasticGpus& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The tags assigned to the Elastic Graphics accelerator.

*/ inline ElasticGpus& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_elasticGpuId; bool m_elasticGpuIdHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; Aws::String m_elasticGpuType; bool m_elasticGpuTypeHasBeenSet = false; ElasticGpuHealth m_elasticGpuHealth; bool m_elasticGpuHealthHasBeenSet = false; ElasticGpuState m_elasticGpuState; bool m_elasticGpuStateHasBeenSet = false; Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws