AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
DataShare.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/redshift/Redshift_EXPORTS.h>
11#include <aws/redshift/model/DataShareAssociation.h>
12#include <aws/redshift/model/DataShareType.h>
13#include <aws/redshift/model/ResponseMetadata.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Xml {
20class XmlNode;
21} // namespace Xml
22} // namespace Utils
23namespace Redshift {
24namespace Model {
25
26class DataShare {
27 public:
28 AWS_REDSHIFT_API DataShare() = default;
29 AWS_REDSHIFT_API DataShare(const Aws::Utils::Xml::XmlNode& xmlNode);
30 AWS_REDSHIFT_API DataShare& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
31
32 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
33 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
34
36
40 inline const Aws::String& GetDataShareArn() const { return m_dataShareArn; }
41 inline bool DataShareArnHasBeenSet() const { return m_dataShareArnHasBeenSet; }
42 template <typename DataShareArnT = Aws::String>
43 void SetDataShareArn(DataShareArnT&& value) {
44 m_dataShareArnHasBeenSet = true;
45 m_dataShareArn = std::forward<DataShareArnT>(value);
46 }
47 template <typename DataShareArnT = Aws::String>
48 DataShare& WithDataShareArn(DataShareArnT&& value) {
49 SetDataShareArn(std::forward<DataShareArnT>(value));
50 return *this;
51 }
53
55
58 inline const Aws::String& GetProducerArn() const { return m_producerArn; }
59 inline bool ProducerArnHasBeenSet() const { return m_producerArnHasBeenSet; }
60 template <typename ProducerArnT = Aws::String>
61 void SetProducerArn(ProducerArnT&& value) {
62 m_producerArnHasBeenSet = true;
63 m_producerArn = std::forward<ProducerArnT>(value);
64 }
65 template <typename ProducerArnT = Aws::String>
66 DataShare& WithProducerArn(ProducerArnT&& value) {
67 SetProducerArn(std::forward<ProducerArnT>(value));
68 return *this;
69 }
71
73
77 inline bool GetAllowPubliclyAccessibleConsumers() const { return m_allowPubliclyAccessibleConsumers; }
78 inline bool AllowPubliclyAccessibleConsumersHasBeenSet() const { return m_allowPubliclyAccessibleConsumersHasBeenSet; }
79 inline void SetAllowPubliclyAccessibleConsumers(bool value) {
80 m_allowPubliclyAccessibleConsumersHasBeenSet = true;
81 m_allowPubliclyAccessibleConsumers = value;
82 }
85 return *this;
86 }
88
90
94 inline const Aws::Vector<DataShareAssociation>& GetDataShareAssociations() const { return m_dataShareAssociations; }
95 inline bool DataShareAssociationsHasBeenSet() const { return m_dataShareAssociationsHasBeenSet; }
96 template <typename DataShareAssociationsT = Aws::Vector<DataShareAssociation>>
97 void SetDataShareAssociations(DataShareAssociationsT&& value) {
98 m_dataShareAssociationsHasBeenSet = true;
99 m_dataShareAssociations = std::forward<DataShareAssociationsT>(value);
100 }
101 template <typename DataShareAssociationsT = Aws::Vector<DataShareAssociation>>
102 DataShare& WithDataShareAssociations(DataShareAssociationsT&& value) {
103 SetDataShareAssociations(std::forward<DataShareAssociationsT>(value));
104 return *this;
105 }
106 template <typename DataShareAssociationsT = DataShareAssociation>
107 DataShare& AddDataShareAssociations(DataShareAssociationsT&& value) {
108 m_dataShareAssociationsHasBeenSet = true;
109 m_dataShareAssociations.emplace_back(std::forward<DataShareAssociationsT>(value));
110 return *this;
111 }
113
115
118 inline const Aws::String& GetManagedBy() const { return m_managedBy; }
119 inline bool ManagedByHasBeenSet() const { return m_managedByHasBeenSet; }
120 template <typename ManagedByT = Aws::String>
121 void SetManagedBy(ManagedByT&& value) {
122 m_managedByHasBeenSet = true;
123 m_managedBy = std::forward<ManagedByT>(value);
124 }
125 template <typename ManagedByT = Aws::String>
126 DataShare& WithManagedBy(ManagedByT&& value) {
127 SetManagedBy(std::forward<ManagedByT>(value));
128 return *this;
129 }
131
133
136 inline DataShareType GetDataShareType() const { return m_dataShareType; }
137 inline bool DataShareTypeHasBeenSet() const { return m_dataShareTypeHasBeenSet; }
138 inline void SetDataShareType(DataShareType value) {
139 m_dataShareTypeHasBeenSet = true;
140 m_dataShareType = value;
141 }
143 SetDataShareType(value);
144 return *this;
145 }
147
149
150 inline const ResponseMetadata& GetResponseMetadata() const { return m_responseMetadata; }
151 template <typename ResponseMetadataT = ResponseMetadata>
152 void SetResponseMetadata(ResponseMetadataT&& value) {
153 m_responseMetadataHasBeenSet = true;
154 m_responseMetadata = std::forward<ResponseMetadataT>(value);
155 }
156 template <typename ResponseMetadataT = ResponseMetadata>
157 DataShare& WithResponseMetadata(ResponseMetadataT&& value) {
158 SetResponseMetadata(std::forward<ResponseMetadataT>(value));
159 return *this;
160 }
162 private:
163 Aws::String m_dataShareArn;
164
165 Aws::String m_producerArn;
166
167 bool m_allowPubliclyAccessibleConsumers{false};
168
169 Aws::Vector<DataShareAssociation> m_dataShareAssociations;
170
171 Aws::String m_managedBy;
172
173 DataShareType m_dataShareType{DataShareType::NOT_SET};
174
175 ResponseMetadata m_responseMetadata;
176 bool m_dataShareArnHasBeenSet = false;
177 bool m_producerArnHasBeenSet = false;
178 bool m_allowPubliclyAccessibleConsumersHasBeenSet = false;
179 bool m_dataShareAssociationsHasBeenSet = false;
180 bool m_managedByHasBeenSet = false;
181 bool m_dataShareTypeHasBeenSet = false;
182 bool m_responseMetadataHasBeenSet = true;
183};
184
185} // namespace Model
186} // namespace Redshift
187} // namespace Aws
const Aws::Vector< DataShareAssociation > & GetDataShareAssociations() const
Definition DataShare.h:94
const Aws::String & GetDataShareArn() const
Definition DataShare.h:40
bool DataShareAssociationsHasBeenSet() const
Definition DataShare.h:95
bool DataShareArnHasBeenSet() const
Definition DataShare.h:41
void SetDataShareAssociations(DataShareAssociationsT &&value)
Definition DataShare.h:97
DataShareType GetDataShareType() const
Definition DataShare.h:136
DataShare & WithAllowPubliclyAccessibleConsumers(bool value)
Definition DataShare.h:83
DataShare & AddDataShareAssociations(DataShareAssociationsT &&value)
Definition DataShare.h:107
void SetResponseMetadata(ResponseMetadataT &&value)
Definition DataShare.h:152
const ResponseMetadata & GetResponseMetadata() const
Definition DataShare.h:150
void SetDataShareType(DataShareType value)
Definition DataShare.h:138
bool AllowPubliclyAccessibleConsumersHasBeenSet() const
Definition DataShare.h:78
void SetDataShareArn(DataShareArnT &&value)
Definition DataShare.h:43
DataShare & WithProducerArn(ProducerArnT &&value)
Definition DataShare.h:66
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetAllowPubliclyAccessibleConsumers(bool value)
Definition DataShare.h:79
void SetProducerArn(ProducerArnT &&value)
Definition DataShare.h:61
DataShare & WithResponseMetadata(ResponseMetadataT &&value)
Definition DataShare.h:157
AWS_REDSHIFT_API DataShare & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetProducerArn() const
Definition DataShare.h:58
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_REDSHIFT_API DataShare(const Aws::Utils::Xml::XmlNode &xmlNode)
DataShare & WithDataShareArn(DataShareArnT &&value)
Definition DataShare.h:48
DataShare & WithDataShareType(DataShareType value)
Definition DataShare.h:142
void SetManagedBy(ManagedByT &&value)
Definition DataShare.h:121
DataShare & WithDataShareAssociations(DataShareAssociationsT &&value)
Definition DataShare.h:102
const Aws::String & GetManagedBy() const
Definition DataShare.h:118
AWS_REDSHIFT_API DataShare()=default
DataShare & WithManagedBy(ManagedByT &&value)
Definition DataShare.h:126
bool GetAllowPubliclyAccessibleConsumers() const
Definition DataShare.h:77
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