AWS SDK for C++

AWS SDK for C++ Version 1.11.891

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/DeploymentEarlySuccessCriteria.h>
13#include <aws/ecs/model/DeploymentLifecycleHook.h>
14#include <aws/ecs/model/DeploymentStrategy.h>
15#include <aws/ecs/model/LinearConfiguration.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace ECS {
27namespace Model {
28
37 public:
38 AWS_ECS_API DeploymentConfiguration() = default;
42
44
57 inline const DeploymentCircuitBreaker& GetDeploymentCircuitBreaker() const { return m_deploymentCircuitBreaker; }
58 inline bool DeploymentCircuitBreakerHasBeenSet() const { return m_deploymentCircuitBreakerHasBeenSet; }
59 template <typename DeploymentCircuitBreakerT = DeploymentCircuitBreaker>
60 void SetDeploymentCircuitBreaker(DeploymentCircuitBreakerT&& value) {
61 m_deploymentCircuitBreakerHasBeenSet = true;
62 m_deploymentCircuitBreaker = std::forward<DeploymentCircuitBreakerT>(value);
63 }
64 template <typename DeploymentCircuitBreakerT = DeploymentCircuitBreaker>
65 DeploymentConfiguration& WithDeploymentCircuitBreaker(DeploymentCircuitBreakerT&& value) {
66 SetDeploymentCircuitBreaker(std::forward<DeploymentCircuitBreakerT>(value));
67 return *this;
68 }
70
72
105 inline int GetMaximumPercent() const { return m_maximumPercent; }
106 inline bool MaximumPercentHasBeenSet() const { return m_maximumPercentHasBeenSet; }
107 inline void SetMaximumPercent(int value) {
108 m_maximumPercentHasBeenSet = true;
109 m_maximumPercent = value;
110 }
112 SetMaximumPercent(value);
113 return *this;
114 }
116
118
177 inline int GetMinimumHealthyPercent() const { return m_minimumHealthyPercent; }
178 inline bool MinimumHealthyPercentHasBeenSet() const { return m_minimumHealthyPercentHasBeenSet; }
179 inline void SetMinimumHealthyPercent(int value) {
180 m_minimumHealthyPercentHasBeenSet = true;
181 m_minimumHealthyPercent = value;
182 }
185 return *this;
186 }
188
190
193 inline const DeploymentAlarms& GetAlarms() const { return m_alarms; }
194 inline bool AlarmsHasBeenSet() const { return m_alarmsHasBeenSet; }
195 template <typename AlarmsT = DeploymentAlarms>
196 void SetAlarms(AlarmsT&& value) {
197 m_alarmsHasBeenSet = true;
198 m_alarms = std::forward<AlarmsT>(value);
199 }
200 template <typename AlarmsT = DeploymentAlarms>
202 SetAlarms(std::forward<AlarmsT>(value));
203 return *this;
204 }
206
208
232 inline DeploymentStrategy GetStrategy() const { return m_strategy; }
233 inline bool StrategyHasBeenSet() const { return m_strategyHasBeenSet; }
234 inline void SetStrategy(DeploymentStrategy value) {
235 m_strategyHasBeenSet = true;
236 m_strategy = value;
237 }
239 SetStrategy(value);
240 return *this;
241 }
243
245
250 inline int GetBakeTimeInMinutes() const { return m_bakeTimeInMinutes; }
251 inline bool BakeTimeInMinutesHasBeenSet() const { return m_bakeTimeInMinutesHasBeenSet; }
252 inline void SetBakeTimeInMinutes(int value) {
253 m_bakeTimeInMinutesHasBeenSet = true;
254 m_bakeTimeInMinutes = value;
255 }
258 return *this;
259 }
261
263
267 inline const Aws::Vector<DeploymentLifecycleHook>& GetLifecycleHooks() const { return m_lifecycleHooks; }
268 inline bool LifecycleHooksHasBeenSet() const { return m_lifecycleHooksHasBeenSet; }
269 template <typename LifecycleHooksT = Aws::Vector<DeploymentLifecycleHook>>
270 void SetLifecycleHooks(LifecycleHooksT&& value) {
271 m_lifecycleHooksHasBeenSet = true;
272 m_lifecycleHooks = std::forward<LifecycleHooksT>(value);
273 }
274 template <typename LifecycleHooksT = Aws::Vector<DeploymentLifecycleHook>>
275 DeploymentConfiguration& WithLifecycleHooks(LifecycleHooksT&& value) {
276 SetLifecycleHooks(std::forward<LifecycleHooksT>(value));
277 return *this;
278 }
279 template <typename LifecycleHooksT = DeploymentLifecycleHook>
280 DeploymentConfiguration& AddLifecycleHooks(LifecycleHooksT&& value) {
281 m_lifecycleHooksHasBeenSet = true;
282 m_lifecycleHooks.emplace_back(std::forward<LifecycleHooksT>(value));
283 return *this;
284 }
286
288
294 inline const LinearConfiguration& GetLinearConfiguration() const { return m_linearConfiguration; }
295 inline bool LinearConfigurationHasBeenSet() const { return m_linearConfigurationHasBeenSet; }
296 template <typename LinearConfigurationT = LinearConfiguration>
297 void SetLinearConfiguration(LinearConfigurationT&& value) {
298 m_linearConfigurationHasBeenSet = true;
299 m_linearConfiguration = std::forward<LinearConfigurationT>(value);
300 }
301 template <typename LinearConfigurationT = LinearConfiguration>
302 DeploymentConfiguration& WithLinearConfiguration(LinearConfigurationT&& value) {
303 SetLinearConfiguration(std::forward<LinearConfigurationT>(value));
304 return *this;
305 }
307
309
315 inline const CanaryConfiguration& GetCanaryConfiguration() const { return m_canaryConfiguration; }
316 inline bool CanaryConfigurationHasBeenSet() const { return m_canaryConfigurationHasBeenSet; }
317 template <typename CanaryConfigurationT = CanaryConfiguration>
318 void SetCanaryConfiguration(CanaryConfigurationT&& value) {
319 m_canaryConfigurationHasBeenSet = true;
320 m_canaryConfiguration = std::forward<CanaryConfigurationT>(value);
321 }
322 template <typename CanaryConfigurationT = CanaryConfiguration>
323 DeploymentConfiguration& WithCanaryConfiguration(CanaryConfigurationT&& value) {
324 SetCanaryConfiguration(std::forward<CanaryConfigurationT>(value));
325 return *this;
326 }
328
330
336 inline const DeploymentEarlySuccessCriteria& GetEarlySuccessCriteria() const { return m_earlySuccessCriteria; }
337 inline bool EarlySuccessCriteriaHasBeenSet() const { return m_earlySuccessCriteriaHasBeenSet; }
338 template <typename EarlySuccessCriteriaT = DeploymentEarlySuccessCriteria>
339 void SetEarlySuccessCriteria(EarlySuccessCriteriaT&& value) {
340 m_earlySuccessCriteriaHasBeenSet = true;
341 m_earlySuccessCriteria = std::forward<EarlySuccessCriteriaT>(value);
342 }
343 template <typename EarlySuccessCriteriaT = DeploymentEarlySuccessCriteria>
344 DeploymentConfiguration& WithEarlySuccessCriteria(EarlySuccessCriteriaT&& value) {
345 SetEarlySuccessCriteria(std::forward<EarlySuccessCriteriaT>(value));
346 return *this;
347 }
349 private:
350 DeploymentCircuitBreaker m_deploymentCircuitBreaker;
351
352 int m_maximumPercent{0};
353
354 int m_minimumHealthyPercent{0};
355
356 DeploymentAlarms m_alarms;
357
359
360 int m_bakeTimeInMinutes{0};
361
363
364 LinearConfiguration m_linearConfiguration;
365
366 CanaryConfiguration m_canaryConfiguration;
367
368 DeploymentEarlySuccessCriteria m_earlySuccessCriteria;
369 bool m_deploymentCircuitBreakerHasBeenSet = false;
370 bool m_maximumPercentHasBeenSet = false;
371 bool m_minimumHealthyPercentHasBeenSet = false;
372 bool m_alarmsHasBeenSet = false;
373 bool m_strategyHasBeenSet = false;
374 bool m_bakeTimeInMinutesHasBeenSet = false;
375 bool m_lifecycleHooksHasBeenSet = false;
376 bool m_linearConfigurationHasBeenSet = false;
377 bool m_canaryConfigurationHasBeenSet = false;
378 bool m_earlySuccessCriteriaHasBeenSet = false;
379};
380
381} // namespace Model
382} // namespace ECS
383} // namespace Aws
const DeploymentEarlySuccessCriteria & GetEarlySuccessCriteria() const
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)
void SetEarlySuccessCriteria(EarlySuccessCriteriaT &&value)
DeploymentConfiguration & WithLinearConfiguration(LinearConfigurationT &&value)
const LinearConfiguration & GetLinearConfiguration() const
DeploymentConfiguration & WithEarlySuccessCriteria(EarlySuccessCriteriaT &&value)
const CanaryConfiguration & GetCanaryConfiguration() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue