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