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/kinesisanalyticsv2/KinesisAnalyticsV2_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace KinesisAnalyticsV2
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>For a SQL-based Kinesis Data Analytics application, identifies the Amazon S3
28    * bucket and object that contains the reference data.</p> <p>A Kinesis Data
29    * Analytics application loads reference data only once. If the data changes, you
30    * call the <a>UpdateApplication</a> operation to trigger reloading of data into
31    * your application. </p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/S3ReferenceDataSource">AWS
33    * API Reference</a></p>
34    */
35   class AWS_KINESISANALYTICSV2_API S3ReferenceDataSource
36   {
37   public:
38     S3ReferenceDataSource();
39     S3ReferenceDataSource(Aws::Utils::Json::JsonView jsonValue);
40     S3ReferenceDataSource& 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 S3 bucket.</p>
46      */
GetBucketARN()47     inline const Aws::String& GetBucketARN() const{ return m_bucketARN; }
48 
49     /**
50      * <p>The Amazon Resource Name (ARN) of the S3 bucket.</p>
51      */
BucketARNHasBeenSet()52     inline bool BucketARNHasBeenSet() const { return m_bucketARNHasBeenSet; }
53 
54     /**
55      * <p>The Amazon Resource Name (ARN) of the S3 bucket.</p>
56      */
SetBucketARN(const Aws::String & value)57     inline void SetBucketARN(const Aws::String& value) { m_bucketARNHasBeenSet = true; m_bucketARN = value; }
58 
59     /**
60      * <p>The Amazon Resource Name (ARN) of the S3 bucket.</p>
61      */
SetBucketARN(Aws::String && value)62     inline void SetBucketARN(Aws::String&& value) { m_bucketARNHasBeenSet = true; m_bucketARN = std::move(value); }
63 
64     /**
65      * <p>The Amazon Resource Name (ARN) of the S3 bucket.</p>
66      */
SetBucketARN(const char * value)67     inline void SetBucketARN(const char* value) { m_bucketARNHasBeenSet = true; m_bucketARN.assign(value); }
68 
69     /**
70      * <p>The Amazon Resource Name (ARN) of the S3 bucket.</p>
71      */
WithBucketARN(const Aws::String & value)72     inline S3ReferenceDataSource& WithBucketARN(const Aws::String& value) { SetBucketARN(value); return *this;}
73 
74     /**
75      * <p>The Amazon Resource Name (ARN) of the S3 bucket.</p>
76      */
WithBucketARN(Aws::String && value)77     inline S3ReferenceDataSource& WithBucketARN(Aws::String&& value) { SetBucketARN(std::move(value)); return *this;}
78 
79     /**
80      * <p>The Amazon Resource Name (ARN) of the S3 bucket.</p>
81      */
WithBucketARN(const char * value)82     inline S3ReferenceDataSource& WithBucketARN(const char* value) { SetBucketARN(value); return *this;}
83 
84 
85     /**
86      * <p>The object key name containing the reference data.</p>
87      */
GetFileKey()88     inline const Aws::String& GetFileKey() const{ return m_fileKey; }
89 
90     /**
91      * <p>The object key name containing the reference data.</p>
92      */
FileKeyHasBeenSet()93     inline bool FileKeyHasBeenSet() const { return m_fileKeyHasBeenSet; }
94 
95     /**
96      * <p>The object key name containing the reference data.</p>
97      */
SetFileKey(const Aws::String & value)98     inline void SetFileKey(const Aws::String& value) { m_fileKeyHasBeenSet = true; m_fileKey = value; }
99 
100     /**
101      * <p>The object key name containing the reference data.</p>
102      */
SetFileKey(Aws::String && value)103     inline void SetFileKey(Aws::String&& value) { m_fileKeyHasBeenSet = true; m_fileKey = std::move(value); }
104 
105     /**
106      * <p>The object key name containing the reference data.</p>
107      */
SetFileKey(const char * value)108     inline void SetFileKey(const char* value) { m_fileKeyHasBeenSet = true; m_fileKey.assign(value); }
109 
110     /**
111      * <p>The object key name containing the reference data.</p>
112      */
WithFileKey(const Aws::String & value)113     inline S3ReferenceDataSource& WithFileKey(const Aws::String& value) { SetFileKey(value); return *this;}
114 
115     /**
116      * <p>The object key name containing the reference data.</p>
117      */
WithFileKey(Aws::String && value)118     inline S3ReferenceDataSource& WithFileKey(Aws::String&& value) { SetFileKey(std::move(value)); return *this;}
119 
120     /**
121      * <p>The object key name containing the reference data.</p>
122      */
WithFileKey(const char * value)123     inline S3ReferenceDataSource& WithFileKey(const char* value) { SetFileKey(value); return *this;}
124 
125   private:
126 
127     Aws::String m_bucketARN;
128     bool m_bucketARNHasBeenSet;
129 
130     Aws::String m_fileKey;
131     bool m_fileKeyHasBeenSet;
132   };
133 
134 } // namespace Model
135 } // namespace KinesisAnalyticsV2
136 } // namespace Aws
137