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/elasticloadbalancing/ElasticLoadBalancingRequest.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace ElasticLoadBalancing
16 {
17 namespace Model
18 {
19 
20   /**
21    * <p>Contains the parameters for DescribeLoadBalancers.</p><p><h3>See Also:</h3>
22    * <a
23    * href="http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancing-2012-06-01/DescribeAccessPointsInput">AWS
24    * API Reference</a></p>
25    */
26   class AWS_ELASTICLOADBALANCING_API DescribeLoadBalancersRequest : public ElasticLoadBalancingRequest
27   {
28   public:
29     DescribeLoadBalancersRequest();
30 
31     // Service request name is the Operation name which will send this request out,
32     // each operation should has unique request name, so that we can get operation's name from this request.
33     // Note: this is not true for response, multiple operations may have the same response name,
34     // so we can not get operation's name from response.
GetServiceRequestName()35     inline virtual const char* GetServiceRequestName() const override { return "DescribeLoadBalancers"; }
36 
37     Aws::String SerializePayload() const override;
38 
39   protected:
40     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
41 
42   public:
43 
44     /**
45      * <p>The names of the load balancers.</p>
46      */
GetLoadBalancerNames()47     inline const Aws::Vector<Aws::String>& GetLoadBalancerNames() const{ return m_loadBalancerNames; }
48 
49     /**
50      * <p>The names of the load balancers.</p>
51      */
LoadBalancerNamesHasBeenSet()52     inline bool LoadBalancerNamesHasBeenSet() const { return m_loadBalancerNamesHasBeenSet; }
53 
54     /**
55      * <p>The names of the load balancers.</p>
56      */
SetLoadBalancerNames(const Aws::Vector<Aws::String> & value)57     inline void SetLoadBalancerNames(const Aws::Vector<Aws::String>& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames = value; }
58 
59     /**
60      * <p>The names of the load balancers.</p>
61      */
SetLoadBalancerNames(Aws::Vector<Aws::String> && value)62     inline void SetLoadBalancerNames(Aws::Vector<Aws::String>&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames = std::move(value); }
63 
64     /**
65      * <p>The names of the load balancers.</p>
66      */
WithLoadBalancerNames(const Aws::Vector<Aws::String> & value)67     inline DescribeLoadBalancersRequest& WithLoadBalancerNames(const Aws::Vector<Aws::String>& value) { SetLoadBalancerNames(value); return *this;}
68 
69     /**
70      * <p>The names of the load balancers.</p>
71      */
WithLoadBalancerNames(Aws::Vector<Aws::String> && value)72     inline DescribeLoadBalancersRequest& WithLoadBalancerNames(Aws::Vector<Aws::String>&& value) { SetLoadBalancerNames(std::move(value)); return *this;}
73 
74     /**
75      * <p>The names of the load balancers.</p>
76      */
AddLoadBalancerNames(const Aws::String & value)77     inline DescribeLoadBalancersRequest& AddLoadBalancerNames(const Aws::String& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; }
78 
79     /**
80      * <p>The names of the load balancers.</p>
81      */
AddLoadBalancerNames(Aws::String && value)82     inline DescribeLoadBalancersRequest& AddLoadBalancerNames(Aws::String&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(std::move(value)); return *this; }
83 
84     /**
85      * <p>The names of the load balancers.</p>
86      */
AddLoadBalancerNames(const char * value)87     inline DescribeLoadBalancersRequest& AddLoadBalancerNames(const char* value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; }
88 
89 
90     /**
91      * <p>The marker for the next set of results. (You received this marker from a
92      * previous call.)</p>
93      */
GetMarker()94     inline const Aws::String& GetMarker() const{ return m_marker; }
95 
96     /**
97      * <p>The marker for the next set of results. (You received this marker from a
98      * previous call.)</p>
99      */
MarkerHasBeenSet()100     inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; }
101 
102     /**
103      * <p>The marker for the next set of results. (You received this marker from a
104      * previous call.)</p>
105      */
SetMarker(const Aws::String & value)106     inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; }
107 
108     /**
109      * <p>The marker for the next set of results. (You received this marker from a
110      * previous call.)</p>
111      */
SetMarker(Aws::String && value)112     inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); }
113 
114     /**
115      * <p>The marker for the next set of results. (You received this marker from a
116      * previous call.)</p>
117      */
SetMarker(const char * value)118     inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); }
119 
120     /**
121      * <p>The marker for the next set of results. (You received this marker from a
122      * previous call.)</p>
123      */
WithMarker(const Aws::String & value)124     inline DescribeLoadBalancersRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;}
125 
126     /**
127      * <p>The marker for the next set of results. (You received this marker from a
128      * previous call.)</p>
129      */
WithMarker(Aws::String && value)130     inline DescribeLoadBalancersRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;}
131 
132     /**
133      * <p>The marker for the next set of results. (You received this marker from a
134      * previous call.)</p>
135      */
WithMarker(const char * value)136     inline DescribeLoadBalancersRequest& WithMarker(const char* value) { SetMarker(value); return *this;}
137 
138 
139     /**
140      * <p>The maximum number of results to return with this call (a number from 1 to
141      * 400). The default is 400.</p>
142      */
GetPageSize()143     inline int GetPageSize() const{ return m_pageSize; }
144 
145     /**
146      * <p>The maximum number of results to return with this call (a number from 1 to
147      * 400). The default is 400.</p>
148      */
PageSizeHasBeenSet()149     inline bool PageSizeHasBeenSet() const { return m_pageSizeHasBeenSet; }
150 
151     /**
152      * <p>The maximum number of results to return with this call (a number from 1 to
153      * 400). The default is 400.</p>
154      */
SetPageSize(int value)155     inline void SetPageSize(int value) { m_pageSizeHasBeenSet = true; m_pageSize = value; }
156 
157     /**
158      * <p>The maximum number of results to return with this call (a number from 1 to
159      * 400). The default is 400.</p>
160      */
WithPageSize(int value)161     inline DescribeLoadBalancersRequest& WithPageSize(int value) { SetPageSize(value); return *this;}
162 
163   private:
164 
165     Aws::Vector<Aws::String> m_loadBalancerNames;
166     bool m_loadBalancerNamesHasBeenSet;
167 
168     Aws::String m_marker;
169     bool m_markerHasBeenSet;
170 
171     int m_pageSize;
172     bool m_pageSizeHasBeenSet;
173   };
174 
175 } // namespace Model
176 } // namespace ElasticLoadBalancing
177 } // namespace Aws
178