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

The details of an Elastic Inference Accelerator.

See Also:

* AWS * API Reference

*/ class ElasticInferenceAccelerator { public: AWS_ELASTICINFERENCE_API ElasticInferenceAccelerator(); AWS_ELASTICINFERENCE_API ElasticInferenceAccelerator(Aws::Utils::Json::JsonView jsonValue); AWS_ELASTICINFERENCE_API ElasticInferenceAccelerator& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ELASTICINFERENCE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The health of the Elastic Inference Accelerator.

*/ inline const ElasticInferenceAcceleratorHealth& GetAcceleratorHealth() const{ return m_acceleratorHealth; } /** *

The health of the Elastic Inference Accelerator.

*/ inline bool AcceleratorHealthHasBeenSet() const { return m_acceleratorHealthHasBeenSet; } /** *

The health of the Elastic Inference Accelerator.

*/ inline void SetAcceleratorHealth(const ElasticInferenceAcceleratorHealth& value) { m_acceleratorHealthHasBeenSet = true; m_acceleratorHealth = value; } /** *

The health of the Elastic Inference Accelerator.

*/ inline void SetAcceleratorHealth(ElasticInferenceAcceleratorHealth&& value) { m_acceleratorHealthHasBeenSet = true; m_acceleratorHealth = std::move(value); } /** *

The health of the Elastic Inference Accelerator.

*/ inline ElasticInferenceAccelerator& WithAcceleratorHealth(const ElasticInferenceAcceleratorHealth& value) { SetAcceleratorHealth(value); return *this;} /** *

The health of the Elastic Inference Accelerator.

*/ inline ElasticInferenceAccelerator& WithAcceleratorHealth(ElasticInferenceAcceleratorHealth&& value) { SetAcceleratorHealth(std::move(value)); return *this;} /** *

The type of the Elastic Inference Accelerator.

*/ inline const Aws::String& GetAcceleratorType() const{ return m_acceleratorType; } /** *

The type of the Elastic Inference Accelerator.

*/ inline bool AcceleratorTypeHasBeenSet() const { return m_acceleratorTypeHasBeenSet; } /** *

The type of the Elastic Inference Accelerator.

*/ inline void SetAcceleratorType(const Aws::String& value) { m_acceleratorTypeHasBeenSet = true; m_acceleratorType = value; } /** *

The type of the Elastic Inference Accelerator.

*/ inline void SetAcceleratorType(Aws::String&& value) { m_acceleratorTypeHasBeenSet = true; m_acceleratorType = std::move(value); } /** *

The type of the Elastic Inference Accelerator.

*/ inline void SetAcceleratorType(const char* value) { m_acceleratorTypeHasBeenSet = true; m_acceleratorType.assign(value); } /** *

The type of the Elastic Inference Accelerator.

*/ inline ElasticInferenceAccelerator& WithAcceleratorType(const Aws::String& value) { SetAcceleratorType(value); return *this;} /** *

The type of the Elastic Inference Accelerator.

*/ inline ElasticInferenceAccelerator& WithAcceleratorType(Aws::String&& value) { SetAcceleratorType(std::move(value)); return *this;} /** *

The type of the Elastic Inference Accelerator.

*/ inline ElasticInferenceAccelerator& WithAcceleratorType(const char* value) { SetAcceleratorType(value); return *this;} /** *

The ID of the Elastic Inference Accelerator.

*/ inline const Aws::String& GetAcceleratorId() const{ return m_acceleratorId; } /** *

The ID of the Elastic Inference Accelerator.

*/ inline bool AcceleratorIdHasBeenSet() const { return m_acceleratorIdHasBeenSet; } /** *

The ID of the Elastic Inference Accelerator.

*/ inline void SetAcceleratorId(const Aws::String& value) { m_acceleratorIdHasBeenSet = true; m_acceleratorId = value; } /** *

The ID of the Elastic Inference Accelerator.

*/ inline void SetAcceleratorId(Aws::String&& value) { m_acceleratorIdHasBeenSet = true; m_acceleratorId = std::move(value); } /** *

The ID of the Elastic Inference Accelerator.

*/ inline void SetAcceleratorId(const char* value) { m_acceleratorIdHasBeenSet = true; m_acceleratorId.assign(value); } /** *

The ID of the Elastic Inference Accelerator.

*/ inline ElasticInferenceAccelerator& WithAcceleratorId(const Aws::String& value) { SetAcceleratorId(value); return *this;} /** *

The ID of the Elastic Inference Accelerator.

*/ inline ElasticInferenceAccelerator& WithAcceleratorId(Aws::String&& value) { SetAcceleratorId(std::move(value)); return *this;} /** *

The ID of the Elastic Inference Accelerator.

*/ inline ElasticInferenceAccelerator& WithAcceleratorId(const char* value) { SetAcceleratorId(value); return *this;} /** *

The availability zone where the Elastic Inference Accelerator is present. *

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

The availability zone where the Elastic Inference Accelerator is present. *

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

The availability zone where the Elastic Inference Accelerator is present. *

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

The availability zone where the Elastic Inference Accelerator is present. *

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

The availability zone where the Elastic Inference Accelerator is present. *

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

The availability zone where the Elastic Inference Accelerator is present. *

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

The availability zone where the Elastic Inference Accelerator is present. *

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

The availability zone where the Elastic Inference Accelerator is present. *

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

The ARN of the resource that the Elastic Inference Accelerator is attached * to.

*/ inline const Aws::String& GetAttachedResource() const{ return m_attachedResource; } /** *

The ARN of the resource that the Elastic Inference Accelerator is attached * to.

*/ inline bool AttachedResourceHasBeenSet() const { return m_attachedResourceHasBeenSet; } /** *

The ARN of the resource that the Elastic Inference Accelerator is attached * to.

*/ inline void SetAttachedResource(const Aws::String& value) { m_attachedResourceHasBeenSet = true; m_attachedResource = value; } /** *

The ARN of the resource that the Elastic Inference Accelerator is attached * to.

*/ inline void SetAttachedResource(Aws::String&& value) { m_attachedResourceHasBeenSet = true; m_attachedResource = std::move(value); } /** *

The ARN of the resource that the Elastic Inference Accelerator is attached * to.

*/ inline void SetAttachedResource(const char* value) { m_attachedResourceHasBeenSet = true; m_attachedResource.assign(value); } /** *

The ARN of the resource that the Elastic Inference Accelerator is attached * to.

*/ inline ElasticInferenceAccelerator& WithAttachedResource(const Aws::String& value) { SetAttachedResource(value); return *this;} /** *

The ARN of the resource that the Elastic Inference Accelerator is attached * to.

*/ inline ElasticInferenceAccelerator& WithAttachedResource(Aws::String&& value) { SetAttachedResource(std::move(value)); return *this;} /** *

The ARN of the resource that the Elastic Inference Accelerator is attached * to.

*/ inline ElasticInferenceAccelerator& WithAttachedResource(const char* value) { SetAttachedResource(value); return *this;} private: ElasticInferenceAcceleratorHealth m_acceleratorHealth; bool m_acceleratorHealthHasBeenSet = false; Aws::String m_acceleratorType; bool m_acceleratorTypeHasBeenSet = false; Aws::String m_acceleratorId; bool m_acceleratorIdHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; Aws::String m_attachedResource; bool m_attachedResourceHasBeenSet = false; }; } // namespace Model } // namespace ElasticInference } // namespace Aws