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/CacheEngineVersion.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 <a>DescribeCacheEngineVersions</a>
32    * operation.</p><p><h3>See Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheEngineVersionMessage">AWS
34    * API Reference</a></p>
35    */
36   class AWS_ELASTICACHE_API DescribeCacheEngineVersionsResult
37   {
38   public:
39     DescribeCacheEngineVersionsResult();
40     DescribeCacheEngineVersionsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
41     DescribeCacheEngineVersionsResult& 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 DescribeCacheEngineVersionsResult& 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 DescribeCacheEngineVersionsResult& 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 DescribeCacheEngineVersionsResult& WithMarker(const char* value) { SetMarker(value); return *this;}
78 
79 
80     /**
81      * <p>A list of cache engine version details. Each element in the list contains
82      * detailed information about one cache engine version.</p>
83      */
GetCacheEngineVersions()84     inline const Aws::Vector<CacheEngineVersion>& GetCacheEngineVersions() const{ return m_cacheEngineVersions; }
85 
86     /**
87      * <p>A list of cache engine version details. Each element in the list contains
88      * detailed information about one cache engine version.</p>
89      */
SetCacheEngineVersions(const Aws::Vector<CacheEngineVersion> & value)90     inline void SetCacheEngineVersions(const Aws::Vector<CacheEngineVersion>& value) { m_cacheEngineVersions = value; }
91 
92     /**
93      * <p>A list of cache engine version details. Each element in the list contains
94      * detailed information about one cache engine version.</p>
95      */
SetCacheEngineVersions(Aws::Vector<CacheEngineVersion> && value)96     inline void SetCacheEngineVersions(Aws::Vector<CacheEngineVersion>&& value) { m_cacheEngineVersions = std::move(value); }
97 
98     /**
99      * <p>A list of cache engine version details. Each element in the list contains
100      * detailed information about one cache engine version.</p>
101      */
WithCacheEngineVersions(const Aws::Vector<CacheEngineVersion> & value)102     inline DescribeCacheEngineVersionsResult& WithCacheEngineVersions(const Aws::Vector<CacheEngineVersion>& value) { SetCacheEngineVersions(value); return *this;}
103 
104     /**
105      * <p>A list of cache engine version details. Each element in the list contains
106      * detailed information about one cache engine version.</p>
107      */
WithCacheEngineVersions(Aws::Vector<CacheEngineVersion> && value)108     inline DescribeCacheEngineVersionsResult& WithCacheEngineVersions(Aws::Vector<CacheEngineVersion>&& value) { SetCacheEngineVersions(std::move(value)); return *this;}
109 
110     /**
111      * <p>A list of cache engine version details. Each element in the list contains
112      * detailed information about one cache engine version.</p>
113      */
AddCacheEngineVersions(const CacheEngineVersion & value)114     inline DescribeCacheEngineVersionsResult& AddCacheEngineVersions(const CacheEngineVersion& value) { m_cacheEngineVersions.push_back(value); return *this; }
115 
116     /**
117      * <p>A list of cache engine version details. Each element in the list contains
118      * detailed information about one cache engine version.</p>
119      */
AddCacheEngineVersions(CacheEngineVersion && value)120     inline DescribeCacheEngineVersionsResult& AddCacheEngineVersions(CacheEngineVersion&& value) { m_cacheEngineVersions.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 DescribeCacheEngineVersionsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
134 
135 
WithResponseMetadata(ResponseMetadata && value)136     inline DescribeCacheEngineVersionsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
137 
138   private:
139 
140     Aws::String m_marker;
141 
142     Aws::Vector<CacheEngineVersion> m_cacheEngineVersions;
143 
144     ResponseMetadata m_responseMetadata;
145   };
146 
147 } // namespace Model
148 } // namespace ElastiCache
149 } // namespace Aws
150