/** * 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 { /** *

Describes the vCPU configurations for the instance type.

See * Also:

AWS API * Reference

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

The default number of vCPUs for the instance type.

*/ inline int GetDefaultVCpus() const{ return m_defaultVCpus; } /** *

The default number of vCPUs for the instance type.

*/ inline bool DefaultVCpusHasBeenSet() const { return m_defaultVCpusHasBeenSet; } /** *

The default number of vCPUs for the instance type.

*/ inline void SetDefaultVCpus(int value) { m_defaultVCpusHasBeenSet = true; m_defaultVCpus = value; } /** *

The default number of vCPUs for the instance type.

*/ inline VCpuInfo& WithDefaultVCpus(int value) { SetDefaultVCpus(value); return *this;} /** *

The default number of cores for the instance type.

*/ inline int GetDefaultCores() const{ return m_defaultCores; } /** *

The default number of cores for the instance type.

*/ inline bool DefaultCoresHasBeenSet() const { return m_defaultCoresHasBeenSet; } /** *

The default number of cores for the instance type.

*/ inline void SetDefaultCores(int value) { m_defaultCoresHasBeenSet = true; m_defaultCores = value; } /** *

The default number of cores for the instance type.

*/ inline VCpuInfo& WithDefaultCores(int value) { SetDefaultCores(value); return *this;} /** *

The default number of threads per core for the instance type.

*/ inline int GetDefaultThreadsPerCore() const{ return m_defaultThreadsPerCore; } /** *

The default number of threads per core for the instance type.

*/ inline bool DefaultThreadsPerCoreHasBeenSet() const { return m_defaultThreadsPerCoreHasBeenSet; } /** *

The default number of threads per core for the instance type.

*/ inline void SetDefaultThreadsPerCore(int value) { m_defaultThreadsPerCoreHasBeenSet = true; m_defaultThreadsPerCore = value; } /** *

The default number of threads per core for the instance type.

*/ inline VCpuInfo& WithDefaultThreadsPerCore(int value) { SetDefaultThreadsPerCore(value); return *this;} /** *

List of the valid number of cores that can be configured for the instance * type.

*/ inline const Aws::Vector& GetValidCores() const{ return m_validCores; } /** *

List of the valid number of cores that can be configured for the instance * type.

*/ inline bool ValidCoresHasBeenSet() const { return m_validCoresHasBeenSet; } /** *

List of the valid number of cores that can be configured for the instance * type.

*/ inline void SetValidCores(const Aws::Vector& value) { m_validCoresHasBeenSet = true; m_validCores = value; } /** *

List of the valid number of cores that can be configured for the instance * type.

*/ inline void SetValidCores(Aws::Vector&& value) { m_validCoresHasBeenSet = true; m_validCores = std::move(value); } /** *

List of the valid number of cores that can be configured for the instance * type.

*/ inline VCpuInfo& WithValidCores(const Aws::Vector& value) { SetValidCores(value); return *this;} /** *

List of the valid number of cores that can be configured for the instance * type.

*/ inline VCpuInfo& WithValidCores(Aws::Vector&& value) { SetValidCores(std::move(value)); return *this;} /** *

List of the valid number of cores that can be configured for the instance * type.

*/ inline VCpuInfo& AddValidCores(int value) { m_validCoresHasBeenSet = true; m_validCores.push_back(value); return *this; } /** *

List of the valid number of threads per core that can be configured for the * instance type.

*/ inline const Aws::Vector& GetValidThreadsPerCore() const{ return m_validThreadsPerCore; } /** *

List of the valid number of threads per core that can be configured for the * instance type.

*/ inline bool ValidThreadsPerCoreHasBeenSet() const { return m_validThreadsPerCoreHasBeenSet; } /** *

List of the valid number of threads per core that can be configured for the * instance type.

*/ inline void SetValidThreadsPerCore(const Aws::Vector& value) { m_validThreadsPerCoreHasBeenSet = true; m_validThreadsPerCore = value; } /** *

List of the valid number of threads per core that can be configured for the * instance type.

*/ inline void SetValidThreadsPerCore(Aws::Vector&& value) { m_validThreadsPerCoreHasBeenSet = true; m_validThreadsPerCore = std::move(value); } /** *

List of the valid number of threads per core that can be configured for the * instance type.

*/ inline VCpuInfo& WithValidThreadsPerCore(const Aws::Vector& value) { SetValidThreadsPerCore(value); return *this;} /** *

List of the valid number of threads per core that can be configured for the * instance type.

*/ inline VCpuInfo& WithValidThreadsPerCore(Aws::Vector&& value) { SetValidThreadsPerCore(std::move(value)); return *this;} /** *

List of the valid number of threads per core that can be configured for the * instance type.

*/ inline VCpuInfo& AddValidThreadsPerCore(int value) { m_validThreadsPerCoreHasBeenSet = true; m_validThreadsPerCore.push_back(value); return *this; } private: int m_defaultVCpus; bool m_defaultVCpusHasBeenSet; int m_defaultCores; bool m_defaultCoresHasBeenSet; int m_defaultThreadsPerCore; bool m_defaultThreadsPerCoreHasBeenSet; Aws::Vector m_validCores; bool m_validCoresHasBeenSet; Aws::Vector m_validThreadsPerCore; bool m_validThreadsPerCoreHasBeenSet; }; } // namespace Model } // namespace EC2 } // namespace Aws