AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
SpotProvisioningSpecification.h
1
6#pragma once
7#include <aws/elasticmapreduce/EMR_EXPORTS.h>
8#include <aws/elasticmapreduce/model/SpotProvisioningAllocationStrategy.h>
9#include <aws/elasticmapreduce/model/SpotProvisioningTimeoutAction.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace EMR {
21namespace Model {
22
38 public:
39 AWS_EMR_API SpotProvisioningSpecification() = default;
43
45
51 inline int GetTimeoutDurationMinutes() const { return m_timeoutDurationMinutes; }
52 inline bool TimeoutDurationMinutesHasBeenSet() const { return m_timeoutDurationMinutesHasBeenSet; }
53 inline void SetTimeoutDurationMinutes(int value) {
54 m_timeoutDurationMinutesHasBeenSet = true;
55 m_timeoutDurationMinutes = value;
56 }
59 return *this;
60 }
62
64
73 inline SpotProvisioningTimeoutAction GetTimeoutAction() const { return m_timeoutAction; }
74 inline bool TimeoutActionHasBeenSet() const { return m_timeoutActionHasBeenSet; }
76 m_timeoutActionHasBeenSet = true;
77 m_timeoutAction = value;
78 }
80 SetTimeoutAction(value);
81 return *this;
82 }
84
86
99 inline int GetBlockDurationMinutes() const { return m_blockDurationMinutes; }
100 inline bool BlockDurationMinutesHasBeenSet() const { return m_blockDurationMinutesHasBeenSet; }
101 inline void SetBlockDurationMinutes(int value) {
102 m_blockDurationMinutesHasBeenSet = true;
103 m_blockDurationMinutes = value;
104 }
107 return *this;
108 }
110
112
125 inline SpotProvisioningAllocationStrategy GetAllocationStrategy() const { return m_allocationStrategy; }
126 inline bool AllocationStrategyHasBeenSet() const { return m_allocationStrategyHasBeenSet; }
128 m_allocationStrategyHasBeenSet = true;
129 m_allocationStrategy = value;
130 }
133 return *this;
134 }
136 private:
137 int m_timeoutDurationMinutes{0};
138
140
141 int m_blockDurationMinutes{0};
142
144 bool m_timeoutDurationMinutesHasBeenSet = false;
145 bool m_timeoutActionHasBeenSet = false;
146 bool m_blockDurationMinutesHasBeenSet = false;
147 bool m_allocationStrategyHasBeenSet = false;
148};
149
150} // namespace Model
151} // namespace EMR
152} // namespace Aws
AWS_EMR_API SpotProvisioningSpecification(Aws::Utils::Json::JsonView jsonValue)
SpotProvisioningSpecification & WithTimeoutAction(SpotProvisioningTimeoutAction value)
SpotProvisioningSpecification & WithTimeoutDurationMinutes(int value)
SpotProvisioningSpecification & WithBlockDurationMinutes(int value)
SpotProvisioningAllocationStrategy GetAllocationStrategy() const
void SetTimeoutAction(SpotProvisioningTimeoutAction value)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
void SetAllocationStrategy(SpotProvisioningAllocationStrategy value)
AWS_EMR_API SpotProvisioningSpecification & operator=(Aws::Utils::Json::JsonView jsonValue)
SpotProvisioningSpecification & WithAllocationStrategy(SpotProvisioningAllocationStrategy value)
Aws::Utils::Json::JsonValue JsonValue