AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
InstanceGroupStatus.h
1
6#pragma once
7#include <aws/elasticmapreduce/EMR_EXPORTS.h>
8#include <aws/elasticmapreduce/model/InstanceGroupState.h>
9#include <aws/elasticmapreduce/model/InstanceGroupStateChangeReason.h>
10#include <aws/elasticmapreduce/model/InstanceGroupTimeline.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 InstanceGroupStatus() = default;
35
37
40 inline InstanceGroupState GetState() const { return m_state; }
41 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
42 inline void SetState(InstanceGroupState value) {
43 m_stateHasBeenSet = true;
44 m_state = value;
45 }
47 SetState(value);
48 return *this;
49 }
51
53
56 inline const InstanceGroupStateChangeReason& GetStateChangeReason() const { return m_stateChangeReason; }
57 inline bool StateChangeReasonHasBeenSet() const { return m_stateChangeReasonHasBeenSet; }
58 template <typename StateChangeReasonT = InstanceGroupStateChangeReason>
59 void SetStateChangeReason(StateChangeReasonT&& value) {
60 m_stateChangeReasonHasBeenSet = true;
61 m_stateChangeReason = std::forward<StateChangeReasonT>(value);
62 }
63 template <typename StateChangeReasonT = InstanceGroupStateChangeReason>
64 InstanceGroupStatus& WithStateChangeReason(StateChangeReasonT&& value) {
65 SetStateChangeReason(std::forward<StateChangeReasonT>(value));
66 return *this;
67 }
69
71
74 inline const InstanceGroupTimeline& GetTimeline() const { return m_timeline; }
75 inline bool TimelineHasBeenSet() const { return m_timelineHasBeenSet; }
76 template <typename TimelineT = InstanceGroupTimeline>
77 void SetTimeline(TimelineT&& value) {
78 m_timelineHasBeenSet = true;
79 m_timeline = std::forward<TimelineT>(value);
80 }
81 template <typename TimelineT = InstanceGroupTimeline>
82 InstanceGroupStatus& WithTimeline(TimelineT&& value) {
83 SetTimeline(std::forward<TimelineT>(value));
84 return *this;
85 }
87 private:
89
90 InstanceGroupStateChangeReason m_stateChangeReason;
91
92 InstanceGroupTimeline 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
const InstanceGroupTimeline & GetTimeline() const
AWS_EMR_API InstanceGroupStatus()=default
InstanceGroupStatus & WithTimeline(TimelineT &&value)
void SetState(InstanceGroupState value)
InstanceGroupStatus & WithState(InstanceGroupState value)
void SetStateChangeReason(StateChangeReasonT &&value)
AWS_EMR_API InstanceGroupStatus & operator=(Aws::Utils::Json::JsonView jsonValue)
InstanceGroupStatus & WithStateChangeReason(StateChangeReasonT &&value)
const InstanceGroupStateChangeReason & GetStateChangeReason() const
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_EMR_API InstanceGroupStatus(Aws::Utils::Json::JsonView jsonValue)
Aws::Utils::Json::JsonValue JsonValue