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/elasticache/ElastiCache_EXPORTS.h>
8 #include <aws/elasticache/ElastiCacheRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace ElastiCache
15 {
16 namespace Model
17 {
18 
19   /**
20    * <p>Represents the input of a <code>DescribeCacheSecurityGroups</code>
21    * operation.</p><p><h3>See Also:</h3>   <a
22    * href="http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSecurityGroupsMessage">AWS
23    * API Reference</a></p>
24    */
25   class AWS_ELASTICACHE_API DescribeCacheSecurityGroupsRequest : public ElastiCacheRequest
26   {
27   public:
28     DescribeCacheSecurityGroupsRequest();
29 
30     // Service request name is the Operation name which will send this request out,
31     // each operation should has unique request name, so that we can get operation's name from this request.
32     // Note: this is not true for response, multiple operations may have the same response name,
33     // so we can not get operation's name from response.
GetServiceRequestName()34     inline virtual const char* GetServiceRequestName() const override { return "DescribeCacheSecurityGroups"; }
35 
36     Aws::String SerializePayload() const override;
37 
38   protected:
39     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
40 
41   public:
42 
43     /**
44      * <p>The name of the cache security group to return details for.</p>
45      */
GetCacheSecurityGroupName()46     inline const Aws::String& GetCacheSecurityGroupName() const{ return m_cacheSecurityGroupName; }
47 
48     /**
49      * <p>The name of the cache security group to return details for.</p>
50      */
CacheSecurityGroupNameHasBeenSet()51     inline bool CacheSecurityGroupNameHasBeenSet() const { return m_cacheSecurityGroupNameHasBeenSet; }
52 
53     /**
54      * <p>The name of the cache security group to return details for.</p>
55      */
SetCacheSecurityGroupName(const Aws::String & value)56     inline void SetCacheSecurityGroupName(const Aws::String& value) { m_cacheSecurityGroupNameHasBeenSet = true; m_cacheSecurityGroupName = value; }
57 
58     /**
59      * <p>The name of the cache security group to return details for.</p>
60      */
SetCacheSecurityGroupName(Aws::String && value)61     inline void SetCacheSecurityGroupName(Aws::String&& value) { m_cacheSecurityGroupNameHasBeenSet = true; m_cacheSecurityGroupName = std::move(value); }
62 
63     /**
64      * <p>The name of the cache security group to return details for.</p>
65      */
SetCacheSecurityGroupName(const char * value)66     inline void SetCacheSecurityGroupName(const char* value) { m_cacheSecurityGroupNameHasBeenSet = true; m_cacheSecurityGroupName.assign(value); }
67 
68     /**
69      * <p>The name of the cache security group to return details for.</p>
70      */
WithCacheSecurityGroupName(const Aws::String & value)71     inline DescribeCacheSecurityGroupsRequest& WithCacheSecurityGroupName(const Aws::String& value) { SetCacheSecurityGroupName(value); return *this;}
72 
73     /**
74      * <p>The name of the cache security group to return details for.</p>
75      */
WithCacheSecurityGroupName(Aws::String && value)76     inline DescribeCacheSecurityGroupsRequest& WithCacheSecurityGroupName(Aws::String&& value) { SetCacheSecurityGroupName(std::move(value)); return *this;}
77 
78     /**
79      * <p>The name of the cache security group to return details for.</p>
80      */
WithCacheSecurityGroupName(const char * value)81     inline DescribeCacheSecurityGroupsRequest& WithCacheSecurityGroupName(const char* value) { SetCacheSecurityGroupName(value); return *this;}
82 
83 
84     /**
85      * <p>The maximum number of records to include in the response. If more records
86      * exist than the specified <code>MaxRecords</code> value, a marker is included in
87      * the response so that the remaining results can be retrieved.</p> <p>Default:
88      * 100</p> <p>Constraints: minimum 20; maximum 100.</p>
89      */
GetMaxRecords()90     inline int GetMaxRecords() const{ return m_maxRecords; }
91 
92     /**
93      * <p>The maximum number of records to include in the response. If more records
94      * exist than the specified <code>MaxRecords</code> value, a marker is included in
95      * the response so that the remaining results can be retrieved.</p> <p>Default:
96      * 100</p> <p>Constraints: minimum 20; maximum 100.</p>
97      */
MaxRecordsHasBeenSet()98     inline bool MaxRecordsHasBeenSet() const { return m_maxRecordsHasBeenSet; }
99 
100     /**
101      * <p>The maximum number of records to include in the response. If more records
102      * exist than the specified <code>MaxRecords</code> value, a marker is included in
103      * the response so that the remaining results can be retrieved.</p> <p>Default:
104      * 100</p> <p>Constraints: minimum 20; maximum 100.</p>
105      */
SetMaxRecords(int value)106     inline void SetMaxRecords(int value) { m_maxRecordsHasBeenSet = true; m_maxRecords = value; }
107 
108     /**
109      * <p>The maximum number of records to include in the response. If more records
110      * exist than the specified <code>MaxRecords</code> value, a marker is included in
111      * the response so that the remaining results can be retrieved.</p> <p>Default:
112      * 100</p> <p>Constraints: minimum 20; maximum 100.</p>
113      */
WithMaxRecords(int value)114     inline DescribeCacheSecurityGroupsRequest& WithMaxRecords(int value) { SetMaxRecords(value); return *this;}
115 
116 
117     /**
118      * <p>An optional marker returned from a prior request. Use this marker for
119      * pagination of results from this operation. If this parameter is specified, the
120      * response includes only records beyond the marker, up to the value specified by
121      * <code>MaxRecords</code>.</p>
122      */
GetMarker()123     inline const Aws::String& GetMarker() const{ return m_marker; }
124 
125     /**
126      * <p>An optional marker returned from a prior request. Use this marker for
127      * pagination of results from this operation. If this parameter is specified, the
128      * response includes only records beyond the marker, up to the value specified by
129      * <code>MaxRecords</code>.</p>
130      */
MarkerHasBeenSet()131     inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; }
132 
133     /**
134      * <p>An optional marker returned from a prior request. Use this marker for
135      * pagination of results from this operation. If this parameter is specified, the
136      * response includes only records beyond the marker, up to the value specified by
137      * <code>MaxRecords</code>.</p>
138      */
SetMarker(const Aws::String & value)139     inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; }
140 
141     /**
142      * <p>An optional marker returned from a prior request. Use this marker for
143      * pagination of results from this operation. If this parameter is specified, the
144      * response includes only records beyond the marker, up to the value specified by
145      * <code>MaxRecords</code>.</p>
146      */
SetMarker(Aws::String && value)147     inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); }
148 
149     /**
150      * <p>An optional marker returned from a prior request. Use this marker for
151      * pagination of results from this operation. If this parameter is specified, the
152      * response includes only records beyond the marker, up to the value specified by
153      * <code>MaxRecords</code>.</p>
154      */
SetMarker(const char * value)155     inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); }
156 
157     /**
158      * <p>An optional marker returned from a prior request. Use this marker for
159      * pagination of results from this operation. If this parameter is specified, the
160      * response includes only records beyond the marker, up to the value specified by
161      * <code>MaxRecords</code>.</p>
162      */
WithMarker(const Aws::String & value)163     inline DescribeCacheSecurityGroupsRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;}
164 
165     /**
166      * <p>An optional marker returned from a prior request. Use this marker for
167      * pagination of results from this operation. If this parameter is specified, the
168      * response includes only records beyond the marker, up to the value specified by
169      * <code>MaxRecords</code>.</p>
170      */
WithMarker(Aws::String && value)171     inline DescribeCacheSecurityGroupsRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;}
172 
173     /**
174      * <p>An optional marker returned from a prior request. Use this marker for
175      * pagination of results from this operation. If this parameter is specified, the
176      * response includes only records beyond the marker, up to the value specified by
177      * <code>MaxRecords</code>.</p>
178      */
WithMarker(const char * value)179     inline DescribeCacheSecurityGroupsRequest& WithMarker(const char* value) { SetMarker(value); return *this;}
180 
181   private:
182 
183     Aws::String m_cacheSecurityGroupName;
184     bool m_cacheSecurityGroupNameHasBeenSet;
185 
186     int m_maxRecords;
187     bool m_maxRecordsHasBeenSet;
188 
189     Aws::String m_marker;
190     bool m_markerHasBeenSet;
191   };
192 
193 } // namespace Model
194 } // namespace ElastiCache
195 } // namespace Aws
196