AWS SDK for C++

AWS SDK for C++ Version 1.11.718

Loading...
Searching...
No Matches
ShrinkPolicy.h
1
6#pragma once
7#include <aws/elasticmapreduce/EMR_EXPORTS.h>
8#include <aws/elasticmapreduce/model/InstanceResizePolicy.h>
9
10#include <utility>
11
12namespace Aws {
13namespace Utils {
14namespace Json {
15class JsonValue;
16class JsonView;
17} // namespace Json
18} // namespace Utils
19namespace EMR {
20namespace Model {
21
30 public:
31 AWS_EMR_API ShrinkPolicy() = default;
35
37
41 inline int GetDecommissionTimeout() const { return m_decommissionTimeout; }
42 inline bool DecommissionTimeoutHasBeenSet() const { return m_decommissionTimeoutHasBeenSet; }
43 inline void SetDecommissionTimeout(int value) {
44 m_decommissionTimeoutHasBeenSet = true;
45 m_decommissionTimeout = value;
46 }
49 return *this;
50 }
52
54
58 inline const InstanceResizePolicy& GetInstanceResizePolicy() const { return m_instanceResizePolicy; }
59 inline bool InstanceResizePolicyHasBeenSet() const { return m_instanceResizePolicyHasBeenSet; }
60 template <typename InstanceResizePolicyT = InstanceResizePolicy>
61 void SetInstanceResizePolicy(InstanceResizePolicyT&& value) {
62 m_instanceResizePolicyHasBeenSet = true;
63 m_instanceResizePolicy = std::forward<InstanceResizePolicyT>(value);
64 }
65 template <typename InstanceResizePolicyT = InstanceResizePolicy>
66 ShrinkPolicy& WithInstanceResizePolicy(InstanceResizePolicyT&& value) {
67 SetInstanceResizePolicy(std::forward<InstanceResizePolicyT>(value));
68 return *this;
69 }
71 private:
72 int m_decommissionTimeout{0};
73
74 InstanceResizePolicy m_instanceResizePolicy;
75 bool m_decommissionTimeoutHasBeenSet = false;
76 bool m_instanceResizePolicyHasBeenSet = false;
77};
78
79} // namespace Model
80} // namespace EMR
81} // namespace Aws
ShrinkPolicy & WithInstanceResizePolicy(InstanceResizePolicyT &&value)
AWS_EMR_API ShrinkPolicy(Aws::Utils::Json::JsonView jsonValue)
ShrinkPolicy & WithDecommissionTimeout(int value)
void SetInstanceResizePolicy(InstanceResizePolicyT &&value)
void SetDecommissionTimeout(int value)
bool InstanceResizePolicyHasBeenSet() const
AWS_EMR_API ShrinkPolicy & operator=(Aws::Utils::Json::JsonView jsonValue)
bool DecommissionTimeoutHasBeenSet() const
AWS_EMR_API ShrinkPolicy()=default
const InstanceResizePolicy & GetInstanceResizePolicy() const
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
Aws::Utils::Json::JsonValue JsonValue