AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
ResourcePolicy.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/redshift/Redshift_EXPORTS.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Xml {
16class XmlNode;
17} // namespace Xml
18} // namespace Utils
19namespace Redshift {
20namespace Model {
21
28 public:
29 AWS_REDSHIFT_API ResourcePolicy() = default;
30 AWS_REDSHIFT_API ResourcePolicy(const Aws::Utils::Xml::XmlNode& xmlNode);
31 AWS_REDSHIFT_API ResourcePolicy& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
32
33 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
34 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
35
37
40 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
41 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
42 template <typename ResourceArnT = Aws::String>
43 void SetResourceArn(ResourceArnT&& value) {
44 m_resourceArnHasBeenSet = true;
45 m_resourceArn = std::forward<ResourceArnT>(value);
46 }
47 template <typename ResourceArnT = Aws::String>
48 ResourcePolicy& WithResourceArn(ResourceArnT&& value) {
49 SetResourceArn(std::forward<ResourceArnT>(value));
50 return *this;
51 }
53
55
58 inline const Aws::String& GetPolicy() const { return m_policy; }
59 inline bool PolicyHasBeenSet() const { return m_policyHasBeenSet; }
60 template <typename PolicyT = Aws::String>
61 void SetPolicy(PolicyT&& value) {
62 m_policyHasBeenSet = true;
63 m_policy = std::forward<PolicyT>(value);
64 }
65 template <typename PolicyT = Aws::String>
66 ResourcePolicy& WithPolicy(PolicyT&& value) {
67 SetPolicy(std::forward<PolicyT>(value));
68 return *this;
69 }
71 private:
72 Aws::String m_resourceArn;
73
74 Aws::String m_policy;
75 bool m_resourceArnHasBeenSet = false;
76 bool m_policyHasBeenSet = false;
77};
78
79} // namespace Model
80} // namespace Redshift
81} // namespace Aws
AWS_REDSHIFT_API ResourcePolicy & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetResourceArn(ResourceArnT &&value)
ResourcePolicy & WithPolicy(PolicyT &&value)
ResourcePolicy & WithResourceArn(ResourceArnT &&value)
const Aws::String & GetResourceArn() const
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetPolicy() const
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_REDSHIFT_API ResourcePolicy()=default
AWS_REDSHIFT_API ResourcePolicy(const Aws::Utils::Xml::XmlNode &xmlNode)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream