AWS SDK for C++

AWS SDK for C++ Version 1.11.759

Loading...
Searching...
No Matches
RoutingCriteria.h
1
6#pragma once
7#include <aws/connect/Connect_EXPORTS.h>
8#include <aws/connect/model/Step.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace Connect {
22namespace Model {
23
30 public:
31 AWS_CONNECT_API RoutingCriteria() = default;
32 AWS_CONNECT_API RoutingCriteria(Aws::Utils::Json::JsonView jsonValue);
34 AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
44 inline const Aws::Vector<Step>& GetSteps() const { return m_steps; }
45 inline bool StepsHasBeenSet() const { return m_stepsHasBeenSet; }
46 template <typename StepsT = Aws::Vector<Step>>
47 void SetSteps(StepsT&& value) {
48 m_stepsHasBeenSet = true;
49 m_steps = std::forward<StepsT>(value);
50 }
51 template <typename StepsT = Aws::Vector<Step>>
52 RoutingCriteria& WithSteps(StepsT&& value) {
53 SetSteps(std::forward<StepsT>(value));
54 return *this;
55 }
56 template <typename StepsT = Step>
57 RoutingCriteria& AddSteps(StepsT&& value) {
58 m_stepsHasBeenSet = true;
59 m_steps.emplace_back(std::forward<StepsT>(value));
60 return *this;
61 }
63
65
71 inline const Aws::Utils::DateTime& GetActivationTimestamp() const { return m_activationTimestamp; }
72 inline bool ActivationTimestampHasBeenSet() const { return m_activationTimestampHasBeenSet; }
73 template <typename ActivationTimestampT = Aws::Utils::DateTime>
74 void SetActivationTimestamp(ActivationTimestampT&& value) {
75 m_activationTimestampHasBeenSet = true;
76 m_activationTimestamp = std::forward<ActivationTimestampT>(value);
77 }
78 template <typename ActivationTimestampT = Aws::Utils::DateTime>
79 RoutingCriteria& WithActivationTimestamp(ActivationTimestampT&& value) {
80 SetActivationTimestamp(std::forward<ActivationTimestampT>(value));
81 return *this;
82 }
84
86
89 inline int GetIndex() const { return m_index; }
90 inline bool IndexHasBeenSet() const { return m_indexHasBeenSet; }
91 inline void SetIndex(int value) {
92 m_indexHasBeenSet = true;
93 m_index = value;
94 }
95 inline RoutingCriteria& WithIndex(int value) {
96 SetIndex(value);
97 return *this;
98 }
100 private:
101 Aws::Vector<Step> m_steps;
102
103 Aws::Utils::DateTime m_activationTimestamp{};
104
105 int m_index{0};
106 bool m_stepsHasBeenSet = false;
107 bool m_activationTimestampHasBeenSet = false;
108 bool m_indexHasBeenSet = false;
109};
110
111} // namespace Model
112} // namespace Connect
113} // namespace Aws
AWS_CONNECT_API RoutingCriteria()=default
AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
void SetActivationTimestamp(ActivationTimestampT &&value)
RoutingCriteria & WithActivationTimestamp(ActivationTimestampT &&value)
RoutingCriteria & AddSteps(StepsT &&value)
RoutingCriteria & WithIndex(int value)
RoutingCriteria & WithSteps(StepsT &&value)
const Aws::Vector< Step > & GetSteps() const
AWS_CONNECT_API RoutingCriteria(Aws::Utils::Json::JsonView jsonValue)
const Aws::Utils::DateTime & GetActivationTimestamp() const
AWS_CONNECT_API RoutingCriteria & operator=(Aws::Utils::Json::JsonView jsonValue)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue