AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
OnDemandResizingSpecification.h
1
6#pragma once
7#include <aws/elasticmapreduce/EMR_EXPORTS.h>
8#include <aws/elasticmapreduce/model/OnDemandCapacityReservationOptions.h>
9#include <aws/elasticmapreduce/model/OnDemandProvisioningAllocationStrategy.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
30 public:
31 AWS_EMR_API OnDemandResizingSpecification() = default;
35
37
46 inline int GetTimeoutDurationMinutes() const { return m_timeoutDurationMinutes; }
47 inline bool TimeoutDurationMinutesHasBeenSet() const { return m_timeoutDurationMinutesHasBeenSet; }
48 inline void SetTimeoutDurationMinutes(int value) {
49 m_timeoutDurationMinutesHasBeenSet = true;
50 m_timeoutDurationMinutes = value;
51 }
54 return *this;
55 }
57
59
63 inline OnDemandProvisioningAllocationStrategy GetAllocationStrategy() const { return m_allocationStrategy; }
64 inline bool AllocationStrategyHasBeenSet() const { return m_allocationStrategyHasBeenSet; }
66 m_allocationStrategyHasBeenSet = true;
67 m_allocationStrategy = value;
68 }
71 return *this;
72 }
74
76
77 inline const OnDemandCapacityReservationOptions& GetCapacityReservationOptions() const { return m_capacityReservationOptions; }
78 inline bool CapacityReservationOptionsHasBeenSet() const { return m_capacityReservationOptionsHasBeenSet; }
79 template <typename CapacityReservationOptionsT = OnDemandCapacityReservationOptions>
80 void SetCapacityReservationOptions(CapacityReservationOptionsT&& value) {
81 m_capacityReservationOptionsHasBeenSet = true;
82 m_capacityReservationOptions = std::forward<CapacityReservationOptionsT>(value);
83 }
84 template <typename CapacityReservationOptionsT = OnDemandCapacityReservationOptions>
85 OnDemandResizingSpecification& WithCapacityReservationOptions(CapacityReservationOptionsT&& value) {
86 SetCapacityReservationOptions(std::forward<CapacityReservationOptionsT>(value));
87 return *this;
88 }
90 private:
91 int m_timeoutDurationMinutes{0};
92
94
95 OnDemandCapacityReservationOptions m_capacityReservationOptions;
96 bool m_timeoutDurationMinutesHasBeenSet = false;
97 bool m_allocationStrategyHasBeenSet = false;
98 bool m_capacityReservationOptionsHasBeenSet = false;
99};
100
101} // namespace Model
102} // namespace EMR
103} // namespace Aws
OnDemandResizingSpecification & WithCapacityReservationOptions(CapacityReservationOptionsT &&value)
void SetCapacityReservationOptions(CapacityReservationOptionsT &&value)
void SetAllocationStrategy(OnDemandProvisioningAllocationStrategy value)
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_EMR_API OnDemandResizingSpecification(Aws::Utils::Json::JsonView jsonValue)
OnDemandResizingSpecification & WithTimeoutDurationMinutes(int value)
OnDemandResizingSpecification & WithAllocationStrategy(OnDemandProvisioningAllocationStrategy value)
OnDemandProvisioningAllocationStrategy GetAllocationStrategy() const
const OnDemandCapacityReservationOptions & GetCapacityReservationOptions() const
AWS_EMR_API OnDemandResizingSpecification & operator=(Aws::Utils::Json::JsonView jsonValue)
Aws::Utils::Json::JsonValue JsonValue