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/Parameter.h>
12 #include <aws/elasticache/model/CacheNodeTypeSpecificParameter.h>
13 #include <utility>
14 
15 namespace Aws
16 {
17 template<typename RESULT_TYPE>
18 class AmazonWebServiceResult;
19 
20 namespace Utils
21 {
22 namespace Xml
23 {
24   class XmlDocument;
25 } // namespace Xml
26 } // namespace Utils
27 namespace ElastiCache
28 {
29 namespace Model
30 {
31   /**
32    * <p>Represents the output of a <code>DescribeCacheParameters</code>
33    * operation.</p><p><h3>See Also:</h3>   <a
34    * href="http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CacheParameterGroupDetails">AWS
35    * API Reference</a></p>
36    */
37   class AWS_ELASTICACHE_API DescribeCacheParametersResult
38   {
39   public:
40     DescribeCacheParametersResult();
41     DescribeCacheParametersResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
42     DescribeCacheParametersResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
43 
44 
45     /**
46      * <p>Provides an identifier to allow retrieval of paginated results.</p>
47      */
GetMarker()48     inline const Aws::String& GetMarker() const{ return m_marker; }
49 
50     /**
51      * <p>Provides an identifier to allow retrieval of paginated results.</p>
52      */
SetMarker(const Aws::String & value)53     inline void SetMarker(const Aws::String& value) { m_marker = value; }
54 
55     /**
56      * <p>Provides an identifier to allow retrieval of paginated results.</p>
57      */
SetMarker(Aws::String && value)58     inline void SetMarker(Aws::String&& value) { m_marker = std::move(value); }
59 
60     /**
61      * <p>Provides an identifier to allow retrieval of paginated results.</p>
62      */
SetMarker(const char * value)63     inline void SetMarker(const char* value) { m_marker.assign(value); }
64 
65     /**
66      * <p>Provides an identifier to allow retrieval of paginated results.</p>
67      */
WithMarker(const Aws::String & value)68     inline DescribeCacheParametersResult& WithMarker(const Aws::String& value) { SetMarker(value); return *this;}
69 
70     /**
71      * <p>Provides an identifier to allow retrieval of paginated results.</p>
72      */
WithMarker(Aws::String && value)73     inline DescribeCacheParametersResult& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;}
74 
75     /**
76      * <p>Provides an identifier to allow retrieval of paginated results.</p>
77      */
WithMarker(const char * value)78     inline DescribeCacheParametersResult& WithMarker(const char* value) { SetMarker(value); return *this;}
79 
80 
81     /**
82      * <p>A list of <a>Parameter</a> instances.</p>
83      */
GetParameters()84     inline const Aws::Vector<Parameter>& GetParameters() const{ return m_parameters; }
85 
86     /**
87      * <p>A list of <a>Parameter</a> instances.</p>
88      */
SetParameters(const Aws::Vector<Parameter> & value)89     inline void SetParameters(const Aws::Vector<Parameter>& value) { m_parameters = value; }
90 
91     /**
92      * <p>A list of <a>Parameter</a> instances.</p>
93      */
SetParameters(Aws::Vector<Parameter> && value)94     inline void SetParameters(Aws::Vector<Parameter>&& value) { m_parameters = std::move(value); }
95 
96     /**
97      * <p>A list of <a>Parameter</a> instances.</p>
98      */
WithParameters(const Aws::Vector<Parameter> & value)99     inline DescribeCacheParametersResult& WithParameters(const Aws::Vector<Parameter>& value) { SetParameters(value); return *this;}
100 
101     /**
102      * <p>A list of <a>Parameter</a> instances.</p>
103      */
WithParameters(Aws::Vector<Parameter> && value)104     inline DescribeCacheParametersResult& WithParameters(Aws::Vector<Parameter>&& value) { SetParameters(std::move(value)); return *this;}
105 
106     /**
107      * <p>A list of <a>Parameter</a> instances.</p>
108      */
AddParameters(const Parameter & value)109     inline DescribeCacheParametersResult& AddParameters(const Parameter& value) { m_parameters.push_back(value); return *this; }
110 
111     /**
112      * <p>A list of <a>Parameter</a> instances.</p>
113      */
AddParameters(Parameter && value)114     inline DescribeCacheParametersResult& AddParameters(Parameter&& value) { m_parameters.push_back(std::move(value)); return *this; }
115 
116 
117     /**
118      * <p>A list of parameters specific to a particular cache node type. Each element
119      * in the list contains detailed information about one parameter.</p>
120      */
GetCacheNodeTypeSpecificParameters()121     inline const Aws::Vector<CacheNodeTypeSpecificParameter>& GetCacheNodeTypeSpecificParameters() const{ return m_cacheNodeTypeSpecificParameters; }
122 
123     /**
124      * <p>A list of parameters specific to a particular cache node type. Each element
125      * in the list contains detailed information about one parameter.</p>
126      */
SetCacheNodeTypeSpecificParameters(const Aws::Vector<CacheNodeTypeSpecificParameter> & value)127     inline void SetCacheNodeTypeSpecificParameters(const Aws::Vector<CacheNodeTypeSpecificParameter>& value) { m_cacheNodeTypeSpecificParameters = value; }
128 
129     /**
130      * <p>A list of parameters specific to a particular cache node type. Each element
131      * in the list contains detailed information about one parameter.</p>
132      */
SetCacheNodeTypeSpecificParameters(Aws::Vector<CacheNodeTypeSpecificParameter> && value)133     inline void SetCacheNodeTypeSpecificParameters(Aws::Vector<CacheNodeTypeSpecificParameter>&& value) { m_cacheNodeTypeSpecificParameters = std::move(value); }
134 
135     /**
136      * <p>A list of parameters specific to a particular cache node type. Each element
137      * in the list contains detailed information about one parameter.</p>
138      */
WithCacheNodeTypeSpecificParameters(const Aws::Vector<CacheNodeTypeSpecificParameter> & value)139     inline DescribeCacheParametersResult& WithCacheNodeTypeSpecificParameters(const Aws::Vector<CacheNodeTypeSpecificParameter>& value) { SetCacheNodeTypeSpecificParameters(value); return *this;}
140 
141     /**
142      * <p>A list of parameters specific to a particular cache node type. Each element
143      * in the list contains detailed information about one parameter.</p>
144      */
WithCacheNodeTypeSpecificParameters(Aws::Vector<CacheNodeTypeSpecificParameter> && value)145     inline DescribeCacheParametersResult& WithCacheNodeTypeSpecificParameters(Aws::Vector<CacheNodeTypeSpecificParameter>&& value) { SetCacheNodeTypeSpecificParameters(std::move(value)); return *this;}
146 
147     /**
148      * <p>A list of parameters specific to a particular cache node type. Each element
149      * in the list contains detailed information about one parameter.</p>
150      */
AddCacheNodeTypeSpecificParameters(const CacheNodeTypeSpecificParameter & value)151     inline DescribeCacheParametersResult& AddCacheNodeTypeSpecificParameters(const CacheNodeTypeSpecificParameter& value) { m_cacheNodeTypeSpecificParameters.push_back(value); return *this; }
152 
153     /**
154      * <p>A list of parameters specific to a particular cache node type. Each element
155      * in the list contains detailed information about one parameter.</p>
156      */
AddCacheNodeTypeSpecificParameters(CacheNodeTypeSpecificParameter && value)157     inline DescribeCacheParametersResult& AddCacheNodeTypeSpecificParameters(CacheNodeTypeSpecificParameter&& value) { m_cacheNodeTypeSpecificParameters.push_back(std::move(value)); return *this; }
158 
159 
160 
GetResponseMetadata()161     inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
162 
163 
SetResponseMetadata(const ResponseMetadata & value)164     inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
165 
166 
SetResponseMetadata(ResponseMetadata && value)167     inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
168 
169 
WithResponseMetadata(const ResponseMetadata & value)170     inline DescribeCacheParametersResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
171 
172 
WithResponseMetadata(ResponseMetadata && value)173     inline DescribeCacheParametersResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
174 
175   private:
176 
177     Aws::String m_marker;
178 
179     Aws::Vector<Parameter> m_parameters;
180 
181     Aws::Vector<CacheNodeTypeSpecificParameter> m_cacheNodeTypeSpecificParameters;
182 
183     ResponseMetadata m_responseMetadata;
184   };
185 
186 } // namespace Model
187 } // namespace ElastiCache
188 } // namespace Aws
189