AWS SDK for C++

AWS SDK for C++ Version 1.11.867

Loading...
Searching...
No Matches
PolicyIdentifier.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/InlinePolicyIdentifierType.h>
11#include <aws/iam/model/PolicyIdentifierPolicyType.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
34 public:
35 AWS_IAM_API PolicyIdentifier() = default;
36 AWS_IAM_API PolicyIdentifier(const Aws::Utils::Xml::XmlNode& xmlNode);
38
39 AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
40 AWS_IAM_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
41
43
47 inline PolicyIdentifierPolicyType GetPolicyType() const { return m_policyType; }
48 inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; }
50 m_policyTypeHasBeenSet = true;
51 m_policyType = value;
52 }
54 SetPolicyType(value);
55 return *this;
56 }
58
60
71 inline const Aws::String& GetPolicyArn() const { return m_policyArn; }
72 inline bool PolicyArnHasBeenSet() const { return m_policyArnHasBeenSet; }
73 template <typename PolicyArnT = Aws::String>
74 void SetPolicyArn(PolicyArnT&& value) {
75 m_policyArnHasBeenSet = true;
76 m_policyArn = std::forward<PolicyArnT>(value);
77 }
78 template <typename PolicyArnT = Aws::String>
79 PolicyIdentifier& WithPolicyArn(PolicyArnT&& value) {
80 SetPolicyArn(std::forward<PolicyArnT>(value));
81 return *this;
82 }
84
86
91 inline const InlinePolicyIdentifierType& GetInlinePolicyIdentifier() const { return m_inlinePolicyIdentifier; }
92 inline bool InlinePolicyIdentifierHasBeenSet() const { return m_inlinePolicyIdentifierHasBeenSet; }
93 template <typename InlinePolicyIdentifierT = InlinePolicyIdentifierType>
94 void SetInlinePolicyIdentifier(InlinePolicyIdentifierT&& value) {
95 m_inlinePolicyIdentifierHasBeenSet = true;
96 m_inlinePolicyIdentifier = std::forward<InlinePolicyIdentifierT>(value);
97 }
98 template <typename InlinePolicyIdentifierT = InlinePolicyIdentifierType>
99 PolicyIdentifier& WithInlinePolicyIdentifier(InlinePolicyIdentifierT&& value) {
100 SetInlinePolicyIdentifier(std::forward<InlinePolicyIdentifierT>(value));
101 return *this;
102 }
104 private:
106
107 Aws::String m_policyArn;
108
109 InlinePolicyIdentifierType m_inlinePolicyIdentifier;
110 bool m_policyTypeHasBeenSet = false;
111 bool m_policyArnHasBeenSet = false;
112 bool m_inlinePolicyIdentifierHasBeenSet = false;
113};
114
115} // namespace Model
116} // namespace IAM
117} // namespace Aws
void SetPolicyType(PolicyIdentifierPolicyType value)
void SetPolicyArn(PolicyArnT &&value)
AWS_IAM_API PolicyIdentifier()=default
AWS_IAM_API PolicyIdentifier & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetPolicyArn() const
PolicyIdentifier & WithPolicyArn(PolicyArnT &&value)
PolicyIdentifier & WithInlinePolicyIdentifier(InlinePolicyIdentifierT &&value)
AWS_IAM_API PolicyIdentifier(const Aws::Utils::Xml::XmlNode &xmlNode)
PolicyIdentifierPolicyType GetPolicyType() const
PolicyIdentifier & WithPolicyType(PolicyIdentifierPolicyType value)
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetInlinePolicyIdentifier(InlinePolicyIdentifierT &&value)
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const InlinePolicyIdentifierType & GetInlinePolicyIdentifier() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream