AWS SDK for C++  0.12.9
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 
60  inline const CrossZoneLoadBalancing& GetCrossZoneLoadBalancing() const{ return m_crossZoneLoadBalancing; }
61 
70  inline void SetCrossZoneLoadBalancing(const CrossZoneLoadBalancing& value) { m_crossZoneLoadBalancingHasBeenSet = true; m_crossZoneLoadBalancing = value; }
71 
80  inline void SetCrossZoneLoadBalancing(CrossZoneLoadBalancing&& value) { m_crossZoneLoadBalancingHasBeenSet = true; m_crossZoneLoadBalancing = value; }
81 
90  inline LoadBalancerAttributes& WithCrossZoneLoadBalancing(const CrossZoneLoadBalancing& value) { SetCrossZoneLoadBalancing(value); return *this;}
91 
100  inline LoadBalancerAttributes& WithCrossZoneLoadBalancing(CrossZoneLoadBalancing&& value) { SetCrossZoneLoadBalancing(value); return *this;}
101 
109  inline const AccessLog& GetAccessLog() const{ return m_accessLog; }
110 
118  inline void SetAccessLog(const AccessLog& value) { m_accessLogHasBeenSet = true; m_accessLog = value; }
119 
127  inline void SetAccessLog(AccessLog&& value) { m_accessLogHasBeenSet = true; m_accessLog = value; }
128 
136  inline LoadBalancerAttributes& WithAccessLog(const AccessLog& value) { SetAccessLog(value); return *this;}
137 
145  inline LoadBalancerAttributes& WithAccessLog(AccessLog&& value) { SetAccessLog(value); return *this;}
146 
155  inline const ConnectionDraining& GetConnectionDraining() const{ return m_connectionDraining; }
156 
165  inline void SetConnectionDraining(const ConnectionDraining& value) { m_connectionDrainingHasBeenSet = true; m_connectionDraining = value; }
166 
175  inline void SetConnectionDraining(ConnectionDraining&& value) { m_connectionDrainingHasBeenSet = true; m_connectionDraining = value; }
176 
185  inline LoadBalancerAttributes& WithConnectionDraining(const ConnectionDraining& value) { SetConnectionDraining(value); return *this;}
186 
195  inline LoadBalancerAttributes& WithConnectionDraining(ConnectionDraining&& value) { SetConnectionDraining(value); return *this;}
196 
207  inline const ConnectionSettings& GetConnectionSettings() const{ return m_connectionSettings; }
208 
219  inline void SetConnectionSettings(const ConnectionSettings& value) { m_connectionSettingsHasBeenSet = true; m_connectionSettings = value; }
220 
231  inline void SetConnectionSettings(ConnectionSettings&& value) { m_connectionSettingsHasBeenSet = true; m_connectionSettings = value; }
232 
243  inline LoadBalancerAttributes& WithConnectionSettings(const ConnectionSettings& value) { SetConnectionSettings(value); return *this;}
244 
255  inline LoadBalancerAttributes& WithConnectionSettings(ConnectionSettings&& value) { SetConnectionSettings(value); return *this;}
256 
260  inline const Aws::Vector<AdditionalAttribute>& GetAdditionalAttributes() const{ return m_additionalAttributes; }
261 
265  inline void SetAdditionalAttributes(const Aws::Vector<AdditionalAttribute>& value) { m_additionalAttributesHasBeenSet = true; m_additionalAttributes = value; }
266 
270  inline void SetAdditionalAttributes(Aws::Vector<AdditionalAttribute>&& value) { m_additionalAttributesHasBeenSet = true; m_additionalAttributes = value; }
271 
275  inline LoadBalancerAttributes& WithAdditionalAttributes(const Aws::Vector<AdditionalAttribute>& value) { SetAdditionalAttributes(value); return *this;}
276 
280  inline LoadBalancerAttributes& WithAdditionalAttributes(Aws::Vector<AdditionalAttribute>&& value) { SetAdditionalAttributes(value); return *this;}
281 
285  inline LoadBalancerAttributes& AddAdditionalAttributes(const AdditionalAttribute& value) { m_additionalAttributesHasBeenSet = true; m_additionalAttributes.push_back(value); return *this; }
286 
290  inline LoadBalancerAttributes& AddAdditionalAttributes(AdditionalAttribute&& value) { m_additionalAttributesHasBeenSet = true; m_additionalAttributes.push_back(value); return *this; }
291 
292  private:
293  CrossZoneLoadBalancing m_crossZoneLoadBalancing;
294  bool m_crossZoneLoadBalancingHasBeenSet;
295  AccessLog m_accessLog;
296  bool m_accessLogHasBeenSet;
297  ConnectionDraining m_connectionDraining;
298  bool m_connectionDrainingHasBeenSet;
299  ConnectionSettings m_connectionSettings;
300  bool m_connectionSettingsHasBeenSet;
301  Aws::Vector<AdditionalAttribute> m_additionalAttributes;
302  bool m_additionalAttributesHasBeenSet;
303  };
304 
305 } // namespace Model
306 } // namespace ElasticLoadBalancing
307 } // 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)