AWS SDK for C++

AWS SDK for C++ Version 1.11.759

Loading...
Searching...
No Matches
StateTransition.h
1
6#pragma once
7#include <aws/connect/Connect_EXPORTS.h>
8#include <aws/connect/model/ParticipantState.h>
9#include <aws/core/utils/DateTime.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace Connect {
21namespace Model {
22
30 public:
31 AWS_CONNECT_API StateTransition() = default;
32 AWS_CONNECT_API StateTransition(Aws::Utils::Json::JsonView jsonValue);
34 AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline ParticipantState GetState() const { return m_state; }
41 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
42 inline void SetState(ParticipantState value) {
43 m_stateHasBeenSet = true;
44 m_state = value;
45 }
47 SetState(value);
48 return *this;
49 }
51
53
56 inline const Aws::Utils::DateTime& GetStateStartTimestamp() const { return m_stateStartTimestamp; }
57 inline bool StateStartTimestampHasBeenSet() const { return m_stateStartTimestampHasBeenSet; }
58 template <typename StateStartTimestampT = Aws::Utils::DateTime>
59 void SetStateStartTimestamp(StateStartTimestampT&& value) {
60 m_stateStartTimestampHasBeenSet = true;
61 m_stateStartTimestamp = std::forward<StateStartTimestampT>(value);
62 }
63 template <typename StateStartTimestampT = Aws::Utils::DateTime>
64 StateTransition& WithStateStartTimestamp(StateStartTimestampT&& value) {
65 SetStateStartTimestamp(std::forward<StateStartTimestampT>(value));
66 return *this;
67 }
69
71
74 inline const Aws::Utils::DateTime& GetStateEndTimestamp() const { return m_stateEndTimestamp; }
75 inline bool StateEndTimestampHasBeenSet() const { return m_stateEndTimestampHasBeenSet; }
76 template <typename StateEndTimestampT = Aws::Utils::DateTime>
77 void SetStateEndTimestamp(StateEndTimestampT&& value) {
78 m_stateEndTimestampHasBeenSet = true;
79 m_stateEndTimestamp = std::forward<StateEndTimestampT>(value);
80 }
81 template <typename StateEndTimestampT = Aws::Utils::DateTime>
82 StateTransition& WithStateEndTimestamp(StateEndTimestampT&& value) {
83 SetStateEndTimestamp(std::forward<StateEndTimestampT>(value));
84 return *this;
85 }
87 private:
89
90 Aws::Utils::DateTime m_stateStartTimestamp{};
91
92 Aws::Utils::DateTime m_stateEndTimestamp{};
93 bool m_stateHasBeenSet = false;
94 bool m_stateStartTimestampHasBeenSet = false;
95 bool m_stateEndTimestampHasBeenSet = false;
96};
97
98} // namespace Model
99} // namespace Connect
100} // namespace Aws
void SetState(ParticipantState value)
ParticipantState GetState() const
AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
StateTransition & WithStateEndTimestamp(StateEndTimestampT &&value)
AWS_CONNECT_API StateTransition & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_CONNECT_API StateTransition(Aws::Utils::Json::JsonView jsonValue)
void SetStateStartTimestamp(StateStartTimestampT &&value)
StateTransition & WithStateStartTimestamp(StateStartTimestampT &&value)
AWS_CONNECT_API StateTransition()=default
const Aws::Utils::DateTime & GetStateStartTimestamp() const
StateTransition & WithState(ParticipantState value)
const Aws::Utils::DateTime & GetStateEndTimestamp() const
void SetStateEndTimestamp(StateEndTimestampT &&value)
Aws::Utils::Json::JsonValue JsonValue