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 
9 namespace Aws
10 {
11 namespace Utils
12 {
13 namespace Json
14 {
15   class JsonValue;
16   class JsonView;
17 } // namespace Json
18 } // namespace Utils
19 namespace Firehose
20 {
21 namespace Model
22 {
23 
24   /**
25    * <p>Describes the buffering to perform before delivering data to the Amazon ES
26    * destination.</p><p><h3>See Also:</h3>   <a
27    * href="http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/ElasticsearchBufferingHints">AWS
28    * API Reference</a></p>
29    */
30   class AWS_FIREHOSE_API ElasticsearchBufferingHints
31   {
32   public:
33     ElasticsearchBufferingHints();
34     ElasticsearchBufferingHints(Aws::Utils::Json::JsonView jsonValue);
35     ElasticsearchBufferingHints& operator=(Aws::Utils::Json::JsonView jsonValue);
36     Aws::Utils::Json::JsonValue Jsonize() const;
37 
38 
39     /**
40      * <p>Buffer incoming data for the specified period of time, in seconds, before
41      * delivering it to the destination. The default value is 300 (5 minutes).</p>
42      */
GetIntervalInSeconds()43     inline int GetIntervalInSeconds() const{ return m_intervalInSeconds; }
44 
45     /**
46      * <p>Buffer incoming data for the specified period of time, in seconds, before
47      * delivering it to the destination. The default value is 300 (5 minutes).</p>
48      */
IntervalInSecondsHasBeenSet()49     inline bool IntervalInSecondsHasBeenSet() const { return m_intervalInSecondsHasBeenSet; }
50 
51     /**
52      * <p>Buffer incoming data for the specified period of time, in seconds, before
53      * delivering it to the destination. The default value is 300 (5 minutes).</p>
54      */
SetIntervalInSeconds(int value)55     inline void SetIntervalInSeconds(int value) { m_intervalInSecondsHasBeenSet = true; m_intervalInSeconds = value; }
56 
57     /**
58      * <p>Buffer incoming data for the specified period of time, in seconds, before
59      * delivering it to the destination. The default value is 300 (5 minutes).</p>
60      */
WithIntervalInSeconds(int value)61     inline ElasticsearchBufferingHints& WithIntervalInSeconds(int value) { SetIntervalInSeconds(value); return *this;}
62 
63 
64     /**
65      * <p>Buffer incoming data to the specified size, in MBs, before delivering it to
66      * the destination. The default value is 5.</p> <p>We recommend setting this
67      * parameter to a value greater than the amount of data you typically ingest into
68      * the delivery stream in 10 seconds. For example, if you typically ingest data at
69      * 1 MB/sec, the value should be 10 MB or higher.</p>
70      */
GetSizeInMBs()71     inline int GetSizeInMBs() const{ return m_sizeInMBs; }
72 
73     /**
74      * <p>Buffer incoming data to the specified size, in MBs, before delivering it to
75      * the destination. The default value is 5.</p> <p>We recommend setting this
76      * parameter to a value greater than the amount of data you typically ingest into
77      * the delivery stream in 10 seconds. For example, if you typically ingest data at
78      * 1 MB/sec, the value should be 10 MB or higher.</p>
79      */
SizeInMBsHasBeenSet()80     inline bool SizeInMBsHasBeenSet() const { return m_sizeInMBsHasBeenSet; }
81 
82     /**
83      * <p>Buffer incoming data to the specified size, in MBs, before delivering it to
84      * the destination. The default value is 5.</p> <p>We recommend setting this
85      * parameter to a value greater than the amount of data you typically ingest into
86      * the delivery stream in 10 seconds. For example, if you typically ingest data at
87      * 1 MB/sec, the value should be 10 MB or higher.</p>
88      */
SetSizeInMBs(int value)89     inline void SetSizeInMBs(int value) { m_sizeInMBsHasBeenSet = true; m_sizeInMBs = value; }
90 
91     /**
92      * <p>Buffer incoming data to the specified size, in MBs, before delivering it to
93      * the destination. The default value is 5.</p> <p>We recommend setting this
94      * parameter to a value greater than the amount of data you typically ingest into
95      * the delivery stream in 10 seconds. For example, if you typically ingest data at
96      * 1 MB/sec, the value should be 10 MB or higher.</p>
97      */
WithSizeInMBs(int value)98     inline ElasticsearchBufferingHints& WithSizeInMBs(int value) { SetSizeInMBs(value); return *this;}
99 
100   private:
101 
102     int m_intervalInSeconds;
103     bool m_intervalInSecondsHasBeenSet;
104 
105     int m_sizeInMBs;
106     bool m_sizeInMBsHasBeenSet;
107   };
108 
109 } // namespace Model
110 } // namespace Firehose
111 } // namespace Aws
112