7#include <aws/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/iotsecuretunneling/model/TunnelStatus.h>
10#include <aws/iotsecuretunneling/model/ConnectionState.h>
11#include <aws/iotsecuretunneling/model/DestinationConfig.h>
12#include <aws/iotsecuretunneling/model/TimeoutConfig.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/core/utils/DateTime.h>
15#include <aws/iotsecuretunneling/model/Tag.h>
28namespace IoTSecureTunneling
42 AWS_IOTSECURETUNNELING_API
Tunnel() =
default;
54 template<
typename TunnelIdT = Aws::String>
55 void SetTunnelId(TunnelIdT&& value) { m_tunnelIdHasBeenSet =
true; m_tunnelId = std::forward<TunnelIdT>(value); }
56 template<
typename TunnelIdT = Aws::String>
66 template<
typename TunnelArnT = Aws::String>
67 void SetTunnelArn(TunnelArnT&& value) { m_tunnelArnHasBeenSet =
true; m_tunnelArn = std::forward<TunnelArnT>(value); }
68 template<
typename TunnelArnT = Aws::String>
88 template<
typename SourceConnectionStateT = ConnectionState>
89 void SetSourceConnectionState(SourceConnectionStateT&& value) { m_sourceConnectionStateHasBeenSet =
true; m_sourceConnectionState = std::forward<SourceConnectionStateT>(value); }
90 template<
typename SourceConnectionStateT = ConnectionState>
100 template<
typename DestinationConnectionStateT = ConnectionState>
101 void SetDestinationConnectionState(DestinationConnectionStateT&& value) { m_destinationConnectionStateHasBeenSet =
true; m_destinationConnectionState = std::forward<DestinationConnectionStateT>(value); }
102 template<
typename DestinationConnectionStateT = ConnectionState>
112 template<
typename DescriptionT = Aws::String>
113 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
114 template<
typename DescriptionT = Aws::String>
126 template<
typename DestinationConfigT = DestinationConfig>
127 void SetDestinationConfig(DestinationConfigT&& value) { m_destinationConfigHasBeenSet =
true; m_destinationConfig = std::forward<DestinationConfigT>(value); }
128 template<
typename DestinationConfigT = DestinationConfig>
138 template<
typename TimeoutConfigT = TimeoutConfig>
139 void SetTimeoutConfig(TimeoutConfigT&& value) { m_timeoutConfigHasBeenSet =
true; m_timeoutConfig = std::forward<TimeoutConfigT>(value); }
140 template<
typename TimeoutConfigT = TimeoutConfig>
150 template<
typename TagsT = Aws::Vector<Tag>>
151 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
152 template<
typename TagsT = Aws::Vector<Tag>>
154 template<
typename TagsT = Tag>
155 Tunnel&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
164 template<
typename CreatedAtT = Aws::Utils::DateTime>
165 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet =
true; m_createdAt = std::forward<CreatedAtT>(value); }
166 template<
typename CreatedAtT = Aws::Utils::DateTime>
176 template<
typename LastUpdatedAtT = Aws::Utils::DateTime>
177 void SetLastUpdatedAt(LastUpdatedAtT&& value) { m_lastUpdatedAtHasBeenSet =
true; m_lastUpdatedAt = std::forward<LastUpdatedAtT>(value); }
178 template<
typename LastUpdatedAtT = Aws::Utils::DateTime>
184 bool m_tunnelIdHasBeenSet =
false;
187 bool m_tunnelArnHasBeenSet =
false;
190 bool m_statusHasBeenSet =
false;
192 ConnectionState m_sourceConnectionState;
193 bool m_sourceConnectionStateHasBeenSet =
false;
195 ConnectionState m_destinationConnectionState;
196 bool m_destinationConnectionStateHasBeenSet =
false;
199 bool m_descriptionHasBeenSet =
false;
201 DestinationConfig m_destinationConfig;
202 bool m_destinationConfigHasBeenSet =
false;
204 TimeoutConfig m_timeoutConfig;
205 bool m_timeoutConfigHasBeenSet =
false;
208 bool m_tagsHasBeenSet =
false;
211 bool m_createdAtHasBeenSet =
false;
214 bool m_lastUpdatedAtHasBeenSet =
false;
const Aws::String & GetTunnelId() const
const Aws::Utils::DateTime & GetLastUpdatedAt() const
void SetDestinationConfig(DestinationConfigT &&value)
bool StatusHasBeenSet() const
const Aws::Utils::DateTime & GetCreatedAt() const
void SetDestinationConnectionState(DestinationConnectionStateT &&value)
const Aws::String & GetDescription() const
Tunnel & WithTimeoutConfig(TimeoutConfigT &&value)
bool TimeoutConfigHasBeenSet() const
bool TagsHasBeenSet() const
const ConnectionState & GetDestinationConnectionState() const
void SetTimeoutConfig(TimeoutConfigT &&value)
bool CreatedAtHasBeenSet() const
void SetTunnelArn(TunnelArnT &&value)
Tunnel & WithStatus(TunnelStatus value)
AWS_IOTSECURETUNNELING_API Tunnel(Aws::Utils::Json::JsonView jsonValue)
void SetCreatedAt(CreatedAtT &&value)
AWS_IOTSECURETUNNELING_API Tunnel()=default
AWS_IOTSECURETUNNELING_API Tunnel & operator=(Aws::Utils::Json::JsonView jsonValue)
Tunnel & WithLastUpdatedAt(LastUpdatedAtT &&value)
Tunnel & WithTags(TagsT &&value)
const DestinationConfig & GetDestinationConfig() const
void SetDescription(DescriptionT &&value)
bool TunnelArnHasBeenSet() const
Tunnel & WithDestinationConfig(DestinationConfigT &&value)
Tunnel & WithDescription(DescriptionT &&value)
bool TunnelIdHasBeenSet() const
Tunnel & WithTunnelId(TunnelIdT &&value)
void SetTunnelId(TunnelIdT &&value)
void SetStatus(TunnelStatus value)
bool DestinationConfigHasBeenSet() const
void SetSourceConnectionState(SourceConnectionStateT &&value)
bool DestinationConnectionStateHasBeenSet() const
Tunnel & WithCreatedAt(CreatedAtT &&value)
Tunnel & WithTunnelArn(TunnelArnT &&value)
const Aws::Vector< Tag > & GetTags() const
Tunnel & WithSourceConnectionState(SourceConnectionStateT &&value)
AWS_IOTSECURETUNNELING_API Aws::Utils::Json::JsonValue Jsonize() const
void SetLastUpdatedAt(LastUpdatedAtT &&value)
const ConnectionState & GetSourceConnectionState() const
bool LastUpdatedAtHasBeenSet() const
bool DescriptionHasBeenSet() const
bool SourceConnectionStateHasBeenSet() const
Tunnel & AddTags(TagsT &&value)
const TimeoutConfig & GetTimeoutConfig() const
const Aws::String & GetTunnelArn() const
void SetTags(TagsT &&value)
Tunnel & WithDestinationConnectionState(DestinationConnectionStateT &&value)
TunnelStatus GetStatus() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue