AWS SDK for C++

AWS SDK for C++ Version 1.11.756

Loading...
Searching...
No Matches
ManagedIngressPath.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/ecs/ECS_EXPORTS.h>
10#include <aws/ecs/model/AccessType.h>
11#include <aws/ecs/model/ManagedCertificate.h>
12#include <aws/ecs/model/ManagedListener.h>
13#include <aws/ecs/model/ManagedListenerRule.h>
14#include <aws/ecs/model/ManagedLoadBalancer.h>
15#include <aws/ecs/model/ManagedSecurityGroup.h>
16#include <aws/ecs/model/ManagedTargetGroup.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Json {
23class JsonValue;
24class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace ECS {
28namespace Model {
29
36 public:
37 AWS_ECS_API ManagedIngressPath() = default;
41
43
46 inline AccessType GetAccessType() const { return m_accessType; }
47 inline bool AccessTypeHasBeenSet() const { return m_accessTypeHasBeenSet; }
48 inline void SetAccessType(AccessType value) {
49 m_accessTypeHasBeenSet = true;
50 m_accessType = value;
51 }
53 SetAccessType(value);
54 return *this;
55 }
57
59
62 inline const Aws::String& GetEndpoint() const { return m_endpoint; }
63 inline bool EndpointHasBeenSet() const { return m_endpointHasBeenSet; }
64 template <typename EndpointT = Aws::String>
65 void SetEndpoint(EndpointT&& value) {
66 m_endpointHasBeenSet = true;
67 m_endpoint = std::forward<EndpointT>(value);
68 }
69 template <typename EndpointT = Aws::String>
70 ManagedIngressPath& WithEndpoint(EndpointT&& value) {
71 SetEndpoint(std::forward<EndpointT>(value));
72 return *this;
73 }
75
77
80 inline const ManagedLoadBalancer& GetLoadBalancer() const { return m_loadBalancer; }
81 inline bool LoadBalancerHasBeenSet() const { return m_loadBalancerHasBeenSet; }
82 template <typename LoadBalancerT = ManagedLoadBalancer>
83 void SetLoadBalancer(LoadBalancerT&& value) {
84 m_loadBalancerHasBeenSet = true;
85 m_loadBalancer = std::forward<LoadBalancerT>(value);
86 }
87 template <typename LoadBalancerT = ManagedLoadBalancer>
88 ManagedIngressPath& WithLoadBalancer(LoadBalancerT&& value) {
89 SetLoadBalancer(std::forward<LoadBalancerT>(value));
90 return *this;
91 }
93
95
98 inline const Aws::Vector<ManagedSecurityGroup>& GetLoadBalancerSecurityGroups() const { return m_loadBalancerSecurityGroups; }
99 inline bool LoadBalancerSecurityGroupsHasBeenSet() const { return m_loadBalancerSecurityGroupsHasBeenSet; }
100 template <typename LoadBalancerSecurityGroupsT = Aws::Vector<ManagedSecurityGroup>>
101 void SetLoadBalancerSecurityGroups(LoadBalancerSecurityGroupsT&& value) {
102 m_loadBalancerSecurityGroupsHasBeenSet = true;
103 m_loadBalancerSecurityGroups = std::forward<LoadBalancerSecurityGroupsT>(value);
104 }
105 template <typename LoadBalancerSecurityGroupsT = Aws::Vector<ManagedSecurityGroup>>
106 ManagedIngressPath& WithLoadBalancerSecurityGroups(LoadBalancerSecurityGroupsT&& value) {
107 SetLoadBalancerSecurityGroups(std::forward<LoadBalancerSecurityGroupsT>(value));
108 return *this;
109 }
110 template <typename LoadBalancerSecurityGroupsT = ManagedSecurityGroup>
111 ManagedIngressPath& AddLoadBalancerSecurityGroups(LoadBalancerSecurityGroupsT&& value) {
112 m_loadBalancerSecurityGroupsHasBeenSet = true;
113 m_loadBalancerSecurityGroups.emplace_back(std::forward<LoadBalancerSecurityGroupsT>(value));
114 return *this;
115 }
117
119
122 inline const ManagedCertificate& GetCertificate() const { return m_certificate; }
123 inline bool CertificateHasBeenSet() const { return m_certificateHasBeenSet; }
124 template <typename CertificateT = ManagedCertificate>
125 void SetCertificate(CertificateT&& value) {
126 m_certificateHasBeenSet = true;
127 m_certificate = std::forward<CertificateT>(value);
128 }
129 template <typename CertificateT = ManagedCertificate>
130 ManagedIngressPath& WithCertificate(CertificateT&& value) {
131 SetCertificate(std::forward<CertificateT>(value));
132 return *this;
133 }
135
137
140 inline const ManagedListener& GetListener() const { return m_listener; }
141 inline bool ListenerHasBeenSet() const { return m_listenerHasBeenSet; }
142 template <typename ListenerT = ManagedListener>
143 void SetListener(ListenerT&& value) {
144 m_listenerHasBeenSet = true;
145 m_listener = std::forward<ListenerT>(value);
146 }
147 template <typename ListenerT = ManagedListener>
148 ManagedIngressPath& WithListener(ListenerT&& value) {
149 SetListener(std::forward<ListenerT>(value));
150 return *this;
151 }
153
155
158 inline const ManagedListenerRule& GetRule() const { return m_rule; }
159 inline bool RuleHasBeenSet() const { return m_ruleHasBeenSet; }
160 template <typename RuleT = ManagedListenerRule>
161 void SetRule(RuleT&& value) {
162 m_ruleHasBeenSet = true;
163 m_rule = std::forward<RuleT>(value);
164 }
165 template <typename RuleT = ManagedListenerRule>
166 ManagedIngressPath& WithRule(RuleT&& value) {
167 SetRule(std::forward<RuleT>(value));
168 return *this;
169 }
171
173
176 inline const Aws::Vector<ManagedTargetGroup>& GetTargetGroups() const { return m_targetGroups; }
177 inline bool TargetGroupsHasBeenSet() const { return m_targetGroupsHasBeenSet; }
178 template <typename TargetGroupsT = Aws::Vector<ManagedTargetGroup>>
179 void SetTargetGroups(TargetGroupsT&& value) {
180 m_targetGroupsHasBeenSet = true;
181 m_targetGroups = std::forward<TargetGroupsT>(value);
182 }
183 template <typename TargetGroupsT = Aws::Vector<ManagedTargetGroup>>
184 ManagedIngressPath& WithTargetGroups(TargetGroupsT&& value) {
185 SetTargetGroups(std::forward<TargetGroupsT>(value));
186 return *this;
187 }
188 template <typename TargetGroupsT = ManagedTargetGroup>
189 ManagedIngressPath& AddTargetGroups(TargetGroupsT&& value) {
190 m_targetGroupsHasBeenSet = true;
191 m_targetGroups.emplace_back(std::forward<TargetGroupsT>(value));
192 return *this;
193 }
195 private:
196 AccessType m_accessType{AccessType::NOT_SET};
197
198 Aws::String m_endpoint;
199
200 ManagedLoadBalancer m_loadBalancer;
201
202 Aws::Vector<ManagedSecurityGroup> m_loadBalancerSecurityGroups;
203
204 ManagedCertificate m_certificate;
205
206 ManagedListener m_listener;
207
208 ManagedListenerRule m_rule;
209
210 Aws::Vector<ManagedTargetGroup> m_targetGroups;
211 bool m_accessTypeHasBeenSet = false;
212 bool m_endpointHasBeenSet = false;
213 bool m_loadBalancerHasBeenSet = false;
214 bool m_loadBalancerSecurityGroupsHasBeenSet = false;
215 bool m_certificateHasBeenSet = false;
216 bool m_listenerHasBeenSet = false;
217 bool m_ruleHasBeenSet = false;
218 bool m_targetGroupsHasBeenSet = false;
219};
220
221} // namespace Model
222} // namespace ECS
223} // namespace Aws
ManagedIngressPath & WithListener(ListenerT &&value)
ManagedIngressPath & WithRule(RuleT &&value)
void SetTargetGroups(TargetGroupsT &&value)
const ManagedListenerRule & GetRule() const
void SetCertificate(CertificateT &&value)
AWS_ECS_API ManagedIngressPath & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetLoadBalancer(LoadBalancerT &&value)
const ManagedListener & GetListener() const
const ManagedLoadBalancer & GetLoadBalancer() const
ManagedIngressPath & WithLoadBalancer(LoadBalancerT &&value)
const Aws::String & GetEndpoint() const
const Aws::Vector< ManagedSecurityGroup > & GetLoadBalancerSecurityGroups() const
ManagedIngressPath & AddTargetGroups(TargetGroupsT &&value)
ManagedIngressPath & WithTargetGroups(TargetGroupsT &&value)
const ManagedCertificate & GetCertificate() const
AWS_ECS_API ManagedIngressPath(Aws::Utils::Json::JsonView jsonValue)
void SetLoadBalancerSecurityGroups(LoadBalancerSecurityGroupsT &&value)
ManagedIngressPath & AddLoadBalancerSecurityGroups(LoadBalancerSecurityGroupsT &&value)
const Aws::Vector< ManagedTargetGroup > & GetTargetGroups() const
AWS_ECS_API ManagedIngressPath()=default
ManagedIngressPath & WithLoadBalancerSecurityGroups(LoadBalancerSecurityGroupsT &&value)
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
ManagedIngressPath & WithCertificate(CertificateT &&value)
ManagedIngressPath & WithAccessType(AccessType value)
ManagedIngressPath & WithEndpoint(EndpointT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue