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/DeliveryStreamType.h> 11 #include <aws/firehose/model/KinesisStreamSourceConfiguration.h> 12 #include <aws/firehose/model/DeliveryStreamEncryptionConfigurationInput.h> 13 #include <aws/firehose/model/ExtendedS3DestinationConfiguration.h> 14 #include <aws/firehose/model/RedshiftDestinationConfiguration.h> 15 #include <aws/firehose/model/ElasticsearchDestinationConfiguration.h> 16 #include <aws/firehose/model/AmazonopensearchserviceDestinationConfiguration.h> 17 #include <aws/firehose/model/SplunkDestinationConfiguration.h> 18 #include <aws/firehose/model/HttpEndpointDestinationConfiguration.h> 19 #include <aws/core/utils/memory/stl/AWSVector.h> 20 #include <aws/firehose/model/Tag.h> 21 #include <utility> 22 23 namespace Aws 24 { 25 namespace Firehose 26 { 27 namespace Model 28 { 29 30 /** 31 */ 32 class AWS_FIREHOSE_API CreateDeliveryStreamRequest : public FirehoseRequest 33 { 34 public: 35 CreateDeliveryStreamRequest(); 36 37 // Service request name is the Operation name which will send this request out, 38 // each operation should has unique request name, so that we can get operation's name from this request. 39 // Note: this is not true for response, multiple operations may have the same response name, 40 // so we can not get operation's name from response. GetServiceRequestName()41 inline virtual const char* GetServiceRequestName() const override { return "CreateDeliveryStream"; } 42 43 Aws::String SerializePayload() const override; 44 45 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 46 47 48 /** 49 * <p>The name of the delivery stream. This name must be unique per AWS account in 50 * the same AWS Region. If the delivery streams are in different accounts or 51 * different Regions, you can have multiple delivery streams with the same 52 * name.</p> 53 */ GetDeliveryStreamName()54 inline const Aws::String& GetDeliveryStreamName() const{ return m_deliveryStreamName; } 55 56 /** 57 * <p>The name of the delivery stream. This name must be unique per AWS account in 58 * the same AWS Region. If the delivery streams are in different accounts or 59 * different Regions, you can have multiple delivery streams with the same 60 * name.</p> 61 */ DeliveryStreamNameHasBeenSet()62 inline bool DeliveryStreamNameHasBeenSet() const { return m_deliveryStreamNameHasBeenSet; } 63 64 /** 65 * <p>The name of the delivery stream. This name must be unique per AWS account in 66 * the same AWS Region. If the delivery streams are in different accounts or 67 * different Regions, you can have multiple delivery streams with the same 68 * name.</p> 69 */ SetDeliveryStreamName(const Aws::String & value)70 inline void SetDeliveryStreamName(const Aws::String& value) { m_deliveryStreamNameHasBeenSet = true; m_deliveryStreamName = value; } 71 72 /** 73 * <p>The name of the delivery stream. This name must be unique per AWS account in 74 * the same AWS Region. If the delivery streams are in different accounts or 75 * different Regions, you can have multiple delivery streams with the same 76 * name.</p> 77 */ SetDeliveryStreamName(Aws::String && value)78 inline void SetDeliveryStreamName(Aws::String&& value) { m_deliveryStreamNameHasBeenSet = true; m_deliveryStreamName = std::move(value); } 79 80 /** 81 * <p>The name of the delivery stream. This name must be unique per AWS account in 82 * the same AWS Region. If the delivery streams are in different accounts or 83 * different Regions, you can have multiple delivery streams with the same 84 * name.</p> 85 */ SetDeliveryStreamName(const char * value)86 inline void SetDeliveryStreamName(const char* value) { m_deliveryStreamNameHasBeenSet = true; m_deliveryStreamName.assign(value); } 87 88 /** 89 * <p>The name of the delivery stream. This name must be unique per AWS account in 90 * the same AWS Region. If the delivery streams are in different accounts or 91 * different Regions, you can have multiple delivery streams with the same 92 * name.</p> 93 */ WithDeliveryStreamName(const Aws::String & value)94 inline CreateDeliveryStreamRequest& WithDeliveryStreamName(const Aws::String& value) { SetDeliveryStreamName(value); return *this;} 95 96 /** 97 * <p>The name of the delivery stream. This name must be unique per AWS account in 98 * the same AWS Region. If the delivery streams are in different accounts or 99 * different Regions, you can have multiple delivery streams with the same 100 * name.</p> 101 */ WithDeliveryStreamName(Aws::String && value)102 inline CreateDeliveryStreamRequest& WithDeliveryStreamName(Aws::String&& value) { SetDeliveryStreamName(std::move(value)); return *this;} 103 104 /** 105 * <p>The name of the delivery stream. This name must be unique per AWS account in 106 * the same AWS Region. If the delivery streams are in different accounts or 107 * different Regions, you can have multiple delivery streams with the same 108 * name.</p> 109 */ WithDeliveryStreamName(const char * value)110 inline CreateDeliveryStreamRequest& WithDeliveryStreamName(const char* value) { SetDeliveryStreamName(value); return *this;} 111 112 113 /** 114 * <p>The delivery stream type. This parameter can be one of the following 115 * values:</p> <ul> <li> <p> <code>DirectPut</code>: Provider applications access 116 * the delivery stream directly.</p> </li> <li> <p> 117 * <code>KinesisStreamAsSource</code>: The delivery stream uses a Kinesis data 118 * stream as a source.</p> </li> </ul> 119 */ GetDeliveryStreamType()120 inline const DeliveryStreamType& GetDeliveryStreamType() const{ return m_deliveryStreamType; } 121 122 /** 123 * <p>The delivery stream type. This parameter can be one of the following 124 * values:</p> <ul> <li> <p> <code>DirectPut</code>: Provider applications access 125 * the delivery stream directly.</p> </li> <li> <p> 126 * <code>KinesisStreamAsSource</code>: The delivery stream uses a Kinesis data 127 * stream as a source.</p> </li> </ul> 128 */ DeliveryStreamTypeHasBeenSet()129 inline bool DeliveryStreamTypeHasBeenSet() const { return m_deliveryStreamTypeHasBeenSet; } 130 131 /** 132 * <p>The delivery stream type. This parameter can be one of the following 133 * values:</p> <ul> <li> <p> <code>DirectPut</code>: Provider applications access 134 * the delivery stream directly.</p> </li> <li> <p> 135 * <code>KinesisStreamAsSource</code>: The delivery stream uses a Kinesis data 136 * stream as a source.</p> </li> </ul> 137 */ SetDeliveryStreamType(const DeliveryStreamType & value)138 inline void SetDeliveryStreamType(const DeliveryStreamType& value) { m_deliveryStreamTypeHasBeenSet = true; m_deliveryStreamType = value; } 139 140 /** 141 * <p>The delivery stream type. This parameter can be one of the following 142 * values:</p> <ul> <li> <p> <code>DirectPut</code>: Provider applications access 143 * the delivery stream directly.</p> </li> <li> <p> 144 * <code>KinesisStreamAsSource</code>: The delivery stream uses a Kinesis data 145 * stream as a source.</p> </li> </ul> 146 */ SetDeliveryStreamType(DeliveryStreamType && value)147 inline void SetDeliveryStreamType(DeliveryStreamType&& value) { m_deliveryStreamTypeHasBeenSet = true; m_deliveryStreamType = std::move(value); } 148 149 /** 150 * <p>The delivery stream type. This parameter can be one of the following 151 * values:</p> <ul> <li> <p> <code>DirectPut</code>: Provider applications access 152 * the delivery stream directly.</p> </li> <li> <p> 153 * <code>KinesisStreamAsSource</code>: The delivery stream uses a Kinesis data 154 * stream as a source.</p> </li> </ul> 155 */ WithDeliveryStreamType(const DeliveryStreamType & value)156 inline CreateDeliveryStreamRequest& WithDeliveryStreamType(const DeliveryStreamType& value) { SetDeliveryStreamType(value); return *this;} 157 158 /** 159 * <p>The delivery stream type. This parameter can be one of the following 160 * values:</p> <ul> <li> <p> <code>DirectPut</code>: Provider applications access 161 * the delivery stream directly.</p> </li> <li> <p> 162 * <code>KinesisStreamAsSource</code>: The delivery stream uses a Kinesis data 163 * stream as a source.</p> </li> </ul> 164 */ WithDeliveryStreamType(DeliveryStreamType && value)165 inline CreateDeliveryStreamRequest& WithDeliveryStreamType(DeliveryStreamType&& value) { SetDeliveryStreamType(std::move(value)); return *this;} 166 167 168 /** 169 * <p>When a Kinesis data stream is used as the source for the delivery stream, a 170 * <a>KinesisStreamSourceConfiguration</a> containing the Kinesis data stream 171 * Amazon Resource Name (ARN) and the role ARN for the source stream.</p> 172 */ GetKinesisStreamSourceConfiguration()173 inline const KinesisStreamSourceConfiguration& GetKinesisStreamSourceConfiguration() const{ return m_kinesisStreamSourceConfiguration; } 174 175 /** 176 * <p>When a Kinesis data stream is used as the source for the delivery stream, a 177 * <a>KinesisStreamSourceConfiguration</a> containing the Kinesis data stream 178 * Amazon Resource Name (ARN) and the role ARN for the source stream.</p> 179 */ KinesisStreamSourceConfigurationHasBeenSet()180 inline bool KinesisStreamSourceConfigurationHasBeenSet() const { return m_kinesisStreamSourceConfigurationHasBeenSet; } 181 182 /** 183 * <p>When a Kinesis data stream is used as the source for the delivery stream, a 184 * <a>KinesisStreamSourceConfiguration</a> containing the Kinesis data stream 185 * Amazon Resource Name (ARN) and the role ARN for the source stream.</p> 186 */ SetKinesisStreamSourceConfiguration(const KinesisStreamSourceConfiguration & value)187 inline void SetKinesisStreamSourceConfiguration(const KinesisStreamSourceConfiguration& value) { m_kinesisStreamSourceConfigurationHasBeenSet = true; m_kinesisStreamSourceConfiguration = value; } 188 189 /** 190 * <p>When a Kinesis data stream is used as the source for the delivery stream, a 191 * <a>KinesisStreamSourceConfiguration</a> containing the Kinesis data stream 192 * Amazon Resource Name (ARN) and the role ARN for the source stream.</p> 193 */ SetKinesisStreamSourceConfiguration(KinesisStreamSourceConfiguration && value)194 inline void SetKinesisStreamSourceConfiguration(KinesisStreamSourceConfiguration&& value) { m_kinesisStreamSourceConfigurationHasBeenSet = true; m_kinesisStreamSourceConfiguration = std::move(value); } 195 196 /** 197 * <p>When a Kinesis data stream is used as the source for the delivery stream, a 198 * <a>KinesisStreamSourceConfiguration</a> containing the Kinesis data stream 199 * Amazon Resource Name (ARN) and the role ARN for the source stream.</p> 200 */ WithKinesisStreamSourceConfiguration(const KinesisStreamSourceConfiguration & value)201 inline CreateDeliveryStreamRequest& WithKinesisStreamSourceConfiguration(const KinesisStreamSourceConfiguration& value) { SetKinesisStreamSourceConfiguration(value); return *this;} 202 203 /** 204 * <p>When a Kinesis data stream is used as the source for the delivery stream, a 205 * <a>KinesisStreamSourceConfiguration</a> containing the Kinesis data stream 206 * Amazon Resource Name (ARN) and the role ARN for the source stream.</p> 207 */ WithKinesisStreamSourceConfiguration(KinesisStreamSourceConfiguration && value)208 inline CreateDeliveryStreamRequest& WithKinesisStreamSourceConfiguration(KinesisStreamSourceConfiguration&& value) { SetKinesisStreamSourceConfiguration(std::move(value)); return *this;} 209 210 211 /** 212 * <p>Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed 213 * for Server-Side Encryption (SSE).</p> 214 */ GetDeliveryStreamEncryptionConfigurationInput()215 inline const DeliveryStreamEncryptionConfigurationInput& GetDeliveryStreamEncryptionConfigurationInput() const{ return m_deliveryStreamEncryptionConfigurationInput; } 216 217 /** 218 * <p>Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed 219 * for Server-Side Encryption (SSE).</p> 220 */ DeliveryStreamEncryptionConfigurationInputHasBeenSet()221 inline bool DeliveryStreamEncryptionConfigurationInputHasBeenSet() const { return m_deliveryStreamEncryptionConfigurationInputHasBeenSet; } 222 223 /** 224 * <p>Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed 225 * for Server-Side Encryption (SSE).</p> 226 */ SetDeliveryStreamEncryptionConfigurationInput(const DeliveryStreamEncryptionConfigurationInput & value)227 inline void SetDeliveryStreamEncryptionConfigurationInput(const DeliveryStreamEncryptionConfigurationInput& value) { m_deliveryStreamEncryptionConfigurationInputHasBeenSet = true; m_deliveryStreamEncryptionConfigurationInput = value; } 228 229 /** 230 * <p>Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed 231 * for Server-Side Encryption (SSE).</p> 232 */ SetDeliveryStreamEncryptionConfigurationInput(DeliveryStreamEncryptionConfigurationInput && value)233 inline void SetDeliveryStreamEncryptionConfigurationInput(DeliveryStreamEncryptionConfigurationInput&& value) { m_deliveryStreamEncryptionConfigurationInputHasBeenSet = true; m_deliveryStreamEncryptionConfigurationInput = std::move(value); } 234 235 /** 236 * <p>Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed 237 * for Server-Side Encryption (SSE).</p> 238 */ WithDeliveryStreamEncryptionConfigurationInput(const DeliveryStreamEncryptionConfigurationInput & value)239 inline CreateDeliveryStreamRequest& WithDeliveryStreamEncryptionConfigurationInput(const DeliveryStreamEncryptionConfigurationInput& value) { SetDeliveryStreamEncryptionConfigurationInput(value); return *this;} 240 241 /** 242 * <p>Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed 243 * for Server-Side Encryption (SSE).</p> 244 */ WithDeliveryStreamEncryptionConfigurationInput(DeliveryStreamEncryptionConfigurationInput && value)245 inline CreateDeliveryStreamRequest& WithDeliveryStreamEncryptionConfigurationInput(DeliveryStreamEncryptionConfigurationInput&& value) { SetDeliveryStreamEncryptionConfigurationInput(std::move(value)); return *this;} 246 247 248 /** 249 * <p>The destination in Amazon S3. You can specify only one destination.</p> 250 */ GetExtendedS3DestinationConfiguration()251 inline const ExtendedS3DestinationConfiguration& GetExtendedS3DestinationConfiguration() const{ return m_extendedS3DestinationConfiguration; } 252 253 /** 254 * <p>The destination in Amazon S3. You can specify only one destination.</p> 255 */ ExtendedS3DestinationConfigurationHasBeenSet()256 inline bool ExtendedS3DestinationConfigurationHasBeenSet() const { return m_extendedS3DestinationConfigurationHasBeenSet; } 257 258 /** 259 * <p>The destination in Amazon S3. You can specify only one destination.</p> 260 */ SetExtendedS3DestinationConfiguration(const ExtendedS3DestinationConfiguration & value)261 inline void SetExtendedS3DestinationConfiguration(const ExtendedS3DestinationConfiguration& value) { m_extendedS3DestinationConfigurationHasBeenSet = true; m_extendedS3DestinationConfiguration = value; } 262 263 /** 264 * <p>The destination in Amazon S3. You can specify only one destination.</p> 265 */ SetExtendedS3DestinationConfiguration(ExtendedS3DestinationConfiguration && value)266 inline void SetExtendedS3DestinationConfiguration(ExtendedS3DestinationConfiguration&& value) { m_extendedS3DestinationConfigurationHasBeenSet = true; m_extendedS3DestinationConfiguration = std::move(value); } 267 268 /** 269 * <p>The destination in Amazon S3. You can specify only one destination.</p> 270 */ WithExtendedS3DestinationConfiguration(const ExtendedS3DestinationConfiguration & value)271 inline CreateDeliveryStreamRequest& WithExtendedS3DestinationConfiguration(const ExtendedS3DestinationConfiguration& value) { SetExtendedS3DestinationConfiguration(value); return *this;} 272 273 /** 274 * <p>The destination in Amazon S3. You can specify only one destination.</p> 275 */ WithExtendedS3DestinationConfiguration(ExtendedS3DestinationConfiguration && value)276 inline CreateDeliveryStreamRequest& WithExtendedS3DestinationConfiguration(ExtendedS3DestinationConfiguration&& value) { SetExtendedS3DestinationConfiguration(std::move(value)); return *this;} 277 278 279 /** 280 * <p>The destination in Amazon Redshift. You can specify only one destination.</p> 281 */ GetRedshiftDestinationConfiguration()282 inline const RedshiftDestinationConfiguration& GetRedshiftDestinationConfiguration() const{ return m_redshiftDestinationConfiguration; } 283 284 /** 285 * <p>The destination in Amazon Redshift. You can specify only one destination.</p> 286 */ RedshiftDestinationConfigurationHasBeenSet()287 inline bool RedshiftDestinationConfigurationHasBeenSet() const { return m_redshiftDestinationConfigurationHasBeenSet; } 288 289 /** 290 * <p>The destination in Amazon Redshift. You can specify only one destination.</p> 291 */ SetRedshiftDestinationConfiguration(const RedshiftDestinationConfiguration & value)292 inline void SetRedshiftDestinationConfiguration(const RedshiftDestinationConfiguration& value) { m_redshiftDestinationConfigurationHasBeenSet = true; m_redshiftDestinationConfiguration = value; } 293 294 /** 295 * <p>The destination in Amazon Redshift. You can specify only one destination.</p> 296 */ SetRedshiftDestinationConfiguration(RedshiftDestinationConfiguration && value)297 inline void SetRedshiftDestinationConfiguration(RedshiftDestinationConfiguration&& value) { m_redshiftDestinationConfigurationHasBeenSet = true; m_redshiftDestinationConfiguration = std::move(value); } 298 299 /** 300 * <p>The destination in Amazon Redshift. You can specify only one destination.</p> 301 */ WithRedshiftDestinationConfiguration(const RedshiftDestinationConfiguration & value)302 inline CreateDeliveryStreamRequest& WithRedshiftDestinationConfiguration(const RedshiftDestinationConfiguration& value) { SetRedshiftDestinationConfiguration(value); return *this;} 303 304 /** 305 * <p>The destination in Amazon Redshift. You can specify only one destination.</p> 306 */ WithRedshiftDestinationConfiguration(RedshiftDestinationConfiguration && value)307 inline CreateDeliveryStreamRequest& WithRedshiftDestinationConfiguration(RedshiftDestinationConfiguration&& value) { SetRedshiftDestinationConfiguration(std::move(value)); return *this;} 308 309 310 /** 311 * <p>The destination in Amazon ES. You can specify only one destination.</p> 312 */ GetElasticsearchDestinationConfiguration()313 inline const ElasticsearchDestinationConfiguration& GetElasticsearchDestinationConfiguration() const{ return m_elasticsearchDestinationConfiguration; } 314 315 /** 316 * <p>The destination in Amazon ES. You can specify only one destination.</p> 317 */ ElasticsearchDestinationConfigurationHasBeenSet()318 inline bool ElasticsearchDestinationConfigurationHasBeenSet() const { return m_elasticsearchDestinationConfigurationHasBeenSet; } 319 320 /** 321 * <p>The destination in Amazon ES. You can specify only one destination.</p> 322 */ SetElasticsearchDestinationConfiguration(const ElasticsearchDestinationConfiguration & value)323 inline void SetElasticsearchDestinationConfiguration(const ElasticsearchDestinationConfiguration& value) { m_elasticsearchDestinationConfigurationHasBeenSet = true; m_elasticsearchDestinationConfiguration = value; } 324 325 /** 326 * <p>The destination in Amazon ES. You can specify only one destination.</p> 327 */ SetElasticsearchDestinationConfiguration(ElasticsearchDestinationConfiguration && value)328 inline void SetElasticsearchDestinationConfiguration(ElasticsearchDestinationConfiguration&& value) { m_elasticsearchDestinationConfigurationHasBeenSet = true; m_elasticsearchDestinationConfiguration = std::move(value); } 329 330 /** 331 * <p>The destination in Amazon ES. You can specify only one destination.</p> 332 */ WithElasticsearchDestinationConfiguration(const ElasticsearchDestinationConfiguration & value)333 inline CreateDeliveryStreamRequest& WithElasticsearchDestinationConfiguration(const ElasticsearchDestinationConfiguration& value) { SetElasticsearchDestinationConfiguration(value); return *this;} 334 335 /** 336 * <p>The destination in Amazon ES. You can specify only one destination.</p> 337 */ WithElasticsearchDestinationConfiguration(ElasticsearchDestinationConfiguration && value)338 inline CreateDeliveryStreamRequest& WithElasticsearchDestinationConfiguration(ElasticsearchDestinationConfiguration&& value) { SetElasticsearchDestinationConfiguration(std::move(value)); return *this;} 339 340 341 GetAmazonopensearchserviceDestinationConfiguration()342 inline const AmazonopensearchserviceDestinationConfiguration& GetAmazonopensearchserviceDestinationConfiguration() const{ return m_amazonopensearchserviceDestinationConfiguration; } 343 344 AmazonopensearchserviceDestinationConfigurationHasBeenSet()345 inline bool AmazonopensearchserviceDestinationConfigurationHasBeenSet() const { return m_amazonopensearchserviceDestinationConfigurationHasBeenSet; } 346 347 SetAmazonopensearchserviceDestinationConfiguration(const AmazonopensearchserviceDestinationConfiguration & value)348 inline void SetAmazonopensearchserviceDestinationConfiguration(const AmazonopensearchserviceDestinationConfiguration& value) { m_amazonopensearchserviceDestinationConfigurationHasBeenSet = true; m_amazonopensearchserviceDestinationConfiguration = value; } 349 350 SetAmazonopensearchserviceDestinationConfiguration(AmazonopensearchserviceDestinationConfiguration && value)351 inline void SetAmazonopensearchserviceDestinationConfiguration(AmazonopensearchserviceDestinationConfiguration&& value) { m_amazonopensearchserviceDestinationConfigurationHasBeenSet = true; m_amazonopensearchserviceDestinationConfiguration = std::move(value); } 352 353 WithAmazonopensearchserviceDestinationConfiguration(const AmazonopensearchserviceDestinationConfiguration & value)354 inline CreateDeliveryStreamRequest& WithAmazonopensearchserviceDestinationConfiguration(const AmazonopensearchserviceDestinationConfiguration& value) { SetAmazonopensearchserviceDestinationConfiguration(value); return *this;} 355 356 WithAmazonopensearchserviceDestinationConfiguration(AmazonopensearchserviceDestinationConfiguration && value)357 inline CreateDeliveryStreamRequest& WithAmazonopensearchserviceDestinationConfiguration(AmazonopensearchserviceDestinationConfiguration&& value) { SetAmazonopensearchserviceDestinationConfiguration(std::move(value)); return *this;} 358 359 360 /** 361 * <p>The destination in Splunk. You can specify only one destination.</p> 362 */ GetSplunkDestinationConfiguration()363 inline const SplunkDestinationConfiguration& GetSplunkDestinationConfiguration() const{ return m_splunkDestinationConfiguration; } 364 365 /** 366 * <p>The destination in Splunk. You can specify only one destination.</p> 367 */ SplunkDestinationConfigurationHasBeenSet()368 inline bool SplunkDestinationConfigurationHasBeenSet() const { return m_splunkDestinationConfigurationHasBeenSet; } 369 370 /** 371 * <p>The destination in Splunk. You can specify only one destination.</p> 372 */ SetSplunkDestinationConfiguration(const SplunkDestinationConfiguration & value)373 inline void SetSplunkDestinationConfiguration(const SplunkDestinationConfiguration& value) { m_splunkDestinationConfigurationHasBeenSet = true; m_splunkDestinationConfiguration = value; } 374 375 /** 376 * <p>The destination in Splunk. You can specify only one destination.</p> 377 */ SetSplunkDestinationConfiguration(SplunkDestinationConfiguration && value)378 inline void SetSplunkDestinationConfiguration(SplunkDestinationConfiguration&& value) { m_splunkDestinationConfigurationHasBeenSet = true; m_splunkDestinationConfiguration = std::move(value); } 379 380 /** 381 * <p>The destination in Splunk. You can specify only one destination.</p> 382 */ WithSplunkDestinationConfiguration(const SplunkDestinationConfiguration & value)383 inline CreateDeliveryStreamRequest& WithSplunkDestinationConfiguration(const SplunkDestinationConfiguration& value) { SetSplunkDestinationConfiguration(value); return *this;} 384 385 /** 386 * <p>The destination in Splunk. You can specify only one destination.</p> 387 */ WithSplunkDestinationConfiguration(SplunkDestinationConfiguration && value)388 inline CreateDeliveryStreamRequest& WithSplunkDestinationConfiguration(SplunkDestinationConfiguration&& value) { SetSplunkDestinationConfiguration(std::move(value)); return *this;} 389 390 391 /** 392 * <p>Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint 393 * destination. You can specify only one destination.</p> 394 */ GetHttpEndpointDestinationConfiguration()395 inline const HttpEndpointDestinationConfiguration& GetHttpEndpointDestinationConfiguration() const{ return m_httpEndpointDestinationConfiguration; } 396 397 /** 398 * <p>Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint 399 * destination. You can specify only one destination.</p> 400 */ HttpEndpointDestinationConfigurationHasBeenSet()401 inline bool HttpEndpointDestinationConfigurationHasBeenSet() const { return m_httpEndpointDestinationConfigurationHasBeenSet; } 402 403 /** 404 * <p>Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint 405 * destination. You can specify only one destination.</p> 406 */ SetHttpEndpointDestinationConfiguration(const HttpEndpointDestinationConfiguration & value)407 inline void SetHttpEndpointDestinationConfiguration(const HttpEndpointDestinationConfiguration& value) { m_httpEndpointDestinationConfigurationHasBeenSet = true; m_httpEndpointDestinationConfiguration = value; } 408 409 /** 410 * <p>Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint 411 * destination. You can specify only one destination.</p> 412 */ SetHttpEndpointDestinationConfiguration(HttpEndpointDestinationConfiguration && value)413 inline void SetHttpEndpointDestinationConfiguration(HttpEndpointDestinationConfiguration&& value) { m_httpEndpointDestinationConfigurationHasBeenSet = true; m_httpEndpointDestinationConfiguration = std::move(value); } 414 415 /** 416 * <p>Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint 417 * destination. You can specify only one destination.</p> 418 */ WithHttpEndpointDestinationConfiguration(const HttpEndpointDestinationConfiguration & value)419 inline CreateDeliveryStreamRequest& WithHttpEndpointDestinationConfiguration(const HttpEndpointDestinationConfiguration& value) { SetHttpEndpointDestinationConfiguration(value); return *this;} 420 421 /** 422 * <p>Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint 423 * destination. You can specify only one destination.</p> 424 */ WithHttpEndpointDestinationConfiguration(HttpEndpointDestinationConfiguration && value)425 inline CreateDeliveryStreamRequest& WithHttpEndpointDestinationConfiguration(HttpEndpointDestinationConfiguration&& value) { SetHttpEndpointDestinationConfiguration(std::move(value)); return *this;} 426 427 428 /** 429 * <p>A set of tags to assign to the delivery stream. A tag is a key-value pair 430 * that you can define and assign to AWS resources. Tags are metadata. For example, 431 * you can add friendly names and descriptions or other types of information that 432 * can help you distinguish the delivery stream. For more information about tags, 433 * see <a 434 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using 435 * Cost Allocation Tags</a> in the AWS Billing and Cost Management User Guide.</p> 436 * <p>You can specify up to 50 tags when creating a delivery stream.</p> 437 */ GetTags()438 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } 439 440 /** 441 * <p>A set of tags to assign to the delivery stream. A tag is a key-value pair 442 * that you can define and assign to AWS resources. Tags are metadata. For example, 443 * you can add friendly names and descriptions or other types of information that 444 * can help you distinguish the delivery stream. For more information about tags, 445 * see <a 446 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using 447 * Cost Allocation Tags</a> in the AWS Billing and Cost Management User Guide.</p> 448 * <p>You can specify up to 50 tags when creating a delivery stream.</p> 449 */ TagsHasBeenSet()450 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 451 452 /** 453 * <p>A set of tags to assign to the delivery stream. A tag is a key-value pair 454 * that you can define and assign to AWS resources. Tags are metadata. For example, 455 * you can add friendly names and descriptions or other types of information that 456 * can help you distinguish the delivery stream. For more information about tags, 457 * see <a 458 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using 459 * Cost Allocation Tags</a> in the AWS Billing and Cost Management User Guide.</p> 460 * <p>You can specify up to 50 tags when creating a delivery stream.</p> 461 */ SetTags(const Aws::Vector<Tag> & value)462 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; } 463 464 /** 465 * <p>A set of tags to assign to the delivery stream. A tag is a key-value pair 466 * that you can define and assign to AWS resources. Tags are metadata. For example, 467 * you can add friendly names and descriptions or other types of information that 468 * can help you distinguish the delivery stream. For more information about tags, 469 * see <a 470 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using 471 * Cost Allocation Tags</a> in the AWS Billing and Cost Management User Guide.</p> 472 * <p>You can specify up to 50 tags when creating a delivery stream.</p> 473 */ SetTags(Aws::Vector<Tag> && value)474 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 475 476 /** 477 * <p>A set of tags to assign to the delivery stream. A tag is a key-value pair 478 * that you can define and assign to AWS resources. Tags are metadata. For example, 479 * you can add friendly names and descriptions or other types of information that 480 * can help you distinguish the delivery stream. For more information about tags, 481 * see <a 482 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using 483 * Cost Allocation Tags</a> in the AWS Billing and Cost Management User Guide.</p> 484 * <p>You can specify up to 50 tags when creating a delivery stream.</p> 485 */ WithTags(const Aws::Vector<Tag> & value)486 inline CreateDeliveryStreamRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} 487 488 /** 489 * <p>A set of tags to assign to the delivery stream. A tag is a key-value pair 490 * that you can define and assign to AWS resources. Tags are metadata. For example, 491 * you can add friendly names and descriptions or other types of information that 492 * can help you distinguish the delivery stream. For more information about tags, 493 * see <a 494 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using 495 * Cost Allocation Tags</a> in the AWS Billing and Cost Management User Guide.</p> 496 * <p>You can specify up to 50 tags when creating a delivery stream.</p> 497 */ WithTags(Aws::Vector<Tag> && value)498 inline CreateDeliveryStreamRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} 499 500 /** 501 * <p>A set of tags to assign to the delivery stream. A tag is a key-value pair 502 * that you can define and assign to AWS resources. Tags are metadata. For example, 503 * you can add friendly names and descriptions or other types of information that 504 * can help you distinguish the delivery stream. For more information about tags, 505 * see <a 506 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using 507 * Cost Allocation Tags</a> in the AWS Billing and Cost Management User Guide.</p> 508 * <p>You can specify up to 50 tags when creating a delivery stream.</p> 509 */ AddTags(const Tag & value)510 inline CreateDeliveryStreamRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } 511 512 /** 513 * <p>A set of tags to assign to the delivery stream. A tag is a key-value pair 514 * that you can define and assign to AWS resources. Tags are metadata. For example, 515 * you can add friendly names and descriptions or other types of information that 516 * can help you distinguish the delivery stream. For more information about tags, 517 * see <a 518 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using 519 * Cost Allocation Tags</a> in the AWS Billing and Cost Management User Guide.</p> 520 * <p>You can specify up to 50 tags when creating a delivery stream.</p> 521 */ AddTags(Tag && value)522 inline CreateDeliveryStreamRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } 523 524 private: 525 526 Aws::String m_deliveryStreamName; 527 bool m_deliveryStreamNameHasBeenSet; 528 529 DeliveryStreamType m_deliveryStreamType; 530 bool m_deliveryStreamTypeHasBeenSet; 531 532 KinesisStreamSourceConfiguration m_kinesisStreamSourceConfiguration; 533 bool m_kinesisStreamSourceConfigurationHasBeenSet; 534 535 DeliveryStreamEncryptionConfigurationInput m_deliveryStreamEncryptionConfigurationInput; 536 bool m_deliveryStreamEncryptionConfigurationInputHasBeenSet; 537 538 ExtendedS3DestinationConfiguration m_extendedS3DestinationConfiguration; 539 bool m_extendedS3DestinationConfigurationHasBeenSet; 540 541 RedshiftDestinationConfiguration m_redshiftDestinationConfiguration; 542 bool m_redshiftDestinationConfigurationHasBeenSet; 543 544 ElasticsearchDestinationConfiguration m_elasticsearchDestinationConfiguration; 545 bool m_elasticsearchDestinationConfigurationHasBeenSet; 546 547 AmazonopensearchserviceDestinationConfiguration m_amazonopensearchserviceDestinationConfiguration; 548 bool m_amazonopensearchserviceDestinationConfigurationHasBeenSet; 549 550 SplunkDestinationConfiguration m_splunkDestinationConfiguration; 551 bool m_splunkDestinationConfigurationHasBeenSet; 552 553 HttpEndpointDestinationConfiguration m_httpEndpointDestinationConfiguration; 554 bool m_httpEndpointDestinationConfigurationHasBeenSet; 555 556 Aws::Vector<Tag> m_tags; 557 bool m_tagsHasBeenSet; 558 }; 559 560 } // namespace Model 561 } // namespace Firehose 562 } // namespace Aws 563