AWS SDK for C++

AWS SDK for C++ Version 1.11.718

Loading...
Searching...
No Matches
InstanceStatus.h
1
6#pragma once
7#include <aws/elasticmapreduce/EMR_EXPORTS.h>
8#include <aws/elasticmapreduce/model/InstanceState.h>
9#include <aws/elasticmapreduce/model/InstanceStateChangeReason.h>
10#include <aws/elasticmapreduce/model/InstanceTimeline.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace EMR {
22namespace Model {
23
30 public:
31 AWS_EMR_API InstanceStatus() = default;
35
37
40 inline InstanceState GetState() const { return m_state; }
41 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
42 inline void SetState(InstanceState value) {
43 m_stateHasBeenSet = true;
44 m_state = value;
45 }
47 SetState(value);
48 return *this;
49 }
51
53
56 inline const InstanceStateChangeReason& GetStateChangeReason() const { return m_stateChangeReason; }
57 inline bool StateChangeReasonHasBeenSet() const { return m_stateChangeReasonHasBeenSet; }
58 template <typename StateChangeReasonT = InstanceStateChangeReason>
59 void SetStateChangeReason(StateChangeReasonT&& value) {
60 m_stateChangeReasonHasBeenSet = true;
61 m_stateChangeReason = std::forward<StateChangeReasonT>(value);
62 }
63 template <typename StateChangeReasonT = InstanceStateChangeReason>
64 InstanceStatus& WithStateChangeReason(StateChangeReasonT&& value) {
65 SetStateChangeReason(std::forward<StateChangeReasonT>(value));
66 return *this;
67 }
69
71
74 inline const InstanceTimeline& GetTimeline() const { return m_timeline; }
75 inline bool TimelineHasBeenSet() const { return m_timelineHasBeenSet; }
76 template <typename TimelineT = InstanceTimeline>
77 void SetTimeline(TimelineT&& value) {
78 m_timelineHasBeenSet = true;
79 m_timeline = std::forward<TimelineT>(value);
80 }
81 template <typename TimelineT = InstanceTimeline>
82 InstanceStatus& WithTimeline(TimelineT&& value) {
83 SetTimeline(std::forward<TimelineT>(value));
84 return *this;
85 }
87 private:
89
90 InstanceStateChangeReason m_stateChangeReason;
91
92 InstanceTimeline m_timeline;
93 bool m_stateHasBeenSet = false;
94 bool m_stateChangeReasonHasBeenSet = false;
95 bool m_timelineHasBeenSet = false;
96};
97
98} // namespace Model
99} // namespace EMR
100} // namespace Aws
void SetState(InstanceState value)
InstanceStatus & WithStateChangeReason(StateChangeReasonT &&value)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_EMR_API InstanceStatus()=default
InstanceStatus & WithTimeline(TimelineT &&value)
AWS_EMR_API InstanceStatus(Aws::Utils::Json::JsonView jsonValue)
InstanceState GetState() const
AWS_EMR_API InstanceStatus & operator=(Aws::Utils::Json::JsonView jsonValue)
const InstanceStateChangeReason & GetStateChangeReason() const
void SetTimeline(TimelineT &&value)
const InstanceTimeline & GetTimeline() const
InstanceStatus & WithState(InstanceState value)
void SetStateChangeReason(StateChangeReasonT &&value)
Aws::Utils::Json::JsonValue JsonValue