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/DescribeHsmClientCertificatesMessage">AWS 23 * API Reference</a></p> 24 */ 25 class AWS_REDSHIFT_API DescribeHsmClientCertificatesRequest : public RedshiftRequest 26 { 27 public: 28 DescribeHsmClientCertificatesRequest(); 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 "DescribeHsmClientCertificates"; } 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 identifier of a specific HSM client certificate for which you want 45 * information. If no identifier is specified, information is returned for all HSM 46 * client certificates owned by your Amazon Web Services account.</p> 47 */ GetHsmClientCertificateIdentifier()48 inline const Aws::String& GetHsmClientCertificateIdentifier() const{ return m_hsmClientCertificateIdentifier; } 49 50 /** 51 * <p>The identifier of a specific HSM client certificate for which you want 52 * information. If no identifier is specified, information is returned for all HSM 53 * client certificates owned by your Amazon Web Services account.</p> 54 */ HsmClientCertificateIdentifierHasBeenSet()55 inline bool HsmClientCertificateIdentifierHasBeenSet() const { return m_hsmClientCertificateIdentifierHasBeenSet; } 56 57 /** 58 * <p>The identifier of a specific HSM client certificate for which you want 59 * information. If no identifier is specified, information is returned for all HSM 60 * client certificates owned by your Amazon Web Services account.</p> 61 */ SetHsmClientCertificateIdentifier(const Aws::String & value)62 inline void SetHsmClientCertificateIdentifier(const Aws::String& value) { m_hsmClientCertificateIdentifierHasBeenSet = true; m_hsmClientCertificateIdentifier = value; } 63 64 /** 65 * <p>The identifier of a specific HSM client certificate for which you want 66 * information. If no identifier is specified, information is returned for all HSM 67 * client certificates owned by your Amazon Web Services account.</p> 68 */ SetHsmClientCertificateIdentifier(Aws::String && value)69 inline void SetHsmClientCertificateIdentifier(Aws::String&& value) { m_hsmClientCertificateIdentifierHasBeenSet = true; m_hsmClientCertificateIdentifier = std::move(value); } 70 71 /** 72 * <p>The identifier of a specific HSM client certificate for which you want 73 * information. If no identifier is specified, information is returned for all HSM 74 * client certificates owned by your Amazon Web Services account.</p> 75 */ SetHsmClientCertificateIdentifier(const char * value)76 inline void SetHsmClientCertificateIdentifier(const char* value) { m_hsmClientCertificateIdentifierHasBeenSet = true; m_hsmClientCertificateIdentifier.assign(value); } 77 78 /** 79 * <p>The identifier of a specific HSM client certificate for which you want 80 * information. If no identifier is specified, information is returned for all HSM 81 * client certificates owned by your Amazon Web Services account.</p> 82 */ WithHsmClientCertificateIdentifier(const Aws::String & value)83 inline DescribeHsmClientCertificatesRequest& WithHsmClientCertificateIdentifier(const Aws::String& value) { SetHsmClientCertificateIdentifier(value); return *this;} 84 85 /** 86 * <p>The identifier of a specific HSM client certificate for which you want 87 * information. If no identifier is specified, information is returned for all HSM 88 * client certificates owned by your Amazon Web Services account.</p> 89 */ WithHsmClientCertificateIdentifier(Aws::String && value)90 inline DescribeHsmClientCertificatesRequest& WithHsmClientCertificateIdentifier(Aws::String&& value) { SetHsmClientCertificateIdentifier(std::move(value)); return *this;} 91 92 /** 93 * <p>The identifier of a specific HSM client certificate for which you want 94 * information. If no identifier is specified, information is returned for all HSM 95 * client certificates owned by your Amazon Web Services account.</p> 96 */ WithHsmClientCertificateIdentifier(const char * value)97 inline DescribeHsmClientCertificatesRequest& WithHsmClientCertificateIdentifier(const char* value) { SetHsmClientCertificateIdentifier(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 DescribeHsmClientCertificatesRequest& 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>DescribeHsmClientCertificates</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>DescribeHsmClientCertificates</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>DescribeHsmClientCertificates</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>DescribeHsmClientCertificates</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>DescribeHsmClientCertificates</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>DescribeHsmClientCertificates</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 DescribeHsmClientCertificatesRequest& 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>DescribeHsmClientCertificates</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 DescribeHsmClientCertificatesRequest& 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>DescribeHsmClientCertificates</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 DescribeHsmClientCertificatesRequest& 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 HSM client 224 * certificates that are associated with the specified key or keys. For example, 225 * suppose that you have HSM client certificates 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 HSM client 228 * certificates that have either or both of these tag keys associated with 229 * them.</p> 230 */ GetTagKeys()231 inline const Aws::Vector<Aws::String>& GetTagKeys() const{ return m_tagKeys; } 232 233 /** 234 * <p>A tag key or keys for which you want to return all matching HSM client 235 * certificates that are associated with the specified key or keys. For example, 236 * suppose that you have HSM client certificates that are tagged with keys called 237 * <code>owner</code> and <code>environment</code>. If you specify both of these 238 * tag keys in the request, Amazon Redshift returns a response with the HSM client 239 * certificates that have either or both of these tag keys associated with 240 * them.</p> 241 */ TagKeysHasBeenSet()242 inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } 243 244 /** 245 * <p>A tag key or keys for which you want to return all matching HSM client 246 * certificates that are associated with the specified key or keys. For example, 247 * suppose that you have HSM client certificates that are tagged with keys called 248 * <code>owner</code> and <code>environment</code>. If you specify both of these 249 * tag keys in the request, Amazon Redshift returns a response with the HSM client 250 * certificates that have either or both of these tag keys associated with 251 * them.</p> 252 */ SetTagKeys(const Aws::Vector<Aws::String> & value)253 inline void SetTagKeys(const Aws::Vector<Aws::String>& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; } 254 255 /** 256 * <p>A tag key or keys for which you want to return all matching HSM client 257 * certificates that are associated with the specified key or keys. For example, 258 * suppose that you have HSM client certificates that are tagged with keys called 259 * <code>owner</code> and <code>environment</code>. If you specify both of these 260 * tag keys in the request, Amazon Redshift returns a response with the HSM client 261 * certificates that have either or both of these tag keys associated with 262 * them.</p> 263 */ SetTagKeys(Aws::Vector<Aws::String> && value)264 inline void SetTagKeys(Aws::Vector<Aws::String>&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); } 265 266 /** 267 * <p>A tag key or keys for which you want to return all matching HSM client 268 * certificates that are associated with the specified key or keys. For example, 269 * suppose that you have HSM client certificates that are tagged with keys called 270 * <code>owner</code> and <code>environment</code>. If you specify both of these 271 * tag keys in the request, Amazon Redshift returns a response with the HSM client 272 * certificates that have either or both of these tag keys associated with 273 * them.</p> 274 */ WithTagKeys(const Aws::Vector<Aws::String> & value)275 inline DescribeHsmClientCertificatesRequest& WithTagKeys(const Aws::Vector<Aws::String>& value) { SetTagKeys(value); return *this;} 276 277 /** 278 * <p>A tag key or keys for which you want to return all matching HSM client 279 * certificates that are associated with the specified key or keys. For example, 280 * suppose that you have HSM client certificates that are tagged with keys called 281 * <code>owner</code> and <code>environment</code>. If you specify both of these 282 * tag keys in the request, Amazon Redshift returns a response with the HSM client 283 * certificates that have either or both of these tag keys associated with 284 * them.</p> 285 */ WithTagKeys(Aws::Vector<Aws::String> && value)286 inline DescribeHsmClientCertificatesRequest& WithTagKeys(Aws::Vector<Aws::String>&& value) { SetTagKeys(std::move(value)); return *this;} 287 288 /** 289 * <p>A tag key or keys for which you want to return all matching HSM client 290 * certificates that are associated with the specified key or keys. For example, 291 * suppose that you have HSM client certificates that are tagged with keys called 292 * <code>owner</code> and <code>environment</code>. If you specify both of these 293 * tag keys in the request, Amazon Redshift returns a response with the HSM client 294 * certificates that have either or both of these tag keys associated with 295 * them.</p> 296 */ AddTagKeys(const Aws::String & value)297 inline DescribeHsmClientCertificatesRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } 298 299 /** 300 * <p>A tag key or keys for which you want to return all matching HSM client 301 * certificates that are associated with the specified key or keys. For example, 302 * suppose that you have HSM client certificates that are tagged with keys called 303 * <code>owner</code> and <code>environment</code>. If you specify both of these 304 * tag keys in the request, Amazon Redshift returns a response with the HSM client 305 * certificates that have either or both of these tag keys associated with 306 * them.</p> 307 */ AddTagKeys(Aws::String && value)308 inline DescribeHsmClientCertificatesRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; } 309 310 /** 311 * <p>A tag key or keys for which you want to return all matching HSM client 312 * certificates that are associated with the specified key or keys. For example, 313 * suppose that you have HSM client certificates that are tagged with keys called 314 * <code>owner</code> and <code>environment</code>. If you specify both of these 315 * tag keys in the request, Amazon Redshift returns a response with the HSM client 316 * certificates that have either or both of these tag keys associated with 317 * them.</p> 318 */ AddTagKeys(const char * value)319 inline DescribeHsmClientCertificatesRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } 320 321 322 /** 323 * <p>A tag value or values for which you want to return all matching HSM client 324 * certificates that are associated with the specified tag value or values. For 325 * example, suppose that you have HSM client certificates that are tagged with 326 * values called <code>admin</code> and <code>test</code>. If you specify both of 327 * these tag values in the request, Amazon Redshift returns a response with the HSM 328 * client certificates that have either or both of these tag values associated with 329 * them.</p> 330 */ GetTagValues()331 inline const Aws::Vector<Aws::String>& GetTagValues() const{ return m_tagValues; } 332 333 /** 334 * <p>A tag value or values for which you want to return all matching HSM client 335 * certificates that are associated with the specified tag value or values. For 336 * example, suppose that you have HSM client certificates that are tagged with 337 * values called <code>admin</code> and <code>test</code>. If you specify both of 338 * these tag values in the request, Amazon Redshift returns a response with the HSM 339 * client certificates that have either or both of these tag values associated with 340 * them.</p> 341 */ TagValuesHasBeenSet()342 inline bool TagValuesHasBeenSet() const { return m_tagValuesHasBeenSet; } 343 344 /** 345 * <p>A tag value or values for which you want to return all matching HSM client 346 * certificates that are associated with the specified tag value or values. For 347 * example, suppose that you have HSM client certificates that are tagged with 348 * values called <code>admin</code> and <code>test</code>. If you specify both of 349 * these tag values in the request, Amazon Redshift returns a response with the HSM 350 * client certificates that have either or both of these tag values associated with 351 * them.</p> 352 */ SetTagValues(const Aws::Vector<Aws::String> & value)353 inline void SetTagValues(const Aws::Vector<Aws::String>& value) { m_tagValuesHasBeenSet = true; m_tagValues = value; } 354 355 /** 356 * <p>A tag value or values for which you want to return all matching HSM client 357 * certificates that are associated with the specified tag value or values. For 358 * example, suppose that you have HSM client certificates that are tagged with 359 * values called <code>admin</code> and <code>test</code>. If you specify both of 360 * these tag values in the request, Amazon Redshift returns a response with the HSM 361 * client certificates that have either or both of these tag values associated with 362 * them.</p> 363 */ SetTagValues(Aws::Vector<Aws::String> && value)364 inline void SetTagValues(Aws::Vector<Aws::String>&& value) { m_tagValuesHasBeenSet = true; m_tagValues = std::move(value); } 365 366 /** 367 * <p>A tag value or values for which you want to return all matching HSM client 368 * certificates that are associated with the specified tag value or values. For 369 * example, suppose that you have HSM client certificates that are tagged with 370 * values called <code>admin</code> and <code>test</code>. If you specify both of 371 * these tag values in the request, Amazon Redshift returns a response with the HSM 372 * client certificates that have either or both of these tag values associated with 373 * them.</p> 374 */ WithTagValues(const Aws::Vector<Aws::String> & value)375 inline DescribeHsmClientCertificatesRequest& WithTagValues(const Aws::Vector<Aws::String>& value) { SetTagValues(value); return *this;} 376 377 /** 378 * <p>A tag value or values for which you want to return all matching HSM client 379 * certificates that are associated with the specified tag value or values. For 380 * example, suppose that you have HSM client certificates that are tagged with 381 * values called <code>admin</code> and <code>test</code>. If you specify both of 382 * these tag values in the request, Amazon Redshift returns a response with the HSM 383 * client certificates that have either or both of these tag values associated with 384 * them.</p> 385 */ WithTagValues(Aws::Vector<Aws::String> && value)386 inline DescribeHsmClientCertificatesRequest& WithTagValues(Aws::Vector<Aws::String>&& value) { SetTagValues(std::move(value)); return *this;} 387 388 /** 389 * <p>A tag value or values for which you want to return all matching HSM client 390 * certificates that are associated with the specified tag value or values. For 391 * example, suppose that you have HSM client certificates that are tagged with 392 * values called <code>admin</code> and <code>test</code>. If you specify both of 393 * these tag values in the request, Amazon Redshift returns a response with the HSM 394 * client certificates that have either or both of these tag values associated with 395 * them.</p> 396 */ AddTagValues(const Aws::String & value)397 inline DescribeHsmClientCertificatesRequest& AddTagValues(const Aws::String& value) { m_tagValuesHasBeenSet = true; m_tagValues.push_back(value); return *this; } 398 399 /** 400 * <p>A tag value or values for which you want to return all matching HSM client 401 * certificates that are associated with the specified tag value or values. For 402 * example, suppose that you have HSM client certificates that are tagged with 403 * values called <code>admin</code> and <code>test</code>. If you specify both of 404 * these tag values in the request, Amazon Redshift returns a response with the HSM 405 * client certificates that have either or both of these tag values associated with 406 * them.</p> 407 */ AddTagValues(Aws::String && value)408 inline DescribeHsmClientCertificatesRequest& AddTagValues(Aws::String&& value) { m_tagValuesHasBeenSet = true; m_tagValues.push_back(std::move(value)); return *this; } 409 410 /** 411 * <p>A tag value or values for which you want to return all matching HSM client 412 * certificates that are associated with the specified tag value or values. For 413 * example, suppose that you have HSM client certificates that are tagged with 414 * values called <code>admin</code> and <code>test</code>. If you specify both of 415 * these tag values in the request, Amazon Redshift returns a response with the HSM 416 * client certificates that have either or both of these tag values associated with 417 * them.</p> 418 */ AddTagValues(const char * value)419 inline DescribeHsmClientCertificatesRequest& AddTagValues(const char* value) { m_tagValuesHasBeenSet = true; m_tagValues.push_back(value); return *this; } 420 421 private: 422 423 Aws::String m_hsmClientCertificateIdentifier; 424 bool m_hsmClientCertificateIdentifierHasBeenSet; 425 426 int m_maxRecords; 427 bool m_maxRecordsHasBeenSet; 428 429 Aws::String m_marker; 430 bool m_markerHasBeenSet; 431 432 Aws::Vector<Aws::String> m_tagKeys; 433 bool m_tagKeysHasBeenSet; 434 435 Aws::Vector<Aws::String> m_tagValues; 436 bool m_tagValuesHasBeenSet; 437 }; 438 439 } // namespace Model 440 } // namespace Redshift 441 } // namespace Aws 442