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 <utility>
14 
15 namespace Aws
16 {
17 namespace Utils
18 {
19 namespace Json
20 {
21   class JsonValue;
22   class JsonView;
23 } // namespace Json
24 } // namespace Utils
25 namespace Firehose
26 {
27 namespace Model
28 {
29 
30   /**
31    * <p>Describes a destination in Amazon S3.</p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/S3DestinationDescription">AWS
33    * API Reference</a></p>
34    */
35   class AWS_FIREHOSE_API S3DestinationDescription
36   {
37   public:
38     S3DestinationDescription();
39     S3DestinationDescription(Aws::Utils::Json::JsonView jsonValue);
40     S3DestinationDescription& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
46      * see <a
47      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
48      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
49      */
GetRoleARN()50     inline const Aws::String& GetRoleARN() const{ return m_roleARN; }
51 
52     /**
53      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
54      * see <a
55      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
56      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
57      */
RoleARNHasBeenSet()58     inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; }
59 
60     /**
61      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
62      * see <a
63      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
64      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
65      */
SetRoleARN(const Aws::String & value)66     inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; }
67 
68     /**
69      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
70      * see <a
71      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
72      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
73      */
SetRoleARN(Aws::String && value)74     inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); }
75 
76     /**
77      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
78      * see <a
79      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
80      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
81      */
SetRoleARN(const char * value)82     inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); }
83 
84     /**
85      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
86      * see <a
87      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
88      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
89      */
WithRoleARN(const Aws::String & value)90     inline S3DestinationDescription& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;}
91 
92     /**
93      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
94      * see <a
95      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
96      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
97      */
WithRoleARN(Aws::String && value)98     inline S3DestinationDescription& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;}
99 
100     /**
101      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
102      * see <a
103      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
104      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
105      */
WithRoleARN(const char * value)106     inline S3DestinationDescription& WithRoleARN(const char* value) { SetRoleARN(value); return *this;}
107 
108 
109     /**
110      * <p>The ARN of the S3 bucket. For more information, see <a
111      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
112      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
113      */
GetBucketARN()114     inline const Aws::String& GetBucketARN() const{ return m_bucketARN; }
115 
116     /**
117      * <p>The ARN of the S3 bucket. For more information, see <a
118      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
119      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
120      */
BucketARNHasBeenSet()121     inline bool BucketARNHasBeenSet() const { return m_bucketARNHasBeenSet; }
122 
123     /**
124      * <p>The ARN of the S3 bucket. For more information, see <a
125      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
126      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
127      */
SetBucketARN(const Aws::String & value)128     inline void SetBucketARN(const Aws::String& value) { m_bucketARNHasBeenSet = true; m_bucketARN = value; }
129 
130     /**
131      * <p>The ARN of the S3 bucket. For more information, see <a
132      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
133      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
134      */
SetBucketARN(Aws::String && value)135     inline void SetBucketARN(Aws::String&& value) { m_bucketARNHasBeenSet = true; m_bucketARN = std::move(value); }
136 
137     /**
138      * <p>The ARN of the S3 bucket. For more information, see <a
139      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
140      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
141      */
SetBucketARN(const char * value)142     inline void SetBucketARN(const char* value) { m_bucketARNHasBeenSet = true; m_bucketARN.assign(value); }
143 
144     /**
145      * <p>The ARN of the S3 bucket. For more information, see <a
146      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
147      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
148      */
WithBucketARN(const Aws::String & value)149     inline S3DestinationDescription& WithBucketARN(const Aws::String& value) { SetBucketARN(value); return *this;}
150 
151     /**
152      * <p>The ARN of the S3 bucket. For more information, see <a
153      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
154      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
155      */
WithBucketARN(Aws::String && value)156     inline S3DestinationDescription& WithBucketARN(Aws::String&& value) { SetBucketARN(std::move(value)); return *this;}
157 
158     /**
159      * <p>The ARN of the S3 bucket. For more information, see <a
160      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
161      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
162      */
WithBucketARN(const char * value)163     inline S3DestinationDescription& WithBucketARN(const char* value) { SetBucketARN(value); return *this;}
164 
165 
166     /**
167      * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered
168      * Amazon S3 files. You can also specify a custom prefix, as described in <a
169      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
170      * Prefixes for Amazon S3 Objects</a>.</p>
171      */
GetPrefix()172     inline const Aws::String& GetPrefix() const{ return m_prefix; }
173 
174     /**
175      * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered
176      * Amazon S3 files. You can also specify a custom prefix, as described in <a
177      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
178      * Prefixes for Amazon S3 Objects</a>.</p>
179      */
PrefixHasBeenSet()180     inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; }
181 
182     /**
183      * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered
184      * Amazon S3 files. You can also specify a custom prefix, as described in <a
185      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
186      * Prefixes for Amazon S3 Objects</a>.</p>
187      */
SetPrefix(const Aws::String & value)188     inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; }
189 
190     /**
191      * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered
192      * Amazon S3 files. You can also specify a custom prefix, as described in <a
193      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
194      * Prefixes for Amazon S3 Objects</a>.</p>
195      */
SetPrefix(Aws::String && value)196     inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); }
197 
198     /**
199      * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered
200      * Amazon S3 files. You can also specify a custom prefix, as described in <a
201      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
202      * Prefixes for Amazon S3 Objects</a>.</p>
203      */
SetPrefix(const char * value)204     inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); }
205 
206     /**
207      * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered
208      * Amazon S3 files. You can also specify a custom prefix, as described in <a
209      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
210      * Prefixes for Amazon S3 Objects</a>.</p>
211      */
WithPrefix(const Aws::String & value)212     inline S3DestinationDescription& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;}
213 
214     /**
215      * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered
216      * Amazon S3 files. You can also specify a custom prefix, as described in <a
217      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
218      * Prefixes for Amazon S3 Objects</a>.</p>
219      */
WithPrefix(Aws::String && value)220     inline S3DestinationDescription& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;}
221 
222     /**
223      * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered
224      * Amazon S3 files. You can also specify a custom prefix, as described in <a
225      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
226      * Prefixes for Amazon S3 Objects</a>.</p>
227      */
WithPrefix(const char * value)228     inline S3DestinationDescription& WithPrefix(const char* value) { SetPrefix(value); return *this;}
229 
230 
231     /**
232      * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records
233      * before writing them to S3. This prefix appears immediately following the bucket
234      * name. For information about how to specify this prefix, see <a
235      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
236      * Prefixes for Amazon S3 Objects</a>.</p>
237      */
GetErrorOutputPrefix()238     inline const Aws::String& GetErrorOutputPrefix() const{ return m_errorOutputPrefix; }
239 
240     /**
241      * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records
242      * before writing them to S3. This prefix appears immediately following the bucket
243      * name. For information about how to specify this prefix, see <a
244      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
245      * Prefixes for Amazon S3 Objects</a>.</p>
246      */
ErrorOutputPrefixHasBeenSet()247     inline bool ErrorOutputPrefixHasBeenSet() const { return m_errorOutputPrefixHasBeenSet; }
248 
249     /**
250      * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records
251      * before writing them to S3. This prefix appears immediately following the bucket
252      * name. For information about how to specify this prefix, see <a
253      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
254      * Prefixes for Amazon S3 Objects</a>.</p>
255      */
SetErrorOutputPrefix(const Aws::String & value)256     inline void SetErrorOutputPrefix(const Aws::String& value) { m_errorOutputPrefixHasBeenSet = true; m_errorOutputPrefix = value; }
257 
258     /**
259      * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records
260      * before writing them to S3. This prefix appears immediately following the bucket
261      * name. For information about how to specify this prefix, see <a
262      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
263      * Prefixes for Amazon S3 Objects</a>.</p>
264      */
SetErrorOutputPrefix(Aws::String && value)265     inline void SetErrorOutputPrefix(Aws::String&& value) { m_errorOutputPrefixHasBeenSet = true; m_errorOutputPrefix = std::move(value); }
266 
267     /**
268      * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records
269      * before writing them to S3. This prefix appears immediately following the bucket
270      * name. For information about how to specify this prefix, see <a
271      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
272      * Prefixes for Amazon S3 Objects</a>.</p>
273      */
SetErrorOutputPrefix(const char * value)274     inline void SetErrorOutputPrefix(const char* value) { m_errorOutputPrefixHasBeenSet = true; m_errorOutputPrefix.assign(value); }
275 
276     /**
277      * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records
278      * before writing them to S3. This prefix appears immediately following the bucket
279      * name. For information about how to specify this prefix, see <a
280      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
281      * Prefixes for Amazon S3 Objects</a>.</p>
282      */
WithErrorOutputPrefix(const Aws::String & value)283     inline S3DestinationDescription& WithErrorOutputPrefix(const Aws::String& value) { SetErrorOutputPrefix(value); return *this;}
284 
285     /**
286      * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records
287      * before writing them to S3. This prefix appears immediately following the bucket
288      * name. For information about how to specify this prefix, see <a
289      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
290      * Prefixes for Amazon S3 Objects</a>.</p>
291      */
WithErrorOutputPrefix(Aws::String && value)292     inline S3DestinationDescription& WithErrorOutputPrefix(Aws::String&& value) { SetErrorOutputPrefix(std::move(value)); return *this;}
293 
294     /**
295      * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records
296      * before writing them to S3. This prefix appears immediately following the bucket
297      * name. For information about how to specify this prefix, see <a
298      * href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom
299      * Prefixes for Amazon S3 Objects</a>.</p>
300      */
WithErrorOutputPrefix(const char * value)301     inline S3DestinationDescription& WithErrorOutputPrefix(const char* value) { SetErrorOutputPrefix(value); return *this;}
302 
303 
304     /**
305      * <p>The buffering option. If no value is specified, <code>BufferingHints</code>
306      * object default values are used.</p>
307      */
GetBufferingHints()308     inline const BufferingHints& GetBufferingHints() const{ return m_bufferingHints; }
309 
310     /**
311      * <p>The buffering option. If no value is specified, <code>BufferingHints</code>
312      * object default values are used.</p>
313      */
BufferingHintsHasBeenSet()314     inline bool BufferingHintsHasBeenSet() const { return m_bufferingHintsHasBeenSet; }
315 
316     /**
317      * <p>The buffering option. If no value is specified, <code>BufferingHints</code>
318      * object default values are used.</p>
319      */
SetBufferingHints(const BufferingHints & value)320     inline void SetBufferingHints(const BufferingHints& value) { m_bufferingHintsHasBeenSet = true; m_bufferingHints = value; }
321 
322     /**
323      * <p>The buffering option. If no value is specified, <code>BufferingHints</code>
324      * object default values are used.</p>
325      */
SetBufferingHints(BufferingHints && value)326     inline void SetBufferingHints(BufferingHints&& value) { m_bufferingHintsHasBeenSet = true; m_bufferingHints = std::move(value); }
327 
328     /**
329      * <p>The buffering option. If no value is specified, <code>BufferingHints</code>
330      * object default values are used.</p>
331      */
WithBufferingHints(const BufferingHints & value)332     inline S3DestinationDescription& WithBufferingHints(const BufferingHints& value) { SetBufferingHints(value); return *this;}
333 
334     /**
335      * <p>The buffering option. If no value is specified, <code>BufferingHints</code>
336      * object default values are used.</p>
337      */
WithBufferingHints(BufferingHints && value)338     inline S3DestinationDescription& 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      * <code>UNCOMPRESSED</code>.</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      * <code>UNCOMPRESSED</code>.</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      * <code>UNCOMPRESSED</code>.</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      * <code>UNCOMPRESSED</code>.</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      * <code>UNCOMPRESSED</code>.</p>
368      */
WithCompressionFormat(const CompressionFormat & value)369     inline S3DestinationDescription& WithCompressionFormat(const CompressionFormat& value) { SetCompressionFormat(value); return *this;}
370 
371     /**
372      * <p>The compression format. If no value is specified, the default is
373      * <code>UNCOMPRESSED</code>.</p>
374      */
WithCompressionFormat(CompressionFormat && value)375     inline S3DestinationDescription& 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 S3DestinationDescription& 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 S3DestinationDescription& 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 S3DestinationDescription& 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 S3DestinationDescription& WithCloudWatchLoggingOptions(CloudWatchLoggingOptions&& value) { SetCloudWatchLoggingOptions(std::move(value)); return *this;}
444 
445   private:
446 
447     Aws::String m_roleARN;
448     bool m_roleARNHasBeenSet;
449 
450     Aws::String m_bucketARN;
451     bool m_bucketARNHasBeenSet;
452 
453     Aws::String m_prefix;
454     bool m_prefixHasBeenSet;
455 
456     Aws::String m_errorOutputPrefix;
457     bool m_errorOutputPrefixHasBeenSet;
458 
459     BufferingHints m_bufferingHints;
460     bool m_bufferingHintsHasBeenSet;
461 
462     CompressionFormat m_compressionFormat;
463     bool m_compressionFormatHasBeenSet;
464 
465     EncryptionConfiguration m_encryptionConfiguration;
466     bool m_encryptionConfigurationHasBeenSet;
467 
468     CloudWatchLoggingOptions m_cloudWatchLoggingOptions;
469     bool m_cloudWatchLoggingOptionsHasBeenSet;
470   };
471 
472 } // namespace Model
473 } // namespace Firehose
474 } // namespace Aws
475