AWS SDK for C++

AWS SDK for C++ Version 1.11.751

Loading...
Searching...
No Matches
ECSManagedResources.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/ecs/ECS_EXPORTS.h>
9#include <aws/ecs/model/ManagedAutoScaling.h>
10#include <aws/ecs/model/ManagedIngressPath.h>
11#include <aws/ecs/model/ManagedLogGroup.h>
12#include <aws/ecs/model/ManagedMetricAlarm.h>
13#include <aws/ecs/model/ManagedSecurityGroup.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace ECS {
25namespace Model {
26
35 public:
36 AWS_ECS_API ECSManagedResources() = default;
40
42
45 inline const Aws::Vector<ManagedIngressPath>& GetIngressPaths() const { return m_ingressPaths; }
46 inline bool IngressPathsHasBeenSet() const { return m_ingressPathsHasBeenSet; }
47 template <typename IngressPathsT = Aws::Vector<ManagedIngressPath>>
48 void SetIngressPaths(IngressPathsT&& value) {
49 m_ingressPathsHasBeenSet = true;
50 m_ingressPaths = std::forward<IngressPathsT>(value);
51 }
52 template <typename IngressPathsT = Aws::Vector<ManagedIngressPath>>
53 ECSManagedResources& WithIngressPaths(IngressPathsT&& value) {
54 SetIngressPaths(std::forward<IngressPathsT>(value));
55 return *this;
56 }
57 template <typename IngressPathsT = ManagedIngressPath>
58 ECSManagedResources& AddIngressPaths(IngressPathsT&& value) {
59 m_ingressPathsHasBeenSet = true;
60 m_ingressPaths.emplace_back(std::forward<IngressPathsT>(value));
61 return *this;
62 }
64
66
69 inline const ManagedAutoScaling& GetAutoScaling() const { return m_autoScaling; }
70 inline bool AutoScalingHasBeenSet() const { return m_autoScalingHasBeenSet; }
71 template <typename AutoScalingT = ManagedAutoScaling>
72 void SetAutoScaling(AutoScalingT&& value) {
73 m_autoScalingHasBeenSet = true;
74 m_autoScaling = std::forward<AutoScalingT>(value);
75 }
76 template <typename AutoScalingT = ManagedAutoScaling>
77 ECSManagedResources& WithAutoScaling(AutoScalingT&& value) {
78 SetAutoScaling(std::forward<AutoScalingT>(value));
79 return *this;
80 }
82
84
87 inline const Aws::Vector<ManagedMetricAlarm>& GetMetricAlarms() const { return m_metricAlarms; }
88 inline bool MetricAlarmsHasBeenSet() const { return m_metricAlarmsHasBeenSet; }
89 template <typename MetricAlarmsT = Aws::Vector<ManagedMetricAlarm>>
90 void SetMetricAlarms(MetricAlarmsT&& value) {
91 m_metricAlarmsHasBeenSet = true;
92 m_metricAlarms = std::forward<MetricAlarmsT>(value);
93 }
94 template <typename MetricAlarmsT = Aws::Vector<ManagedMetricAlarm>>
95 ECSManagedResources& WithMetricAlarms(MetricAlarmsT&& value) {
96 SetMetricAlarms(std::forward<MetricAlarmsT>(value));
97 return *this;
98 }
99 template <typename MetricAlarmsT = ManagedMetricAlarm>
100 ECSManagedResources& AddMetricAlarms(MetricAlarmsT&& value) {
101 m_metricAlarmsHasBeenSet = true;
102 m_metricAlarms.emplace_back(std::forward<MetricAlarmsT>(value));
103 return *this;
104 }
106
108
111 inline const Aws::Vector<ManagedSecurityGroup>& GetServiceSecurityGroups() const { return m_serviceSecurityGroups; }
112 inline bool ServiceSecurityGroupsHasBeenSet() const { return m_serviceSecurityGroupsHasBeenSet; }
113 template <typename ServiceSecurityGroupsT = Aws::Vector<ManagedSecurityGroup>>
114 void SetServiceSecurityGroups(ServiceSecurityGroupsT&& value) {
115 m_serviceSecurityGroupsHasBeenSet = true;
116 m_serviceSecurityGroups = std::forward<ServiceSecurityGroupsT>(value);
117 }
118 template <typename ServiceSecurityGroupsT = Aws::Vector<ManagedSecurityGroup>>
119 ECSManagedResources& WithServiceSecurityGroups(ServiceSecurityGroupsT&& value) {
120 SetServiceSecurityGroups(std::forward<ServiceSecurityGroupsT>(value));
121 return *this;
122 }
123 template <typename ServiceSecurityGroupsT = ManagedSecurityGroup>
124 ECSManagedResources& AddServiceSecurityGroups(ServiceSecurityGroupsT&& value) {
125 m_serviceSecurityGroupsHasBeenSet = true;
126 m_serviceSecurityGroups.emplace_back(std::forward<ServiceSecurityGroupsT>(value));
127 return *this;
128 }
130
132
135 inline const Aws::Vector<ManagedLogGroup>& GetLogGroups() const { return m_logGroups; }
136 inline bool LogGroupsHasBeenSet() const { return m_logGroupsHasBeenSet; }
137 template <typename LogGroupsT = Aws::Vector<ManagedLogGroup>>
138 void SetLogGroups(LogGroupsT&& value) {
139 m_logGroupsHasBeenSet = true;
140 m_logGroups = std::forward<LogGroupsT>(value);
141 }
142 template <typename LogGroupsT = Aws::Vector<ManagedLogGroup>>
143 ECSManagedResources& WithLogGroups(LogGroupsT&& value) {
144 SetLogGroups(std::forward<LogGroupsT>(value));
145 return *this;
146 }
147 template <typename LogGroupsT = ManagedLogGroup>
148 ECSManagedResources& AddLogGroups(LogGroupsT&& value) {
149 m_logGroupsHasBeenSet = true;
150 m_logGroups.emplace_back(std::forward<LogGroupsT>(value));
151 return *this;
152 }
154 private:
155 Aws::Vector<ManagedIngressPath> m_ingressPaths;
156
157 ManagedAutoScaling m_autoScaling;
158
159 Aws::Vector<ManagedMetricAlarm> m_metricAlarms;
160
161 Aws::Vector<ManagedSecurityGroup> m_serviceSecurityGroups;
162
164 bool m_ingressPathsHasBeenSet = false;
165 bool m_autoScalingHasBeenSet = false;
166 bool m_metricAlarmsHasBeenSet = false;
167 bool m_serviceSecurityGroupsHasBeenSet = false;
168 bool m_logGroupsHasBeenSet = false;
169};
170
171} // namespace Model
172} // namespace ECS
173} // namespace Aws
const ManagedAutoScaling & GetAutoScaling() const
ECSManagedResources & WithAutoScaling(AutoScalingT &&value)
const Aws::Vector< ManagedIngressPath > & GetIngressPaths() const
AWS_ECS_API ECSManagedResources & operator=(Aws::Utils::Json::JsonView jsonValue)
ECSManagedResources & AddServiceSecurityGroups(ServiceSecurityGroupsT &&value)
void SetMetricAlarms(MetricAlarmsT &&value)
ECSManagedResources & AddLogGroups(LogGroupsT &&value)
AWS_ECS_API ECSManagedResources(Aws::Utils::Json::JsonView jsonValue)
void SetIngressPaths(IngressPathsT &&value)
void SetServiceSecurityGroups(ServiceSecurityGroupsT &&value)
ECSManagedResources & WithIngressPaths(IngressPathsT &&value)
const Aws::Vector< ManagedMetricAlarm > & GetMetricAlarms() const
void SetAutoScaling(AutoScalingT &&value)
ECSManagedResources & AddMetricAlarms(MetricAlarmsT &&value)
const Aws::Vector< ManagedLogGroup > & GetLogGroups() const
const Aws::Vector< ManagedSecurityGroup > & GetServiceSecurityGroups() const
ECSManagedResources & WithMetricAlarms(MetricAlarmsT &&value)
ECSManagedResources & AddIngressPaths(IngressPathsT &&value)
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_ECS_API ECSManagedResources()=default
ECSManagedResources & WithLogGroups(LogGroupsT &&value)
ECSManagedResources & WithServiceSecurityGroups(ServiceSecurityGroupsT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue