AWS SDK for C++

AWS SDK for C++ Version 1.11.766

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/TopicRuleDestinationStatus.h>
12#include <aws/iot/model/VpcDestinationProperties.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace IoT {
24namespace Model {
25
32 public:
33 AWS_IOT_API TopicRuleDestination() = default;
37
39
42 inline const Aws::String& GetArn() const { return m_arn; }
43 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
44 template <typename ArnT = Aws::String>
45 void SetArn(ArnT&& value) {
46 m_arnHasBeenSet = true;
47 m_arn = std::forward<ArnT>(value);
48 }
49 template <typename ArnT = Aws::String>
51 SetArn(std::forward<ArnT>(value));
52 return *this;
53 }
55
57
77 inline TopicRuleDestinationStatus GetStatus() const { return m_status; }
78 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
80 m_statusHasBeenSet = true;
81 m_status = value;
82 }
84 SetStatus(value);
85 return *this;
86 }
88
90
93 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
94 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
95 template <typename CreatedAtT = Aws::Utils::DateTime>
96 void SetCreatedAt(CreatedAtT&& value) {
97 m_createdAtHasBeenSet = true;
98 m_createdAt = std::forward<CreatedAtT>(value);
99 }
100 template <typename CreatedAtT = Aws::Utils::DateTime>
101 TopicRuleDestination& WithCreatedAt(CreatedAtT&& value) {
102 SetCreatedAt(std::forward<CreatedAtT>(value));
103 return *this;
104 }
106
108
111 inline const Aws::Utils::DateTime& GetLastUpdatedAt() const { return m_lastUpdatedAt; }
112 inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; }
113 template <typename LastUpdatedAtT = Aws::Utils::DateTime>
114 void SetLastUpdatedAt(LastUpdatedAtT&& value) {
115 m_lastUpdatedAtHasBeenSet = true;
116 m_lastUpdatedAt = std::forward<LastUpdatedAtT>(value);
117 }
118 template <typename LastUpdatedAtT = Aws::Utils::DateTime>
119 TopicRuleDestination& WithLastUpdatedAt(LastUpdatedAtT&& value) {
120 SetLastUpdatedAt(std::forward<LastUpdatedAtT>(value));
121 return *this;
122 }
124
126
130 inline const Aws::String& GetStatusReason() const { return m_statusReason; }
131 inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; }
132 template <typename StatusReasonT = Aws::String>
133 void SetStatusReason(StatusReasonT&& value) {
134 m_statusReasonHasBeenSet = true;
135 m_statusReason = std::forward<StatusReasonT>(value);
136 }
137 template <typename StatusReasonT = Aws::String>
138 TopicRuleDestination& WithStatusReason(StatusReasonT&& value) {
139 SetStatusReason(std::forward<StatusReasonT>(value));
140 return *this;
141 }
143
145
148 inline const HttpUrlDestinationProperties& GetHttpUrlProperties() const { return m_httpUrlProperties; }
149 inline bool HttpUrlPropertiesHasBeenSet() const { return m_httpUrlPropertiesHasBeenSet; }
150 template <typename HttpUrlPropertiesT = HttpUrlDestinationProperties>
151 void SetHttpUrlProperties(HttpUrlPropertiesT&& value) {
152 m_httpUrlPropertiesHasBeenSet = true;
153 m_httpUrlProperties = std::forward<HttpUrlPropertiesT>(value);
154 }
155 template <typename HttpUrlPropertiesT = HttpUrlDestinationProperties>
156 TopicRuleDestination& WithHttpUrlProperties(HttpUrlPropertiesT&& value) {
157 SetHttpUrlProperties(std::forward<HttpUrlPropertiesT>(value));
158 return *this;
159 }
161
163
166 inline const VpcDestinationProperties& GetVpcProperties() const { return m_vpcProperties; }
167 inline bool VpcPropertiesHasBeenSet() const { return m_vpcPropertiesHasBeenSet; }
168 template <typename VpcPropertiesT = VpcDestinationProperties>
169 void SetVpcProperties(VpcPropertiesT&& value) {
170 m_vpcPropertiesHasBeenSet = true;
171 m_vpcProperties = std::forward<VpcPropertiesT>(value);
172 }
173 template <typename VpcPropertiesT = VpcDestinationProperties>
174 TopicRuleDestination& WithVpcProperties(VpcPropertiesT&& value) {
175 SetVpcProperties(std::forward<VpcPropertiesT>(value));
176 return *this;
177 }
179 private:
180 Aws::String m_arn;
181
183
184 Aws::Utils::DateTime m_createdAt{};
185
186 Aws::Utils::DateTime m_lastUpdatedAt{};
187
188 Aws::String m_statusReason;
189
190 HttpUrlDestinationProperties m_httpUrlProperties;
191
192 VpcDestinationProperties m_vpcProperties;
193 bool m_arnHasBeenSet = false;
194 bool m_statusHasBeenSet = false;
195 bool m_createdAtHasBeenSet = false;
196 bool m_lastUpdatedAtHasBeenSet = false;
197 bool m_statusReasonHasBeenSet = false;
198 bool m_httpUrlPropertiesHasBeenSet = false;
199 bool m_vpcPropertiesHasBeenSet = false;
200};
201
202} // namespace Model
203} // namespace IoT
204} // namespace Aws
TopicRuleDestinationStatus GetStatus() 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)
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