AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
Ec2AutoScalingGroupConfiguration.h
1
6#pragma once
7#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
8#include <aws/cost-optimization-hub/model/InstanceConfiguration.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/cost-optimization-hub/model/Ec2AutoScalingGroupType.h>
11#include <aws/cost-optimization-hub/model/AllocationStrategy.h>
12#include <aws/cost-optimization-hub/model/MixedInstanceConfiguration.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace CostOptimizationHub
26{
27namespace Model
28{
29
37 {
38 public:
39 AWS_COSTOPTIMIZATIONHUB_API Ec2AutoScalingGroupConfiguration() = default;
40 AWS_COSTOPTIMIZATIONHUB_API Ec2AutoScalingGroupConfiguration(Aws::Utils::Json::JsonView jsonValue);
42 AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
50 inline const InstanceConfiguration& GetInstance() const { return m_instance; }
51 inline bool InstanceHasBeenSet() const { return m_instanceHasBeenSet; }
52 template<typename InstanceT = InstanceConfiguration>
53 void SetInstance(InstanceT&& value) { m_instanceHasBeenSet = true; m_instance = std::forward<InstanceT>(value); }
54 template<typename InstanceT = InstanceConfiguration>
55 Ec2AutoScalingGroupConfiguration& WithInstance(InstanceT&& value) { SetInstance(std::forward<InstanceT>(value)); return *this;}
57
59
63 inline const Aws::Vector<MixedInstanceConfiguration>& GetMixedInstances() const { return m_mixedInstances; }
64 inline bool MixedInstancesHasBeenSet() const { return m_mixedInstancesHasBeenSet; }
65 template<typename MixedInstancesT = Aws::Vector<MixedInstanceConfiguration>>
66 void SetMixedInstances(MixedInstancesT&& value) { m_mixedInstancesHasBeenSet = true; m_mixedInstances = std::forward<MixedInstancesT>(value); }
67 template<typename MixedInstancesT = Aws::Vector<MixedInstanceConfiguration>>
68 Ec2AutoScalingGroupConfiguration& WithMixedInstances(MixedInstancesT&& value) { SetMixedInstances(std::forward<MixedInstancesT>(value)); return *this;}
69 template<typename MixedInstancesT = MixedInstanceConfiguration>
70 Ec2AutoScalingGroupConfiguration& AddMixedInstances(MixedInstancesT&& value) { m_mixedInstancesHasBeenSet = true; m_mixedInstances.emplace_back(std::forward<MixedInstancesT>(value)); return *this; }
72
74
78 inline Ec2AutoScalingGroupType GetType() const { return m_type; }
79 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
80 inline void SetType(Ec2AutoScalingGroupType value) { m_typeHasBeenSet = true; m_type = value; }
83
85
89 inline AllocationStrategy GetAllocationStrategy() const { return m_allocationStrategy; }
90 inline bool AllocationStrategyHasBeenSet() const { return m_allocationStrategyHasBeenSet; }
91 inline void SetAllocationStrategy(AllocationStrategy value) { m_allocationStrategyHasBeenSet = true; m_allocationStrategy = value; }
94 private:
95
96 InstanceConfiguration m_instance;
97 bool m_instanceHasBeenSet = false;
98
100 bool m_mixedInstancesHasBeenSet = false;
101
103 bool m_typeHasBeenSet = false;
104
106 bool m_allocationStrategyHasBeenSet = false;
107 };
108
109} // namespace Model
110} // namespace CostOptimizationHub
111} // namespace Aws
Ec2AutoScalingGroupConfiguration & WithAllocationStrategy(AllocationStrategy value)
Ec2AutoScalingGroupConfiguration & AddMixedInstances(MixedInstancesT &&value)
AWS_COSTOPTIMIZATIONHUB_API Ec2AutoScalingGroupConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_COSTOPTIMIZATIONHUB_API Ec2AutoScalingGroupConfiguration()=default
const Aws::Vector< MixedInstanceConfiguration > & GetMixedInstances() const
Ec2AutoScalingGroupConfiguration & WithMixedInstances(MixedInstancesT &&value)
Ec2AutoScalingGroupConfiguration & WithType(Ec2AutoScalingGroupType value)
AWS_COSTOPTIMIZATIONHUB_API Ec2AutoScalingGroupConfiguration(Aws::Utils::Json::JsonView jsonValue)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue