AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
AutoScalingGroupProvider.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/ecs/ECS_EXPORTS.h>
9#include <aws/ecs/model/ManagedDraining.h>
10#include <aws/ecs/model/ManagedScaling.h>
11#include <aws/ecs/model/ManagedTerminationProtection.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace ECS {
23namespace Model {
24
32 public:
33 AWS_ECS_API AutoScalingGroupProvider() = default;
37
39
43 inline const Aws::String& GetAutoScalingGroupArn() const { return m_autoScalingGroupArn; }
44 inline bool AutoScalingGroupArnHasBeenSet() const { return m_autoScalingGroupArnHasBeenSet; }
45 template <typename AutoScalingGroupArnT = Aws::String>
46 void SetAutoScalingGroupArn(AutoScalingGroupArnT&& value) {
47 m_autoScalingGroupArnHasBeenSet = true;
48 m_autoScalingGroupArn = std::forward<AutoScalingGroupArnT>(value);
49 }
50 template <typename AutoScalingGroupArnT = Aws::String>
51 AutoScalingGroupProvider& WithAutoScalingGroupArn(AutoScalingGroupArnT&& value) {
52 SetAutoScalingGroupArn(std::forward<AutoScalingGroupArnT>(value));
53 return *this;
54 }
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) {
66 m_managedScalingHasBeenSet = true;
67 m_managedScaling = std::forward<ManagedScalingT>(value);
68 }
69 template <typename ManagedScalingT = ManagedScaling>
70 AutoScalingGroupProvider& WithManagedScaling(ManagedScalingT&& value) {
71 SetManagedScaling(std::forward<ManagedScalingT>(value));
72 return *this;
73 }
75
77
93 inline ManagedTerminationProtection GetManagedTerminationProtection() const { return m_managedTerminationProtection; }
94 inline bool ManagedTerminationProtectionHasBeenSet() const { return m_managedTerminationProtectionHasBeenSet; }
96 m_managedTerminationProtectionHasBeenSet = true;
97 m_managedTerminationProtection = value;
98 }
101 return *this;
102 }
104
106
111 inline ManagedDraining GetManagedDraining() const { return m_managedDraining; }
112 inline bool ManagedDrainingHasBeenSet() const { return m_managedDrainingHasBeenSet; }
114 m_managedDrainingHasBeenSet = true;
115 m_managedDraining = value;
116 }
118 SetManagedDraining(value);
119 return *this;
120 }
122 private:
123 Aws::String m_autoScalingGroupArn;
124
125 ManagedScaling m_managedScaling;
126
128
129 ManagedDraining m_managedDraining{ManagedDraining::NOT_SET};
130 bool m_autoScalingGroupArnHasBeenSet = false;
131 bool m_managedScalingHasBeenSet = false;
132 bool m_managedTerminationProtectionHasBeenSet = false;
133 bool m_managedDrainingHasBeenSet = false;
134};
135
136} // namespace Model
137} // namespace ECS
138} // 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