AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
OnDemandProvisioningSpecification.h
1
6#pragma once
7#include <aws/elasticmapreduce/EMR_EXPORTS.h>
8#include <aws/elasticmapreduce/model/OnDemandProvisioningAllocationStrategy.h>
9#include <aws/elasticmapreduce/model/OnDemandCapacityReservationOptions.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
37 {
38 public:
39 AWS_EMR_API OnDemandProvisioningSpecification() = default;
43
44
46
54 inline OnDemandProvisioningAllocationStrategy GetAllocationStrategy() const { return m_allocationStrategy; }
55 inline bool AllocationStrategyHasBeenSet() const { return m_allocationStrategyHasBeenSet; }
56 inline void SetAllocationStrategy(OnDemandProvisioningAllocationStrategy value) { m_allocationStrategyHasBeenSet = true; m_allocationStrategy = value; }
59
61
65 inline const OnDemandCapacityReservationOptions& GetCapacityReservationOptions() const { return m_capacityReservationOptions; }
66 inline bool CapacityReservationOptionsHasBeenSet() const { return m_capacityReservationOptionsHasBeenSet; }
67 template<typename CapacityReservationOptionsT = OnDemandCapacityReservationOptions>
68 void SetCapacityReservationOptions(CapacityReservationOptionsT&& value) { m_capacityReservationOptionsHasBeenSet = true; m_capacityReservationOptions = std::forward<CapacityReservationOptionsT>(value); }
69 template<typename CapacityReservationOptionsT = OnDemandCapacityReservationOptions>
70 OnDemandProvisioningSpecification& WithCapacityReservationOptions(CapacityReservationOptionsT&& value) { SetCapacityReservationOptions(std::forward<CapacityReservationOptionsT>(value)); return *this;}
72 private:
73
75 bool m_allocationStrategyHasBeenSet = false;
76
77 OnDemandCapacityReservationOptions m_capacityReservationOptions;
78 bool m_capacityReservationOptionsHasBeenSet = false;
79 };
80
81} // namespace Model
82} // namespace EMR
83} // namespace Aws
AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const
void SetAllocationStrategy(OnDemandProvisioningAllocationStrategy value)
AWS_EMR_API OnDemandProvisioningSpecification(Aws::Utils::Json::JsonView jsonValue)
void SetCapacityReservationOptions(CapacityReservationOptionsT &&value)
AWS_EMR_API OnDemandProvisioningSpecification & operator=(Aws::Utils::Json::JsonView jsonValue)
OnDemandProvisioningAllocationStrategy GetAllocationStrategy() const
OnDemandProvisioningSpecification & WithCapacityReservationOptions(CapacityReservationOptionsT &&value)
OnDemandProvisioningSpecification & WithAllocationStrategy(OnDemandProvisioningAllocationStrategy value)
const OnDemandCapacityReservationOptions & GetCapacityReservationOptions() const
Aws::Utils::Json::JsonValue JsonValue