/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the Amazon EBS features supported by the instance
* type.See Also:
AWS API
* Reference
Indicates whether the instance type is Amazon EBS-optimized. For more * information, see Amazon * EBS-optimized instances in Amazon EC2 User Guide.
*/ inline const EbsOptimizedSupport& GetEbsOptimizedSupport() const{ return m_ebsOptimizedSupport; } /** *Indicates whether the instance type is Amazon EBS-optimized. For more * information, see Amazon * EBS-optimized instances in Amazon EC2 User Guide.
*/ inline bool EbsOptimizedSupportHasBeenSet() const { return m_ebsOptimizedSupportHasBeenSet; } /** *Indicates whether the instance type is Amazon EBS-optimized. For more * information, see Amazon * EBS-optimized instances in Amazon EC2 User Guide.
*/ inline void SetEbsOptimizedSupport(const EbsOptimizedSupport& value) { m_ebsOptimizedSupportHasBeenSet = true; m_ebsOptimizedSupport = value; } /** *Indicates whether the instance type is Amazon EBS-optimized. For more * information, see Amazon * EBS-optimized instances in Amazon EC2 User Guide.
*/ inline void SetEbsOptimizedSupport(EbsOptimizedSupport&& value) { m_ebsOptimizedSupportHasBeenSet = true; m_ebsOptimizedSupport = std::move(value); } /** *Indicates whether the instance type is Amazon EBS-optimized. For more * information, see Amazon * EBS-optimized instances in Amazon EC2 User Guide.
*/ inline EbsInfo& WithEbsOptimizedSupport(const EbsOptimizedSupport& value) { SetEbsOptimizedSupport(value); return *this;} /** *Indicates whether the instance type is Amazon EBS-optimized. For more * information, see Amazon * EBS-optimized instances in Amazon EC2 User Guide.
*/ inline EbsInfo& WithEbsOptimizedSupport(EbsOptimizedSupport&& value) { SetEbsOptimizedSupport(std::move(value)); return *this;} /** *Indicates whether Amazon EBS encryption is supported.
*/ inline const EbsEncryptionSupport& GetEncryptionSupport() const{ return m_encryptionSupport; } /** *Indicates whether Amazon EBS encryption is supported.
*/ inline bool EncryptionSupportHasBeenSet() const { return m_encryptionSupportHasBeenSet; } /** *Indicates whether Amazon EBS encryption is supported.
*/ inline void SetEncryptionSupport(const EbsEncryptionSupport& value) { m_encryptionSupportHasBeenSet = true; m_encryptionSupport = value; } /** *Indicates whether Amazon EBS encryption is supported.
*/ inline void SetEncryptionSupport(EbsEncryptionSupport&& value) { m_encryptionSupportHasBeenSet = true; m_encryptionSupport = std::move(value); } /** *Indicates whether Amazon EBS encryption is supported.
*/ inline EbsInfo& WithEncryptionSupport(const EbsEncryptionSupport& value) { SetEncryptionSupport(value); return *this;} /** *Indicates whether Amazon EBS encryption is supported.
*/ inline EbsInfo& WithEncryptionSupport(EbsEncryptionSupport&& value) { SetEncryptionSupport(std::move(value)); return *this;} /** *Describes the optimized EBS performance for the instance type.
*/ inline const EbsOptimizedInfo& GetEbsOptimizedInfo() const{ return m_ebsOptimizedInfo; } /** *Describes the optimized EBS performance for the instance type.
*/ inline bool EbsOptimizedInfoHasBeenSet() const { return m_ebsOptimizedInfoHasBeenSet; } /** *Describes the optimized EBS performance for the instance type.
*/ inline void SetEbsOptimizedInfo(const EbsOptimizedInfo& value) { m_ebsOptimizedInfoHasBeenSet = true; m_ebsOptimizedInfo = value; } /** *Describes the optimized EBS performance for the instance type.
*/ inline void SetEbsOptimizedInfo(EbsOptimizedInfo&& value) { m_ebsOptimizedInfoHasBeenSet = true; m_ebsOptimizedInfo = std::move(value); } /** *Describes the optimized EBS performance for the instance type.
*/ inline EbsInfo& WithEbsOptimizedInfo(const EbsOptimizedInfo& value) { SetEbsOptimizedInfo(value); return *this;} /** *Describes the optimized EBS performance for the instance type.
*/ inline EbsInfo& WithEbsOptimizedInfo(EbsOptimizedInfo&& value) { SetEbsOptimizedInfo(std::move(value)); return *this;} /** *Indicates whether non-volatile memory express (NVMe) is supported.
*/ inline const EbsNvmeSupport& GetNvmeSupport() const{ return m_nvmeSupport; } /** *Indicates whether non-volatile memory express (NVMe) is supported.
*/ inline bool NvmeSupportHasBeenSet() const { return m_nvmeSupportHasBeenSet; } /** *Indicates whether non-volatile memory express (NVMe) is supported.
*/ inline void SetNvmeSupport(const EbsNvmeSupport& value) { m_nvmeSupportHasBeenSet = true; m_nvmeSupport = value; } /** *Indicates whether non-volatile memory express (NVMe) is supported.
*/ inline void SetNvmeSupport(EbsNvmeSupport&& value) { m_nvmeSupportHasBeenSet = true; m_nvmeSupport = std::move(value); } /** *Indicates whether non-volatile memory express (NVMe) is supported.
*/ inline EbsInfo& WithNvmeSupport(const EbsNvmeSupport& value) { SetNvmeSupport(value); return *this;} /** *Indicates whether non-volatile memory express (NVMe) is supported.
*/ inline EbsInfo& WithNvmeSupport(EbsNvmeSupport&& value) { SetNvmeSupport(std::move(value)); return *this;} private: EbsOptimizedSupport m_ebsOptimizedSupport; bool m_ebsOptimizedSupportHasBeenSet = false; EbsEncryptionSupport m_encryptionSupport; bool m_encryptionSupportHasBeenSet = false; EbsOptimizedInfo m_ebsOptimizedInfo; bool m_ebsOptimizedInfoHasBeenSet = false; EbsNvmeSupport m_nvmeSupport; bool m_nvmeSupportHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws