AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
TrafficRoutingConfig.h
1
6#pragma once
7#include <aws/codedeploy/CodeDeploy_EXPORTS.h>
8#include <aws/codedeploy/model/TrafficRoutingType.h>
9#include <aws/codedeploy/model/TimeBasedCanary.h>
10#include <aws/codedeploy/model/TimeBasedLinear.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace CodeDeploy
24{
25namespace Model
26{
27
37 {
38 public:
39 AWS_CODEDEPLOY_API TrafficRoutingConfig() = default;
40 AWS_CODEDEPLOY_API TrafficRoutingConfig(Aws::Utils::Json::JsonView jsonValue);
42 AWS_CODEDEPLOY_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
50 inline TrafficRoutingType GetType() const { return m_type; }
51 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
52 inline void SetType(TrafficRoutingType value) { m_typeHasBeenSet = true; m_type = value; }
53 inline TrafficRoutingConfig& WithType(TrafficRoutingType value) { SetType(value); return *this;}
55
57
63 inline const TimeBasedCanary& GetTimeBasedCanary() const { return m_timeBasedCanary; }
64 inline bool TimeBasedCanaryHasBeenSet() const { return m_timeBasedCanaryHasBeenSet; }
65 template<typename TimeBasedCanaryT = TimeBasedCanary>
66 void SetTimeBasedCanary(TimeBasedCanaryT&& value) { m_timeBasedCanaryHasBeenSet = true; m_timeBasedCanary = std::forward<TimeBasedCanaryT>(value); }
67 template<typename TimeBasedCanaryT = TimeBasedCanary>
68 TrafficRoutingConfig& WithTimeBasedCanary(TimeBasedCanaryT&& value) { SetTimeBasedCanary(std::forward<TimeBasedCanaryT>(value)); return *this;}
70
72
78 inline const TimeBasedLinear& GetTimeBasedLinear() const { return m_timeBasedLinear; }
79 inline bool TimeBasedLinearHasBeenSet() const { return m_timeBasedLinearHasBeenSet; }
80 template<typename TimeBasedLinearT = TimeBasedLinear>
81 void SetTimeBasedLinear(TimeBasedLinearT&& value) { m_timeBasedLinearHasBeenSet = true; m_timeBasedLinear = std::forward<TimeBasedLinearT>(value); }
82 template<typename TimeBasedLinearT = TimeBasedLinear>
83 TrafficRoutingConfig& WithTimeBasedLinear(TimeBasedLinearT&& value) { SetTimeBasedLinear(std::forward<TimeBasedLinearT>(value)); return *this;}
85 private:
86
88 bool m_typeHasBeenSet = false;
89
90 TimeBasedCanary m_timeBasedCanary;
91 bool m_timeBasedCanaryHasBeenSet = false;
92
93 TimeBasedLinear m_timeBasedLinear;
94 bool m_timeBasedLinearHasBeenSet = false;
95 };
96
97} // namespace Model
98} // namespace CodeDeploy
99} // namespace Aws
AWS_CODEDEPLOY_API TrafficRoutingConfig(Aws::Utils::Json::JsonView jsonValue)
void SetTimeBasedLinear(TimeBasedLinearT &&value)
AWS_CODEDEPLOY_API TrafficRoutingConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
const TimeBasedCanary & GetTimeBasedCanary() const
const TimeBasedLinear & GetTimeBasedLinear() const
AWS_CODEDEPLOY_API Aws::Utils::Json::JsonValue Jsonize() const
TrafficRoutingConfig & WithTimeBasedLinear(TimeBasedLinearT &&value)
TrafficRoutingConfig & WithTimeBasedCanary(TimeBasedCanaryT &&value)
AWS_CODEDEPLOY_API TrafficRoutingConfig()=default
TrafficRoutingConfig & WithType(TrafficRoutingType value)
void SetTimeBasedCanary(TimeBasedCanaryT &&value)
Aws::Utils::Json::JsonValue JsonValue