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/elasticloadbalancing/ElasticLoadBalancing_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/elasticloadbalancing/model/ResponseMetadata.h>
10 #include <aws/elasticloadbalancing/model/Instance.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 ElasticLoadBalancing
26 {
27 namespace Model
28 {
29   /**
30    * <p>Contains the output of RegisterInstancesWithLoadBalancer.</p><p><h3>See
31    * Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancing-2012-06-01/RegisterEndPointsOutput">AWS
33    * API Reference</a></p>
34    */
35   class AWS_ELASTICLOADBALANCING_API RegisterInstancesWithLoadBalancerResult
36   {
37   public:
38     RegisterInstancesWithLoadBalancerResult();
39     RegisterInstancesWithLoadBalancerResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
40     RegisterInstancesWithLoadBalancerResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
41 
42 
43     /**
44      * <p>The updated list of instances for the load balancer.</p>
45      */
GetInstances()46     inline const Aws::Vector<Instance>& GetInstances() const{ return m_instances; }
47 
48     /**
49      * <p>The updated list of instances for the load balancer.</p>
50      */
SetInstances(const Aws::Vector<Instance> & value)51     inline void SetInstances(const Aws::Vector<Instance>& value) { m_instances = value; }
52 
53     /**
54      * <p>The updated list of instances for the load balancer.</p>
55      */
SetInstances(Aws::Vector<Instance> && value)56     inline void SetInstances(Aws::Vector<Instance>&& value) { m_instances = std::move(value); }
57 
58     /**
59      * <p>The updated list of instances for the load balancer.</p>
60      */
WithInstances(const Aws::Vector<Instance> & value)61     inline RegisterInstancesWithLoadBalancerResult& WithInstances(const Aws::Vector<Instance>& value) { SetInstances(value); return *this;}
62 
63     /**
64      * <p>The updated list of instances for the load balancer.</p>
65      */
WithInstances(Aws::Vector<Instance> && value)66     inline RegisterInstancesWithLoadBalancerResult& WithInstances(Aws::Vector<Instance>&& value) { SetInstances(std::move(value)); return *this;}
67 
68     /**
69      * <p>The updated list of instances for the load balancer.</p>
70      */
AddInstances(const Instance & value)71     inline RegisterInstancesWithLoadBalancerResult& AddInstances(const Instance& value) { m_instances.push_back(value); return *this; }
72 
73     /**
74      * <p>The updated list of instances for the load balancer.</p>
75      */
AddInstances(Instance && value)76     inline RegisterInstancesWithLoadBalancerResult& AddInstances(Instance&& value) { m_instances.push_back(std::move(value)); return *this; }
77 
78 
79 
GetResponseMetadata()80     inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
81 
82 
SetResponseMetadata(const ResponseMetadata & value)83     inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
84 
85 
SetResponseMetadata(ResponseMetadata && value)86     inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
87 
88 
WithResponseMetadata(const ResponseMetadata & value)89     inline RegisterInstancesWithLoadBalancerResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
90 
91 
WithResponseMetadata(ResponseMetadata && value)92     inline RegisterInstancesWithLoadBalancerResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
93 
94   private:
95 
96     Aws::Vector<Instance> m_instances;
97 
98     ResponseMetadata m_responseMetadata;
99   };
100 
101 } // namespace Model
102 } // namespace ElasticLoadBalancing
103 } // namespace Aws
104