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/redshift/Redshift_EXPORTS.h> 8 #include <aws/redshift/RedshiftRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Redshift 16 { 17 namespace Model 18 { 19 20 /** 21 * <p/><p><h3>See Also:</h3> <a 22 * href="http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterParameterGroupsMessage">AWS 23 * API Reference</a></p> 24 */ 25 class AWS_REDSHIFT_API DescribeClusterParameterGroupsRequest : public RedshiftRequest 26 { 27 public: 28 DescribeClusterParameterGroupsRequest(); 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 "DescribeClusterParameterGroups"; } 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 a specific parameter group for which to return details. By 45 * default, details about all parameter groups and the default parameter group are 46 * returned.</p> 47 */ GetParameterGroupName()48 inline const Aws::String& GetParameterGroupName() const{ return m_parameterGroupName; } 49 50 /** 51 * <p>The name of a specific parameter group for which to return details. By 52 * default, details about all parameter groups and the default parameter group are 53 * returned.</p> 54 */ ParameterGroupNameHasBeenSet()55 inline bool ParameterGroupNameHasBeenSet() const { return m_parameterGroupNameHasBeenSet; } 56 57 /** 58 * <p>The name of a specific parameter group for which to return details. By 59 * default, details about all parameter groups and the default parameter group are 60 * returned.</p> 61 */ SetParameterGroupName(const Aws::String & value)62 inline void SetParameterGroupName(const Aws::String& value) { m_parameterGroupNameHasBeenSet = true; m_parameterGroupName = value; } 63 64 /** 65 * <p>The name of a specific parameter group for which to return details. By 66 * default, details about all parameter groups and the default parameter group are 67 * returned.</p> 68 */ SetParameterGroupName(Aws::String && value)69 inline void SetParameterGroupName(Aws::String&& value) { m_parameterGroupNameHasBeenSet = true; m_parameterGroupName = std::move(value); } 70 71 /** 72 * <p>The name of a specific parameter group for which to return details. By 73 * default, details about all parameter groups and the default parameter group are 74 * returned.</p> 75 */ SetParameterGroupName(const char * value)76 inline void SetParameterGroupName(const char* value) { m_parameterGroupNameHasBeenSet = true; m_parameterGroupName.assign(value); } 77 78 /** 79 * <p>The name of a specific parameter group for which to return details. By 80 * default, details about all parameter groups and the default parameter group are 81 * returned.</p> 82 */ WithParameterGroupName(const Aws::String & value)83 inline DescribeClusterParameterGroupsRequest& WithParameterGroupName(const Aws::String& value) { SetParameterGroupName(value); return *this;} 84 85 /** 86 * <p>The name of a specific parameter group for which to return details. By 87 * default, details about all parameter groups and the default parameter group are 88 * returned.</p> 89 */ WithParameterGroupName(Aws::String && value)90 inline DescribeClusterParameterGroupsRequest& WithParameterGroupName(Aws::String&& value) { SetParameterGroupName(std::move(value)); return *this;} 91 92 /** 93 * <p>The name of a specific parameter group for which to return details. By 94 * default, details about all parameter groups and the default parameter group are 95 * returned.</p> 96 */ WithParameterGroupName(const char * value)97 inline DescribeClusterParameterGroupsRequest& WithParameterGroupName(const char* value) { SetParameterGroupName(value); return *this;} 98 99 100 /** 101 * <p>The maximum number of response records to return in each call. If the number 102 * of remaining response records exceeds the specified <code>MaxRecords</code> 103 * value, a value is returned in a <code>marker</code> field of the response. You 104 * can retrieve the next set of records by retrying the command with the returned 105 * marker value. </p> <p>Default: <code>100</code> </p> <p>Constraints: minimum 20, 106 * maximum 100.</p> 107 */ GetMaxRecords()108 inline int GetMaxRecords() const{ return m_maxRecords; } 109 110 /** 111 * <p>The maximum number of response records to return in each call. If the number 112 * of remaining response records exceeds the specified <code>MaxRecords</code> 113 * value, a value is returned in a <code>marker</code> field of the response. You 114 * can retrieve the next set of records by retrying the command with the returned 115 * marker value. </p> <p>Default: <code>100</code> </p> <p>Constraints: minimum 20, 116 * maximum 100.</p> 117 */ MaxRecordsHasBeenSet()118 inline bool MaxRecordsHasBeenSet() const { return m_maxRecordsHasBeenSet; } 119 120 /** 121 * <p>The maximum number of response records to return in each call. If the number 122 * of remaining response records exceeds the specified <code>MaxRecords</code> 123 * value, a value is returned in a <code>marker</code> field of the response. You 124 * can retrieve the next set of records by retrying the command with the returned 125 * marker value. </p> <p>Default: <code>100</code> </p> <p>Constraints: minimum 20, 126 * maximum 100.</p> 127 */ SetMaxRecords(int value)128 inline void SetMaxRecords(int value) { m_maxRecordsHasBeenSet = true; m_maxRecords = value; } 129 130 /** 131 * <p>The maximum number of response records to return in each call. If the number 132 * of remaining response records exceeds the specified <code>MaxRecords</code> 133 * value, a value is returned in a <code>marker</code> field of the response. You 134 * can retrieve the next set of records by retrying the command with the returned 135 * marker value. </p> <p>Default: <code>100</code> </p> <p>Constraints: minimum 20, 136 * maximum 100.</p> 137 */ WithMaxRecords(int value)138 inline DescribeClusterParameterGroupsRequest& WithMaxRecords(int value) { SetMaxRecords(value); return *this;} 139 140 141 /** 142 * <p>An optional parameter that specifies the starting point to return a set of 143 * response records. When the results of a <a>DescribeClusterParameterGroups</a> 144 * request exceed the value specified in <code>MaxRecords</code>, Amazon Web 145 * Services returns a value in the <code>Marker</code> field of the response. You 146 * can retrieve the next set of response records by providing the returned marker 147 * value in the <code>Marker</code> parameter and retrying the request. </p> 148 */ GetMarker()149 inline const Aws::String& GetMarker() const{ return m_marker; } 150 151 /** 152 * <p>An optional parameter that specifies the starting point to return a set of 153 * response records. When the results of a <a>DescribeClusterParameterGroups</a> 154 * request exceed the value specified in <code>MaxRecords</code>, Amazon Web 155 * Services returns a value in the <code>Marker</code> field of the response. You 156 * can retrieve the next set of response records by providing the returned marker 157 * value in the <code>Marker</code> parameter and retrying the request. </p> 158 */ MarkerHasBeenSet()159 inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; } 160 161 /** 162 * <p>An optional parameter that specifies the starting point to return a set of 163 * response records. When the results of a <a>DescribeClusterParameterGroups</a> 164 * request exceed the value specified in <code>MaxRecords</code>, Amazon Web 165 * Services returns a value in the <code>Marker</code> field of the response. You 166 * can retrieve the next set of response records by providing the returned marker 167 * value in the <code>Marker</code> parameter and retrying the request. </p> 168 */ SetMarker(const Aws::String & value)169 inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; } 170 171 /** 172 * <p>An optional parameter that specifies the starting point to return a set of 173 * response records. When the results of a <a>DescribeClusterParameterGroups</a> 174 * request exceed the value specified in <code>MaxRecords</code>, Amazon Web 175 * Services returns a value in the <code>Marker</code> field of the response. You 176 * can retrieve the next set of response records by providing the returned marker 177 * value in the <code>Marker</code> parameter and retrying the request. </p> 178 */ SetMarker(Aws::String && value)179 inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); } 180 181 /** 182 * <p>An optional parameter that specifies the starting point to return a set of 183 * response records. When the results of a <a>DescribeClusterParameterGroups</a> 184 * request exceed the value specified in <code>MaxRecords</code>, Amazon Web 185 * Services returns a value in the <code>Marker</code> field of the response. You 186 * can retrieve the next set of response records by providing the returned marker 187 * value in the <code>Marker</code> parameter and retrying the request. </p> 188 */ SetMarker(const char * value)189 inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); } 190 191 /** 192 * <p>An optional parameter that specifies the starting point to return a set of 193 * response records. When the results of a <a>DescribeClusterParameterGroups</a> 194 * request exceed the value specified in <code>MaxRecords</code>, Amazon Web 195 * Services returns a value in the <code>Marker</code> field of the response. You 196 * can retrieve the next set of response records by providing the returned marker 197 * value in the <code>Marker</code> parameter and retrying the request. </p> 198 */ WithMarker(const Aws::String & value)199 inline DescribeClusterParameterGroupsRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;} 200 201 /** 202 * <p>An optional parameter that specifies the starting point to return a set of 203 * response records. When the results of a <a>DescribeClusterParameterGroups</a> 204 * request exceed the value specified in <code>MaxRecords</code>, Amazon Web 205 * Services returns a value in the <code>Marker</code> field of the response. You 206 * can retrieve the next set of response records by providing the returned marker 207 * value in the <code>Marker</code> parameter and retrying the request. </p> 208 */ WithMarker(Aws::String && value)209 inline DescribeClusterParameterGroupsRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;} 210 211 /** 212 * <p>An optional parameter that specifies the starting point to return a set of 213 * response records. When the results of a <a>DescribeClusterParameterGroups</a> 214 * request exceed the value specified in <code>MaxRecords</code>, Amazon Web 215 * Services returns a value in the <code>Marker</code> field of the response. You 216 * can retrieve the next set of response records by providing the returned marker 217 * value in the <code>Marker</code> parameter and retrying the request. </p> 218 */ WithMarker(const char * value)219 inline DescribeClusterParameterGroupsRequest& WithMarker(const char* value) { SetMarker(value); return *this;} 220 221 222 /** 223 * <p>A tag key or keys for which you want to return all matching cluster parameter 224 * groups that are associated with the specified key or keys. For example, suppose 225 * that you have parameter groups that are tagged with keys called 226 * <code>owner</code> and <code>environment</code>. If you specify both of these 227 * tag keys in the request, Amazon Redshift returns a response with the parameter 228 * groups that have either or both of these tag keys associated with them.</p> 229 */ GetTagKeys()230 inline const Aws::Vector<Aws::String>& GetTagKeys() const{ return m_tagKeys; } 231 232 /** 233 * <p>A tag key or keys for which you want to return all matching cluster parameter 234 * groups that are associated with the specified key or keys. For example, suppose 235 * that you have parameter groups that are tagged with keys called 236 * <code>owner</code> and <code>environment</code>. If you specify both of these 237 * tag keys in the request, Amazon Redshift returns a response with the parameter 238 * groups that have either or both of these tag keys associated with them.</p> 239 */ TagKeysHasBeenSet()240 inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } 241 242 /** 243 * <p>A tag key or keys for which you want to return all matching cluster parameter 244 * groups that are associated with the specified key or keys. For example, suppose 245 * that you have parameter groups that are tagged with keys called 246 * <code>owner</code> and <code>environment</code>. If you specify both of these 247 * tag keys in the request, Amazon Redshift returns a response with the parameter 248 * groups that have either or both of these tag keys associated with them.</p> 249 */ SetTagKeys(const Aws::Vector<Aws::String> & value)250 inline void SetTagKeys(const Aws::Vector<Aws::String>& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; } 251 252 /** 253 * <p>A tag key or keys for which you want to return all matching cluster parameter 254 * groups that are associated with the specified key or keys. For example, suppose 255 * that you have parameter groups that are tagged with keys called 256 * <code>owner</code> and <code>environment</code>. If you specify both of these 257 * tag keys in the request, Amazon Redshift returns a response with the parameter 258 * groups that have either or both of these tag keys associated with them.</p> 259 */ SetTagKeys(Aws::Vector<Aws::String> && value)260 inline void SetTagKeys(Aws::Vector<Aws::String>&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); } 261 262 /** 263 * <p>A tag key or keys for which you want to return all matching cluster parameter 264 * groups that are associated with the specified key or keys. For example, suppose 265 * that you have parameter groups that are tagged with keys called 266 * <code>owner</code> and <code>environment</code>. If you specify both of these 267 * tag keys in the request, Amazon Redshift returns a response with the parameter 268 * groups that have either or both of these tag keys associated with them.</p> 269 */ WithTagKeys(const Aws::Vector<Aws::String> & value)270 inline DescribeClusterParameterGroupsRequest& WithTagKeys(const Aws::Vector<Aws::String>& value) { SetTagKeys(value); return *this;} 271 272 /** 273 * <p>A tag key or keys for which you want to return all matching cluster parameter 274 * groups that are associated with the specified key or keys. For example, suppose 275 * that you have parameter groups that are tagged with keys called 276 * <code>owner</code> and <code>environment</code>. If you specify both of these 277 * tag keys in the request, Amazon Redshift returns a response with the parameter 278 * groups that have either or both of these tag keys associated with them.</p> 279 */ WithTagKeys(Aws::Vector<Aws::String> && value)280 inline DescribeClusterParameterGroupsRequest& WithTagKeys(Aws::Vector<Aws::String>&& value) { SetTagKeys(std::move(value)); return *this;} 281 282 /** 283 * <p>A tag key or keys for which you want to return all matching cluster parameter 284 * groups that are associated with the specified key or keys. For example, suppose 285 * that you have parameter groups that are tagged with keys called 286 * <code>owner</code> and <code>environment</code>. If you specify both of these 287 * tag keys in the request, Amazon Redshift returns a response with the parameter 288 * groups that have either or both of these tag keys associated with them.</p> 289 */ AddTagKeys(const Aws::String & value)290 inline DescribeClusterParameterGroupsRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } 291 292 /** 293 * <p>A tag key or keys for which you want to return all matching cluster parameter 294 * groups that are associated with the specified key or keys. For example, suppose 295 * that you have parameter groups that are tagged with keys called 296 * <code>owner</code> and <code>environment</code>. If you specify both of these 297 * tag keys in the request, Amazon Redshift returns a response with the parameter 298 * groups that have either or both of these tag keys associated with them.</p> 299 */ AddTagKeys(Aws::String && value)300 inline DescribeClusterParameterGroupsRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; } 301 302 /** 303 * <p>A tag key or keys for which you want to return all matching cluster parameter 304 * groups that are associated with the specified key or keys. For example, suppose 305 * that you have parameter groups that are tagged with keys called 306 * <code>owner</code> and <code>environment</code>. If you specify both of these 307 * tag keys in the request, Amazon Redshift returns a response with the parameter 308 * groups that have either or both of these tag keys associated with them.</p> 309 */ AddTagKeys(const char * value)310 inline DescribeClusterParameterGroupsRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } 311 312 313 /** 314 * <p>A tag value or values for which you want to return all matching cluster 315 * parameter groups that are associated with the specified tag value or values. For 316 * example, suppose that you have parameter groups that are tagged with values 317 * called <code>admin</code> and <code>test</code>. If you specify both of these 318 * tag values in the request, Amazon Redshift returns a response with the parameter 319 * groups that have either or both of these tag values associated with them.</p> 320 */ GetTagValues()321 inline const Aws::Vector<Aws::String>& GetTagValues() const{ return m_tagValues; } 322 323 /** 324 * <p>A tag value or values for which you want to return all matching cluster 325 * parameter groups that are associated with the specified tag value or values. For 326 * example, suppose that you have parameter groups that are tagged with values 327 * called <code>admin</code> and <code>test</code>. If you specify both of these 328 * tag values in the request, Amazon Redshift returns a response with the parameter 329 * groups that have either or both of these tag values associated with them.</p> 330 */ TagValuesHasBeenSet()331 inline bool TagValuesHasBeenSet() const { return m_tagValuesHasBeenSet; } 332 333 /** 334 * <p>A tag value or values for which you want to return all matching cluster 335 * parameter groups that are associated with the specified tag value or values. For 336 * example, suppose that you have parameter groups that are tagged with values 337 * called <code>admin</code> and <code>test</code>. If you specify both of these 338 * tag values in the request, Amazon Redshift returns a response with the parameter 339 * groups that have either or both of these tag values associated with them.</p> 340 */ SetTagValues(const Aws::Vector<Aws::String> & value)341 inline void SetTagValues(const Aws::Vector<Aws::String>& value) { m_tagValuesHasBeenSet = true; m_tagValues = value; } 342 343 /** 344 * <p>A tag value or values for which you want to return all matching cluster 345 * parameter groups that are associated with the specified tag value or values. For 346 * example, suppose that you have parameter groups that are tagged with values 347 * called <code>admin</code> and <code>test</code>. If you specify both of these 348 * tag values in the request, Amazon Redshift returns a response with the parameter 349 * groups that have either or both of these tag values associated with them.</p> 350 */ SetTagValues(Aws::Vector<Aws::String> && value)351 inline void SetTagValues(Aws::Vector<Aws::String>&& value) { m_tagValuesHasBeenSet = true; m_tagValues = std::move(value); } 352 353 /** 354 * <p>A tag value or values for which you want to return all matching cluster 355 * parameter groups that are associated with the specified tag value or values. For 356 * example, suppose that you have parameter groups that are tagged with values 357 * called <code>admin</code> and <code>test</code>. If you specify both of these 358 * tag values in the request, Amazon Redshift returns a response with the parameter 359 * groups that have either or both of these tag values associated with them.</p> 360 */ WithTagValues(const Aws::Vector<Aws::String> & value)361 inline DescribeClusterParameterGroupsRequest& WithTagValues(const Aws::Vector<Aws::String>& value) { SetTagValues(value); return *this;} 362 363 /** 364 * <p>A tag value or values for which you want to return all matching cluster 365 * parameter groups that are associated with the specified tag value or values. For 366 * example, suppose that you have parameter groups that are tagged with values 367 * called <code>admin</code> and <code>test</code>. If you specify both of these 368 * tag values in the request, Amazon Redshift returns a response with the parameter 369 * groups that have either or both of these tag values associated with them.</p> 370 */ WithTagValues(Aws::Vector<Aws::String> && value)371 inline DescribeClusterParameterGroupsRequest& WithTagValues(Aws::Vector<Aws::String>&& value) { SetTagValues(std::move(value)); return *this;} 372 373 /** 374 * <p>A tag value or values for which you want to return all matching cluster 375 * parameter groups that are associated with the specified tag value or values. For 376 * example, suppose that you have parameter groups that are tagged with values 377 * called <code>admin</code> and <code>test</code>. If you specify both of these 378 * tag values in the request, Amazon Redshift returns a response with the parameter 379 * groups that have either or both of these tag values associated with them.</p> 380 */ AddTagValues(const Aws::String & value)381 inline DescribeClusterParameterGroupsRequest& AddTagValues(const Aws::String& value) { m_tagValuesHasBeenSet = true; m_tagValues.push_back(value); return *this; } 382 383 /** 384 * <p>A tag value or values for which you want to return all matching cluster 385 * parameter groups that are associated with the specified tag value or values. For 386 * example, suppose that you have parameter groups that are tagged with values 387 * called <code>admin</code> and <code>test</code>. If you specify both of these 388 * tag values in the request, Amazon Redshift returns a response with the parameter 389 * groups that have either or both of these tag values associated with them.</p> 390 */ AddTagValues(Aws::String && value)391 inline DescribeClusterParameterGroupsRequest& AddTagValues(Aws::String&& value) { m_tagValuesHasBeenSet = true; m_tagValues.push_back(std::move(value)); return *this; } 392 393 /** 394 * <p>A tag value or values for which you want to return all matching cluster 395 * parameter groups that are associated with the specified tag value or values. For 396 * example, suppose that you have parameter groups that are tagged with values 397 * called <code>admin</code> and <code>test</code>. If you specify both of these 398 * tag values in the request, Amazon Redshift returns a response with the parameter 399 * groups that have either or both of these tag values associated with them.</p> 400 */ AddTagValues(const char * value)401 inline DescribeClusterParameterGroupsRequest& AddTagValues(const char* value) { m_tagValuesHasBeenSet = true; m_tagValues.push_back(value); return *this; } 402 403 private: 404 405 Aws::String m_parameterGroupName; 406 bool m_parameterGroupNameHasBeenSet; 407 408 int m_maxRecords; 409 bool m_maxRecordsHasBeenSet; 410 411 Aws::String m_marker; 412 bool m_markerHasBeenSet; 413 414 Aws::Vector<Aws::String> m_tagKeys; 415 bool m_tagKeysHasBeenSet; 416 417 Aws::Vector<Aws::String> m_tagValues; 418 bool m_tagValuesHasBeenSet; 419 }; 420 421 } // namespace Model 422 } // namespace Redshift 423 } // namespace Aws 424