AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
InstanceResizePolicy.h
1
6#pragma once
7#include <aws/elasticmapreduce/EMR_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <utility>
11
12namespace Aws
13{
14namespace Utils
15{
16namespace Json
17{
18 class JsonValue;
19 class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace EMR
23{
24namespace Model
25{
26
35 {
36 public:
37 AWS_EMR_API InstanceResizePolicy() = default;
41
42
44
48 inline const Aws::Vector<Aws::String>& GetInstancesToTerminate() const { return m_instancesToTerminate; }
49 inline bool InstancesToTerminateHasBeenSet() const { return m_instancesToTerminateHasBeenSet; }
50 template<typename InstancesToTerminateT = Aws::Vector<Aws::String>>
51 void SetInstancesToTerminate(InstancesToTerminateT&& value) { m_instancesToTerminateHasBeenSet = true; m_instancesToTerminate = std::forward<InstancesToTerminateT>(value); }
52 template<typename InstancesToTerminateT = Aws::Vector<Aws::String>>
53 InstanceResizePolicy& WithInstancesToTerminate(InstancesToTerminateT&& value) { SetInstancesToTerminate(std::forward<InstancesToTerminateT>(value)); return *this;}
54 template<typename InstancesToTerminateT = Aws::String>
55 InstanceResizePolicy& AddInstancesToTerminate(InstancesToTerminateT&& value) { m_instancesToTerminateHasBeenSet = true; m_instancesToTerminate.emplace_back(std::forward<InstancesToTerminateT>(value)); return *this; }
57
59
63 inline const Aws::Vector<Aws::String>& GetInstancesToProtect() const { return m_instancesToProtect; }
64 inline bool InstancesToProtectHasBeenSet() const { return m_instancesToProtectHasBeenSet; }
65 template<typename InstancesToProtectT = Aws::Vector<Aws::String>>
66 void SetInstancesToProtect(InstancesToProtectT&& value) { m_instancesToProtectHasBeenSet = true; m_instancesToProtect = std::forward<InstancesToProtectT>(value); }
67 template<typename InstancesToProtectT = Aws::Vector<Aws::String>>
68 InstanceResizePolicy& WithInstancesToProtect(InstancesToProtectT&& value) { SetInstancesToProtect(std::forward<InstancesToProtectT>(value)); return *this;}
69 template<typename InstancesToProtectT = Aws::String>
70 InstanceResizePolicy& AddInstancesToProtect(InstancesToProtectT&& value) { m_instancesToProtectHasBeenSet = true; m_instancesToProtect.emplace_back(std::forward<InstancesToProtectT>(value)); return *this; }
72
74
78 inline int GetInstanceTerminationTimeout() const { return m_instanceTerminationTimeout; }
79 inline bool InstanceTerminationTimeoutHasBeenSet() const { return m_instanceTerminationTimeoutHasBeenSet; }
80 inline void SetInstanceTerminationTimeout(int value) { m_instanceTerminationTimeoutHasBeenSet = true; m_instanceTerminationTimeout = value; }
83 private:
84
85 Aws::Vector<Aws::String> m_instancesToTerminate;
86 bool m_instancesToTerminateHasBeenSet = false;
87
88 Aws::Vector<Aws::String> m_instancesToProtect;
89 bool m_instancesToProtectHasBeenSet = false;
90
91 int m_instanceTerminationTimeout{0};
92 bool m_instanceTerminationTimeoutHasBeenSet = false;
93 };
94
95} // namespace Model
96} // namespace EMR
97} // namespace Aws
InstanceResizePolicy & WithInstanceTerminationTimeout(int value)
InstanceResizePolicy & WithInstancesToProtect(InstancesToProtectT &&value)
InstanceResizePolicy & AddInstancesToTerminate(InstancesToTerminateT &&value)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
void SetInstancesToProtect(InstancesToProtectT &&value)
const Aws::Vector< Aws::String > & GetInstancesToProtect() const
const Aws::Vector< Aws::String > & GetInstancesToTerminate() const
InstanceResizePolicy & AddInstancesToProtect(InstancesToProtectT &&value)
AWS_EMR_API InstanceResizePolicy & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetInstancesToTerminate(InstancesToTerminateT &&value)
AWS_EMR_API InstanceResizePolicy()=default
InstanceResizePolicy & WithInstancesToTerminate(InstancesToTerminateT &&value)
AWS_EMR_API InstanceResizePolicy(Aws::Utils::Json::JsonView jsonValue)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue