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/firehose/Firehose_EXPORTS.h> 8 #include <aws/firehose/FirehoseRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/firehose/model/ExtendedS3DestinationUpdate.h> 11 #include <aws/firehose/model/RedshiftDestinationUpdate.h> 12 #include <aws/firehose/model/ElasticsearchDestinationUpdate.h> 13 #include <aws/firehose/model/AmazonopensearchserviceDestinationUpdate.h> 14 #include <aws/firehose/model/SplunkDestinationUpdate.h> 15 #include <aws/firehose/model/HttpEndpointDestinationUpdate.h> 16 #include <utility> 17 18 namespace Aws 19 { 20 namespace Firehose 21 { 22 namespace Model 23 { 24 25 /** 26 */ 27 class AWS_FIREHOSE_API UpdateDestinationRequest : public FirehoseRequest 28 { 29 public: 30 UpdateDestinationRequest(); 31 32 // Service request name is the Operation name which will send this request out, 33 // each operation should has unique request name, so that we can get operation's name from this request. 34 // Note: this is not true for response, multiple operations may have the same response name, 35 // so we can not get operation's name from response. GetServiceRequestName()36 inline virtual const char* GetServiceRequestName() const override { return "UpdateDestination"; } 37 38 Aws::String SerializePayload() const override; 39 40 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 41 42 43 /** 44 * <p>The name of the delivery stream.</p> 45 */ GetDeliveryStreamName()46 inline const Aws::String& GetDeliveryStreamName() const{ return m_deliveryStreamName; } 47 48 /** 49 * <p>The name of the delivery stream.</p> 50 */ DeliveryStreamNameHasBeenSet()51 inline bool DeliveryStreamNameHasBeenSet() const { return m_deliveryStreamNameHasBeenSet; } 52 53 /** 54 * <p>The name of the delivery stream.</p> 55 */ SetDeliveryStreamName(const Aws::String & value)56 inline void SetDeliveryStreamName(const Aws::String& value) { m_deliveryStreamNameHasBeenSet = true; m_deliveryStreamName = value; } 57 58 /** 59 * <p>The name of the delivery stream.</p> 60 */ SetDeliveryStreamName(Aws::String && value)61 inline void SetDeliveryStreamName(Aws::String&& value) { m_deliveryStreamNameHasBeenSet = true; m_deliveryStreamName = std::move(value); } 62 63 /** 64 * <p>The name of the delivery stream.</p> 65 */ SetDeliveryStreamName(const char * value)66 inline void SetDeliveryStreamName(const char* value) { m_deliveryStreamNameHasBeenSet = true; m_deliveryStreamName.assign(value); } 67 68 /** 69 * <p>The name of the delivery stream.</p> 70 */ WithDeliveryStreamName(const Aws::String & value)71 inline UpdateDestinationRequest& WithDeliveryStreamName(const Aws::String& value) { SetDeliveryStreamName(value); return *this;} 72 73 /** 74 * <p>The name of the delivery stream.</p> 75 */ WithDeliveryStreamName(Aws::String && value)76 inline UpdateDestinationRequest& WithDeliveryStreamName(Aws::String&& value) { SetDeliveryStreamName(std::move(value)); return *this;} 77 78 /** 79 * <p>The name of the delivery stream.</p> 80 */ WithDeliveryStreamName(const char * value)81 inline UpdateDestinationRequest& WithDeliveryStreamName(const char* value) { SetDeliveryStreamName(value); return *this;} 82 83 84 /** 85 * <p>Obtain this value from the <code>VersionId</code> result of 86 * <a>DeliveryStreamDescription</a>. This value is required, and helps the service 87 * perform conditional operations. For example, if there is an interleaving update 88 * and this value is null, then the update destination fails. After the update is 89 * successful, the <code>VersionId</code> value is updated. The service then 90 * performs a merge of the old configuration with the new configuration.</p> 91 */ GetCurrentDeliveryStreamVersionId()92 inline const Aws::String& GetCurrentDeliveryStreamVersionId() const{ return m_currentDeliveryStreamVersionId; } 93 94 /** 95 * <p>Obtain this value from the <code>VersionId</code> result of 96 * <a>DeliveryStreamDescription</a>. This value is required, and helps the service 97 * perform conditional operations. For example, if there is an interleaving update 98 * and this value is null, then the update destination fails. After the update is 99 * successful, the <code>VersionId</code> value is updated. The service then 100 * performs a merge of the old configuration with the new configuration.</p> 101 */ CurrentDeliveryStreamVersionIdHasBeenSet()102 inline bool CurrentDeliveryStreamVersionIdHasBeenSet() const { return m_currentDeliveryStreamVersionIdHasBeenSet; } 103 104 /** 105 * <p>Obtain this value from the <code>VersionId</code> result of 106 * <a>DeliveryStreamDescription</a>. This value is required, and helps the service 107 * perform conditional operations. For example, if there is an interleaving update 108 * and this value is null, then the update destination fails. After the update is 109 * successful, the <code>VersionId</code> value is updated. The service then 110 * performs a merge of the old configuration with the new configuration.</p> 111 */ SetCurrentDeliveryStreamVersionId(const Aws::String & value)112 inline void SetCurrentDeliveryStreamVersionId(const Aws::String& value) { m_currentDeliveryStreamVersionIdHasBeenSet = true; m_currentDeliveryStreamVersionId = value; } 113 114 /** 115 * <p>Obtain this value from the <code>VersionId</code> result of 116 * <a>DeliveryStreamDescription</a>. This value is required, and helps the service 117 * perform conditional operations. For example, if there is an interleaving update 118 * and this value is null, then the update destination fails. After the update is 119 * successful, the <code>VersionId</code> value is updated. The service then 120 * performs a merge of the old configuration with the new configuration.</p> 121 */ SetCurrentDeliveryStreamVersionId(Aws::String && value)122 inline void SetCurrentDeliveryStreamVersionId(Aws::String&& value) { m_currentDeliveryStreamVersionIdHasBeenSet = true; m_currentDeliveryStreamVersionId = std::move(value); } 123 124 /** 125 * <p>Obtain this value from the <code>VersionId</code> result of 126 * <a>DeliveryStreamDescription</a>. This value is required, and helps the service 127 * perform conditional operations. For example, if there is an interleaving update 128 * and this value is null, then the update destination fails. After the update is 129 * successful, the <code>VersionId</code> value is updated. The service then 130 * performs a merge of the old configuration with the new configuration.</p> 131 */ SetCurrentDeliveryStreamVersionId(const char * value)132 inline void SetCurrentDeliveryStreamVersionId(const char* value) { m_currentDeliveryStreamVersionIdHasBeenSet = true; m_currentDeliveryStreamVersionId.assign(value); } 133 134 /** 135 * <p>Obtain this value from the <code>VersionId</code> result of 136 * <a>DeliveryStreamDescription</a>. This value is required, and helps the service 137 * perform conditional operations. For example, if there is an interleaving update 138 * and this value is null, then the update destination fails. After the update is 139 * successful, the <code>VersionId</code> value is updated. The service then 140 * performs a merge of the old configuration with the new configuration.</p> 141 */ WithCurrentDeliveryStreamVersionId(const Aws::String & value)142 inline UpdateDestinationRequest& WithCurrentDeliveryStreamVersionId(const Aws::String& value) { SetCurrentDeliveryStreamVersionId(value); return *this;} 143 144 /** 145 * <p>Obtain this value from the <code>VersionId</code> result of 146 * <a>DeliveryStreamDescription</a>. This value is required, and helps the service 147 * perform conditional operations. For example, if there is an interleaving update 148 * and this value is null, then the update destination fails. After the update is 149 * successful, the <code>VersionId</code> value is updated. The service then 150 * performs a merge of the old configuration with the new configuration.</p> 151 */ WithCurrentDeliveryStreamVersionId(Aws::String && value)152 inline UpdateDestinationRequest& WithCurrentDeliveryStreamVersionId(Aws::String&& value) { SetCurrentDeliveryStreamVersionId(std::move(value)); return *this;} 153 154 /** 155 * <p>Obtain this value from the <code>VersionId</code> result of 156 * <a>DeliveryStreamDescription</a>. This value is required, and helps the service 157 * perform conditional operations. For example, if there is an interleaving update 158 * and this value is null, then the update destination fails. After the update is 159 * successful, the <code>VersionId</code> value is updated. The service then 160 * performs a merge of the old configuration with the new configuration.</p> 161 */ WithCurrentDeliveryStreamVersionId(const char * value)162 inline UpdateDestinationRequest& WithCurrentDeliveryStreamVersionId(const char* value) { SetCurrentDeliveryStreamVersionId(value); return *this;} 163 164 165 /** 166 * <p>The ID of the destination.</p> 167 */ GetDestinationId()168 inline const Aws::String& GetDestinationId() const{ return m_destinationId; } 169 170 /** 171 * <p>The ID of the destination.</p> 172 */ DestinationIdHasBeenSet()173 inline bool DestinationIdHasBeenSet() const { return m_destinationIdHasBeenSet; } 174 175 /** 176 * <p>The ID of the destination.</p> 177 */ SetDestinationId(const Aws::String & value)178 inline void SetDestinationId(const Aws::String& value) { m_destinationIdHasBeenSet = true; m_destinationId = value; } 179 180 /** 181 * <p>The ID of the destination.</p> 182 */ SetDestinationId(Aws::String && value)183 inline void SetDestinationId(Aws::String&& value) { m_destinationIdHasBeenSet = true; m_destinationId = std::move(value); } 184 185 /** 186 * <p>The ID of the destination.</p> 187 */ SetDestinationId(const char * value)188 inline void SetDestinationId(const char* value) { m_destinationIdHasBeenSet = true; m_destinationId.assign(value); } 189 190 /** 191 * <p>The ID of the destination.</p> 192 */ WithDestinationId(const Aws::String & value)193 inline UpdateDestinationRequest& WithDestinationId(const Aws::String& value) { SetDestinationId(value); return *this;} 194 195 /** 196 * <p>The ID of the destination.</p> 197 */ WithDestinationId(Aws::String && value)198 inline UpdateDestinationRequest& WithDestinationId(Aws::String&& value) { SetDestinationId(std::move(value)); return *this;} 199 200 /** 201 * <p>The ID of the destination.</p> 202 */ WithDestinationId(const char * value)203 inline UpdateDestinationRequest& WithDestinationId(const char* value) { SetDestinationId(value); return *this;} 204 205 206 /** 207 * <p>Describes an update for a destination in Amazon S3.</p> 208 */ GetExtendedS3DestinationUpdate()209 inline const ExtendedS3DestinationUpdate& GetExtendedS3DestinationUpdate() const{ return m_extendedS3DestinationUpdate; } 210 211 /** 212 * <p>Describes an update for a destination in Amazon S3.</p> 213 */ ExtendedS3DestinationUpdateHasBeenSet()214 inline bool ExtendedS3DestinationUpdateHasBeenSet() const { return m_extendedS3DestinationUpdateHasBeenSet; } 215 216 /** 217 * <p>Describes an update for a destination in Amazon S3.</p> 218 */ SetExtendedS3DestinationUpdate(const ExtendedS3DestinationUpdate & value)219 inline void SetExtendedS3DestinationUpdate(const ExtendedS3DestinationUpdate& value) { m_extendedS3DestinationUpdateHasBeenSet = true; m_extendedS3DestinationUpdate = value; } 220 221 /** 222 * <p>Describes an update for a destination in Amazon S3.</p> 223 */ SetExtendedS3DestinationUpdate(ExtendedS3DestinationUpdate && value)224 inline void SetExtendedS3DestinationUpdate(ExtendedS3DestinationUpdate&& value) { m_extendedS3DestinationUpdateHasBeenSet = true; m_extendedS3DestinationUpdate = std::move(value); } 225 226 /** 227 * <p>Describes an update for a destination in Amazon S3.</p> 228 */ WithExtendedS3DestinationUpdate(const ExtendedS3DestinationUpdate & value)229 inline UpdateDestinationRequest& WithExtendedS3DestinationUpdate(const ExtendedS3DestinationUpdate& value) { SetExtendedS3DestinationUpdate(value); return *this;} 230 231 /** 232 * <p>Describes an update for a destination in Amazon S3.</p> 233 */ WithExtendedS3DestinationUpdate(ExtendedS3DestinationUpdate && value)234 inline UpdateDestinationRequest& WithExtendedS3DestinationUpdate(ExtendedS3DestinationUpdate&& value) { SetExtendedS3DestinationUpdate(std::move(value)); return *this;} 235 236 237 /** 238 * <p>Describes an update for a destination in Amazon Redshift.</p> 239 */ GetRedshiftDestinationUpdate()240 inline const RedshiftDestinationUpdate& GetRedshiftDestinationUpdate() const{ return m_redshiftDestinationUpdate; } 241 242 /** 243 * <p>Describes an update for a destination in Amazon Redshift.</p> 244 */ RedshiftDestinationUpdateHasBeenSet()245 inline bool RedshiftDestinationUpdateHasBeenSet() const { return m_redshiftDestinationUpdateHasBeenSet; } 246 247 /** 248 * <p>Describes an update for a destination in Amazon Redshift.</p> 249 */ SetRedshiftDestinationUpdate(const RedshiftDestinationUpdate & value)250 inline void SetRedshiftDestinationUpdate(const RedshiftDestinationUpdate& value) { m_redshiftDestinationUpdateHasBeenSet = true; m_redshiftDestinationUpdate = value; } 251 252 /** 253 * <p>Describes an update for a destination in Amazon Redshift.</p> 254 */ SetRedshiftDestinationUpdate(RedshiftDestinationUpdate && value)255 inline void SetRedshiftDestinationUpdate(RedshiftDestinationUpdate&& value) { m_redshiftDestinationUpdateHasBeenSet = true; m_redshiftDestinationUpdate = std::move(value); } 256 257 /** 258 * <p>Describes an update for a destination in Amazon Redshift.</p> 259 */ WithRedshiftDestinationUpdate(const RedshiftDestinationUpdate & value)260 inline UpdateDestinationRequest& WithRedshiftDestinationUpdate(const RedshiftDestinationUpdate& value) { SetRedshiftDestinationUpdate(value); return *this;} 261 262 /** 263 * <p>Describes an update for a destination in Amazon Redshift.</p> 264 */ WithRedshiftDestinationUpdate(RedshiftDestinationUpdate && value)265 inline UpdateDestinationRequest& WithRedshiftDestinationUpdate(RedshiftDestinationUpdate&& value) { SetRedshiftDestinationUpdate(std::move(value)); return *this;} 266 267 268 /** 269 * <p>Describes an update for a destination in Amazon ES.</p> 270 */ GetElasticsearchDestinationUpdate()271 inline const ElasticsearchDestinationUpdate& GetElasticsearchDestinationUpdate() const{ return m_elasticsearchDestinationUpdate; } 272 273 /** 274 * <p>Describes an update for a destination in Amazon ES.</p> 275 */ ElasticsearchDestinationUpdateHasBeenSet()276 inline bool ElasticsearchDestinationUpdateHasBeenSet() const { return m_elasticsearchDestinationUpdateHasBeenSet; } 277 278 /** 279 * <p>Describes an update for a destination in Amazon ES.</p> 280 */ SetElasticsearchDestinationUpdate(const ElasticsearchDestinationUpdate & value)281 inline void SetElasticsearchDestinationUpdate(const ElasticsearchDestinationUpdate& value) { m_elasticsearchDestinationUpdateHasBeenSet = true; m_elasticsearchDestinationUpdate = value; } 282 283 /** 284 * <p>Describes an update for a destination in Amazon ES.</p> 285 */ SetElasticsearchDestinationUpdate(ElasticsearchDestinationUpdate && value)286 inline void SetElasticsearchDestinationUpdate(ElasticsearchDestinationUpdate&& value) { m_elasticsearchDestinationUpdateHasBeenSet = true; m_elasticsearchDestinationUpdate = std::move(value); } 287 288 /** 289 * <p>Describes an update for a destination in Amazon ES.</p> 290 */ WithElasticsearchDestinationUpdate(const ElasticsearchDestinationUpdate & value)291 inline UpdateDestinationRequest& WithElasticsearchDestinationUpdate(const ElasticsearchDestinationUpdate& value) { SetElasticsearchDestinationUpdate(value); return *this;} 292 293 /** 294 * <p>Describes an update for a destination in Amazon ES.</p> 295 */ WithElasticsearchDestinationUpdate(ElasticsearchDestinationUpdate && value)296 inline UpdateDestinationRequest& WithElasticsearchDestinationUpdate(ElasticsearchDestinationUpdate&& value) { SetElasticsearchDestinationUpdate(std::move(value)); return *this;} 297 298 299 GetAmazonopensearchserviceDestinationUpdate()300 inline const AmazonopensearchserviceDestinationUpdate& GetAmazonopensearchserviceDestinationUpdate() const{ return m_amazonopensearchserviceDestinationUpdate; } 301 302 AmazonopensearchserviceDestinationUpdateHasBeenSet()303 inline bool AmazonopensearchserviceDestinationUpdateHasBeenSet() const { return m_amazonopensearchserviceDestinationUpdateHasBeenSet; } 304 305 SetAmazonopensearchserviceDestinationUpdate(const AmazonopensearchserviceDestinationUpdate & value)306 inline void SetAmazonopensearchserviceDestinationUpdate(const AmazonopensearchserviceDestinationUpdate& value) { m_amazonopensearchserviceDestinationUpdateHasBeenSet = true; m_amazonopensearchserviceDestinationUpdate = value; } 307 308 SetAmazonopensearchserviceDestinationUpdate(AmazonopensearchserviceDestinationUpdate && value)309 inline void SetAmazonopensearchserviceDestinationUpdate(AmazonopensearchserviceDestinationUpdate&& value) { m_amazonopensearchserviceDestinationUpdateHasBeenSet = true; m_amazonopensearchserviceDestinationUpdate = std::move(value); } 310 311 WithAmazonopensearchserviceDestinationUpdate(const AmazonopensearchserviceDestinationUpdate & value)312 inline UpdateDestinationRequest& WithAmazonopensearchserviceDestinationUpdate(const AmazonopensearchserviceDestinationUpdate& value) { SetAmazonopensearchserviceDestinationUpdate(value); return *this;} 313 314 WithAmazonopensearchserviceDestinationUpdate(AmazonopensearchserviceDestinationUpdate && value)315 inline UpdateDestinationRequest& WithAmazonopensearchserviceDestinationUpdate(AmazonopensearchserviceDestinationUpdate&& value) { SetAmazonopensearchserviceDestinationUpdate(std::move(value)); return *this;} 316 317 318 /** 319 * <p>Describes an update for a destination in Splunk.</p> 320 */ GetSplunkDestinationUpdate()321 inline const SplunkDestinationUpdate& GetSplunkDestinationUpdate() const{ return m_splunkDestinationUpdate; } 322 323 /** 324 * <p>Describes an update for a destination in Splunk.</p> 325 */ SplunkDestinationUpdateHasBeenSet()326 inline bool SplunkDestinationUpdateHasBeenSet() const { return m_splunkDestinationUpdateHasBeenSet; } 327 328 /** 329 * <p>Describes an update for a destination in Splunk.</p> 330 */ SetSplunkDestinationUpdate(const SplunkDestinationUpdate & value)331 inline void SetSplunkDestinationUpdate(const SplunkDestinationUpdate& value) { m_splunkDestinationUpdateHasBeenSet = true; m_splunkDestinationUpdate = value; } 332 333 /** 334 * <p>Describes an update for a destination in Splunk.</p> 335 */ SetSplunkDestinationUpdate(SplunkDestinationUpdate && value)336 inline void SetSplunkDestinationUpdate(SplunkDestinationUpdate&& value) { m_splunkDestinationUpdateHasBeenSet = true; m_splunkDestinationUpdate = std::move(value); } 337 338 /** 339 * <p>Describes an update for a destination in Splunk.</p> 340 */ WithSplunkDestinationUpdate(const SplunkDestinationUpdate & value)341 inline UpdateDestinationRequest& WithSplunkDestinationUpdate(const SplunkDestinationUpdate& value) { SetSplunkDestinationUpdate(value); return *this;} 342 343 /** 344 * <p>Describes an update for a destination in Splunk.</p> 345 */ WithSplunkDestinationUpdate(SplunkDestinationUpdate && value)346 inline UpdateDestinationRequest& WithSplunkDestinationUpdate(SplunkDestinationUpdate&& value) { SetSplunkDestinationUpdate(std::move(value)); return *this;} 347 348 349 /** 350 * <p>Describes an update to the specified HTTP endpoint destination.</p> 351 */ GetHttpEndpointDestinationUpdate()352 inline const HttpEndpointDestinationUpdate& GetHttpEndpointDestinationUpdate() const{ return m_httpEndpointDestinationUpdate; } 353 354 /** 355 * <p>Describes an update to the specified HTTP endpoint destination.</p> 356 */ HttpEndpointDestinationUpdateHasBeenSet()357 inline bool HttpEndpointDestinationUpdateHasBeenSet() const { return m_httpEndpointDestinationUpdateHasBeenSet; } 358 359 /** 360 * <p>Describes an update to the specified HTTP endpoint destination.</p> 361 */ SetHttpEndpointDestinationUpdate(const HttpEndpointDestinationUpdate & value)362 inline void SetHttpEndpointDestinationUpdate(const HttpEndpointDestinationUpdate& value) { m_httpEndpointDestinationUpdateHasBeenSet = true; m_httpEndpointDestinationUpdate = value; } 363 364 /** 365 * <p>Describes an update to the specified HTTP endpoint destination.</p> 366 */ SetHttpEndpointDestinationUpdate(HttpEndpointDestinationUpdate && value)367 inline void SetHttpEndpointDestinationUpdate(HttpEndpointDestinationUpdate&& value) { m_httpEndpointDestinationUpdateHasBeenSet = true; m_httpEndpointDestinationUpdate = std::move(value); } 368 369 /** 370 * <p>Describes an update to the specified HTTP endpoint destination.</p> 371 */ WithHttpEndpointDestinationUpdate(const HttpEndpointDestinationUpdate & value)372 inline UpdateDestinationRequest& WithHttpEndpointDestinationUpdate(const HttpEndpointDestinationUpdate& value) { SetHttpEndpointDestinationUpdate(value); return *this;} 373 374 /** 375 * <p>Describes an update to the specified HTTP endpoint destination.</p> 376 */ WithHttpEndpointDestinationUpdate(HttpEndpointDestinationUpdate && value)377 inline UpdateDestinationRequest& WithHttpEndpointDestinationUpdate(HttpEndpointDestinationUpdate&& value) { SetHttpEndpointDestinationUpdate(std::move(value)); return *this;} 378 379 private: 380 381 Aws::String m_deliveryStreamName; 382 bool m_deliveryStreamNameHasBeenSet; 383 384 Aws::String m_currentDeliveryStreamVersionId; 385 bool m_currentDeliveryStreamVersionIdHasBeenSet; 386 387 Aws::String m_destinationId; 388 bool m_destinationIdHasBeenSet; 389 390 ExtendedS3DestinationUpdate m_extendedS3DestinationUpdate; 391 bool m_extendedS3DestinationUpdateHasBeenSet; 392 393 RedshiftDestinationUpdate m_redshiftDestinationUpdate; 394 bool m_redshiftDestinationUpdateHasBeenSet; 395 396 ElasticsearchDestinationUpdate m_elasticsearchDestinationUpdate; 397 bool m_elasticsearchDestinationUpdateHasBeenSet; 398 399 AmazonopensearchserviceDestinationUpdate m_amazonopensearchserviceDestinationUpdate; 400 bool m_amazonopensearchserviceDestinationUpdateHasBeenSet; 401 402 SplunkDestinationUpdate m_splunkDestinationUpdate; 403 bool m_splunkDestinationUpdateHasBeenSet; 404 405 HttpEndpointDestinationUpdate m_httpEndpointDestinationUpdate; 406 bool m_httpEndpointDestinationUpdateHasBeenSet; 407 }; 408 409 } // namespace Model 410 } // namespace Firehose 411 } // namespace Aws 412