7#include <aws/appmesh/AppMesh_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/appmesh/model/Duration.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/appmesh/model/TcpRetryPolicyEvent.h>
61 template<
typename HttpRetryEventsT = Aws::Vector<Aws::String>>
62 void SetHttpRetryEvents(HttpRetryEventsT&& value) { m_httpRetryEventsHasBeenSet =
true; m_httpRetryEvents = std::forward<HttpRetryEventsT>(value); }
63 template<
typename HttpRetryEventsT = Aws::Vector<Aws::String>>
65 template<
typename HttpRetryEventsT = Aws::String>
66 HttpRetryPolicy&
AddHttpRetryEvents(HttpRetryEventsT&& value) { m_httpRetryEventsHasBeenSet =
true; m_httpRetryEvents.emplace_back(std::forward<HttpRetryEventsT>(value));
return *
this; }
75 inline void SetMaxRetries(
long long value) { m_maxRetriesHasBeenSet =
true; m_maxRetries = value; }
85 template<
typename PerRetryTimeoutT = Duration>
86 void SetPerRetryTimeout(PerRetryTimeoutT&& value) { m_perRetryTimeoutHasBeenSet =
true; m_perRetryTimeout = std::forward<PerRetryTimeoutT>(value); }
87 template<
typename PerRetryTimeoutT = Duration>
99 template<
typename TcpRetryEventsT = Aws::Vector<TcpRetryPolicyEvent>>
100 void SetTcpRetryEvents(TcpRetryEventsT&& value) { m_tcpRetryEventsHasBeenSet =
true; m_tcpRetryEvents = std::forward<TcpRetryEventsT>(value); }
101 template<
typename TcpRetryEventsT = Aws::Vector<TcpRetryPolicyEvent>>
108 bool m_httpRetryEventsHasBeenSet =
false;
110 long long m_maxRetries{0};
111 bool m_maxRetriesHasBeenSet =
false;
113 Duration m_perRetryTimeout;
114 bool m_perRetryTimeoutHasBeenSet =
false;
117 bool m_tcpRetryEventsHasBeenSet =
false;
HttpRetryPolicy & AddHttpRetryEvents(HttpRetryEventsT &&value)
bool HttpRetryEventsHasBeenSet() const
const Aws::Vector< Aws::String > & GetHttpRetryEvents() const
AWS_APPMESH_API HttpRetryPolicy(Aws::Utils::Json::JsonView jsonValue)
void SetPerRetryTimeout(PerRetryTimeoutT &&value)
void SetTcpRetryEvents(TcpRetryEventsT &&value)
AWS_APPMESH_API HttpRetryPolicy & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetMaxRetries(long long value)
HttpRetryPolicy & WithTcpRetryEvents(TcpRetryEventsT &&value)
bool PerRetryTimeoutHasBeenSet() const
AWS_APPMESH_API HttpRetryPolicy()=default
HttpRetryPolicy & WithMaxRetries(long long value)
void SetHttpRetryEvents(HttpRetryEventsT &&value)
const Duration & GetPerRetryTimeout() const
const Aws::Vector< TcpRetryPolicyEvent > & GetTcpRetryEvents() const
HttpRetryPolicy & WithHttpRetryEvents(HttpRetryEventsT &&value)
long long GetMaxRetries() const
HttpRetryPolicy & AddTcpRetryEvents(TcpRetryPolicyEvent value)
bool MaxRetriesHasBeenSet() const
HttpRetryPolicy & WithPerRetryTimeout(PerRetryTimeoutT &&value)
bool TcpRetryEventsHasBeenSet() const
AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue