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/elasticloadbalancingv2/ElasticLoadBalancingv2_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/elasticloadbalancingv2/model/ResponseMetadata.h>
10 #include <aws/elasticloadbalancingv2/model/Listener.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 template<typename RESULT_TYPE>
16 class AmazonWebServiceResult;
17 
18 namespace Utils
19 {
20 namespace Xml
21 {
22   class XmlDocument;
23 } // namespace Xml
24 } // namespace Utils
25 namespace ElasticLoadBalancingv2
26 {
27 namespace Model
28 {
29   class AWS_ELASTICLOADBALANCINGV2_API CreateListenerResult
30   {
31   public:
32     CreateListenerResult();
33     CreateListenerResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
34     CreateListenerResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
35 
36 
37     /**
38      * <p>Information about the listener.</p>
39      */
GetListeners()40     inline const Aws::Vector<Listener>& GetListeners() const{ return m_listeners; }
41 
42     /**
43      * <p>Information about the listener.</p>
44      */
SetListeners(const Aws::Vector<Listener> & value)45     inline void SetListeners(const Aws::Vector<Listener>& value) { m_listeners = value; }
46 
47     /**
48      * <p>Information about the listener.</p>
49      */
SetListeners(Aws::Vector<Listener> && value)50     inline void SetListeners(Aws::Vector<Listener>&& value) { m_listeners = std::move(value); }
51 
52     /**
53      * <p>Information about the listener.</p>
54      */
WithListeners(const Aws::Vector<Listener> & value)55     inline CreateListenerResult& WithListeners(const Aws::Vector<Listener>& value) { SetListeners(value); return *this;}
56 
57     /**
58      * <p>Information about the listener.</p>
59      */
WithListeners(Aws::Vector<Listener> && value)60     inline CreateListenerResult& WithListeners(Aws::Vector<Listener>&& value) { SetListeners(std::move(value)); return *this;}
61 
62     /**
63      * <p>Information about the listener.</p>
64      */
AddListeners(const Listener & value)65     inline CreateListenerResult& AddListeners(const Listener& value) { m_listeners.push_back(value); return *this; }
66 
67     /**
68      * <p>Information about the listener.</p>
69      */
AddListeners(Listener && value)70     inline CreateListenerResult& AddListeners(Listener&& value) { m_listeners.push_back(std::move(value)); return *this; }
71 
72 
73 
GetResponseMetadata()74     inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
75 
76 
SetResponseMetadata(const ResponseMetadata & value)77     inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
78 
79 
SetResponseMetadata(ResponseMetadata && value)80     inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
81 
82 
WithResponseMetadata(const ResponseMetadata & value)83     inline CreateListenerResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
84 
85 
WithResponseMetadata(ResponseMetadata && value)86     inline CreateListenerResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
87 
88   private:
89 
90     Aws::Vector<Listener> m_listeners;
91 
92     ResponseMetadata m_responseMetadata;
93   };
94 
95 } // namespace Model
96 } // namespace ElasticLoadBalancingv2
97 } // namespace Aws
98