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/core/utils/memory/stl/AWSString.h> 9 #include <aws/firehose/model/BufferingHints.h> 10 #include <aws/firehose/model/CompressionFormat.h> 11 #include <aws/firehose/model/EncryptionConfiguration.h> 12 #include <aws/firehose/model/CloudWatchLoggingOptions.h> 13 #include <aws/firehose/model/ProcessingConfiguration.h> 14 #include <aws/firehose/model/S3BackupMode.h> 15 #include <aws/firehose/model/S3DestinationConfiguration.h> 16 #include <aws/firehose/model/DataFormatConversionConfiguration.h> 17 #include <aws/firehose/model/DynamicPartitioningConfiguration.h> 18 #include <utility> 19 20 namespace Aws 21 { 22 namespace Utils 23 { 24 namespace Json 25 { 26 class JsonValue; 27 class JsonView; 28 } // namespace Json 29 } // namespace Utils 30 namespace Firehose 31 { 32 namespace Model 33 { 34 35 /** 36 * <p>Describes the configuration of a destination in Amazon S3.</p><p><h3>See 37 * Also:</h3> <a 38 * href="http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/ExtendedS3DestinationConfiguration">AWS 39 * API Reference</a></p> 40 */ 41 class AWS_FIREHOSE_API ExtendedS3DestinationConfiguration 42 { 43 public: 44 ExtendedS3DestinationConfiguration(); 45 ExtendedS3DestinationConfiguration(Aws::Utils::Json::JsonView jsonValue); 46 ExtendedS3DestinationConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); 47 Aws::Utils::Json::JsonValue Jsonize() const; 48 49 50 /** 51 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 52 * see <a 53 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 54 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 55 */ GetRoleARN()56 inline const Aws::String& GetRoleARN() const{ return m_roleARN; } 57 58 /** 59 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 60 * see <a 61 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 62 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 63 */ RoleARNHasBeenSet()64 inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; } 65 66 /** 67 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 68 * see <a 69 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 70 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 71 */ SetRoleARN(const Aws::String & value)72 inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; } 73 74 /** 75 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 76 * see <a 77 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 78 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 79 */ SetRoleARN(Aws::String && value)80 inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); } 81 82 /** 83 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 84 * see <a 85 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 86 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 87 */ SetRoleARN(const char * value)88 inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); } 89 90 /** 91 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 92 * see <a 93 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 94 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 95 */ WithRoleARN(const Aws::String & value)96 inline ExtendedS3DestinationConfiguration& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;} 97 98 /** 99 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 100 * see <a 101 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 102 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 103 */ WithRoleARN(Aws::String && value)104 inline ExtendedS3DestinationConfiguration& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;} 105 106 /** 107 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 108 * see <a 109 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 110 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 111 */ WithRoleARN(const char * value)112 inline ExtendedS3DestinationConfiguration& WithRoleARN(const char* value) { SetRoleARN(value); return *this;} 113 114 115 /** 116 * <p>The ARN of the S3 bucket. For more information, see <a 117 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 118 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 119 */ GetBucketARN()120 inline const Aws::String& GetBucketARN() const{ return m_bucketARN; } 121 122 /** 123 * <p>The ARN of the S3 bucket. For more information, see <a 124 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 125 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 126 */ BucketARNHasBeenSet()127 inline bool BucketARNHasBeenSet() const { return m_bucketARNHasBeenSet; } 128 129 /** 130 * <p>The ARN of the S3 bucket. For more information, see <a 131 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 132 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 133 */ SetBucketARN(const Aws::String & value)134 inline void SetBucketARN(const Aws::String& value) { m_bucketARNHasBeenSet = true; m_bucketARN = value; } 135 136 /** 137 * <p>The ARN of the S3 bucket. For more information, see <a 138 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 139 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 140 */ SetBucketARN(Aws::String && value)141 inline void SetBucketARN(Aws::String&& value) { m_bucketARNHasBeenSet = true; m_bucketARN = std::move(value); } 142 143 /** 144 * <p>The ARN of the S3 bucket. For more information, see <a 145 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 146 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 147 */ SetBucketARN(const char * value)148 inline void SetBucketARN(const char* value) { m_bucketARNHasBeenSet = true; m_bucketARN.assign(value); } 149 150 /** 151 * <p>The ARN of the S3 bucket. For more information, see <a 152 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 153 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 154 */ WithBucketARN(const Aws::String & value)155 inline ExtendedS3DestinationConfiguration& WithBucketARN(const Aws::String& value) { SetBucketARN(value); return *this;} 156 157 /** 158 * <p>The ARN of the S3 bucket. For more information, see <a 159 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 160 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 161 */ WithBucketARN(Aws::String && value)162 inline ExtendedS3DestinationConfiguration& WithBucketARN(Aws::String&& value) { SetBucketARN(std::move(value)); return *this;} 163 164 /** 165 * <p>The ARN of the S3 bucket. For more information, see <a 166 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 167 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 168 */ WithBucketARN(const char * value)169 inline ExtendedS3DestinationConfiguration& WithBucketARN(const char* value) { SetBucketARN(value); return *this;} 170 171 172 /** 173 * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 174 * Amazon S3 files. You can also specify a custom prefix, as described in <a 175 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 176 * Prefixes for Amazon S3 Objects</a>.</p> 177 */ GetPrefix()178 inline const Aws::String& GetPrefix() const{ return m_prefix; } 179 180 /** 181 * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 182 * Amazon S3 files. You can also specify a custom prefix, as described in <a 183 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 184 * Prefixes for Amazon S3 Objects</a>.</p> 185 */ PrefixHasBeenSet()186 inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } 187 188 /** 189 * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 190 * Amazon S3 files. You can also specify a custom prefix, as described in <a 191 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 192 * Prefixes for Amazon S3 Objects</a>.</p> 193 */ SetPrefix(const Aws::String & value)194 inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } 195 196 /** 197 * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 198 * Amazon S3 files. You can also specify a custom prefix, as described in <a 199 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 200 * Prefixes for Amazon S3 Objects</a>.</p> 201 */ SetPrefix(Aws::String && value)202 inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } 203 204 /** 205 * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 206 * Amazon S3 files. You can also specify a custom prefix, as described in <a 207 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 208 * Prefixes for Amazon S3 Objects</a>.</p> 209 */ SetPrefix(const char * value)210 inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } 211 212 /** 213 * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 214 * Amazon S3 files. You can also specify a custom prefix, as described in <a 215 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 216 * Prefixes for Amazon S3 Objects</a>.</p> 217 */ WithPrefix(const Aws::String & value)218 inline ExtendedS3DestinationConfiguration& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} 219 220 /** 221 * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 222 * Amazon S3 files. You can also specify a custom prefix, as described in <a 223 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 224 * Prefixes for Amazon S3 Objects</a>.</p> 225 */ WithPrefix(Aws::String && value)226 inline ExtendedS3DestinationConfiguration& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} 227 228 /** 229 * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 230 * Amazon S3 files. You can also specify a custom prefix, as described in <a 231 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 232 * Prefixes for Amazon S3 Objects</a>.</p> 233 */ WithPrefix(const char * value)234 inline ExtendedS3DestinationConfiguration& WithPrefix(const char* value) { SetPrefix(value); return *this;} 235 236 237 /** 238 * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records 239 * before writing them to S3. This prefix appears immediately following the bucket 240 * name. For information about how to specify this prefix, see <a 241 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 242 * Prefixes for Amazon S3 Objects</a>.</p> 243 */ GetErrorOutputPrefix()244 inline const Aws::String& GetErrorOutputPrefix() const{ return m_errorOutputPrefix; } 245 246 /** 247 * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records 248 * before writing them to S3. This prefix appears immediately following the bucket 249 * name. For information about how to specify this prefix, see <a 250 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 251 * Prefixes for Amazon S3 Objects</a>.</p> 252 */ ErrorOutputPrefixHasBeenSet()253 inline bool ErrorOutputPrefixHasBeenSet() const { return m_errorOutputPrefixHasBeenSet; } 254 255 /** 256 * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records 257 * before writing them to S3. This prefix appears immediately following the bucket 258 * name. For information about how to specify this prefix, see <a 259 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 260 * Prefixes for Amazon S3 Objects</a>.</p> 261 */ SetErrorOutputPrefix(const Aws::String & value)262 inline void SetErrorOutputPrefix(const Aws::String& value) { m_errorOutputPrefixHasBeenSet = true; m_errorOutputPrefix = value; } 263 264 /** 265 * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records 266 * before writing them to S3. This prefix appears immediately following the bucket 267 * name. For information about how to specify this prefix, see <a 268 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 269 * Prefixes for Amazon S3 Objects</a>.</p> 270 */ SetErrorOutputPrefix(Aws::String && value)271 inline void SetErrorOutputPrefix(Aws::String&& value) { m_errorOutputPrefixHasBeenSet = true; m_errorOutputPrefix = std::move(value); } 272 273 /** 274 * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records 275 * before writing them to S3. This prefix appears immediately following the bucket 276 * name. For information about how to specify this prefix, see <a 277 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 278 * Prefixes for Amazon S3 Objects</a>.</p> 279 */ SetErrorOutputPrefix(const char * value)280 inline void SetErrorOutputPrefix(const char* value) { m_errorOutputPrefixHasBeenSet = true; m_errorOutputPrefix.assign(value); } 281 282 /** 283 * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records 284 * before writing them to S3. This prefix appears immediately following the bucket 285 * name. For information about how to specify this prefix, see <a 286 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 287 * Prefixes for Amazon S3 Objects</a>.</p> 288 */ WithErrorOutputPrefix(const Aws::String & value)289 inline ExtendedS3DestinationConfiguration& WithErrorOutputPrefix(const Aws::String& value) { SetErrorOutputPrefix(value); return *this;} 290 291 /** 292 * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records 293 * before writing them to S3. This prefix appears immediately following the bucket 294 * name. For information about how to specify this prefix, see <a 295 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 296 * Prefixes for Amazon S3 Objects</a>.</p> 297 */ WithErrorOutputPrefix(Aws::String && value)298 inline ExtendedS3DestinationConfiguration& WithErrorOutputPrefix(Aws::String&& value) { SetErrorOutputPrefix(std::move(value)); return *this;} 299 300 /** 301 * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records 302 * before writing them to S3. This prefix appears immediately following the bucket 303 * name. For information about how to specify this prefix, see <a 304 * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom 305 * Prefixes for Amazon S3 Objects</a>.</p> 306 */ WithErrorOutputPrefix(const char * value)307 inline ExtendedS3DestinationConfiguration& WithErrorOutputPrefix(const char* value) { SetErrorOutputPrefix(value); return *this;} 308 309 310 /** 311 * <p>The buffering option.</p> 312 */ GetBufferingHints()313 inline const BufferingHints& GetBufferingHints() const{ return m_bufferingHints; } 314 315 /** 316 * <p>The buffering option.</p> 317 */ BufferingHintsHasBeenSet()318 inline bool BufferingHintsHasBeenSet() const { return m_bufferingHintsHasBeenSet; } 319 320 /** 321 * <p>The buffering option.</p> 322 */ SetBufferingHints(const BufferingHints & value)323 inline void SetBufferingHints(const BufferingHints& value) { m_bufferingHintsHasBeenSet = true; m_bufferingHints = value; } 324 325 /** 326 * <p>The buffering option.</p> 327 */ SetBufferingHints(BufferingHints && value)328 inline void SetBufferingHints(BufferingHints&& value) { m_bufferingHintsHasBeenSet = true; m_bufferingHints = std::move(value); } 329 330 /** 331 * <p>The buffering option.</p> 332 */ WithBufferingHints(const BufferingHints & value)333 inline ExtendedS3DestinationConfiguration& WithBufferingHints(const BufferingHints& value) { SetBufferingHints(value); return *this;} 334 335 /** 336 * <p>The buffering option.</p> 337 */ WithBufferingHints(BufferingHints && value)338 inline ExtendedS3DestinationConfiguration& WithBufferingHints(BufferingHints&& value) { SetBufferingHints(std::move(value)); return *this;} 339 340 341 /** 342 * <p>The compression format. If no value is specified, the default is 343 * UNCOMPRESSED.</p> 344 */ GetCompressionFormat()345 inline const CompressionFormat& GetCompressionFormat() const{ return m_compressionFormat; } 346 347 /** 348 * <p>The compression format. If no value is specified, the default is 349 * UNCOMPRESSED.</p> 350 */ CompressionFormatHasBeenSet()351 inline bool CompressionFormatHasBeenSet() const { return m_compressionFormatHasBeenSet; } 352 353 /** 354 * <p>The compression format. If no value is specified, the default is 355 * UNCOMPRESSED.</p> 356 */ SetCompressionFormat(const CompressionFormat & value)357 inline void SetCompressionFormat(const CompressionFormat& value) { m_compressionFormatHasBeenSet = true; m_compressionFormat = value; } 358 359 /** 360 * <p>The compression format. If no value is specified, the default is 361 * UNCOMPRESSED.</p> 362 */ SetCompressionFormat(CompressionFormat && value)363 inline void SetCompressionFormat(CompressionFormat&& value) { m_compressionFormatHasBeenSet = true; m_compressionFormat = std::move(value); } 364 365 /** 366 * <p>The compression format. If no value is specified, the default is 367 * UNCOMPRESSED.</p> 368 */ WithCompressionFormat(const CompressionFormat & value)369 inline ExtendedS3DestinationConfiguration& WithCompressionFormat(const CompressionFormat& value) { SetCompressionFormat(value); return *this;} 370 371 /** 372 * <p>The compression format. If no value is specified, the default is 373 * UNCOMPRESSED.</p> 374 */ WithCompressionFormat(CompressionFormat && value)375 inline ExtendedS3DestinationConfiguration& WithCompressionFormat(CompressionFormat&& value) { SetCompressionFormat(std::move(value)); return *this;} 376 377 378 /** 379 * <p>The encryption configuration. If no value is specified, the default is no 380 * encryption.</p> 381 */ GetEncryptionConfiguration()382 inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } 383 384 /** 385 * <p>The encryption configuration. If no value is specified, the default is no 386 * encryption.</p> 387 */ EncryptionConfigurationHasBeenSet()388 inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } 389 390 /** 391 * <p>The encryption configuration. If no value is specified, the default is no 392 * encryption.</p> 393 */ SetEncryptionConfiguration(const EncryptionConfiguration & value)394 inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } 395 396 /** 397 * <p>The encryption configuration. If no value is specified, the default is no 398 * encryption.</p> 399 */ SetEncryptionConfiguration(EncryptionConfiguration && value)400 inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } 401 402 /** 403 * <p>The encryption configuration. If no value is specified, the default is no 404 * encryption.</p> 405 */ WithEncryptionConfiguration(const EncryptionConfiguration & value)406 inline ExtendedS3DestinationConfiguration& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} 407 408 /** 409 * <p>The encryption configuration. If no value is specified, the default is no 410 * encryption.</p> 411 */ WithEncryptionConfiguration(EncryptionConfiguration && value)412 inline ExtendedS3DestinationConfiguration& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} 413 414 415 /** 416 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 417 */ GetCloudWatchLoggingOptions()418 inline const CloudWatchLoggingOptions& GetCloudWatchLoggingOptions() const{ return m_cloudWatchLoggingOptions; } 419 420 /** 421 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 422 */ CloudWatchLoggingOptionsHasBeenSet()423 inline bool CloudWatchLoggingOptionsHasBeenSet() const { return m_cloudWatchLoggingOptionsHasBeenSet; } 424 425 /** 426 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 427 */ SetCloudWatchLoggingOptions(const CloudWatchLoggingOptions & value)428 inline void SetCloudWatchLoggingOptions(const CloudWatchLoggingOptions& value) { m_cloudWatchLoggingOptionsHasBeenSet = true; m_cloudWatchLoggingOptions = value; } 429 430 /** 431 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 432 */ SetCloudWatchLoggingOptions(CloudWatchLoggingOptions && value)433 inline void SetCloudWatchLoggingOptions(CloudWatchLoggingOptions&& value) { m_cloudWatchLoggingOptionsHasBeenSet = true; m_cloudWatchLoggingOptions = std::move(value); } 434 435 /** 436 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 437 */ WithCloudWatchLoggingOptions(const CloudWatchLoggingOptions & value)438 inline ExtendedS3DestinationConfiguration& WithCloudWatchLoggingOptions(const CloudWatchLoggingOptions& value) { SetCloudWatchLoggingOptions(value); return *this;} 439 440 /** 441 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 442 */ WithCloudWatchLoggingOptions(CloudWatchLoggingOptions && value)443 inline ExtendedS3DestinationConfiguration& WithCloudWatchLoggingOptions(CloudWatchLoggingOptions&& value) { SetCloudWatchLoggingOptions(std::move(value)); return *this;} 444 445 446 /** 447 * <p>The data processing configuration.</p> 448 */ GetProcessingConfiguration()449 inline const ProcessingConfiguration& GetProcessingConfiguration() const{ return m_processingConfiguration; } 450 451 /** 452 * <p>The data processing configuration.</p> 453 */ ProcessingConfigurationHasBeenSet()454 inline bool ProcessingConfigurationHasBeenSet() const { return m_processingConfigurationHasBeenSet; } 455 456 /** 457 * <p>The data processing configuration.</p> 458 */ SetProcessingConfiguration(const ProcessingConfiguration & value)459 inline void SetProcessingConfiguration(const ProcessingConfiguration& value) { m_processingConfigurationHasBeenSet = true; m_processingConfiguration = value; } 460 461 /** 462 * <p>The data processing configuration.</p> 463 */ SetProcessingConfiguration(ProcessingConfiguration && value)464 inline void SetProcessingConfiguration(ProcessingConfiguration&& value) { m_processingConfigurationHasBeenSet = true; m_processingConfiguration = std::move(value); } 465 466 /** 467 * <p>The data processing configuration.</p> 468 */ WithProcessingConfiguration(const ProcessingConfiguration & value)469 inline ExtendedS3DestinationConfiguration& WithProcessingConfiguration(const ProcessingConfiguration& value) { SetProcessingConfiguration(value); return *this;} 470 471 /** 472 * <p>The data processing configuration.</p> 473 */ WithProcessingConfiguration(ProcessingConfiguration && value)474 inline ExtendedS3DestinationConfiguration& WithProcessingConfiguration(ProcessingConfiguration&& value) { SetProcessingConfiguration(std::move(value)); return *this;} 475 476 477 /** 478 * <p>The Amazon S3 backup mode. After you create a delivery stream, you can update 479 * it to enable Amazon S3 backup if it is disabled. If backup is enabled, you can't 480 * update the delivery stream to disable it. </p> 481 */ GetS3BackupMode()482 inline const S3BackupMode& GetS3BackupMode() const{ return m_s3BackupMode; } 483 484 /** 485 * <p>The Amazon S3 backup mode. After you create a delivery stream, you can update 486 * it to enable Amazon S3 backup if it is disabled. If backup is enabled, you can't 487 * update the delivery stream to disable it. </p> 488 */ S3BackupModeHasBeenSet()489 inline bool S3BackupModeHasBeenSet() const { return m_s3BackupModeHasBeenSet; } 490 491 /** 492 * <p>The Amazon S3 backup mode. After you create a delivery stream, you can update 493 * it to enable Amazon S3 backup if it is disabled. If backup is enabled, you can't 494 * update the delivery stream to disable it. </p> 495 */ SetS3BackupMode(const S3BackupMode & value)496 inline void SetS3BackupMode(const S3BackupMode& value) { m_s3BackupModeHasBeenSet = true; m_s3BackupMode = value; } 497 498 /** 499 * <p>The Amazon S3 backup mode. After you create a delivery stream, you can update 500 * it to enable Amazon S3 backup if it is disabled. If backup is enabled, you can't 501 * update the delivery stream to disable it. </p> 502 */ SetS3BackupMode(S3BackupMode && value)503 inline void SetS3BackupMode(S3BackupMode&& value) { m_s3BackupModeHasBeenSet = true; m_s3BackupMode = std::move(value); } 504 505 /** 506 * <p>The Amazon S3 backup mode. After you create a delivery stream, you can update 507 * it to enable Amazon S3 backup if it is disabled. If backup is enabled, you can't 508 * update the delivery stream to disable it. </p> 509 */ WithS3BackupMode(const S3BackupMode & value)510 inline ExtendedS3DestinationConfiguration& WithS3BackupMode(const S3BackupMode& value) { SetS3BackupMode(value); return *this;} 511 512 /** 513 * <p>The Amazon S3 backup mode. After you create a delivery stream, you can update 514 * it to enable Amazon S3 backup if it is disabled. If backup is enabled, you can't 515 * update the delivery stream to disable it. </p> 516 */ WithS3BackupMode(S3BackupMode && value)517 inline ExtendedS3DestinationConfiguration& WithS3BackupMode(S3BackupMode&& value) { SetS3BackupMode(std::move(value)); return *this;} 518 519 520 /** 521 * <p>The configuration for backup in Amazon S3.</p> 522 */ GetS3BackupConfiguration()523 inline const S3DestinationConfiguration& GetS3BackupConfiguration() const{ return m_s3BackupConfiguration; } 524 525 /** 526 * <p>The configuration for backup in Amazon S3.</p> 527 */ S3BackupConfigurationHasBeenSet()528 inline bool S3BackupConfigurationHasBeenSet() const { return m_s3BackupConfigurationHasBeenSet; } 529 530 /** 531 * <p>The configuration for backup in Amazon S3.</p> 532 */ SetS3BackupConfiguration(const S3DestinationConfiguration & value)533 inline void SetS3BackupConfiguration(const S3DestinationConfiguration& value) { m_s3BackupConfigurationHasBeenSet = true; m_s3BackupConfiguration = value; } 534 535 /** 536 * <p>The configuration for backup in Amazon S3.</p> 537 */ SetS3BackupConfiguration(S3DestinationConfiguration && value)538 inline void SetS3BackupConfiguration(S3DestinationConfiguration&& value) { m_s3BackupConfigurationHasBeenSet = true; m_s3BackupConfiguration = std::move(value); } 539 540 /** 541 * <p>The configuration for backup in Amazon S3.</p> 542 */ WithS3BackupConfiguration(const S3DestinationConfiguration & value)543 inline ExtendedS3DestinationConfiguration& WithS3BackupConfiguration(const S3DestinationConfiguration& value) { SetS3BackupConfiguration(value); return *this;} 544 545 /** 546 * <p>The configuration for backup in Amazon S3.</p> 547 */ WithS3BackupConfiguration(S3DestinationConfiguration && value)548 inline ExtendedS3DestinationConfiguration& WithS3BackupConfiguration(S3DestinationConfiguration&& value) { SetS3BackupConfiguration(std::move(value)); return *this;} 549 550 551 /** 552 * <p>The serializer, deserializer, and schema for converting data from the JSON 553 * format to the Parquet or ORC format before writing it to Amazon S3.</p> 554 */ GetDataFormatConversionConfiguration()555 inline const DataFormatConversionConfiguration& GetDataFormatConversionConfiguration() const{ return m_dataFormatConversionConfiguration; } 556 557 /** 558 * <p>The serializer, deserializer, and schema for converting data from the JSON 559 * format to the Parquet or ORC format before writing it to Amazon S3.</p> 560 */ DataFormatConversionConfigurationHasBeenSet()561 inline bool DataFormatConversionConfigurationHasBeenSet() const { return m_dataFormatConversionConfigurationHasBeenSet; } 562 563 /** 564 * <p>The serializer, deserializer, and schema for converting data from the JSON 565 * format to the Parquet or ORC format before writing it to Amazon S3.</p> 566 */ SetDataFormatConversionConfiguration(const DataFormatConversionConfiguration & value)567 inline void SetDataFormatConversionConfiguration(const DataFormatConversionConfiguration& value) { m_dataFormatConversionConfigurationHasBeenSet = true; m_dataFormatConversionConfiguration = value; } 568 569 /** 570 * <p>The serializer, deserializer, and schema for converting data from the JSON 571 * format to the Parquet or ORC format before writing it to Amazon S3.</p> 572 */ SetDataFormatConversionConfiguration(DataFormatConversionConfiguration && value)573 inline void SetDataFormatConversionConfiguration(DataFormatConversionConfiguration&& value) { m_dataFormatConversionConfigurationHasBeenSet = true; m_dataFormatConversionConfiguration = std::move(value); } 574 575 /** 576 * <p>The serializer, deserializer, and schema for converting data from the JSON 577 * format to the Parquet or ORC format before writing it to Amazon S3.</p> 578 */ WithDataFormatConversionConfiguration(const DataFormatConversionConfiguration & value)579 inline ExtendedS3DestinationConfiguration& WithDataFormatConversionConfiguration(const DataFormatConversionConfiguration& value) { SetDataFormatConversionConfiguration(value); return *this;} 580 581 /** 582 * <p>The serializer, deserializer, and schema for converting data from the JSON 583 * format to the Parquet or ORC format before writing it to Amazon S3.</p> 584 */ WithDataFormatConversionConfiguration(DataFormatConversionConfiguration && value)585 inline ExtendedS3DestinationConfiguration& WithDataFormatConversionConfiguration(DataFormatConversionConfiguration&& value) { SetDataFormatConversionConfiguration(std::move(value)); return *this;} 586 587 588 /** 589 * <p>The configuration of the dynamic partitioning mechanism that creates smaller 590 * data sets from the streaming data by partitioning it based on partition keys. 591 * Currently, dynamic partitioning is only supported for Amazon S3 destinations. 592 * For more information, see <a 593 * href="https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html">https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html</a> 594 * </p> 595 */ GetDynamicPartitioningConfiguration()596 inline const DynamicPartitioningConfiguration& GetDynamicPartitioningConfiguration() const{ return m_dynamicPartitioningConfiguration; } 597 598 /** 599 * <p>The configuration of the dynamic partitioning mechanism that creates smaller 600 * data sets from the streaming data by partitioning it based on partition keys. 601 * Currently, dynamic partitioning is only supported for Amazon S3 destinations. 602 * For more information, see <a 603 * href="https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html">https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html</a> 604 * </p> 605 */ DynamicPartitioningConfigurationHasBeenSet()606 inline bool DynamicPartitioningConfigurationHasBeenSet() const { return m_dynamicPartitioningConfigurationHasBeenSet; } 607 608 /** 609 * <p>The configuration of the dynamic partitioning mechanism that creates smaller 610 * data sets from the streaming data by partitioning it based on partition keys. 611 * Currently, dynamic partitioning is only supported for Amazon S3 destinations. 612 * For more information, see <a 613 * href="https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html">https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html</a> 614 * </p> 615 */ SetDynamicPartitioningConfiguration(const DynamicPartitioningConfiguration & value)616 inline void SetDynamicPartitioningConfiguration(const DynamicPartitioningConfiguration& value) { m_dynamicPartitioningConfigurationHasBeenSet = true; m_dynamicPartitioningConfiguration = value; } 617 618 /** 619 * <p>The configuration of the dynamic partitioning mechanism that creates smaller 620 * data sets from the streaming data by partitioning it based on partition keys. 621 * Currently, dynamic partitioning is only supported for Amazon S3 destinations. 622 * For more information, see <a 623 * href="https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html">https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html</a> 624 * </p> 625 */ SetDynamicPartitioningConfiguration(DynamicPartitioningConfiguration && value)626 inline void SetDynamicPartitioningConfiguration(DynamicPartitioningConfiguration&& value) { m_dynamicPartitioningConfigurationHasBeenSet = true; m_dynamicPartitioningConfiguration = std::move(value); } 627 628 /** 629 * <p>The configuration of the dynamic partitioning mechanism that creates smaller 630 * data sets from the streaming data by partitioning it based on partition keys. 631 * Currently, dynamic partitioning is only supported for Amazon S3 destinations. 632 * For more information, see <a 633 * href="https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html">https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html</a> 634 * </p> 635 */ WithDynamicPartitioningConfiguration(const DynamicPartitioningConfiguration & value)636 inline ExtendedS3DestinationConfiguration& WithDynamicPartitioningConfiguration(const DynamicPartitioningConfiguration& value) { SetDynamicPartitioningConfiguration(value); return *this;} 637 638 /** 639 * <p>The configuration of the dynamic partitioning mechanism that creates smaller 640 * data sets from the streaming data by partitioning it based on partition keys. 641 * Currently, dynamic partitioning is only supported for Amazon S3 destinations. 642 * For more information, see <a 643 * href="https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html">https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html</a> 644 * </p> 645 */ WithDynamicPartitioningConfiguration(DynamicPartitioningConfiguration && value)646 inline ExtendedS3DestinationConfiguration& WithDynamicPartitioningConfiguration(DynamicPartitioningConfiguration&& value) { SetDynamicPartitioningConfiguration(std::move(value)); return *this;} 647 648 private: 649 650 Aws::String m_roleARN; 651 bool m_roleARNHasBeenSet; 652 653 Aws::String m_bucketARN; 654 bool m_bucketARNHasBeenSet; 655 656 Aws::String m_prefix; 657 bool m_prefixHasBeenSet; 658 659 Aws::String m_errorOutputPrefix; 660 bool m_errorOutputPrefixHasBeenSet; 661 662 BufferingHints m_bufferingHints; 663 bool m_bufferingHintsHasBeenSet; 664 665 CompressionFormat m_compressionFormat; 666 bool m_compressionFormatHasBeenSet; 667 668 EncryptionConfiguration m_encryptionConfiguration; 669 bool m_encryptionConfigurationHasBeenSet; 670 671 CloudWatchLoggingOptions m_cloudWatchLoggingOptions; 672 bool m_cloudWatchLoggingOptionsHasBeenSet; 673 674 ProcessingConfiguration m_processingConfiguration; 675 bool m_processingConfigurationHasBeenSet; 676 677 S3BackupMode m_s3BackupMode; 678 bool m_s3BackupModeHasBeenSet; 679 680 S3DestinationConfiguration m_s3BackupConfiguration; 681 bool m_s3BackupConfigurationHasBeenSet; 682 683 DataFormatConversionConfiguration m_dataFormatConversionConfiguration; 684 bool m_dataFormatConversionConfigurationHasBeenSet; 685 686 DynamicPartitioningConfiguration m_dynamicPartitioningConfiguration; 687 bool m_dynamicPartitioningConfigurationHasBeenSet; 688 }; 689 690 } // namespace Model 691 } // namespace Firehose 692 } // namespace Aws 693