AWS SDK for C++

AWS SDK for C++ Version 1.11.877

Loading...
Searching...
No Matches
TopicRuleDestination.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/iot/IoT_EXPORTS.h>
10#include <aws/iot/model/HttpUrlDestinationProperties.h>
11#include <aws/iot/model/InfluxDBDestinationProperties.h>
12#include <aws/iot/model/TopicRuleDestinationStatus.h>
13#include <aws/iot/model/VpcDestinationProperties.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace IoT {
25namespace Model {
26
33 public:
34 AWS_IOT_API TopicRuleDestination() = default;
38
40
43 inline const Aws::String& GetArn() const { return m_arn; }
44 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
45 template <typename ArnT = Aws::String>
46 void SetArn(ArnT&& value) {
47 m_arnHasBeenSet = true;
48 m_arn = std::forward<ArnT>(value);
49 }
50 template <typename ArnT = Aws::String>
52 SetArn(std::forward<ArnT>(value));
53 return *this;
54 }
56
58
78 inline TopicRuleDestinationStatus GetStatus() const { return m_status; }
79 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
81 m_statusHasBeenSet = true;
82 m_status = value;
83 }
85 SetStatus(value);
86 return *this;
87 }
89
91
94 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
95 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
96 template <typename CreatedAtT = Aws::Utils::DateTime>
97 void SetCreatedAt(CreatedAtT&& value) {
98 m_createdAtHasBeenSet = true;
99 m_createdAt = std::forward<CreatedAtT>(value);
100 }
101 template <typename CreatedAtT = Aws::Utils::DateTime>
102 TopicRuleDestination& WithCreatedAt(CreatedAtT&& value) {
103 SetCreatedAt(std::forward<CreatedAtT>(value));
104 return *this;
105 }
107
109
112 inline const Aws::Utils::DateTime& GetLastUpdatedAt() const { return m_lastUpdatedAt; }
113 inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; }
114 template <typename LastUpdatedAtT = Aws::Utils::DateTime>
115 void SetLastUpdatedAt(LastUpdatedAtT&& value) {
116 m_lastUpdatedAtHasBeenSet = true;
117 m_lastUpdatedAt = std::forward<LastUpdatedAtT>(value);
118 }
119 template <typename LastUpdatedAtT = Aws::Utils::DateTime>
120 TopicRuleDestination& WithLastUpdatedAt(LastUpdatedAtT&& value) {
121 SetLastUpdatedAt(std::forward<LastUpdatedAtT>(value));
122 return *this;
123 }
125
127
131 inline const Aws::String& GetStatusReason() const { return m_statusReason; }
132 inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; }
133 template <typename StatusReasonT = Aws::String>
134 void SetStatusReason(StatusReasonT&& value) {
135 m_statusReasonHasBeenSet = true;
136 m_statusReason = std::forward<StatusReasonT>(value);
137 }
138 template <typename StatusReasonT = Aws::String>
139 TopicRuleDestination& WithStatusReason(StatusReasonT&& value) {
140 SetStatusReason(std::forward<StatusReasonT>(value));
141 return *this;
142 }
144
146
149 inline const HttpUrlDestinationProperties& GetHttpUrlProperties() const { return m_httpUrlProperties; }
150 inline bool HttpUrlPropertiesHasBeenSet() const { return m_httpUrlPropertiesHasBeenSet; }
151 template <typename HttpUrlPropertiesT = HttpUrlDestinationProperties>
152 void SetHttpUrlProperties(HttpUrlPropertiesT&& value) {
153 m_httpUrlPropertiesHasBeenSet = true;
154 m_httpUrlProperties = std::forward<HttpUrlPropertiesT>(value);
155 }
156 template <typename HttpUrlPropertiesT = HttpUrlDestinationProperties>
157 TopicRuleDestination& WithHttpUrlProperties(HttpUrlPropertiesT&& value) {
158 SetHttpUrlProperties(std::forward<HttpUrlPropertiesT>(value));
159 return *this;
160 }
162
164
167 inline const VpcDestinationProperties& GetVpcProperties() const { return m_vpcProperties; }
168 inline bool VpcPropertiesHasBeenSet() const { return m_vpcPropertiesHasBeenSet; }
169 template <typename VpcPropertiesT = VpcDestinationProperties>
170 void SetVpcProperties(VpcPropertiesT&& value) {
171 m_vpcPropertiesHasBeenSet = true;
172 m_vpcProperties = std::forward<VpcPropertiesT>(value);
173 }
174 template <typename VpcPropertiesT = VpcDestinationProperties>
175 TopicRuleDestination& WithVpcProperties(VpcPropertiesT&& value) {
176 SetVpcProperties(std::forward<VpcPropertiesT>(value));
177 return *this;
178 }
180
182
187 inline const InfluxDBDestinationProperties& GetInfluxDBProperties() const { return m_influxDBProperties; }
188 inline bool InfluxDBPropertiesHasBeenSet() const { return m_influxDBPropertiesHasBeenSet; }
189 template <typename InfluxDBPropertiesT = InfluxDBDestinationProperties>
190 void SetInfluxDBProperties(InfluxDBPropertiesT&& value) {
191 m_influxDBPropertiesHasBeenSet = true;
192 m_influxDBProperties = std::forward<InfluxDBPropertiesT>(value);
193 }
194 template <typename InfluxDBPropertiesT = InfluxDBDestinationProperties>
195 TopicRuleDestination& WithInfluxDBProperties(InfluxDBPropertiesT&& value) {
196 SetInfluxDBProperties(std::forward<InfluxDBPropertiesT>(value));
197 return *this;
198 }
200 private:
201 Aws::String m_arn;
202
204
205 Aws::Utils::DateTime m_createdAt{};
206
207 Aws::Utils::DateTime m_lastUpdatedAt{};
208
209 Aws::String m_statusReason;
210
211 HttpUrlDestinationProperties m_httpUrlProperties;
212
213 VpcDestinationProperties m_vpcProperties;
214
215 InfluxDBDestinationProperties m_influxDBProperties;
216 bool m_arnHasBeenSet = false;
217 bool m_statusHasBeenSet = false;
218 bool m_createdAtHasBeenSet = false;
219 bool m_lastUpdatedAtHasBeenSet = false;
220 bool m_statusReasonHasBeenSet = false;
221 bool m_httpUrlPropertiesHasBeenSet = false;
222 bool m_vpcPropertiesHasBeenSet = false;
223 bool m_influxDBPropertiesHasBeenSet = false;
224};
225
226} // namespace Model
227} // namespace IoT
228} // namespace Aws
TopicRuleDestination & WithInfluxDBProperties(InfluxDBPropertiesT &&value)
TopicRuleDestinationStatus GetStatus() const
const InfluxDBDestinationProperties & GetInfluxDBProperties() const
TopicRuleDestination & WithStatusReason(StatusReasonT &&value)
const HttpUrlDestinationProperties & GetHttpUrlProperties() const
void SetHttpUrlProperties(HttpUrlPropertiesT &&value)
void SetStatus(TopicRuleDestinationStatus value)
AWS_IOT_API TopicRuleDestination & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Utils::DateTime & GetLastUpdatedAt() const
const Aws::Utils::DateTime & GetCreatedAt() const
TopicRuleDestination & WithStatus(TopicRuleDestinationStatus value)
AWS_IOT_API TopicRuleDestination(Aws::Utils::Json::JsonView jsonValue)
TopicRuleDestination & WithCreatedAt(CreatedAtT &&value)
void SetLastUpdatedAt(LastUpdatedAtT &&value)
void SetInfluxDBProperties(InfluxDBPropertiesT &&value)
AWS_IOT_API Aws::Utils::Json::JsonValue Jsonize() const
void SetVpcProperties(VpcPropertiesT &&value)
const VpcDestinationProperties & GetVpcProperties() const
TopicRuleDestination & WithArn(ArnT &&value)
AWS_IOT_API TopicRuleDestination()=default
void SetStatusReason(StatusReasonT &&value)
TopicRuleDestination & WithLastUpdatedAt(LastUpdatedAtT &&value)
TopicRuleDestination & WithHttpUrlProperties(HttpUrlPropertiesT &&value)
const Aws::String & GetStatusReason() const
TopicRuleDestination & WithVpcProperties(VpcPropertiesT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue