1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/elasticbeanstalk/ElasticBeanstalk_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/elasticbeanstalk/model/Listener.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Xml 19 { 20 class XmlNode; 21 } // namespace Xml 22 } // namespace Utils 23 namespace ElasticBeanstalk 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Describes the details of a LoadBalancer.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/LoadBalancerDescription">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_ELASTICBEANSTALK_API LoadBalancerDescription 34 { 35 public: 36 LoadBalancerDescription(); 37 LoadBalancerDescription(const Aws::Utils::Xml::XmlNode& xmlNode); 38 LoadBalancerDescription& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 39 40 void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; 41 void OutputToStream(Aws::OStream& oStream, const char* location) const; 42 43 44 /** 45 * <p>The name of the LoadBalancer.</p> 46 */ GetLoadBalancerName()47 inline const Aws::String& GetLoadBalancerName() const{ return m_loadBalancerName; } 48 49 /** 50 * <p>The name of the LoadBalancer.</p> 51 */ LoadBalancerNameHasBeenSet()52 inline bool LoadBalancerNameHasBeenSet() const { return m_loadBalancerNameHasBeenSet; } 53 54 /** 55 * <p>The name of the LoadBalancer.</p> 56 */ SetLoadBalancerName(const Aws::String & value)57 inline void SetLoadBalancerName(const Aws::String& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = value; } 58 59 /** 60 * <p>The name of the LoadBalancer.</p> 61 */ SetLoadBalancerName(Aws::String && value)62 inline void SetLoadBalancerName(Aws::String&& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = std::move(value); } 63 64 /** 65 * <p>The name of the LoadBalancer.</p> 66 */ SetLoadBalancerName(const char * value)67 inline void SetLoadBalancerName(const char* value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName.assign(value); } 68 69 /** 70 * <p>The name of the LoadBalancer.</p> 71 */ WithLoadBalancerName(const Aws::String & value)72 inline LoadBalancerDescription& WithLoadBalancerName(const Aws::String& value) { SetLoadBalancerName(value); return *this;} 73 74 /** 75 * <p>The name of the LoadBalancer.</p> 76 */ WithLoadBalancerName(Aws::String && value)77 inline LoadBalancerDescription& WithLoadBalancerName(Aws::String&& value) { SetLoadBalancerName(std::move(value)); return *this;} 78 79 /** 80 * <p>The name of the LoadBalancer.</p> 81 */ WithLoadBalancerName(const char * value)82 inline LoadBalancerDescription& WithLoadBalancerName(const char* value) { SetLoadBalancerName(value); return *this;} 83 84 85 /** 86 * <p>The domain name of the LoadBalancer.</p> 87 */ GetDomain()88 inline const Aws::String& GetDomain() const{ return m_domain; } 89 90 /** 91 * <p>The domain name of the LoadBalancer.</p> 92 */ DomainHasBeenSet()93 inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } 94 95 /** 96 * <p>The domain name of the LoadBalancer.</p> 97 */ SetDomain(const Aws::String & value)98 inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } 99 100 /** 101 * <p>The domain name of the LoadBalancer.</p> 102 */ SetDomain(Aws::String && value)103 inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } 104 105 /** 106 * <p>The domain name of the LoadBalancer.</p> 107 */ SetDomain(const char * value)108 inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } 109 110 /** 111 * <p>The domain name of the LoadBalancer.</p> 112 */ WithDomain(const Aws::String & value)113 inline LoadBalancerDescription& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} 114 115 /** 116 * <p>The domain name of the LoadBalancer.</p> 117 */ WithDomain(Aws::String && value)118 inline LoadBalancerDescription& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} 119 120 /** 121 * <p>The domain name of the LoadBalancer.</p> 122 */ WithDomain(const char * value)123 inline LoadBalancerDescription& WithDomain(const char* value) { SetDomain(value); return *this;} 124 125 126 /** 127 * <p>A list of Listeners used by the LoadBalancer.</p> 128 */ GetListeners()129 inline const Aws::Vector<Listener>& GetListeners() const{ return m_listeners; } 130 131 /** 132 * <p>A list of Listeners used by the LoadBalancer.</p> 133 */ ListenersHasBeenSet()134 inline bool ListenersHasBeenSet() const { return m_listenersHasBeenSet; } 135 136 /** 137 * <p>A list of Listeners used by the LoadBalancer.</p> 138 */ SetListeners(const Aws::Vector<Listener> & value)139 inline void SetListeners(const Aws::Vector<Listener>& value) { m_listenersHasBeenSet = true; m_listeners = value; } 140 141 /** 142 * <p>A list of Listeners used by the LoadBalancer.</p> 143 */ SetListeners(Aws::Vector<Listener> && value)144 inline void SetListeners(Aws::Vector<Listener>&& value) { m_listenersHasBeenSet = true; m_listeners = std::move(value); } 145 146 /** 147 * <p>A list of Listeners used by the LoadBalancer.</p> 148 */ WithListeners(const Aws::Vector<Listener> & value)149 inline LoadBalancerDescription& WithListeners(const Aws::Vector<Listener>& value) { SetListeners(value); return *this;} 150 151 /** 152 * <p>A list of Listeners used by the LoadBalancer.</p> 153 */ WithListeners(Aws::Vector<Listener> && value)154 inline LoadBalancerDescription& WithListeners(Aws::Vector<Listener>&& value) { SetListeners(std::move(value)); return *this;} 155 156 /** 157 * <p>A list of Listeners used by the LoadBalancer.</p> 158 */ AddListeners(const Listener & value)159 inline LoadBalancerDescription& AddListeners(const Listener& value) { m_listenersHasBeenSet = true; m_listeners.push_back(value); return *this; } 160 161 /** 162 * <p>A list of Listeners used by the LoadBalancer.</p> 163 */ AddListeners(Listener && value)164 inline LoadBalancerDescription& AddListeners(Listener&& value) { m_listenersHasBeenSet = true; m_listeners.push_back(std::move(value)); return *this; } 165 166 private: 167 168 Aws::String m_loadBalancerName; 169 bool m_loadBalancerNameHasBeenSet; 170 171 Aws::String m_domain; 172 bool m_domainHasBeenSet; 173 174 Aws::Vector<Listener> m_listeners; 175 bool m_listenersHasBeenSet; 176 }; 177 178 } // namespace Model 179 } // namespace ElasticBeanstalk 180 } // namespace Aws 181