AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
DeploymentConfiguration.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/ecs/ECS_EXPORTS.h>
9#include <aws/ecs/model/CanaryConfiguration.h>
10#include <aws/ecs/model/DeploymentAlarms.h>
11#include <aws/ecs/model/DeploymentCircuitBreaker.h>
12#include <aws/ecs/model/DeploymentLifecycleHook.h>
13#include <aws/ecs/model/DeploymentStrategy.h>
14#include <aws/ecs/model/LinearConfiguration.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace ECS {
26namespace Model {
27
36 public:
37 AWS_ECS_API DeploymentConfiguration() = default;
41
43
56 inline const DeploymentCircuitBreaker& GetDeploymentCircuitBreaker() const { return m_deploymentCircuitBreaker; }
57 inline bool DeploymentCircuitBreakerHasBeenSet() const { return m_deploymentCircuitBreakerHasBeenSet; }
58 template <typename DeploymentCircuitBreakerT = DeploymentCircuitBreaker>
59 void SetDeploymentCircuitBreaker(DeploymentCircuitBreakerT&& value) {
60 m_deploymentCircuitBreakerHasBeenSet = true;
61 m_deploymentCircuitBreaker = std::forward<DeploymentCircuitBreakerT>(value);
62 }
63 template <typename DeploymentCircuitBreakerT = DeploymentCircuitBreaker>
64 DeploymentConfiguration& WithDeploymentCircuitBreaker(DeploymentCircuitBreakerT&& value) {
65 SetDeploymentCircuitBreaker(std::forward<DeploymentCircuitBreakerT>(value));
66 return *this;
67 }
69
71
104 inline int GetMaximumPercent() const { return m_maximumPercent; }
105 inline bool MaximumPercentHasBeenSet() const { return m_maximumPercentHasBeenSet; }
106 inline void SetMaximumPercent(int value) {
107 m_maximumPercentHasBeenSet = true;
108 m_maximumPercent = value;
109 }
111 SetMaximumPercent(value);
112 return *this;
113 }
115
117
176 inline int GetMinimumHealthyPercent() const { return m_minimumHealthyPercent; }
177 inline bool MinimumHealthyPercentHasBeenSet() const { return m_minimumHealthyPercentHasBeenSet; }
178 inline void SetMinimumHealthyPercent(int value) {
179 m_minimumHealthyPercentHasBeenSet = true;
180 m_minimumHealthyPercent = value;
181 }
184 return *this;
185 }
187
189
192 inline const DeploymentAlarms& GetAlarms() const { return m_alarms; }
193 inline bool AlarmsHasBeenSet() const { return m_alarmsHasBeenSet; }
194 template <typename AlarmsT = DeploymentAlarms>
195 void SetAlarms(AlarmsT&& value) {
196 m_alarmsHasBeenSet = true;
197 m_alarms = std::forward<AlarmsT>(value);
198 }
199 template <typename AlarmsT = DeploymentAlarms>
201 SetAlarms(std::forward<AlarmsT>(value));
202 return *this;
203 }
205
207
231 inline DeploymentStrategy GetStrategy() const { return m_strategy; }
232 inline bool StrategyHasBeenSet() const { return m_strategyHasBeenSet; }
233 inline void SetStrategy(DeploymentStrategy value) {
234 m_strategyHasBeenSet = true;
235 m_strategy = value;
236 }
238 SetStrategy(value);
239 return *this;
240 }
242
244
249 inline int GetBakeTimeInMinutes() const { return m_bakeTimeInMinutes; }
250 inline bool BakeTimeInMinutesHasBeenSet() const { return m_bakeTimeInMinutesHasBeenSet; }
251 inline void SetBakeTimeInMinutes(int value) {
252 m_bakeTimeInMinutesHasBeenSet = true;
253 m_bakeTimeInMinutes = value;
254 }
257 return *this;
258 }
260
262
266 inline const Aws::Vector<DeploymentLifecycleHook>& GetLifecycleHooks() const { return m_lifecycleHooks; }
267 inline bool LifecycleHooksHasBeenSet() const { return m_lifecycleHooksHasBeenSet; }
268 template <typename LifecycleHooksT = Aws::Vector<DeploymentLifecycleHook>>
269 void SetLifecycleHooks(LifecycleHooksT&& value) {
270 m_lifecycleHooksHasBeenSet = true;
271 m_lifecycleHooks = std::forward<LifecycleHooksT>(value);
272 }
273 template <typename LifecycleHooksT = Aws::Vector<DeploymentLifecycleHook>>
274 DeploymentConfiguration& WithLifecycleHooks(LifecycleHooksT&& value) {
275 SetLifecycleHooks(std::forward<LifecycleHooksT>(value));
276 return *this;
277 }
278 template <typename LifecycleHooksT = DeploymentLifecycleHook>
279 DeploymentConfiguration& AddLifecycleHooks(LifecycleHooksT&& value) {
280 m_lifecycleHooksHasBeenSet = true;
281 m_lifecycleHooks.emplace_back(std::forward<LifecycleHooksT>(value));
282 return *this;
283 }
285
287
293 inline const LinearConfiguration& GetLinearConfiguration() const { return m_linearConfiguration; }
294 inline bool LinearConfigurationHasBeenSet() const { return m_linearConfigurationHasBeenSet; }
295 template <typename LinearConfigurationT = LinearConfiguration>
296 void SetLinearConfiguration(LinearConfigurationT&& value) {
297 m_linearConfigurationHasBeenSet = true;
298 m_linearConfiguration = std::forward<LinearConfigurationT>(value);
299 }
300 template <typename LinearConfigurationT = LinearConfiguration>
301 DeploymentConfiguration& WithLinearConfiguration(LinearConfigurationT&& value) {
302 SetLinearConfiguration(std::forward<LinearConfigurationT>(value));
303 return *this;
304 }
306
308
314 inline const CanaryConfiguration& GetCanaryConfiguration() const { return m_canaryConfiguration; }
315 inline bool CanaryConfigurationHasBeenSet() const { return m_canaryConfigurationHasBeenSet; }
316 template <typename CanaryConfigurationT = CanaryConfiguration>
317 void SetCanaryConfiguration(CanaryConfigurationT&& value) {
318 m_canaryConfigurationHasBeenSet = true;
319 m_canaryConfiguration = std::forward<CanaryConfigurationT>(value);
320 }
321 template <typename CanaryConfigurationT = CanaryConfiguration>
322 DeploymentConfiguration& WithCanaryConfiguration(CanaryConfigurationT&& value) {
323 SetCanaryConfiguration(std::forward<CanaryConfigurationT>(value));
324 return *this;
325 }
327 private:
328 DeploymentCircuitBreaker m_deploymentCircuitBreaker;
329
330 int m_maximumPercent{0};
331
332 int m_minimumHealthyPercent{0};
333
334 DeploymentAlarms m_alarms;
335
337
338 int m_bakeTimeInMinutes{0};
339
341
342 LinearConfiguration m_linearConfiguration;
343
344 CanaryConfiguration m_canaryConfiguration;
345 bool m_deploymentCircuitBreakerHasBeenSet = false;
346 bool m_maximumPercentHasBeenSet = false;
347 bool m_minimumHealthyPercentHasBeenSet = false;
348 bool m_alarmsHasBeenSet = false;
349 bool m_strategyHasBeenSet = false;
350 bool m_bakeTimeInMinutesHasBeenSet = false;
351 bool m_lifecycleHooksHasBeenSet = false;
352 bool m_linearConfigurationHasBeenSet = false;
353 bool m_canaryConfigurationHasBeenSet = false;
354};
355
356} // namespace Model
357} // namespace ECS
358} // namespace Aws
DeploymentConfiguration & WithBakeTimeInMinutes(int value)
DeploymentConfiguration & WithMaximumPercent(int value)
DeploymentConfiguration & WithAlarms(AlarmsT &&value)
const Aws::Vector< DeploymentLifecycleHook > & GetLifecycleHooks() const
void SetDeploymentCircuitBreaker(DeploymentCircuitBreakerT &&value)
void SetCanaryConfiguration(CanaryConfigurationT &&value)
AWS_ECS_API DeploymentConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_ECS_API DeploymentConfiguration()=default
DeploymentConfiguration & AddLifecycleHooks(LifecycleHooksT &&value)
DeploymentConfiguration & WithStrategy(DeploymentStrategy value)
DeploymentConfiguration & WithDeploymentCircuitBreaker(DeploymentCircuitBreakerT &&value)
DeploymentConfiguration & WithLifecycleHooks(LifecycleHooksT &&value)
AWS_ECS_API DeploymentConfiguration(Aws::Utils::Json::JsonView jsonValue)
DeploymentConfiguration & WithMinimumHealthyPercent(int value)
void SetLinearConfiguration(LinearConfigurationT &&value)
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
const DeploymentCircuitBreaker & GetDeploymentCircuitBreaker() const
DeploymentConfiguration & WithCanaryConfiguration(CanaryConfigurationT &&value)
DeploymentConfiguration & WithLinearConfiguration(LinearConfigurationT &&value)
const LinearConfiguration & GetLinearConfiguration() const
const CanaryConfiguration & GetCanaryConfiguration() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue