/** * 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. Both the core count and threads per core * must be specified in the request.

See Also:

AWS * API Reference

*/ class CpuOptionsRequest { public: AWS_EC2_API CpuOptionsRequest(); AWS_EC2_API CpuOptionsRequest(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API CpuOptionsRequest& 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 CpuOptionsRequest& WithCoreCount(int value) { SetCoreCount(value); return *this;} /** *

The number of threads per CPU core. To disable multithreading for the * instance, specify a value of 1. Otherwise, specify the default * value of 2.

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

The number of threads per CPU core. To disable multithreading for the * instance, specify a value of 1. Otherwise, specify the default * value of 2.

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

The number of threads per CPU core. To disable multithreading for the * instance, specify a value of 1. Otherwise, specify the default * value of 2.

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

The number of threads per CPU core. To disable multithreading for the * instance, specify a value of 1. Otherwise, specify the default * value of 2.

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

Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is * supported with M6a, R6a, and C6a instance types only. For more information, see * AMD * SEV-SNP.

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

Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is * supported with M6a, R6a, and C6a instance types only. For more information, see * AMD * SEV-SNP.

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

Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is * supported with M6a, R6a, and C6a instance types only. For more information, see * AMD * SEV-SNP.

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

Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is * supported with M6a, R6a, and C6a instance types only. For more information, see * AMD * SEV-SNP.

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

Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is * supported with M6a, R6a, and C6a instance types only. For more information, see * AMD * SEV-SNP.

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

Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is * supported with M6a, R6a, and C6a instance types only. For more information, see * AMD * SEV-SNP.

*/ inline CpuOptionsRequest& 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