AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
InstanceRequirements.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/lambda/Lambda_EXPORTS.h>
10#include <aws/lambda/model/Architecture.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace Lambda {
22namespace Model {
23
31 public:
32 AWS_LAMBDA_API InstanceRequirements() = default;
35 AWS_LAMBDA_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
42 inline const Aws::Vector<Architecture>& GetArchitectures() const { return m_architectures; }
43 inline bool ArchitecturesHasBeenSet() const { return m_architecturesHasBeenSet; }
44 template <typename ArchitecturesT = Aws::Vector<Architecture>>
45 void SetArchitectures(ArchitecturesT&& value) {
46 m_architecturesHasBeenSet = true;
47 m_architectures = std::forward<ArchitecturesT>(value);
48 }
49 template <typename ArchitecturesT = Aws::Vector<Architecture>>
50 InstanceRequirements& WithArchitectures(ArchitecturesT&& value) {
51 SetArchitectures(std::forward<ArchitecturesT>(value));
52 return *this;
53 }
55 m_architecturesHasBeenSet = true;
56 m_architectures.push_back(value);
57 return *this;
58 }
60
62
66 inline const Aws::Vector<Aws::String>& GetAllowedInstanceTypes() const { return m_allowedInstanceTypes; }
67 inline bool AllowedInstanceTypesHasBeenSet() const { return m_allowedInstanceTypesHasBeenSet; }
68 template <typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
69 void SetAllowedInstanceTypes(AllowedInstanceTypesT&& value) {
70 m_allowedInstanceTypesHasBeenSet = true;
71 m_allowedInstanceTypes = std::forward<AllowedInstanceTypesT>(value);
72 }
73 template <typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
74 InstanceRequirements& WithAllowedInstanceTypes(AllowedInstanceTypesT&& value) {
75 SetAllowedInstanceTypes(std::forward<AllowedInstanceTypesT>(value));
76 return *this;
77 }
78 template <typename AllowedInstanceTypesT = Aws::String>
79 InstanceRequirements& AddAllowedInstanceTypes(AllowedInstanceTypesT&& value) {
80 m_allowedInstanceTypesHasBeenSet = true;
81 m_allowedInstanceTypes.emplace_back(std::forward<AllowedInstanceTypesT>(value));
82 return *this;
83 }
85
87
91 inline const Aws::Vector<Aws::String>& GetExcludedInstanceTypes() const { return m_excludedInstanceTypes; }
92 inline bool ExcludedInstanceTypesHasBeenSet() const { return m_excludedInstanceTypesHasBeenSet; }
93 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
94 void SetExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
95 m_excludedInstanceTypesHasBeenSet = true;
96 m_excludedInstanceTypes = std::forward<ExcludedInstanceTypesT>(value);
97 }
98 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
99 InstanceRequirements& WithExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
100 SetExcludedInstanceTypes(std::forward<ExcludedInstanceTypesT>(value));
101 return *this;
102 }
103 template <typename ExcludedInstanceTypesT = Aws::String>
104 InstanceRequirements& AddExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
105 m_excludedInstanceTypesHasBeenSet = true;
106 m_excludedInstanceTypes.emplace_back(std::forward<ExcludedInstanceTypesT>(value));
107 return *this;
108 }
110 private:
111 Aws::Vector<Architecture> m_architectures;
112
113 Aws::Vector<Aws::String> m_allowedInstanceTypes;
114
115 Aws::Vector<Aws::String> m_excludedInstanceTypes;
116 bool m_architecturesHasBeenSet = false;
117 bool m_allowedInstanceTypesHasBeenSet = false;
118 bool m_excludedInstanceTypesHasBeenSet = false;
119};
120
121} // namespace Model
122} // namespace Lambda
123} // namespace Aws
InstanceRequirements & WithAllowedInstanceTypes(AllowedInstanceTypesT &&value)
AWS_LAMBDA_API InstanceRequirements & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetAllowedInstanceTypes(AllowedInstanceTypesT &&value)
const Aws::Vector< Architecture > & GetArchitectures() const
const Aws::Vector< Aws::String > & GetAllowedInstanceTypes() const
InstanceRequirements & AddAllowedInstanceTypes(AllowedInstanceTypesT &&value)
InstanceRequirements & AddExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
void SetExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
InstanceRequirements & WithExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
InstanceRequirements & WithArchitectures(ArchitecturesT &&value)
AWS_LAMBDA_API InstanceRequirements()=default
void SetArchitectures(ArchitecturesT &&value)
AWS_LAMBDA_API InstanceRequirements(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Aws::String > & GetExcludedInstanceTypes() const
AWS_LAMBDA_API Aws::Utils::Json::JsonValue Jsonize() const
InstanceRequirements & AddArchitectures(Architecture value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue