AWS SDK for C++

AWS SDK for C++ Version 1.11.873

Loading...
Searching...
No Matches
ParameterDefinition.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/iam/IAM_EXPORTS.h>
10#include <aws/iam/model/ParameterTypeType.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Xml {
17class XmlNode;
18} // namespace Xml
19} // namespace Utils
20namespace IAM {
21namespace Model {
22
32 public:
33 AWS_IAM_API ParameterDefinition() = default;
34 AWS_IAM_API ParameterDefinition(const Aws::Utils::Xml::XmlNode& xmlNode);
36
37 AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
38 AWS_IAM_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
39
41
44 inline const Aws::String& GetName() const { return m_name; }
45 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
46 template <typename NameT = Aws::String>
47 void SetName(NameT&& value) {
48 m_nameHasBeenSet = true;
49 m_name = std::forward<NameT>(value);
50 }
51 template <typename NameT = Aws::String>
52 ParameterDefinition& WithName(NameT&& value) {
53 SetName(std::forward<NameT>(value));
54 return *this;
55 }
57
59
64 inline ParameterTypeType GetType() const { return m_type; }
65 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
66 inline void SetType(ParameterTypeType value) {
67 m_typeHasBeenSet = true;
68 m_type = value;
69 }
71 SetType(value);
72 return *this;
73 }
75
77
81 inline const Aws::String& GetSubType() const { return m_subType; }
82 inline bool SubTypeHasBeenSet() const { return m_subTypeHasBeenSet; }
83 template <typename SubTypeT = Aws::String>
84 void SetSubType(SubTypeT&& value) {
85 m_subTypeHasBeenSet = true;
86 m_subType = std::forward<SubTypeT>(value);
87 }
88 template <typename SubTypeT = Aws::String>
89 ParameterDefinition& WithSubType(SubTypeT&& value) {
90 SetSubType(std::forward<SubTypeT>(value));
91 return *this;
92 }
94
96
99 inline const Aws::String& GetDescription() const { return m_description; }
100 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
101 template <typename DescriptionT = Aws::String>
102 void SetDescription(DescriptionT&& value) {
103 m_descriptionHasBeenSet = true;
104 m_description = std::forward<DescriptionT>(value);
105 }
106 template <typename DescriptionT = Aws::String>
107 ParameterDefinition& WithDescription(DescriptionT&& value) {
108 SetDescription(std::forward<DescriptionT>(value));
109 return *this;
110 }
112
114
118 inline bool GetIsRequired() const { return m_isRequired; }
119 inline bool IsRequiredHasBeenSet() const { return m_isRequiredHasBeenSet; }
120 inline void SetIsRequired(bool value) {
121 m_isRequiredHasBeenSet = true;
122 m_isRequired = value;
123 }
125 SetIsRequired(value);
126 return *this;
127 }
129
131
135 inline const Aws::String& GetDefaultValue() const { return m_defaultValue; }
136 inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; }
137 template <typename DefaultValueT = Aws::String>
138 void SetDefaultValue(DefaultValueT&& value) {
139 m_defaultValueHasBeenSet = true;
140 m_defaultValue = std::forward<DefaultValueT>(value);
141 }
142 template <typename DefaultValueT = Aws::String>
143 ParameterDefinition& WithDefaultValue(DefaultValueT&& value) {
144 SetDefaultValue(std::forward<DefaultValueT>(value));
145 return *this;
146 }
148
150
154 inline bool GetImmutable() const { return m_immutable; }
155 inline bool ImmutableHasBeenSet() const { return m_immutableHasBeenSet; }
156 inline void SetImmutable(bool value) {
157 m_immutableHasBeenSet = true;
158 m_immutable = value;
159 }
160 inline ParameterDefinition& WithImmutable(bool value) {
161 SetImmutable(value);
162 return *this;
163 }
165 private:
166 Aws::String m_name;
167
169
170 Aws::String m_subType;
171
172 Aws::String m_description;
173
174 bool m_isRequired{false};
175
176 Aws::String m_defaultValue;
177
178 bool m_immutable{false};
179 bool m_nameHasBeenSet = false;
180 bool m_typeHasBeenSet = false;
181 bool m_subTypeHasBeenSet = false;
182 bool m_descriptionHasBeenSet = false;
183 bool m_isRequiredHasBeenSet = false;
184 bool m_defaultValueHasBeenSet = false;
185 bool m_immutableHasBeenSet = false;
186};
187
188} // namespace Model
189} // namespace IAM
190} // namespace Aws
ParameterDefinition & WithSubType(SubTypeT &&value)
ParameterDefinition & WithDescription(DescriptionT &&value)
const Aws::String & GetName() const
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ParameterDefinition & WithType(ParameterTypeType value)
ParameterDefinition & WithImmutable(bool value)
ParameterDefinition & WithDefaultValue(DefaultValueT &&value)
ParameterDefinition & WithIsRequired(bool value)
const Aws::String & GetSubType() const
AWS_IAM_API ParameterDefinition(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetDescription(DescriptionT &&value)
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetDefaultValue() const
AWS_IAM_API ParameterDefinition & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_IAM_API ParameterDefinition()=default
const Aws::String & GetDescription() const
void SetType(ParameterTypeType value)
void SetDefaultValue(DefaultValueT &&value)
ParameterDefinition & WithName(NameT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream