AWS SDK for C++

AWS SDK for C++ Version 1.11.744

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
55 inline const DeploymentCircuitBreaker& GetDeploymentCircuitBreaker() const { return m_deploymentCircuitBreaker; }
56 inline bool DeploymentCircuitBreakerHasBeenSet() const { return m_deploymentCircuitBreakerHasBeenSet; }
57 template <typename DeploymentCircuitBreakerT = DeploymentCircuitBreaker>
58 void SetDeploymentCircuitBreaker(DeploymentCircuitBreakerT&& value) {
59 m_deploymentCircuitBreakerHasBeenSet = true;
60 m_deploymentCircuitBreaker = std::forward<DeploymentCircuitBreakerT>(value);
61 }
62 template <typename DeploymentCircuitBreakerT = DeploymentCircuitBreaker>
63 DeploymentConfiguration& WithDeploymentCircuitBreaker(DeploymentCircuitBreakerT&& value) {
64 SetDeploymentCircuitBreaker(std::forward<DeploymentCircuitBreakerT>(value));
65 return *this;
66 }
68
70
103 inline int GetMaximumPercent() const { return m_maximumPercent; }
104 inline bool MaximumPercentHasBeenSet() const { return m_maximumPercentHasBeenSet; }
105 inline void SetMaximumPercent(int value) {
106 m_maximumPercentHasBeenSet = true;
107 m_maximumPercent = value;
108 }
110 SetMaximumPercent(value);
111 return *this;
112 }
114
116
175 inline int GetMinimumHealthyPercent() const { return m_minimumHealthyPercent; }
176 inline bool MinimumHealthyPercentHasBeenSet() const { return m_minimumHealthyPercentHasBeenSet; }
177 inline void SetMinimumHealthyPercent(int value) {
178 m_minimumHealthyPercentHasBeenSet = true;
179 m_minimumHealthyPercent = value;
180 }
183 return *this;
184 }
186
188
191 inline const DeploymentAlarms& GetAlarms() const { return m_alarms; }
192 inline bool AlarmsHasBeenSet() const { return m_alarmsHasBeenSet; }
193 template <typename AlarmsT = DeploymentAlarms>
194 void SetAlarms(AlarmsT&& value) {
195 m_alarmsHasBeenSet = true;
196 m_alarms = std::forward<AlarmsT>(value);
197 }
198 template <typename AlarmsT = DeploymentAlarms>
200 SetAlarms(std::forward<AlarmsT>(value));
201 return *this;
202 }
204
206
230 inline DeploymentStrategy GetStrategy() const { return m_strategy; }
231 inline bool StrategyHasBeenSet() const { return m_strategyHasBeenSet; }
232 inline void SetStrategy(DeploymentStrategy value) {
233 m_strategyHasBeenSet = true;
234 m_strategy = value;
235 }
237 SetStrategy(value);
238 return *this;
239 }
241
243
248 inline int GetBakeTimeInMinutes() const { return m_bakeTimeInMinutes; }
249 inline bool BakeTimeInMinutesHasBeenSet() const { return m_bakeTimeInMinutesHasBeenSet; }
250 inline void SetBakeTimeInMinutes(int value) {
251 m_bakeTimeInMinutesHasBeenSet = true;
252 m_bakeTimeInMinutes = value;
253 }
256 return *this;
257 }
259
261
265 inline const Aws::Vector<DeploymentLifecycleHook>& GetLifecycleHooks() const { return m_lifecycleHooks; }
266 inline bool LifecycleHooksHasBeenSet() const { return m_lifecycleHooksHasBeenSet; }
267 template <typename LifecycleHooksT = Aws::Vector<DeploymentLifecycleHook>>
268 void SetLifecycleHooks(LifecycleHooksT&& value) {
269 m_lifecycleHooksHasBeenSet = true;
270 m_lifecycleHooks = std::forward<LifecycleHooksT>(value);
271 }
272 template <typename LifecycleHooksT = Aws::Vector<DeploymentLifecycleHook>>
273 DeploymentConfiguration& WithLifecycleHooks(LifecycleHooksT&& value) {
274 SetLifecycleHooks(std::forward<LifecycleHooksT>(value));
275 return *this;
276 }
277 template <typename LifecycleHooksT = DeploymentLifecycleHook>
278 DeploymentConfiguration& AddLifecycleHooks(LifecycleHooksT&& value) {
279 m_lifecycleHooksHasBeenSet = true;
280 m_lifecycleHooks.emplace_back(std::forward<LifecycleHooksT>(value));
281 return *this;
282 }
284
286
292 inline const LinearConfiguration& GetLinearConfiguration() const { return m_linearConfiguration; }
293 inline bool LinearConfigurationHasBeenSet() const { return m_linearConfigurationHasBeenSet; }
294 template <typename LinearConfigurationT = LinearConfiguration>
295 void SetLinearConfiguration(LinearConfigurationT&& value) {
296 m_linearConfigurationHasBeenSet = true;
297 m_linearConfiguration = std::forward<LinearConfigurationT>(value);
298 }
299 template <typename LinearConfigurationT = LinearConfiguration>
300 DeploymentConfiguration& WithLinearConfiguration(LinearConfigurationT&& value) {
301 SetLinearConfiguration(std::forward<LinearConfigurationT>(value));
302 return *this;
303 }
305
307
313 inline const CanaryConfiguration& GetCanaryConfiguration() const { return m_canaryConfiguration; }
314 inline bool CanaryConfigurationHasBeenSet() const { return m_canaryConfigurationHasBeenSet; }
315 template <typename CanaryConfigurationT = CanaryConfiguration>
316 void SetCanaryConfiguration(CanaryConfigurationT&& value) {
317 m_canaryConfigurationHasBeenSet = true;
318 m_canaryConfiguration = std::forward<CanaryConfigurationT>(value);
319 }
320 template <typename CanaryConfigurationT = CanaryConfiguration>
321 DeploymentConfiguration& WithCanaryConfiguration(CanaryConfigurationT&& value) {
322 SetCanaryConfiguration(std::forward<CanaryConfigurationT>(value));
323 return *this;
324 }
326 private:
327 DeploymentCircuitBreaker m_deploymentCircuitBreaker;
328
329 int m_maximumPercent{0};
330
331 int m_minimumHealthyPercent{0};
332
333 DeploymentAlarms m_alarms;
334
336
337 int m_bakeTimeInMinutes{0};
338
340
341 LinearConfiguration m_linearConfiguration;
342
343 CanaryConfiguration m_canaryConfiguration;
344 bool m_deploymentCircuitBreakerHasBeenSet = false;
345 bool m_maximumPercentHasBeenSet = false;
346 bool m_minimumHealthyPercentHasBeenSet = false;
347 bool m_alarmsHasBeenSet = false;
348 bool m_strategyHasBeenSet = false;
349 bool m_bakeTimeInMinutesHasBeenSet = false;
350 bool m_lifecycleHooksHasBeenSet = false;
351 bool m_linearConfigurationHasBeenSet = false;
352 bool m_canaryConfigurationHasBeenSet = false;
353};
354
355} // namespace Model
356} // namespace ECS
357} // 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