AWS SDK for C++

AWS SDK for C++ Version 1.11.761

Loading...
Searching...
No Matches
PolicyParameter.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/iam/IAM_EXPORTS.h>
11#include <aws/iam/model/PolicyParameterTypeEnum.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Xml {
18class XmlNode;
19} // namespace Xml
20} // namespace Utils
21namespace IAM {
22namespace Model {
23
31 public:
32 AWS_IAM_API PolicyParameter() = default;
33 AWS_IAM_API PolicyParameter(const Aws::Utils::Xml::XmlNode& xmlNode);
35
36 AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
37 AWS_IAM_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
38
40
43 inline const Aws::String& GetName() const { return m_name; }
44 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
45 template <typename NameT = Aws::String>
46 void SetName(NameT&& value) {
47 m_nameHasBeenSet = true;
48 m_name = std::forward<NameT>(value);
49 }
50 template <typename NameT = Aws::String>
51 PolicyParameter& WithName(NameT&& value) {
52 SetName(std::forward<NameT>(value));
53 return *this;
54 }
56
58
61 inline const Aws::Vector<Aws::String>& GetValues() const { return m_values; }
62 inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; }
63 template <typename ValuesT = Aws::Vector<Aws::String>>
64 void SetValues(ValuesT&& value) {
65 m_valuesHasBeenSet = true;
66 m_values = std::forward<ValuesT>(value);
67 }
68 template <typename ValuesT = Aws::Vector<Aws::String>>
69 PolicyParameter& WithValues(ValuesT&& value) {
70 SetValues(std::forward<ValuesT>(value));
71 return *this;
72 }
73 template <typename ValuesT = Aws::String>
74 PolicyParameter& AddValues(ValuesT&& value) {
75 m_valuesHasBeenSet = true;
76 m_values.emplace_back(std::forward<ValuesT>(value));
77 return *this;
78 }
80
82
85 inline PolicyParameterTypeEnum GetType() const { return m_type; }
86 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
87 inline void SetType(PolicyParameterTypeEnum value) {
88 m_typeHasBeenSet = true;
89 m_type = value;
90 }
92 SetType(value);
93 return *this;
94 }
96 private:
97 Aws::String m_name;
98
100
102 bool m_nameHasBeenSet = false;
103 bool m_valuesHasBeenSet = false;
104 bool m_typeHasBeenSet = false;
105};
106
107} // namespace Model
108} // namespace IAM
109} // namespace Aws
PolicyParameter & AddValues(ValuesT &&value)
AWS_IAM_API PolicyParameter(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetValues(ValuesT &&value)
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
PolicyParameter & WithValues(ValuesT &&value)
PolicyParameter & WithType(PolicyParameterTypeEnum value)
AWS_IAM_API PolicyParameter()=default
PolicyParameterTypeEnum GetType() const
const Aws::String & GetName() const
PolicyParameter & WithName(NameT &&value)
void SetType(PolicyParameterTypeEnum value)
const Aws::Vector< Aws::String > & GetValues() const
AWS_IAM_API PolicyParameter & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
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