AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
AutoScalingGroupProviderUpdate.h
1
6#pragma once
7#include <aws/ecs/ECS_EXPORTS.h>
8#include <aws/ecs/model/ManagedScaling.h>
9#include <aws/ecs/model/ManagedTerminationProtection.h>
10#include <aws/ecs/model/ManagedDraining.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace ECS
24{
25namespace Model
26{
27
35 {
36 public:
37 AWS_ECS_API AutoScalingGroupProviderUpdate() = default;
41
42
44
48 inline const ManagedScaling& GetManagedScaling() const { return m_managedScaling; }
49 inline bool ManagedScalingHasBeenSet() const { return m_managedScalingHasBeenSet; }
50 template<typename ManagedScalingT = ManagedScaling>
51 void SetManagedScaling(ManagedScalingT&& value) { m_managedScalingHasBeenSet = true; m_managedScaling = std::forward<ManagedScalingT>(value); }
52 template<typename ManagedScalingT = ManagedScaling>
53 AutoScalingGroupProviderUpdate& WithManagedScaling(ManagedScalingT&& value) { SetManagedScaling(std::forward<ManagedScalingT>(value)); return *this;}
55
57
72 inline ManagedTerminationProtection GetManagedTerminationProtection() const { return m_managedTerminationProtection; }
73 inline bool ManagedTerminationProtectionHasBeenSet() const { return m_managedTerminationProtectionHasBeenSet; }
74 inline void SetManagedTerminationProtection(ManagedTerminationProtection value) { m_managedTerminationProtectionHasBeenSet = true; m_managedTerminationProtection = value; }
77
79
84 inline ManagedDraining GetManagedDraining() const { return m_managedDraining; }
85 inline bool ManagedDrainingHasBeenSet() const { return m_managedDrainingHasBeenSet; }
86 inline void SetManagedDraining(ManagedDraining value) { m_managedDrainingHasBeenSet = true; m_managedDraining = value; }
89 private:
90
91 ManagedScaling m_managedScaling;
92 bool m_managedScalingHasBeenSet = false;
93
95 bool m_managedTerminationProtectionHasBeenSet = false;
96
98 bool m_managedDrainingHasBeenSet = false;
99 };
100
101} // namespace Model
102} // namespace ECS
103} // namespace Aws
AWS_ECS_API AutoScalingGroupProviderUpdate & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetManagedTerminationProtection(ManagedTerminationProtection value)
AutoScalingGroupProviderUpdate & WithManagedTerminationProtection(ManagedTerminationProtection value)
AutoScalingGroupProviderUpdate & WithManagedDraining(ManagedDraining value)
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_ECS_API AutoScalingGroupProviderUpdate(Aws::Utils::Json::JsonView jsonValue)
AutoScalingGroupProviderUpdate & WithManagedScaling(ManagedScalingT &&value)
ManagedTerminationProtection GetManagedTerminationProtection() const
Aws::Utils::Json::JsonValue JsonValue