AWS SDK for C++  1.9.20
AWS SDK for C++
InstanceResizePolicy.h
Go to the documentation of this file.
1 
6 #pragma once
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18  class JsonValue;
19  class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace EMR
23 {
24 namespace Model
25 {
26 
35  {
36  public:
41 
42 
47  inline const Aws::Vector<Aws::String>& GetInstancesToTerminate() const{ return m_instancesToTerminate; }
48 
53  inline bool InstancesToTerminateHasBeenSet() const { return m_instancesToTerminateHasBeenSet; }
54 
59  inline void SetInstancesToTerminate(const Aws::Vector<Aws::String>& value) { m_instancesToTerminateHasBeenSet = true; m_instancesToTerminate = value; }
60 
65  inline void SetInstancesToTerminate(Aws::Vector<Aws::String>&& value) { m_instancesToTerminateHasBeenSet = true; m_instancesToTerminate = std::move(value); }
66 
71  inline InstanceResizePolicy& WithInstancesToTerminate(const Aws::Vector<Aws::String>& value) { SetInstancesToTerminate(value); return *this;}
72 
77  inline InstanceResizePolicy& WithInstancesToTerminate(Aws::Vector<Aws::String>&& value) { SetInstancesToTerminate(std::move(value)); return *this;}
78 
83  inline InstanceResizePolicy& AddInstancesToTerminate(const Aws::String& value) { m_instancesToTerminateHasBeenSet = true; m_instancesToTerminate.push_back(value); return *this; }
84 
89  inline InstanceResizePolicy& AddInstancesToTerminate(Aws::String&& value) { m_instancesToTerminateHasBeenSet = true; m_instancesToTerminate.push_back(std::move(value)); return *this; }
90 
95  inline InstanceResizePolicy& AddInstancesToTerminate(const char* value) { m_instancesToTerminateHasBeenSet = true; m_instancesToTerminate.push_back(value); return *this; }
96 
97 
102  inline const Aws::Vector<Aws::String>& GetInstancesToProtect() const{ return m_instancesToProtect; }
103 
108  inline bool InstancesToProtectHasBeenSet() const { return m_instancesToProtectHasBeenSet; }
109 
114  inline void SetInstancesToProtect(const Aws::Vector<Aws::String>& value) { m_instancesToProtectHasBeenSet = true; m_instancesToProtect = value; }
115 
120  inline void SetInstancesToProtect(Aws::Vector<Aws::String>&& value) { m_instancesToProtectHasBeenSet = true; m_instancesToProtect = std::move(value); }
121 
126  inline InstanceResizePolicy& WithInstancesToProtect(const Aws::Vector<Aws::String>& value) { SetInstancesToProtect(value); return *this;}
127 
132  inline InstanceResizePolicy& WithInstancesToProtect(Aws::Vector<Aws::String>&& value) { SetInstancesToProtect(std::move(value)); return *this;}
133 
138  inline InstanceResizePolicy& AddInstancesToProtect(const Aws::String& value) { m_instancesToProtectHasBeenSet = true; m_instancesToProtect.push_back(value); return *this; }
139 
144  inline InstanceResizePolicy& AddInstancesToProtect(Aws::String&& value) { m_instancesToProtectHasBeenSet = true; m_instancesToProtect.push_back(std::move(value)); return *this; }
145 
150  inline InstanceResizePolicy& AddInstancesToProtect(const char* value) { m_instancesToProtectHasBeenSet = true; m_instancesToProtect.push_back(value); return *this; }
151 
152 
157  inline int GetInstanceTerminationTimeout() const{ return m_instanceTerminationTimeout; }
158 
163  inline bool InstanceTerminationTimeoutHasBeenSet() const { return m_instanceTerminationTimeoutHasBeenSet; }
164 
169  inline void SetInstanceTerminationTimeout(int value) { m_instanceTerminationTimeoutHasBeenSet = true; m_instanceTerminationTimeout = value; }
170 
175  inline InstanceResizePolicy& WithInstanceTerminationTimeout(int value) { SetInstanceTerminationTimeout(value); return *this;}
176 
177  private:
178 
179  Aws::Vector<Aws::String> m_instancesToTerminate;
180  bool m_instancesToTerminateHasBeenSet;
181 
182  Aws::Vector<Aws::String> m_instancesToProtect;
183  bool m_instancesToProtectHasBeenSet;
184 
185  int m_instanceTerminationTimeout;
186  bool m_instanceTerminationTimeoutHasBeenSet;
187  };
188 
189 } // namespace Model
190 } // namespace EMR
191 } // namespace Aws
Aws::EMR::Model::InstanceResizePolicy::GetInstancesToTerminate
const Aws::Vector< Aws::String > & GetInstancesToTerminate() const
Definition: InstanceResizePolicy.h:47
Aws::EMR::Model::InstanceResizePolicy::InstanceTerminationTimeoutHasBeenSet
bool InstanceTerminationTimeoutHasBeenSet() const
Definition: InstanceResizePolicy.h:163
Aws::EMR::Model::InstanceResizePolicy::WithInstancesToProtect
InstanceResizePolicy & WithInstancesToProtect(const Aws::Vector< Aws::String > &value)
Definition: InstanceResizePolicy.h:126
Aws::EMR::Model::InstanceResizePolicy::InstanceResizePolicy
InstanceResizePolicy(Aws::Utils::Json::JsonView jsonValue)
EMR_EXPORTS.h
Aws::EMR::Model::InstanceResizePolicy::AddInstancesToTerminate
InstanceResizePolicy & AddInstancesToTerminate(const char *value)
Definition: InstanceResizePolicy.h:95
Aws::EMR::Model::InstanceResizePolicy::SetInstancesToTerminate
void SetInstancesToTerminate(Aws::Vector< Aws::String > &&value)
Definition: InstanceResizePolicy.h:65
Aws::EMR::Model::InstanceResizePolicy::AddInstancesToProtect
InstanceResizePolicy & AddInstancesToProtect(const Aws::String &value)
Definition: InstanceResizePolicy.h:138
Aws::Vector
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:17
AWSVector.h
Aws::EMR::Model::InstanceResizePolicy::Jsonize
Aws::Utils::Json::JsonValue Jsonize() const
Aws::EMR::Model::InstanceResizePolicy::InstanceResizePolicy
InstanceResizePolicy()
Aws::EMR::Model::ExecutionEngineType::NOT_SET
@ NOT_SET
Aws::Utils::Json::JsonView
Definition: JsonSerializer.h:222
AWSString.h
Aws::Utils::Json::JsonValue
Definition: JsonSerializer.h:30
Aws::EMR::Model::InstanceResizePolicy::GetInstanceTerminationTimeout
int GetInstanceTerminationTimeout() const
Definition: InstanceResizePolicy.h:157
Aws::EMR::Model::InstanceResizePolicy::SetInstanceTerminationTimeout
void SetInstanceTerminationTimeout(int value)
Definition: InstanceResizePolicy.h:169
Aws::EMR::Model::InstanceResizePolicy::AddInstancesToProtect
InstanceResizePolicy & AddInstancesToProtect(const char *value)
Definition: InstanceResizePolicy.h:150
Aws::EMR::Model::InstanceResizePolicy::WithInstanceTerminationTimeout
InstanceResizePolicy & WithInstanceTerminationTimeout(int value)
Definition: InstanceResizePolicy.h:175
Aws::EMR::Model::InstanceResizePolicy::WithInstancesToTerminate
InstanceResizePolicy & WithInstancesToTerminate(Aws::Vector< Aws::String > &&value)
Definition: InstanceResizePolicy.h:77
Aws::EMR::Model::InstanceResizePolicy
Definition: InstanceResizePolicy.h:35
Aws::EMR::Model::InstanceResizePolicy::SetInstancesToProtect
void SetInstancesToProtect(const Aws::Vector< Aws::String > &value)
Definition: InstanceResizePolicy.h:114
Aws::EMR::Model::InstanceResizePolicy::SetInstancesToTerminate
void SetInstancesToTerminate(const Aws::Vector< Aws::String > &value)
Definition: InstanceResizePolicy.h:59
Aws::EMR::Model::InstanceResizePolicy::WithInstancesToProtect
InstanceResizePolicy & WithInstancesToProtect(Aws::Vector< Aws::String > &&value)
Definition: InstanceResizePolicy.h:132
Aws::EMR::Model::InstanceResizePolicy::InstancesToProtectHasBeenSet
bool InstancesToProtectHasBeenSet() const
Definition: InstanceResizePolicy.h:108
Aws
Definition: AccessManagementClient.h:15
Aws::EMR::Model::InstanceResizePolicy::operator=
InstanceResizePolicy & operator=(Aws::Utils::Json::JsonView jsonValue)
Aws::EMR::Model::InstanceResizePolicy::AddInstancesToProtect
InstanceResizePolicy & AddInstancesToProtect(Aws::String &&value)
Definition: InstanceResizePolicy.h:144
Aws::String
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Aws::EMR::Model::InstanceResizePolicy::InstancesToTerminateHasBeenSet
bool InstancesToTerminateHasBeenSet() const
Definition: InstanceResizePolicy.h:53
Aws::EMR::Model::InstanceResizePolicy::AddInstancesToTerminate
InstanceResizePolicy & AddInstancesToTerminate(const Aws::String &value)
Definition: InstanceResizePolicy.h:83
Aws::EMR::Model::InstanceResizePolicy::GetInstancesToProtect
const Aws::Vector< Aws::String > & GetInstancesToProtect() const
Definition: InstanceResizePolicy.h:102
Aws::EMR::Model::InstanceResizePolicy::AddInstancesToTerminate
InstanceResizePolicy & AddInstancesToTerminate(Aws::String &&value)
Definition: InstanceResizePolicy.h:89
Aws::EMR::Model::InstanceResizePolicy::WithInstancesToTerminate
InstanceResizePolicy & WithInstancesToTerminate(const Aws::Vector< Aws::String > &value)
Definition: InstanceResizePolicy.h:71
Aws::EMR::Model::InstanceResizePolicy::SetInstancesToProtect
void SetInstancesToProtect(Aws::Vector< Aws::String > &&value)
Definition: InstanceResizePolicy.h:120
AWS_EMR_API
#define AWS_EMR_API
Definition: EMR_EXPORTS.h:28