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 Kinesis Data Analytics application provides a description of an Amazon
28    * S3 object, including the Amazon Resource Name (ARN) of the S3 bucket, the name
29    * of the Amazon S3 object that contains the data, and the version number of the
30    * Amazon S3 object that contains the data. </p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/S3ContentLocation">AWS
32    * API Reference</a></p>
33    */
34   class AWS_KINESISANALYTICSV2_API S3ContentLocation
35   {
36   public:
37     S3ContentLocation();
38     S3ContentLocation(Aws::Utils::Json::JsonView jsonValue);
39     S3ContentLocation& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>The Amazon Resource Name (ARN) for the S3 bucket containing the application
45      * code.</p>
46      */
GetBucketARN()47     inline const Aws::String& GetBucketARN() const{ return m_bucketARN; }
48 
49     /**
50      * <p>The Amazon Resource Name (ARN) for the S3 bucket containing the application
51      * code.</p>
52      */
BucketARNHasBeenSet()53     inline bool BucketARNHasBeenSet() const { return m_bucketARNHasBeenSet; }
54 
55     /**
56      * <p>The Amazon Resource Name (ARN) for the S3 bucket containing the application
57      * code.</p>
58      */
SetBucketARN(const Aws::String & value)59     inline void SetBucketARN(const Aws::String& value) { m_bucketARNHasBeenSet = true; m_bucketARN = value; }
60 
61     /**
62      * <p>The Amazon Resource Name (ARN) for the S3 bucket containing the application
63      * code.</p>
64      */
SetBucketARN(Aws::String && value)65     inline void SetBucketARN(Aws::String&& value) { m_bucketARNHasBeenSet = true; m_bucketARN = std::move(value); }
66 
67     /**
68      * <p>The Amazon Resource Name (ARN) for the S3 bucket containing the application
69      * code.</p>
70      */
SetBucketARN(const char * value)71     inline void SetBucketARN(const char* value) { m_bucketARNHasBeenSet = true; m_bucketARN.assign(value); }
72 
73     /**
74      * <p>The Amazon Resource Name (ARN) for the S3 bucket containing the application
75      * code.</p>
76      */
WithBucketARN(const Aws::String & value)77     inline S3ContentLocation& WithBucketARN(const Aws::String& value) { SetBucketARN(value); return *this;}
78 
79     /**
80      * <p>The Amazon Resource Name (ARN) for the S3 bucket containing the application
81      * code.</p>
82      */
WithBucketARN(Aws::String && value)83     inline S3ContentLocation& WithBucketARN(Aws::String&& value) { SetBucketARN(std::move(value)); return *this;}
84 
85     /**
86      * <p>The Amazon Resource Name (ARN) for the S3 bucket containing the application
87      * code.</p>
88      */
WithBucketARN(const char * value)89     inline S3ContentLocation& WithBucketARN(const char* value) { SetBucketARN(value); return *this;}
90 
91 
92     /**
93      * <p>The file key for the object containing the application code.</p>
94      */
GetFileKey()95     inline const Aws::String& GetFileKey() const{ return m_fileKey; }
96 
97     /**
98      * <p>The file key for the object containing the application code.</p>
99      */
FileKeyHasBeenSet()100     inline bool FileKeyHasBeenSet() const { return m_fileKeyHasBeenSet; }
101 
102     /**
103      * <p>The file key for the object containing the application code.</p>
104      */
SetFileKey(const Aws::String & value)105     inline void SetFileKey(const Aws::String& value) { m_fileKeyHasBeenSet = true; m_fileKey = value; }
106 
107     /**
108      * <p>The file key for the object containing the application code.</p>
109      */
SetFileKey(Aws::String && value)110     inline void SetFileKey(Aws::String&& value) { m_fileKeyHasBeenSet = true; m_fileKey = std::move(value); }
111 
112     /**
113      * <p>The file key for the object containing the application code.</p>
114      */
SetFileKey(const char * value)115     inline void SetFileKey(const char* value) { m_fileKeyHasBeenSet = true; m_fileKey.assign(value); }
116 
117     /**
118      * <p>The file key for the object containing the application code.</p>
119      */
WithFileKey(const Aws::String & value)120     inline S3ContentLocation& WithFileKey(const Aws::String& value) { SetFileKey(value); return *this;}
121 
122     /**
123      * <p>The file key for the object containing the application code.</p>
124      */
WithFileKey(Aws::String && value)125     inline S3ContentLocation& WithFileKey(Aws::String&& value) { SetFileKey(std::move(value)); return *this;}
126 
127     /**
128      * <p>The file key for the object containing the application code.</p>
129      */
WithFileKey(const char * value)130     inline S3ContentLocation& WithFileKey(const char* value) { SetFileKey(value); return *this;}
131 
132 
133     /**
134      * <p>The version of the object containing the application code.</p>
135      */
GetObjectVersion()136     inline const Aws::String& GetObjectVersion() const{ return m_objectVersion; }
137 
138     /**
139      * <p>The version of the object containing the application code.</p>
140      */
ObjectVersionHasBeenSet()141     inline bool ObjectVersionHasBeenSet() const { return m_objectVersionHasBeenSet; }
142 
143     /**
144      * <p>The version of the object containing the application code.</p>
145      */
SetObjectVersion(const Aws::String & value)146     inline void SetObjectVersion(const Aws::String& value) { m_objectVersionHasBeenSet = true; m_objectVersion = value; }
147 
148     /**
149      * <p>The version of the object containing the application code.</p>
150      */
SetObjectVersion(Aws::String && value)151     inline void SetObjectVersion(Aws::String&& value) { m_objectVersionHasBeenSet = true; m_objectVersion = std::move(value); }
152 
153     /**
154      * <p>The version of the object containing the application code.</p>
155      */
SetObjectVersion(const char * value)156     inline void SetObjectVersion(const char* value) { m_objectVersionHasBeenSet = true; m_objectVersion.assign(value); }
157 
158     /**
159      * <p>The version of the object containing the application code.</p>
160      */
WithObjectVersion(const Aws::String & value)161     inline S3ContentLocation& WithObjectVersion(const Aws::String& value) { SetObjectVersion(value); return *this;}
162 
163     /**
164      * <p>The version of the object containing the application code.</p>
165      */
WithObjectVersion(Aws::String && value)166     inline S3ContentLocation& WithObjectVersion(Aws::String&& value) { SetObjectVersion(std::move(value)); return *this;}
167 
168     /**
169      * <p>The version of the object containing the application code.</p>
170      */
WithObjectVersion(const char * value)171     inline S3ContentLocation& WithObjectVersion(const char* value) { SetObjectVersion(value); return *this;}
172 
173   private:
174 
175     Aws::String m_bucketARN;
176     bool m_bucketARNHasBeenSet;
177 
178     Aws::String m_fileKey;
179     bool m_fileKeyHasBeenSet;
180 
181     Aws::String m_objectVersion;
182     bool m_objectVersionHasBeenSet;
183   };
184 
185 } // namespace Model
186 } // namespace KinesisAnalyticsV2
187 } // namespace Aws
188