AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
AutoScalingGroupProvider.h
1
6#pragma once
7#include <aws/ecs/ECS_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/ecs/model/ManagedScaling.h>
10#include <aws/ecs/model/ManagedTerminationProtection.h>
11#include <aws/ecs/model/ManagedDraining.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace ECS
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_ECS_API AutoScalingGroupProvider() = default;
42
43
45
49 inline const Aws::String& GetAutoScalingGroupArn() const { return m_autoScalingGroupArn; }
50 inline bool AutoScalingGroupArnHasBeenSet() const { return m_autoScalingGroupArnHasBeenSet; }
51 template<typename AutoScalingGroupArnT = Aws::String>
52 void SetAutoScalingGroupArn(AutoScalingGroupArnT&& value) { m_autoScalingGroupArnHasBeenSet = true; m_autoScalingGroupArn = std::forward<AutoScalingGroupArnT>(value); }
53 template<typename AutoScalingGroupArnT = Aws::String>
54 AutoScalingGroupProvider& WithAutoScalingGroupArn(AutoScalingGroupArnT&& value) { SetAutoScalingGroupArn(std::forward<AutoScalingGroupArnT>(value)); return *this;}
56
58
62 inline const ManagedScaling& GetManagedScaling() const { return m_managedScaling; }
63 inline bool ManagedScalingHasBeenSet() const { return m_managedScalingHasBeenSet; }
64 template<typename ManagedScalingT = ManagedScaling>
65 void SetManagedScaling(ManagedScalingT&& value) { m_managedScalingHasBeenSet = true; m_managedScaling = std::forward<ManagedScalingT>(value); }
66 template<typename ManagedScalingT = ManagedScaling>
67 AutoScalingGroupProvider& WithManagedScaling(ManagedScalingT&& value) { SetManagedScaling(std::forward<ManagedScalingT>(value)); return *this;}
69
71
87 inline ManagedTerminationProtection GetManagedTerminationProtection() const { return m_managedTerminationProtection; }
88 inline bool ManagedTerminationProtectionHasBeenSet() const { return m_managedTerminationProtectionHasBeenSet; }
89 inline void SetManagedTerminationProtection(ManagedTerminationProtection value) { m_managedTerminationProtectionHasBeenSet = true; m_managedTerminationProtection = value; }
92
94
99 inline ManagedDraining GetManagedDraining() const { return m_managedDraining; }
100 inline bool ManagedDrainingHasBeenSet() const { return m_managedDrainingHasBeenSet; }
101 inline void SetManagedDraining(ManagedDraining value) { m_managedDrainingHasBeenSet = true; m_managedDraining = value; }
104 private:
105
106 Aws::String m_autoScalingGroupArn;
107 bool m_autoScalingGroupArnHasBeenSet = false;
108
109 ManagedScaling m_managedScaling;
110 bool m_managedScalingHasBeenSet = false;
111
113 bool m_managedTerminationProtectionHasBeenSet = false;
114
115 ManagedDraining m_managedDraining{ManagedDraining::NOT_SET};
116 bool m_managedDrainingHasBeenSet = false;
117 };
118
119} // namespace Model
120} // namespace ECS
121} // namespace Aws
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
ManagedTerminationProtection GetManagedTerminationProtection() const
AutoScalingGroupProvider & WithAutoScalingGroupArn(AutoScalingGroupArnT &&value)
AutoScalingGroupProvider & WithManagedScaling(ManagedScalingT &&value)
AutoScalingGroupProvider & WithManagedTerminationProtection(ManagedTerminationProtection value)
void SetManagedTerminationProtection(ManagedTerminationProtection value)
void SetAutoScalingGroupArn(AutoScalingGroupArnT &&value)
AWS_ECS_API AutoScalingGroupProvider()=default
AWS_ECS_API AutoScalingGroupProvider(Aws::Utils::Json::JsonView jsonValue)
AWS_ECS_API AutoScalingGroupProvider & operator=(Aws::Utils::Json::JsonView jsonValue)
AutoScalingGroupProvider & WithManagedDraining(ManagedDraining value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue