7#include <aws/appmesh/AppMesh_EXPORTS.h>
8#include <aws/appmesh/model/Duration.h>
9#include <aws/appmesh/model/GrpcRetryPolicyEvent.h>
10#include <aws/appmesh/model/TcpRetryPolicyEvent.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
51 template <
typename GrpcRetryEventsT = Aws::Vector<GrpcRetryPolicyEvent>>
53 m_grpcRetryEventsHasBeenSet =
true;
54 m_grpcRetryEvents = std::forward<GrpcRetryEventsT>(value);
56 template <
typename GrpcRetryEventsT = Aws::Vector<GrpcRetryPolicyEvent>>
62 m_grpcRetryEventsHasBeenSet =
true;
63 m_grpcRetryEvents.push_back(value);
79 template <
typename HttpRetryEventsT = Aws::Vector<Aws::String>>
81 m_httpRetryEventsHasBeenSet =
true;
82 m_httpRetryEvents = std::forward<HttpRetryEventsT>(value);
84 template <
typename HttpRetryEventsT = Aws::Vector<Aws::String>>
89 template <
typename HttpRetryEventsT = Aws::String>
91 m_httpRetryEventsHasBeenSet =
true;
92 m_httpRetryEvents.emplace_back(std::forward<HttpRetryEventsT>(value));
104 m_maxRetriesHasBeenSet =
true;
105 m_maxRetries = value;
119 template <
typename PerRetryTimeoutT = Duration>
121 m_perRetryTimeoutHasBeenSet =
true;
122 m_perRetryTimeout = std::forward<PerRetryTimeoutT>(value);
124 template <
typename PerRetryTimeoutT = Duration>
139 template <
typename TcpRetryEventsT = Aws::Vector<TcpRetryPolicyEvent>>
141 m_tcpRetryEventsHasBeenSet =
true;
142 m_tcpRetryEvents = std::forward<TcpRetryEventsT>(value);
144 template <
typename TcpRetryEventsT = Aws::Vector<TcpRetryPolicyEvent>>
150 m_tcpRetryEventsHasBeenSet =
true;
151 m_tcpRetryEvents.push_back(value);
160 long long m_maxRetries{0};
162 Duration m_perRetryTimeout;
165 bool m_grpcRetryEventsHasBeenSet =
false;
166 bool m_httpRetryEventsHasBeenSet =
false;
167 bool m_maxRetriesHasBeenSet =
false;
168 bool m_perRetryTimeoutHasBeenSet =
false;
169 bool m_tcpRetryEventsHasBeenSet =
false;
GrpcRetryPolicy & AddHttpRetryEvents(HttpRetryEventsT &&value)
void SetTcpRetryEvents(TcpRetryEventsT &&value)
GrpcRetryPolicy & WithGrpcRetryEvents(GrpcRetryEventsT &&value)
void SetHttpRetryEvents(HttpRetryEventsT &&value)
AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const
GrpcRetryPolicy & WithHttpRetryEvents(HttpRetryEventsT &&value)
const Aws::Vector< TcpRetryPolicyEvent > & GetTcpRetryEvents() const
bool HttpRetryEventsHasBeenSet() const
AWS_APPMESH_API GrpcRetryPolicy & operator=(Aws::Utils::Json::JsonView jsonValue)
const Duration & GetPerRetryTimeout() const
AWS_APPMESH_API GrpcRetryPolicy()=default
void SetGrpcRetryEvents(GrpcRetryEventsT &&value)
void SetPerRetryTimeout(PerRetryTimeoutT &&value)
bool PerRetryTimeoutHasBeenSet() const
const Aws::Vector< Aws::String > & GetHttpRetryEvents() const
bool GrpcRetryEventsHasBeenSet() const
long long GetMaxRetries() const
GrpcRetryPolicy & WithPerRetryTimeout(PerRetryTimeoutT &&value)
void SetMaxRetries(long long value)
GrpcRetryPolicy & AddGrpcRetryEvents(GrpcRetryPolicyEvent value)
GrpcRetryPolicy & AddTcpRetryEvents(TcpRetryPolicyEvent value)
bool MaxRetriesHasBeenSet() const
GrpcRetryPolicy & WithTcpRetryEvents(TcpRetryEventsT &&value)
const Aws::Vector< GrpcRetryPolicyEvent > & GetGrpcRetryEvents() const
AWS_APPMESH_API GrpcRetryPolicy(Aws::Utils::Json::JsonView jsonValue)
GrpcRetryPolicy & WithMaxRetries(long long value)
bool TcpRetryEventsHasBeenSet() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue