AWS SDK for C++

AWS SDK for C++ Version 1.11.612

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#include <utility>
10
11namespace Aws
12{
13namespace Utils
14{
15namespace Json
16{
17 class JsonValue;
18 class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace EMR
22{
23namespace Model
24{
25
34 {
35 public:
36 AWS_EMR_API ShrinkPolicy() = default;
40
41
43
47 inline int GetDecommissionTimeout() const { return m_decommissionTimeout; }
48 inline bool DecommissionTimeoutHasBeenSet() const { return m_decommissionTimeoutHasBeenSet; }
49 inline void SetDecommissionTimeout(int value) { m_decommissionTimeoutHasBeenSet = true; m_decommissionTimeout = value; }
50 inline ShrinkPolicy& WithDecommissionTimeout(int value) { SetDecommissionTimeout(value); return *this;}
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) { m_instanceResizePolicyHasBeenSet = true; m_instanceResizePolicy = std::forward<InstanceResizePolicyT>(value); }
62 template<typename InstanceResizePolicyT = InstanceResizePolicy>
63 ShrinkPolicy& WithInstanceResizePolicy(InstanceResizePolicyT&& value) { SetInstanceResizePolicy(std::forward<InstanceResizePolicyT>(value)); return *this;}
65 private:
66
67 int m_decommissionTimeout{0};
68 bool m_decommissionTimeoutHasBeenSet = false;
69
70 InstanceResizePolicy m_instanceResizePolicy;
71 bool m_instanceResizePolicyHasBeenSet = false;
72 };
73
74} // namespace Model
75} // namespace EMR
76} // 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