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/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/elasticache/model/ResponseMetadata.h>
11 #include <aws/elasticache/model/CacheSubnetGroup.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 template<typename RESULT_TYPE>
17 class AmazonWebServiceResult;
18 
19 namespace Utils
20 {
21 namespace Xml
22 {
23   class XmlDocument;
24 } // namespace Xml
25 } // namespace Utils
26 namespace ElastiCache
27 {
28 namespace Model
29 {
30   /**
31    * <p>Represents the output of a <code>DescribeCacheSubnetGroups</code>
32    * operation.</p><p><h3>See Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheSubnetGroupMessage">AWS
34    * API Reference</a></p>
35    */
36   class AWS_ELASTICACHE_API DescribeCacheSubnetGroupsResult
37   {
38   public:
39     DescribeCacheSubnetGroupsResult();
40     DescribeCacheSubnetGroupsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
41     DescribeCacheSubnetGroupsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
42 
43 
44     /**
45      * <p>Provides an identifier to allow retrieval of paginated results.</p>
46      */
GetMarker()47     inline const Aws::String& GetMarker() const{ return m_marker; }
48 
49     /**
50      * <p>Provides an identifier to allow retrieval of paginated results.</p>
51      */
SetMarker(const Aws::String & value)52     inline void SetMarker(const Aws::String& value) { m_marker = value; }
53 
54     /**
55      * <p>Provides an identifier to allow retrieval of paginated results.</p>
56      */
SetMarker(Aws::String && value)57     inline void SetMarker(Aws::String&& value) { m_marker = std::move(value); }
58 
59     /**
60      * <p>Provides an identifier to allow retrieval of paginated results.</p>
61      */
SetMarker(const char * value)62     inline void SetMarker(const char* value) { m_marker.assign(value); }
63 
64     /**
65      * <p>Provides an identifier to allow retrieval of paginated results.</p>
66      */
WithMarker(const Aws::String & value)67     inline DescribeCacheSubnetGroupsResult& WithMarker(const Aws::String& value) { SetMarker(value); return *this;}
68 
69     /**
70      * <p>Provides an identifier to allow retrieval of paginated results.</p>
71      */
WithMarker(Aws::String && value)72     inline DescribeCacheSubnetGroupsResult& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;}
73 
74     /**
75      * <p>Provides an identifier to allow retrieval of paginated results.</p>
76      */
WithMarker(const char * value)77     inline DescribeCacheSubnetGroupsResult& WithMarker(const char* value) { SetMarker(value); return *this;}
78 
79 
80     /**
81      * <p>A list of cache subnet groups. Each element in the list contains detailed
82      * information about one group.</p>
83      */
GetCacheSubnetGroups()84     inline const Aws::Vector<CacheSubnetGroup>& GetCacheSubnetGroups() const{ return m_cacheSubnetGroups; }
85 
86     /**
87      * <p>A list of cache subnet groups. Each element in the list contains detailed
88      * information about one group.</p>
89      */
SetCacheSubnetGroups(const Aws::Vector<CacheSubnetGroup> & value)90     inline void SetCacheSubnetGroups(const Aws::Vector<CacheSubnetGroup>& value) { m_cacheSubnetGroups = value; }
91 
92     /**
93      * <p>A list of cache subnet groups. Each element in the list contains detailed
94      * information about one group.</p>
95      */
SetCacheSubnetGroups(Aws::Vector<CacheSubnetGroup> && value)96     inline void SetCacheSubnetGroups(Aws::Vector<CacheSubnetGroup>&& value) { m_cacheSubnetGroups = std::move(value); }
97 
98     /**
99      * <p>A list of cache subnet groups. Each element in the list contains detailed
100      * information about one group.</p>
101      */
WithCacheSubnetGroups(const Aws::Vector<CacheSubnetGroup> & value)102     inline DescribeCacheSubnetGroupsResult& WithCacheSubnetGroups(const Aws::Vector<CacheSubnetGroup>& value) { SetCacheSubnetGroups(value); return *this;}
103 
104     /**
105      * <p>A list of cache subnet groups. Each element in the list contains detailed
106      * information about one group.</p>
107      */
WithCacheSubnetGroups(Aws::Vector<CacheSubnetGroup> && value)108     inline DescribeCacheSubnetGroupsResult& WithCacheSubnetGroups(Aws::Vector<CacheSubnetGroup>&& value) { SetCacheSubnetGroups(std::move(value)); return *this;}
109 
110     /**
111      * <p>A list of cache subnet groups. Each element in the list contains detailed
112      * information about one group.</p>
113      */
AddCacheSubnetGroups(const CacheSubnetGroup & value)114     inline DescribeCacheSubnetGroupsResult& AddCacheSubnetGroups(const CacheSubnetGroup& value) { m_cacheSubnetGroups.push_back(value); return *this; }
115 
116     /**
117      * <p>A list of cache subnet groups. Each element in the list contains detailed
118      * information about one group.</p>
119      */
AddCacheSubnetGroups(CacheSubnetGroup && value)120     inline DescribeCacheSubnetGroupsResult& AddCacheSubnetGroups(CacheSubnetGroup&& value) { m_cacheSubnetGroups.push_back(std::move(value)); return *this; }
121 
122 
123 
GetResponseMetadata()124     inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
125 
126 
SetResponseMetadata(const ResponseMetadata & value)127     inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
128 
129 
SetResponseMetadata(ResponseMetadata && value)130     inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
131 
132 
WithResponseMetadata(const ResponseMetadata & value)133     inline DescribeCacheSubnetGroupsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
134 
135 
WithResponseMetadata(ResponseMetadata && value)136     inline DescribeCacheSubnetGroupsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
137 
138   private:
139 
140     Aws::String m_marker;
141 
142     Aws::Vector<CacheSubnetGroup> m_cacheSubnetGroups;
143 
144     ResponseMetadata m_responseMetadata;
145   };
146 
147 } // namespace Model
148 } // namespace ElastiCache
149 } // namespace Aws
150