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