AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
TrafficRoutingConfig.h
1
6#pragma once
7#include <aws/sagemaker/SageMaker_EXPORTS.h>
8#include <aws/sagemaker/model/CapacitySize.h>
9#include <aws/sagemaker/model/TrafficRoutingConfigType.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace SageMaker {
21namespace Model {
22
30 public:
31 AWS_SAGEMAKER_API TrafficRoutingConfig() = default;
34 AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
46 inline TrafficRoutingConfigType GetType() const { return m_type; }
47 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
48 inline void SetType(TrafficRoutingConfigType value) {
49 m_typeHasBeenSet = true;
50 m_type = value;
51 }
53 SetType(value);
54 return *this;
55 }
57
59
63 inline int GetWaitIntervalInSeconds() const { return m_waitIntervalInSeconds; }
64 inline bool WaitIntervalInSecondsHasBeenSet() const { return m_waitIntervalInSecondsHasBeenSet; }
65 inline void SetWaitIntervalInSeconds(int value) {
66 m_waitIntervalInSecondsHasBeenSet = true;
67 m_waitIntervalInSeconds = value;
68 }
71 return *this;
72 }
74
76
81 inline const CapacitySize& GetCanarySize() const { return m_canarySize; }
82 inline bool CanarySizeHasBeenSet() const { return m_canarySizeHasBeenSet; }
83 template <typename CanarySizeT = CapacitySize>
84 void SetCanarySize(CanarySizeT&& value) {
85 m_canarySizeHasBeenSet = true;
86 m_canarySize = std::forward<CanarySizeT>(value);
87 }
88 template <typename CanarySizeT = CapacitySize>
89 TrafficRoutingConfig& WithCanarySize(CanarySizeT&& value) {
90 SetCanarySize(std::forward<CanarySizeT>(value));
91 return *this;
92 }
94
96
100 inline const CapacitySize& GetLinearStepSize() const { return m_linearStepSize; }
101 inline bool LinearStepSizeHasBeenSet() const { return m_linearStepSizeHasBeenSet; }
102 template <typename LinearStepSizeT = CapacitySize>
103 void SetLinearStepSize(LinearStepSizeT&& value) {
104 m_linearStepSizeHasBeenSet = true;
105 m_linearStepSize = std::forward<LinearStepSizeT>(value);
106 }
107 template <typename LinearStepSizeT = CapacitySize>
108 TrafficRoutingConfig& WithLinearStepSize(LinearStepSizeT&& value) {
109 SetLinearStepSize(std::forward<LinearStepSizeT>(value));
110 return *this;
111 }
113 private:
115
116 int m_waitIntervalInSeconds{0};
117
118 CapacitySize m_canarySize;
119
120 CapacitySize m_linearStepSize;
121 bool m_typeHasBeenSet = false;
122 bool m_waitIntervalInSecondsHasBeenSet = false;
123 bool m_canarySizeHasBeenSet = false;
124 bool m_linearStepSizeHasBeenSet = false;
125};
126
127} // namespace Model
128} // namespace SageMaker
129} // namespace Aws
TrafficRoutingConfig & WithLinearStepSize(LinearStepSizeT &&value)
AWS_SAGEMAKER_API TrafficRoutingConfig(Aws::Utils::Json::JsonView jsonValue)
AWS_SAGEMAKER_API TrafficRoutingConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
TrafficRoutingConfig & WithCanarySize(CanarySizeT &&value)
void SetType(TrafficRoutingConfigType value)
AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const
TrafficRoutingConfig & WithType(TrafficRoutingConfigType value)
TrafficRoutingConfig & WithWaitIntervalInSeconds(int value)
AWS_SAGEMAKER_API TrafficRoutingConfig()=default
Aws::Utils::Json::JsonValue JsonValue