/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

The CPU options for the instance.

See Also:

AWS * API Reference

*/ class LaunchTemplateCpuOptions { public: AWS_EC2_API LaunchTemplateCpuOptions(); AWS_EC2_API LaunchTemplateCpuOptions(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API LaunchTemplateCpuOptions& 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 number of CPU cores for the instance.

*/ inline int GetCoreCount() const{ return m_coreCount; } /** *

The number of CPU cores for the instance.

*/ inline bool CoreCountHasBeenSet() const { return m_coreCountHasBeenSet; } /** *

The number of CPU cores for the instance.

*/ inline void SetCoreCount(int value) { m_coreCountHasBeenSet = true; m_coreCount = value; } /** *

The number of CPU cores for the instance.

*/ inline LaunchTemplateCpuOptions& WithCoreCount(int value) { SetCoreCount(value); return *this;} /** *

The number of threads per CPU core.

*/ inline int GetThreadsPerCore() const{ return m_threadsPerCore; } /** *

The number of threads per CPU core.

*/ inline bool ThreadsPerCoreHasBeenSet() const { return m_threadsPerCoreHasBeenSet; } /** *

The number of threads per CPU core.

*/ inline void SetThreadsPerCore(int value) { m_threadsPerCoreHasBeenSet = true; m_threadsPerCore = value; } /** *

The number of threads per CPU core.

*/ inline LaunchTemplateCpuOptions& WithThreadsPerCore(int value) { SetThreadsPerCore(value); return *this;} /** *

Indicates whether the instance is enabled for AMD SEV-SNP. For more * information, see AMD * SEV-SNP.

*/ inline const AmdSevSnpSpecification& GetAmdSevSnp() const{ return m_amdSevSnp; } /** *

Indicates whether the instance is enabled for AMD SEV-SNP. For more * information, see AMD * SEV-SNP.

*/ inline bool AmdSevSnpHasBeenSet() const { return m_amdSevSnpHasBeenSet; } /** *

Indicates whether the instance is enabled for AMD SEV-SNP. For more * information, see AMD * SEV-SNP.

*/ inline void SetAmdSevSnp(const AmdSevSnpSpecification& value) { m_amdSevSnpHasBeenSet = true; m_amdSevSnp = value; } /** *

Indicates whether the instance is enabled for AMD SEV-SNP. For more * information, see AMD * SEV-SNP.

*/ inline void SetAmdSevSnp(AmdSevSnpSpecification&& value) { m_amdSevSnpHasBeenSet = true; m_amdSevSnp = std::move(value); } /** *

Indicates whether the instance is enabled for AMD SEV-SNP. For more * information, see AMD * SEV-SNP.

*/ inline LaunchTemplateCpuOptions& WithAmdSevSnp(const AmdSevSnpSpecification& value) { SetAmdSevSnp(value); return *this;} /** *

Indicates whether the instance is enabled for AMD SEV-SNP. For more * information, see AMD * SEV-SNP.

*/ inline LaunchTemplateCpuOptions& WithAmdSevSnp(AmdSevSnpSpecification&& value) { SetAmdSevSnp(std::move(value)); return *this;} private: int m_coreCount; bool m_coreCountHasBeenSet = false; int m_threadsPerCore; bool m_threadsPerCoreHasBeenSet = false; AmdSevSnpSpecification m_amdSevSnp; bool m_amdSevSnpHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws