AWS SDK for C++

AWS SDK for C++ Version 1.11.751

Loading...
Searching...
No Matches
AutoScalingGroupProviderUpdate.h
1
6#pragma once
7#include <aws/ecs/ECS_EXPORTS.h>
8#include <aws/ecs/model/ManagedDraining.h>
9#include <aws/ecs/model/ManagedScaling.h>
10#include <aws/ecs/model/ManagedTerminationProtection.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace ECS {
22namespace Model {
23
31 public:
32 AWS_ECS_API AutoScalingGroupProviderUpdate() = default;
36
38
42 inline const ManagedScaling& GetManagedScaling() const { return m_managedScaling; }
43 inline bool ManagedScalingHasBeenSet() const { return m_managedScalingHasBeenSet; }
44 template <typename ManagedScalingT = ManagedScaling>
45 void SetManagedScaling(ManagedScalingT&& value) {
46 m_managedScalingHasBeenSet = true;
47 m_managedScaling = std::forward<ManagedScalingT>(value);
48 }
49 template <typename ManagedScalingT = ManagedScaling>
51 SetManagedScaling(std::forward<ManagedScalingT>(value));
52 return *this;
53 }
55
57
72 inline ManagedTerminationProtection GetManagedTerminationProtection() const { return m_managedTerminationProtection; }
73 inline bool ManagedTerminationProtectionHasBeenSet() const { return m_managedTerminationProtectionHasBeenSet; }
75 m_managedTerminationProtectionHasBeenSet = true;
76 m_managedTerminationProtection = value;
77 }
80 return *this;
81 }
83
85
90 inline ManagedDraining GetManagedDraining() const { return m_managedDraining; }
91 inline bool ManagedDrainingHasBeenSet() const { return m_managedDrainingHasBeenSet; }
93 m_managedDrainingHasBeenSet = true;
94 m_managedDraining = value;
95 }
97 SetManagedDraining(value);
98 return *this;
99 }
101 private:
102 ManagedScaling m_managedScaling;
103
105
106 ManagedDraining m_managedDraining{ManagedDraining::NOT_SET};
107 bool m_managedScalingHasBeenSet = false;
108 bool m_managedTerminationProtectionHasBeenSet = false;
109 bool m_managedDrainingHasBeenSet = false;
110};
111
112} // namespace Model
113} // namespace ECS
114} // 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