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/kinesisanalytics/KinesisAnalytics_EXPORTS.h>
8 #include <aws/kinesisanalytics/KinesisAnalyticsRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/kinesisanalytics/model/InputStartingPositionConfiguration.h>
11 #include <aws/kinesisanalytics/model/S3Configuration.h>
12 #include <aws/kinesisanalytics/model/InputProcessingConfiguration.h>
13 #include <utility>
14 
15 namespace Aws
16 {
17 namespace KinesisAnalytics
18 {
19 namespace Model
20 {
21 
22   /**
23    */
24   class AWS_KINESISANALYTICS_API DiscoverInputSchemaRequest : public KinesisAnalyticsRequest
25   {
26   public:
27     DiscoverInputSchemaRequest();
28 
29     // Service request name is the Operation name which will send this request out,
30     // each operation should has unique request name, so that we can get operation's name from this request.
31     // Note: this is not true for response, multiple operations may have the same response name,
32     // so we can not get operation's name from response.
GetServiceRequestName()33     inline virtual const char* GetServiceRequestName() const override { return "DiscoverInputSchema"; }
34 
35     Aws::String SerializePayload() const override;
36 
37     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
38 
39 
40     /**
41      * <p>Amazon Resource Name (ARN) of the streaming source.</p>
42      */
GetResourceARN()43     inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
44 
45     /**
46      * <p>Amazon Resource Name (ARN) of the streaming source.</p>
47      */
ResourceARNHasBeenSet()48     inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
49 
50     /**
51      * <p>Amazon Resource Name (ARN) of the streaming source.</p>
52      */
SetResourceARN(const Aws::String & value)53     inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
54 
55     /**
56      * <p>Amazon Resource Name (ARN) of the streaming source.</p>
57      */
SetResourceARN(Aws::String && value)58     inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
59 
60     /**
61      * <p>Amazon Resource Name (ARN) of the streaming source.</p>
62      */
SetResourceARN(const char * value)63     inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
64 
65     /**
66      * <p>Amazon Resource Name (ARN) of the streaming source.</p>
67      */
WithResourceARN(const Aws::String & value)68     inline DiscoverInputSchemaRequest& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
69 
70     /**
71      * <p>Amazon Resource Name (ARN) of the streaming source.</p>
72      */
WithResourceARN(Aws::String && value)73     inline DiscoverInputSchemaRequest& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
74 
75     /**
76      * <p>Amazon Resource Name (ARN) of the streaming source.</p>
77      */
WithResourceARN(const char * value)78     inline DiscoverInputSchemaRequest& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
79 
80 
81     /**
82      * <p>ARN of the IAM role that Amazon Kinesis Analytics can assume to access the
83      * stream on your behalf.</p>
84      */
GetRoleARN()85     inline const Aws::String& GetRoleARN() const{ return m_roleARN; }
86 
87     /**
88      * <p>ARN of the IAM role that Amazon Kinesis Analytics can assume to access the
89      * stream on your behalf.</p>
90      */
RoleARNHasBeenSet()91     inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; }
92 
93     /**
94      * <p>ARN of the IAM role that Amazon Kinesis Analytics can assume to access the
95      * stream on your behalf.</p>
96      */
SetRoleARN(const Aws::String & value)97     inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; }
98 
99     /**
100      * <p>ARN of the IAM role that Amazon Kinesis Analytics can assume to access the
101      * stream on your behalf.</p>
102      */
SetRoleARN(Aws::String && value)103     inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); }
104 
105     /**
106      * <p>ARN of the IAM role that Amazon Kinesis Analytics can assume to access the
107      * stream on your behalf.</p>
108      */
SetRoleARN(const char * value)109     inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); }
110 
111     /**
112      * <p>ARN of the IAM role that Amazon Kinesis Analytics can assume to access the
113      * stream on your behalf.</p>
114      */
WithRoleARN(const Aws::String & value)115     inline DiscoverInputSchemaRequest& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;}
116 
117     /**
118      * <p>ARN of the IAM role that Amazon Kinesis Analytics can assume to access the
119      * stream on your behalf.</p>
120      */
WithRoleARN(Aws::String && value)121     inline DiscoverInputSchemaRequest& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;}
122 
123     /**
124      * <p>ARN of the IAM role that Amazon Kinesis Analytics can assume to access the
125      * stream on your behalf.</p>
126      */
WithRoleARN(const char * value)127     inline DiscoverInputSchemaRequest& WithRoleARN(const char* value) { SetRoleARN(value); return *this;}
128 
129 
130     /**
131      * <p>Point at which you want Amazon Kinesis Analytics to start reading records
132      * from the specified streaming source discovery purposes.</p>
133      */
GetInputStartingPositionConfiguration()134     inline const InputStartingPositionConfiguration& GetInputStartingPositionConfiguration() const{ return m_inputStartingPositionConfiguration; }
135 
136     /**
137      * <p>Point at which you want Amazon Kinesis Analytics to start reading records
138      * from the specified streaming source discovery purposes.</p>
139      */
InputStartingPositionConfigurationHasBeenSet()140     inline bool InputStartingPositionConfigurationHasBeenSet() const { return m_inputStartingPositionConfigurationHasBeenSet; }
141 
142     /**
143      * <p>Point at which you want Amazon Kinesis Analytics to start reading records
144      * from the specified streaming source discovery purposes.</p>
145      */
SetInputStartingPositionConfiguration(const InputStartingPositionConfiguration & value)146     inline void SetInputStartingPositionConfiguration(const InputStartingPositionConfiguration& value) { m_inputStartingPositionConfigurationHasBeenSet = true; m_inputStartingPositionConfiguration = value; }
147 
148     /**
149      * <p>Point at which you want Amazon Kinesis Analytics to start reading records
150      * from the specified streaming source discovery purposes.</p>
151      */
SetInputStartingPositionConfiguration(InputStartingPositionConfiguration && value)152     inline void SetInputStartingPositionConfiguration(InputStartingPositionConfiguration&& value) { m_inputStartingPositionConfigurationHasBeenSet = true; m_inputStartingPositionConfiguration = std::move(value); }
153 
154     /**
155      * <p>Point at which you want Amazon Kinesis Analytics to start reading records
156      * from the specified streaming source discovery purposes.</p>
157      */
WithInputStartingPositionConfiguration(const InputStartingPositionConfiguration & value)158     inline DiscoverInputSchemaRequest& WithInputStartingPositionConfiguration(const InputStartingPositionConfiguration& value) { SetInputStartingPositionConfiguration(value); return *this;}
159 
160     /**
161      * <p>Point at which you want Amazon Kinesis Analytics to start reading records
162      * from the specified streaming source discovery purposes.</p>
163      */
WithInputStartingPositionConfiguration(InputStartingPositionConfiguration && value)164     inline DiscoverInputSchemaRequest& WithInputStartingPositionConfiguration(InputStartingPositionConfiguration&& value) { SetInputStartingPositionConfiguration(std::move(value)); return *this;}
165 
166 
167     /**
168      * <p>Specify this parameter to discover a schema from data in an Amazon S3
169      * object.</p>
170      */
GetS3Configuration()171     inline const S3Configuration& GetS3Configuration() const{ return m_s3Configuration; }
172 
173     /**
174      * <p>Specify this parameter to discover a schema from data in an Amazon S3
175      * object.</p>
176      */
S3ConfigurationHasBeenSet()177     inline bool S3ConfigurationHasBeenSet() const { return m_s3ConfigurationHasBeenSet; }
178 
179     /**
180      * <p>Specify this parameter to discover a schema from data in an Amazon S3
181      * object.</p>
182      */
SetS3Configuration(const S3Configuration & value)183     inline void SetS3Configuration(const S3Configuration& value) { m_s3ConfigurationHasBeenSet = true; m_s3Configuration = value; }
184 
185     /**
186      * <p>Specify this parameter to discover a schema from data in an Amazon S3
187      * object.</p>
188      */
SetS3Configuration(S3Configuration && value)189     inline void SetS3Configuration(S3Configuration&& value) { m_s3ConfigurationHasBeenSet = true; m_s3Configuration = std::move(value); }
190 
191     /**
192      * <p>Specify this parameter to discover a schema from data in an Amazon S3
193      * object.</p>
194      */
WithS3Configuration(const S3Configuration & value)195     inline DiscoverInputSchemaRequest& WithS3Configuration(const S3Configuration& value) { SetS3Configuration(value); return *this;}
196 
197     /**
198      * <p>Specify this parameter to discover a schema from data in an Amazon S3
199      * object.</p>
200      */
WithS3Configuration(S3Configuration && value)201     inline DiscoverInputSchemaRequest& WithS3Configuration(S3Configuration&& value) { SetS3Configuration(std::move(value)); return *this;}
202 
203 
204     /**
205      * <p>The <a
206      * href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html">InputProcessingConfiguration</a>
207      * to use to preprocess the records before discovering the schema of the
208      * records.</p>
209      */
GetInputProcessingConfiguration()210     inline const InputProcessingConfiguration& GetInputProcessingConfiguration() const{ return m_inputProcessingConfiguration; }
211 
212     /**
213      * <p>The <a
214      * href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html">InputProcessingConfiguration</a>
215      * to use to preprocess the records before discovering the schema of the
216      * records.</p>
217      */
InputProcessingConfigurationHasBeenSet()218     inline bool InputProcessingConfigurationHasBeenSet() const { return m_inputProcessingConfigurationHasBeenSet; }
219 
220     /**
221      * <p>The <a
222      * href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html">InputProcessingConfiguration</a>
223      * to use to preprocess the records before discovering the schema of the
224      * records.</p>
225      */
SetInputProcessingConfiguration(const InputProcessingConfiguration & value)226     inline void SetInputProcessingConfiguration(const InputProcessingConfiguration& value) { m_inputProcessingConfigurationHasBeenSet = true; m_inputProcessingConfiguration = value; }
227 
228     /**
229      * <p>The <a
230      * href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html">InputProcessingConfiguration</a>
231      * to use to preprocess the records before discovering the schema of the
232      * records.</p>
233      */
SetInputProcessingConfiguration(InputProcessingConfiguration && value)234     inline void SetInputProcessingConfiguration(InputProcessingConfiguration&& value) { m_inputProcessingConfigurationHasBeenSet = true; m_inputProcessingConfiguration = std::move(value); }
235 
236     /**
237      * <p>The <a
238      * href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html">InputProcessingConfiguration</a>
239      * to use to preprocess the records before discovering the schema of the
240      * records.</p>
241      */
WithInputProcessingConfiguration(const InputProcessingConfiguration & value)242     inline DiscoverInputSchemaRequest& WithInputProcessingConfiguration(const InputProcessingConfiguration& value) { SetInputProcessingConfiguration(value); return *this;}
243 
244     /**
245      * <p>The <a
246      * href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html">InputProcessingConfiguration</a>
247      * to use to preprocess the records before discovering the schema of the
248      * records.</p>
249      */
WithInputProcessingConfiguration(InputProcessingConfiguration && value)250     inline DiscoverInputSchemaRequest& WithInputProcessingConfiguration(InputProcessingConfiguration&& value) { SetInputProcessingConfiguration(std::move(value)); return *this;}
251 
252   private:
253 
254     Aws::String m_resourceARN;
255     bool m_resourceARNHasBeenSet;
256 
257     Aws::String m_roleARN;
258     bool m_roleARNHasBeenSet;
259 
260     InputStartingPositionConfiguration m_inputStartingPositionConfiguration;
261     bool m_inputStartingPositionConfigurationHasBeenSet;
262 
263     S3Configuration m_s3Configuration;
264     bool m_s3ConfigurationHasBeenSet;
265 
266     InputProcessingConfiguration m_inputProcessingConfiguration;
267     bool m_inputProcessingConfigurationHasBeenSet;
268   };
269 
270 } // namespace Model
271 } // namespace KinesisAnalytics
272 } // namespace Aws
273