AWS SDK for C++  0.14.3
AWS SDK for C++
LoadBalancerAttributes.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
24 
25 namespace Aws
26 {
27 namespace Utils
28 {
29 namespace Xml
30 {
31  class XmlNode;
32 } // namespace Xml
33 } // namespace Utils
34 namespace ElasticLoadBalancing
35 {
36 namespace Model
37 {
38 
43  {
44  public:
47  LoadBalancerAttributes& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
48 
49  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
50  void OutputToStream(Aws::OStream& oStream, const char* location) const;
51 
59  inline const CrossZoneLoadBalancing& GetCrossZoneLoadBalancing() const{ return m_crossZoneLoadBalancing; }
60 
68  inline void SetCrossZoneLoadBalancing(const CrossZoneLoadBalancing& value) { m_crossZoneLoadBalancingHasBeenSet = true; m_crossZoneLoadBalancing = value; }
69 
77  inline void SetCrossZoneLoadBalancing(CrossZoneLoadBalancing&& value) { m_crossZoneLoadBalancingHasBeenSet = true; m_crossZoneLoadBalancing = value; }
78 
86  inline LoadBalancerAttributes& WithCrossZoneLoadBalancing(const CrossZoneLoadBalancing& value) { SetCrossZoneLoadBalancing(value); return *this;}
87 
95  inline LoadBalancerAttributes& WithCrossZoneLoadBalancing(CrossZoneLoadBalancing&& value) { SetCrossZoneLoadBalancing(value); return *this;}
96 
104  inline const AccessLog& GetAccessLog() const{ return m_accessLog; }
105 
113  inline void SetAccessLog(const AccessLog& value) { m_accessLogHasBeenSet = true; m_accessLog = value; }
114 
122  inline void SetAccessLog(AccessLog&& value) { m_accessLogHasBeenSet = true; m_accessLog = value; }
123 
131  inline LoadBalancerAttributes& WithAccessLog(const AccessLog& value) { SetAccessLog(value); return *this;}
132 
140  inline LoadBalancerAttributes& WithAccessLog(AccessLog&& value) { SetAccessLog(value); return *this;}
141 
149  inline const ConnectionDraining& GetConnectionDraining() const{ return m_connectionDraining; }
150 
158  inline void SetConnectionDraining(const ConnectionDraining& value) { m_connectionDrainingHasBeenSet = true; m_connectionDraining = value; }
159 
167  inline void SetConnectionDraining(ConnectionDraining&& value) { m_connectionDrainingHasBeenSet = true; m_connectionDraining = value; }
168 
176  inline LoadBalancerAttributes& WithConnectionDraining(const ConnectionDraining& value) { SetConnectionDraining(value); return *this;}
177 
185  inline LoadBalancerAttributes& WithConnectionDraining(ConnectionDraining&& value) { SetConnectionDraining(value); return *this;}
186 
196  inline const ConnectionSettings& GetConnectionSettings() const{ return m_connectionSettings; }
197 
207  inline void SetConnectionSettings(const ConnectionSettings& value) { m_connectionSettingsHasBeenSet = true; m_connectionSettings = value; }
208 
218  inline void SetConnectionSettings(ConnectionSettings&& value) { m_connectionSettingsHasBeenSet = true; m_connectionSettings = value; }
219 
229  inline LoadBalancerAttributes& WithConnectionSettings(const ConnectionSettings& value) { SetConnectionSettings(value); return *this;}
230 
240  inline LoadBalancerAttributes& WithConnectionSettings(ConnectionSettings&& value) { SetConnectionSettings(value); return *this;}
241 
245  inline const Aws::Vector<AdditionalAttribute>& GetAdditionalAttributes() const{ return m_additionalAttributes; }
246 
250  inline void SetAdditionalAttributes(const Aws::Vector<AdditionalAttribute>& value) { m_additionalAttributesHasBeenSet = true; m_additionalAttributes = value; }
251 
255  inline void SetAdditionalAttributes(Aws::Vector<AdditionalAttribute>&& value) { m_additionalAttributesHasBeenSet = true; m_additionalAttributes = value; }
256 
260  inline LoadBalancerAttributes& WithAdditionalAttributes(const Aws::Vector<AdditionalAttribute>& value) { SetAdditionalAttributes(value); return *this;}
261 
265  inline LoadBalancerAttributes& WithAdditionalAttributes(Aws::Vector<AdditionalAttribute>&& value) { SetAdditionalAttributes(value); return *this;}
266 
270  inline LoadBalancerAttributes& AddAdditionalAttributes(const AdditionalAttribute& value) { m_additionalAttributesHasBeenSet = true; m_additionalAttributes.push_back(value); return *this; }
271 
275  inline LoadBalancerAttributes& AddAdditionalAttributes(AdditionalAttribute&& value) { m_additionalAttributesHasBeenSet = true; m_additionalAttributes.push_back(value); return *this; }
276 
277  private:
278  CrossZoneLoadBalancing m_crossZoneLoadBalancing;
279  bool m_crossZoneLoadBalancingHasBeenSet;
280  AccessLog m_accessLog;
281  bool m_accessLogHasBeenSet;
282  ConnectionDraining m_connectionDraining;
283  bool m_connectionDrainingHasBeenSet;
284  ConnectionSettings m_connectionSettings;
285  bool m_connectionSettingsHasBeenSet;
286  Aws::Vector<AdditionalAttribute> m_additionalAttributes;
287  bool m_additionalAttributesHasBeenSet;
288  };
289 
290 } // namespace Model
291 } // namespace ElasticLoadBalancing
292 } // namespace Aws
LoadBalancerAttributes & AddAdditionalAttributes(AdditionalAttribute &&value)
LoadBalancerAttributes & WithCrossZoneLoadBalancing(CrossZoneLoadBalancing &&value)
LoadBalancerAttributes & WithAccessLog(const AccessLog &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
const CrossZoneLoadBalancing & GetCrossZoneLoadBalancing() const
void SetCrossZoneLoadBalancing(CrossZoneLoadBalancing &&value)
LoadBalancerAttributes & WithAccessLog(AccessLog &&value)
LoadBalancerAttributes & WithConnectionDraining(const ConnectionDraining &value)
const Aws::Vector< AdditionalAttribute > & GetAdditionalAttributes() const
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
void SetAdditionalAttributes(Aws::Vector< AdditionalAttribute > &&value)
LoadBalancerAttributes & WithConnectionSettings(const ConnectionSettings &value)
void SetAdditionalAttributes(const Aws::Vector< AdditionalAttribute > &value)
LoadBalancerAttributes & WithAdditionalAttributes(const Aws::Vector< AdditionalAttribute > &value)
LoadBalancerAttributes & WithCrossZoneLoadBalancing(const CrossZoneLoadBalancing &value)
#define AWS_ELASTICLOADBALANCING_API
LoadBalancerAttributes & AddAdditionalAttributes(const AdditionalAttribute &value)
LoadBalancerAttributes & WithConnectionDraining(ConnectionDraining &&value)
void SetCrossZoneLoadBalancing(const CrossZoneLoadBalancing &value)
LoadBalancerAttributes & WithConnectionSettings(ConnectionSettings &&value)
JSON (JavaScript Object Notation).
LoadBalancerAttributes & WithAdditionalAttributes(Aws::Vector< AdditionalAttribute > &&value)