AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
ProcessorInfo.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/ArchitectureType.h>
12#include <aws/ec2/model/SupportedAdditionalProcessorFeature.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Xml {
19class XmlNode;
20} // namespace Xml
21} // namespace Utils
22namespace EC2 {
23namespace Model {
24
32 public:
33 AWS_EC2_API ProcessorInfo() = default;
34 AWS_EC2_API ProcessorInfo(const Aws::Utils::Xml::XmlNode& xmlNode);
35 AWS_EC2_API ProcessorInfo& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
36
37 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
38 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
39
41
44 inline const Aws::Vector<ArchitectureType>& GetSupportedArchitectures() const { return m_supportedArchitectures; }
45 inline bool SupportedArchitecturesHasBeenSet() const { return m_supportedArchitecturesHasBeenSet; }
46 template <typename SupportedArchitecturesT = Aws::Vector<ArchitectureType>>
47 void SetSupportedArchitectures(SupportedArchitecturesT&& value) {
48 m_supportedArchitecturesHasBeenSet = true;
49 m_supportedArchitectures = std::forward<SupportedArchitecturesT>(value);
50 }
51 template <typename SupportedArchitecturesT = Aws::Vector<ArchitectureType>>
52 ProcessorInfo& WithSupportedArchitectures(SupportedArchitecturesT&& value) {
53 SetSupportedArchitectures(std::forward<SupportedArchitecturesT>(value));
54 return *this;
55 }
57 m_supportedArchitecturesHasBeenSet = true;
58 m_supportedArchitectures.push_back(value);
59 return *this;
60 }
62
64
67 inline double GetSustainedClockSpeedInGhz() const { return m_sustainedClockSpeedInGhz; }
68 inline bool SustainedClockSpeedInGhzHasBeenSet() const { return m_sustainedClockSpeedInGhzHasBeenSet; }
69 inline void SetSustainedClockSpeedInGhz(double value) {
70 m_sustainedClockSpeedInGhzHasBeenSet = true;
71 m_sustainedClockSpeedInGhz = value;
72 }
75 return *this;
76 }
78
80
87 inline const Aws::Vector<SupportedAdditionalProcessorFeature>& GetSupportedFeatures() const { return m_supportedFeatures; }
88 inline bool SupportedFeaturesHasBeenSet() const { return m_supportedFeaturesHasBeenSet; }
89 template <typename SupportedFeaturesT = Aws::Vector<SupportedAdditionalProcessorFeature>>
90 void SetSupportedFeatures(SupportedFeaturesT&& value) {
91 m_supportedFeaturesHasBeenSet = true;
92 m_supportedFeatures = std::forward<SupportedFeaturesT>(value);
93 }
94 template <typename SupportedFeaturesT = Aws::Vector<SupportedAdditionalProcessorFeature>>
95 ProcessorInfo& WithSupportedFeatures(SupportedFeaturesT&& value) {
96 SetSupportedFeatures(std::forward<SupportedFeaturesT>(value));
97 return *this;
98 }
100 m_supportedFeaturesHasBeenSet = true;
101 m_supportedFeatures.push_back(value);
102 return *this;
103 }
105
107
110 inline const Aws::String& GetManufacturer() const { return m_manufacturer; }
111 inline bool ManufacturerHasBeenSet() const { return m_manufacturerHasBeenSet; }
112 template <typename ManufacturerT = Aws::String>
113 void SetManufacturer(ManufacturerT&& value) {
114 m_manufacturerHasBeenSet = true;
115 m_manufacturer = std::forward<ManufacturerT>(value);
116 }
117 template <typename ManufacturerT = Aws::String>
118 ProcessorInfo& WithManufacturer(ManufacturerT&& value) {
119 SetManufacturer(std::forward<ManufacturerT>(value));
120 return *this;
121 }
123 private:
124 Aws::Vector<ArchitectureType> m_supportedArchitectures;
125
126 double m_sustainedClockSpeedInGhz{0.0};
127
129
130 Aws::String m_manufacturer;
131 bool m_supportedArchitecturesHasBeenSet = false;
132 bool m_sustainedClockSpeedInGhzHasBeenSet = false;
133 bool m_supportedFeaturesHasBeenSet = false;
134 bool m_manufacturerHasBeenSet = false;
135};
136
137} // namespace Model
138} // namespace EC2
139} // namespace Aws
void SetManufacturer(ManufacturerT &&value)
AWS_EC2_API ProcessorInfo()=default
const Aws::Vector< ArchitectureType > & GetSupportedArchitectures() const
const Aws::String & GetManufacturer() const
bool SupportedArchitecturesHasBeenSet() const
double GetSustainedClockSpeedInGhz() const
ProcessorInfo & AddSupportedFeatures(SupportedAdditionalProcessorFeature value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetSupportedArchitectures(SupportedArchitecturesT &&value)
AWS_EC2_API ProcessorInfo(const Aws::Utils::Xml::XmlNode &xmlNode)
ProcessorInfo & AddSupportedArchitectures(ArchitectureType value)
void SetSupportedFeatures(SupportedFeaturesT &&value)
ProcessorInfo & WithSupportedFeatures(SupportedFeaturesT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ProcessorInfo & WithManufacturer(ManufacturerT &&value)
const Aws::Vector< SupportedAdditionalProcessorFeature > & GetSupportedFeatures() const
ProcessorInfo & WithSustainedClockSpeedInGhz(double value)
void SetSustainedClockSpeedInGhz(double value)
ProcessorInfo & WithSupportedArchitectures(SupportedArchitecturesT &&value)
AWS_EC2_API ProcessorInfo & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool SustainedClockSpeedInGhzHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream