AWS SDK for C++  0.12.9
AWS SDK for C++
ShrinkPolicy.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
18 
19 namespace Aws
20 {
21 namespace Utils
22 {
23 namespace Json
24 {
25  class JsonValue;
26 } // namespace Json
27 } // namespace Utils
28 namespace EMR
29 {
30 namespace Model
31 {
32 
38  {
39  public:
40  ShrinkPolicy();
41  ShrinkPolicy(const Aws::Utils::Json::JsonValue& jsonValue);
42  ShrinkPolicy& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
43  Aws::Utils::Json::JsonValue Jsonize() const;
44 
49  inline long GetDecommissionTimeout() const{ return m_decommissionTimeout; }
50 
55  inline void SetDecommissionTimeout(long value) { m_decommissionTimeoutHasBeenSet = true; m_decommissionTimeout = value; }
56 
61  inline ShrinkPolicy& WithDecommissionTimeout(long value) { SetDecommissionTimeout(value); return *this;}
62 
67  inline const InstanceResizePolicy& GetInstanceResizePolicy() const{ return m_instanceResizePolicy; }
68 
73  inline void SetInstanceResizePolicy(const InstanceResizePolicy& value) { m_instanceResizePolicyHasBeenSet = true; m_instanceResizePolicy = value; }
74 
79  inline void SetInstanceResizePolicy(InstanceResizePolicy&& value) { m_instanceResizePolicyHasBeenSet = true; m_instanceResizePolicy = value; }
80 
85  inline ShrinkPolicy& WithInstanceResizePolicy(const InstanceResizePolicy& value) { SetInstanceResizePolicy(value); return *this;}
86 
91  inline ShrinkPolicy& WithInstanceResizePolicy(InstanceResizePolicy&& value) { SetInstanceResizePolicy(value); return *this;}
92 
93  private:
94  long m_decommissionTimeout;
95  bool m_decommissionTimeoutHasBeenSet;
96  InstanceResizePolicy m_instanceResizePolicy;
97  bool m_instanceResizePolicyHasBeenSet;
98  };
99 
100 } // namespace Model
101 } // namespace EMR
102 } // namespace Aws
void SetInstanceResizePolicy(InstanceResizePolicy &&value)
Definition: ShrinkPolicy.h:79
void SetDecommissionTimeout(long value)
Definition: ShrinkPolicy.h:55
long GetDecommissionTimeout() const
Definition: ShrinkPolicy.h:49
const InstanceResizePolicy & GetInstanceResizePolicy() const
Definition: ShrinkPolicy.h:67
void SetInstanceResizePolicy(const InstanceResizePolicy &value)
Definition: ShrinkPolicy.h:73
ShrinkPolicy & WithInstanceResizePolicy(InstanceResizePolicy &&value)
Definition: ShrinkPolicy.h:91
ShrinkPolicy & WithDecommissionTimeout(long value)
Definition: ShrinkPolicy.h:61
ShrinkPolicy & WithInstanceResizePolicy(const InstanceResizePolicy &value)
Definition: ShrinkPolicy.h:85
#define AWS_EMR_API
Definition: EMR_EXPORTS.h:34
JSON (JavaScript Object Notation).