aws-sdk-kinesisanalytics 1.0.0.rc1 → 1.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,23 +1,14 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
- module Aws
9
- module KinesisAnalytics
10
- module Errors
8
+ module Aws::KinesisAnalytics
9
+ module Errors
11
10
 
12
- extend Aws::Errors::DynamicErrors
11
+ extend Aws::Errors::DynamicErrors
13
12
 
14
- # Raised when calling #load or #data on a resource class that can not be
15
- # loaded. This can happen when:
16
- #
17
- # * A resource class has identifiers, but no data attributes.
18
- # * Resource data is only available when making an API call that
19
- # enumerates all resources of that type.
20
- class ResourceNotLoadable < RuntimeError; end
21
- end
22
13
  end
23
14
  end
@@ -1,25 +1,23 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
- module Aws
9
- module KinesisAnalytics
10
- class Resource
8
+ module Aws::KinesisAnalytics
9
+ class Resource
11
10
 
12
- # @param options ({})
13
- # @option options [Client] :client
14
- def initialize(options = {})
15
- @client = options[:client] || Client.new(options)
16
- end
17
-
18
- # @return [Client]
19
- def client
20
- @client
21
- end
11
+ # @param options ({})
12
+ # @option options [Client] :client
13
+ def initialize(options = {})
14
+ @client = options[:client] || Client.new(options)
15
+ end
22
16
 
17
+ # @return [Client]
18
+ def client
19
+ @client
23
20
  end
21
+
24
22
  end
25
23
  end
@@ -1,2215 +1,2482 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
- module Aws
9
- module KinesisAnalytics
10
- module Types
11
-
12
- # @note When making an API call, pass AddApplicationInputRequest
13
- # data as a hash:
14
- #
15
- # {
16
- # application_name: "ApplicationName", # required
17
- # current_application_version_id: 1, # required
18
- # input: { # required
19
- # name_prefix: "InAppStreamName", # required
20
- # kinesis_streams_input: {
21
- # resource_arn: "ResourceARN", # required
22
- # role_arn: "RoleARN", # required
23
- # },
24
- # kinesis_firehose_input: {
25
- # resource_arn: "ResourceARN", # required
26
- # role_arn: "RoleARN", # required
27
- # },
28
- # input_parallelism: {
29
- # count: 1,
30
- # },
31
- # input_schema: { # required
32
- # record_format: { # required
33
- # record_format_type: "JSON", # required, accepts JSON, CSV
34
- # mapping_parameters: {
35
- # json_mapping_parameters: {
36
- # record_row_path: "RecordRowPath", # required
37
- # },
38
- # csv_mapping_parameters: {
39
- # record_row_delimiter: "RecordRowDelimiter", # required
40
- # record_column_delimiter: "RecordColumnDelimiter", # required
41
- # },
42
- # },
43
- # },
44
- # record_encoding: "RecordEncoding",
45
- # record_columns: [ # required
46
- # {
47
- # name: "RecordColumnName", # required
48
- # mapping: "RecordColumnMapping",
49
- # sql_type: "RecordColumnSqlType", # required
50
- # },
51
- # ],
52
- # },
53
- # },
54
- # }
55
- # @!attribute [rw] application_name
56
- # Name of your existing Amazon Kinesis Analytics application to which
57
- # you want to add the streaming source.
58
- # @return [String]
59
- #
60
- # @!attribute [rw] current_application_version_id
61
- # Current version of your Amazon Kinesis Analytics application. You
62
- # can use the DescribeApplication operation to find the current
63
- # application version.
64
- # @return [Integer]
65
- #
66
- # @!attribute [rw] input
67
- # When you configure the application input, you specify the streaming
68
- # source, the in-application stream name that is created, and the
69
- # mapping between the two. For more information, see [Configuring
70
- # Application Input][1].
71
- #
72
- #
73
- #
74
- # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
75
- # @return [Types::Input]
76
- class AddApplicationInputRequest < Struct.new(
77
- :application_name,
78
- :current_application_version_id,
79
- :input)
80
- include Aws::Structure
81
- end
82
-
83
- class AddApplicationInputResponse < Aws::EmptyStructure; end
84
-
85
- # @note When making an API call, pass AddApplicationOutputRequest
86
- # data as a hash:
87
- #
88
- # {
89
- # application_name: "ApplicationName", # required
90
- # current_application_version_id: 1, # required
91
- # output: { # required
92
- # name: "InAppStreamName", # required
93
- # kinesis_streams_output: {
94
- # resource_arn: "ResourceARN", # required
95
- # role_arn: "RoleARN", # required
96
- # },
97
- # kinesis_firehose_output: {
98
- # resource_arn: "ResourceARN", # required
99
- # role_arn: "RoleARN", # required
100
- # },
101
- # destination_schema: { # required
102
- # record_format_type: "JSON", # accepts JSON, CSV
103
- # },
104
- # },
105
- # }
106
- # @!attribute [rw] application_name
107
- # Name of the application to which you want to add the output
108
- # configuration.
109
- # @return [String]
110
- #
111
- # @!attribute [rw] current_application_version_id
112
- # Version of the application to which you want add the output
113
- # configuration. You can use the DescribeApplication operation to get
114
- # the current application version. If the version specified is not the
115
- # current version, the `ConcurrentModificationException` is returned.
116
- # @return [Integer]
117
- #
118
- # @!attribute [rw] output
119
- # An array of objects, each describing one output configuration. In
120
- # the output configuration, you specify the name of an in-application
121
- # stream, a destination (that is, an Amazon Kinesis stream or an
122
- # Amazon Kinesis Firehose delivery stream), and record the formation
123
- # to use when writing to the destination.
124
- # @return [Types::Output]
125
- class AddApplicationOutputRequest < Struct.new(
126
- :application_name,
127
- :current_application_version_id,
128
- :output)
129
- include Aws::Structure
130
- end
131
-
132
- class AddApplicationOutputResponse < Aws::EmptyStructure; end
133
-
134
- # @note When making an API call, pass AddApplicationReferenceDataSourceRequest
135
- # data as a hash:
136
- #
137
- # {
138
- # application_name: "ApplicationName", # required
139
- # current_application_version_id: 1, # required
140
- # reference_data_source: { # required
141
- # table_name: "InAppTableName", # required
142
- # s3_reference_data_source: {
143
- # bucket_arn: "BucketARN", # required
144
- # file_key: "FileKey", # required
145
- # reference_role_arn: "RoleARN", # required
146
- # },
147
- # reference_schema: { # required
148
- # record_format: { # required
149
- # record_format_type: "JSON", # required, accepts JSON, CSV
150
- # mapping_parameters: {
151
- # json_mapping_parameters: {
152
- # record_row_path: "RecordRowPath", # required
153
- # },
154
- # csv_mapping_parameters: {
155
- # record_row_delimiter: "RecordRowDelimiter", # required
156
- # record_column_delimiter: "RecordColumnDelimiter", # required
157
- # },
158
- # },
159
- # },
160
- # record_encoding: "RecordEncoding",
161
- # record_columns: [ # required
162
- # {
163
- # name: "RecordColumnName", # required
164
- # mapping: "RecordColumnMapping",
165
- # sql_type: "RecordColumnSqlType", # required
166
- # },
167
- # ],
168
- # },
169
- # },
170
- # }
171
- # @!attribute [rw] application_name
172
- # Name of an existing application.
173
- # @return [String]
174
- #
175
- # @!attribute [rw] current_application_version_id
176
- # Version of the application for which you are adding the reference
177
- # data source. You can use the DescribeApplication operation to get
178
- # the current application version. If the version specified is not the
179
- # current version, the `ConcurrentModificationException` is returned.
180
- # @return [Integer]
181
- #
182
- # @!attribute [rw] reference_data_source
183
- # The reference data source can be an object in your Amazon S3 bucket.
184
- # Amazon Kinesis Analytics reads the object and copies the data into
185
- # the in-application table that is created. You provide an S3 bucket,
186
- # object key name, and the resulting in-application table that is
187
- # created. You must also provide an IAM role with the necessary
188
- # permissions that Amazon Kinesis Analytics can assume to read the
189
- # object from your S3 bucket on your behalf.
190
- # @return [Types::ReferenceDataSource]
191
- class AddApplicationReferenceDataSourceRequest < Struct.new(
192
- :application_name,
193
- :current_application_version_id,
194
- :reference_data_source)
195
- include Aws::Structure
196
- end
197
-
198
- class AddApplicationReferenceDataSourceResponse < Aws::EmptyStructure; end
199
-
200
- # Provides a description of the application, including the application
201
- # Amazon Resource Name (ARN), status, latest version, and input and
202
- # output configuration.
203
- # @!attribute [rw] application_name
204
- # Name of the application.
205
- # @return [String]
206
- #
207
- # @!attribute [rw] application_description
208
- # Description of the application.
209
- # @return [String]
210
- #
211
- # @!attribute [rw] application_arn
212
- # ARN of the application.
213
- # @return [String]
214
- #
215
- # @!attribute [rw] application_status
216
- # Status of the application.
217
- # @return [String]
218
- #
219
- # @!attribute [rw] create_timestamp
220
- # Timestamp when the application version was created.
221
- # @return [Time]
222
- #
223
- # @!attribute [rw] last_update_timestamp
224
- # Timestamp when the application was last updated.
225
- # @return [Time]
226
- #
227
- # @!attribute [rw] input_descriptions
228
- # Describes the application input configuration. For more information,
229
- # see [Configuring Application Input][1].
230
- #
231
- #
232
- #
233
- # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
234
- # @return [Array<Types::InputDescription>]
235
- #
236
- # @!attribute [rw] output_descriptions
237
- # Describes the application output configuration. For more
238
- # information, see [Configuring Application Output][1].
239
- #
240
- #
241
- #
242
- # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html
243
- # @return [Array<Types::OutputDescription>]
244
- #
245
- # @!attribute [rw] reference_data_source_descriptions
246
- # Describes reference data sources configured for the application. For
247
- # more information, see [Configuring Application Input][1].
248
- #
249
- #
250
- #
251
- # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
252
- # @return [Array<Types::ReferenceDataSourceDescription>]
253
- #
254
- # @!attribute [rw] application_code
255
- # Returns the application code that you provided to perform data
256
- # analysis on any of the in-application streams in your application.
257
- # @return [String]
258
- #
259
- # @!attribute [rw] application_version_id
260
- # Provides the current application version.
261
- # @return [Integer]
262
- class ApplicationDetail < Struct.new(
263
- :application_name,
264
- :application_description,
265
- :application_arn,
266
- :application_status,
267
- :create_timestamp,
268
- :last_update_timestamp,
269
- :input_descriptions,
270
- :output_descriptions,
271
- :reference_data_source_descriptions,
272
- :application_code,
273
- :application_version_id)
274
- include Aws::Structure
275
- end
276
-
277
- # Provides application summary information, including the application
278
- # Amazon Resource Name (ARN), name, and status.
279
- # @!attribute [rw] application_name
280
- # Name of the application.
281
- # @return [String]
282
- #
283
- # @!attribute [rw] application_arn
284
- # ARN of the application.
285
- # @return [String]
286
- #
287
- # @!attribute [rw] application_status
288
- # Status of the application.
289
- # @return [String]
290
- class ApplicationSummary < Struct.new(
291
- :application_name,
292
- :application_arn,
293
- :application_status)
294
- include Aws::Structure
295
- end
296
-
297
- # Describes updates to apply to an existing Kinesis Analytics
298
- # application.
299
- # @note When making an API call, pass ApplicationUpdate
300
- # data as a hash:
301
- #
302
- # {
303
- # input_updates: [
304
- # {
305
- # input_id: "Id", # required
306
- # name_prefix_update: "InAppStreamName",
307
- # kinesis_streams_input_update: {
308
- # resource_arn_update: "ResourceARN",
309
- # role_arn_update: "RoleARN",
310
- # },
311
- # kinesis_firehose_input_update: {
312
- # resource_arn_update: "ResourceARN",
313
- # role_arn_update: "RoleARN",
314
- # },
315
- # input_schema_update: {
316
- # record_format_update: {
317
- # record_format_type: "JSON", # required, accepts JSON, CSV
318
- # mapping_parameters: {
319
- # json_mapping_parameters: {
320
- # record_row_path: "RecordRowPath", # required
321
- # },
322
- # csv_mapping_parameters: {
323
- # record_row_delimiter: "RecordRowDelimiter", # required
324
- # record_column_delimiter: "RecordColumnDelimiter", # required
325
- # },
326
- # },
327
- # },
328
- # record_encoding_update: "RecordEncoding",
329
- # record_column_updates: [
330
- # {
331
- # name: "RecordColumnName", # required
332
- # mapping: "RecordColumnMapping",
333
- # sql_type: "RecordColumnSqlType", # required
334
- # },
335
- # ],
336
- # },
337
- # input_parallelism_update: {
338
- # count_update: 1,
339
- # },
340
- # },
341
- # ],
342
- # application_code_update: "ApplicationCode",
343
- # output_updates: [
344
- # {
345
- # output_id: "Id", # required
346
- # name_update: "InAppStreamName",
347
- # kinesis_streams_output_update: {
348
- # resource_arn_update: "ResourceARN",
349
- # role_arn_update: "RoleARN",
350
- # },
351
- # kinesis_firehose_output_update: {
352
- # resource_arn_update: "ResourceARN",
353
- # role_arn_update: "RoleARN",
354
- # },
355
- # destination_schema_update: {
356
- # record_format_type: "JSON", # accepts JSON, CSV
357
- # },
358
- # },
359
- # ],
360
- # reference_data_source_updates: [
361
- # {
362
- # reference_id: "Id", # required
363
- # table_name_update: "InAppTableName",
364
- # s3_reference_data_source_update: {
365
- # bucket_arn_update: "BucketARN",
366
- # file_key_update: "FileKey",
367
- # reference_role_arn_update: "RoleARN",
368
- # },
369
- # reference_schema_update: {
370
- # record_format: { # required
371
- # record_format_type: "JSON", # required, accepts JSON, CSV
372
- # mapping_parameters: {
373
- # json_mapping_parameters: {
374
- # record_row_path: "RecordRowPath", # required
375
- # },
376
- # csv_mapping_parameters: {
377
- # record_row_delimiter: "RecordRowDelimiter", # required
378
- # record_column_delimiter: "RecordColumnDelimiter", # required
379
- # },
380
- # },
381
- # },
382
- # record_encoding: "RecordEncoding",
383
- # record_columns: [ # required
384
- # {
385
- # name: "RecordColumnName", # required
386
- # mapping: "RecordColumnMapping",
387
- # sql_type: "RecordColumnSqlType", # required
388
- # },
389
- # ],
390
- # },
391
- # },
392
- # ],
393
- # }
394
- # @!attribute [rw] input_updates
395
- # Describes application input configuration updates.
396
- # @return [Array<Types::InputUpdate>]
397
- #
398
- # @!attribute [rw] application_code_update
399
- # Describes application code updates.
400
- # @return [String]
401
- #
402
- # @!attribute [rw] output_updates
403
- # Describes application output configuration updates.
404
- # @return [Array<Types::OutputUpdate>]
405
- #
406
- # @!attribute [rw] reference_data_source_updates
407
- # Describes application reference data source updates.
408
- # @return [Array<Types::ReferenceDataSourceUpdate>]
409
- class ApplicationUpdate < Struct.new(
410
- :input_updates,
411
- :application_code_update,
412
- :output_updates,
413
- :reference_data_source_updates)
414
- include Aws::Structure
415
- end
416
-
417
- # Provides additional mapping information when the record format uses
418
- # delimiters, such as CSV. For example, the following sample records use
419
- # CSV format, where the records use the *'\\n'* as the row delimiter
420
- # and a comma (",") as the column delimiter:
421
- #
422
- # `"name1", "address1" `
423
- #
424
- # `"name2, "address2"`
425
- # @note When making an API call, pass CSVMappingParameters
426
- # data as a hash:
427
- #
428
- # {
429
- # record_row_delimiter: "RecordRowDelimiter", # required
430
- # record_column_delimiter: "RecordColumnDelimiter", # required
431
- # }
432
- # @!attribute [rw] record_row_delimiter
433
- # Row delimiter. For example, in a CSV format, *'\\n'* is the
434
- # typical row delimiter.
435
- # @return [String]
436
- #
437
- # @!attribute [rw] record_column_delimiter
438
- # Column delimiter. For example, in a CSV format, a comma (",") is
439
- # the typical column delimiter.
440
- # @return [String]
441
- class CSVMappingParameters < Struct.new(
442
- :record_row_delimiter,
443
- :record_column_delimiter)
444
- include Aws::Structure
445
- end
446
-
447
- # TBD
448
- # @note When making an API call, pass CreateApplicationRequest
449
- # data as a hash:
450
- #
451
- # {
452
- # application_name: "ApplicationName", # required
453
- # application_description: "ApplicationDescription",
454
- # inputs: [
455
- # {
456
- # name_prefix: "InAppStreamName", # required
457
- # kinesis_streams_input: {
458
- # resource_arn: "ResourceARN", # required
459
- # role_arn: "RoleARN", # required
460
- # },
461
- # kinesis_firehose_input: {
462
- # resource_arn: "ResourceARN", # required
463
- # role_arn: "RoleARN", # required
464
- # },
465
- # input_parallelism: {
466
- # count: 1,
467
- # },
468
- # input_schema: { # required
469
- # record_format: { # required
470
- # record_format_type: "JSON", # required, accepts JSON, CSV
471
- # mapping_parameters: {
472
- # json_mapping_parameters: {
473
- # record_row_path: "RecordRowPath", # required
474
- # },
475
- # csv_mapping_parameters: {
476
- # record_row_delimiter: "RecordRowDelimiter", # required
477
- # record_column_delimiter: "RecordColumnDelimiter", # required
478
- # },
479
- # },
480
- # },
481
- # record_encoding: "RecordEncoding",
482
- # record_columns: [ # required
483
- # {
484
- # name: "RecordColumnName", # required
485
- # mapping: "RecordColumnMapping",
486
- # sql_type: "RecordColumnSqlType", # required
487
- # },
488
- # ],
489
- # },
490
- # },
491
- # ],
492
- # outputs: [
493
- # {
494
- # name: "InAppStreamName", # required
495
- # kinesis_streams_output: {
496
- # resource_arn: "ResourceARN", # required
497
- # role_arn: "RoleARN", # required
498
- # },
499
- # kinesis_firehose_output: {
500
- # resource_arn: "ResourceARN", # required
501
- # role_arn: "RoleARN", # required
502
- # },
503
- # destination_schema: { # required
504
- # record_format_type: "JSON", # accepts JSON, CSV
505
- # },
506
- # },
507
- # ],
508
- # application_code: "ApplicationCode",
509
- # }
510
- # @!attribute [rw] application_name
511
- # Name of your Amazon Kinesis Analytics application (for example,
512
- # `sample-app`).
513
- # @return [String]
514
- #
515
- # @!attribute [rw] application_description
516
- # Summary description of the application.
517
- # @return [String]
518
- #
519
- # @!attribute [rw] inputs
520
- # Use this parameter to configure the application input.
521
- #
522
- # You can configure your application to receive input from a single
523
- # streaming source. In this configuration, you map this streaming
524
- # source to an in-application stream that is created. Your application
525
- # code can then query the in-application stream like a table (you can
526
- # think of it as a constantly updating table).
527
- #
528
- # For the streaming source, you provide its Amazon Resource Name (ARN)
529
- # and format of data on the stream (for example, JSON, CSV, etc). You
530
- # also must provide an IAM role that Amazon Kinesis Analytics can
531
- # assume to read this stream on your behalf.
532
- #
533
- # To create the in-application stream, you need to specify a schema to
534
- # transform your data into a schematized version used in SQL. In the
535
- # schema, you provide the necessary mapping of the data elements in
536
- # the streaming source to record columns in the in-app stream.
537
- # @return [Array<Types::Input>]
538
- #
539
- # @!attribute [rw] outputs
540
- # You can configure application output to write data from any of the
541
- # in-application streams to up to five destinations.
542
- #
543
- # These destinations can be Amazon Kinesis streams, Amazon Kinesis
544
- # Firehose delivery streams, or both.
545
- #
546
- # In the configuration, you specify the in-application stream name,
547
- # the destination stream Amazon Resource Name (ARN), and the format to
548
- # use when writing data. You must also provide an IAM role that Amazon
549
- # Kinesis Analytics can assume to write to the destination stream on
550
- # your behalf.
551
- #
552
- # In the output configuration, you also provide the output stream
553
- # Amazon Resource Name (ARN) and the format of data in the stream (for
554
- # example, JSON, CSV). You also must provide an IAM role that Amazon
555
- # Kinesis Analytics can assume to write to this stream on your behalf.
556
- # @return [Array<Types::Output>]
557
- #
558
- # @!attribute [rw] application_code
559
- # One or more SQL statements that read input data, transform it, and
560
- # generate output. For example, you can write a SQL statement that
561
- # reads input data and generates a running average of the number of
562
- # advertisement clicks by vendor.
563
- #
564
- # You can also provide a series of SQL statements, where output of one
565
- # statement can be used as the input for the next statement.
566
- #
567
- # Note that the application code must create the streams with names
568
- # specified in the `Outputs`. For example, if your `Outputs` defines
569
- # output streams named `ExampleOutputStream1` and
570
- # `ExampleOutputStream2`, then your application code must create these
571
- # streams.
572
- # @return [String]
573
- class CreateApplicationRequest < Struct.new(
574
- :application_name,
575
- :application_description,
576
- :inputs,
577
- :outputs,
578
- :application_code)
579
- include Aws::Structure
580
- end
581
-
582
- # TBD
583
- # @!attribute [rw] application_summary
584
- # In response to your `CreateApplication` request, Amazon Kinesis
585
- # Analytics returns a response with a summary of the application it
586
- # created, including the application Amazon Resource Name (ARN), name,
587
- # and status.
588
- # @return [Types::ApplicationSummary]
589
- class CreateApplicationResponse < Struct.new(
590
- :application_summary)
591
- include Aws::Structure
592
- end
593
-
594
- # @note When making an API call, pass DeleteApplicationOutputRequest
595
- # data as a hash:
596
- #
597
- # {
598
- # application_name: "ApplicationName", # required
599
- # current_application_version_id: 1, # required
600
- # output_id: "Id", # required
601
- # }
602
- # @!attribute [rw] application_name
603
- # Amazon Kinesis Analytics application name.
604
- # @return [String]
605
- #
606
- # @!attribute [rw] current_application_version_id
607
- # Amazon Kinesis Analytics application version. You can use the
608
- # DescribeApplication operation to get the current application
609
- # version. If the version specified is not the current version, the
610
- # `ConcurrentModificationException` is returned.
611
- # @return [Integer]
612
- #
613
- # @!attribute [rw] output_id
614
- # The ID of the configuration to delete. Each output configuration
615
- # that is added to the application, either when the application is
616
- # created or later using the AddApplicationOutput operation, has a
617
- # unique ID. You need to provide the ID to uniquely identify the
618
- # output configuration that you want to delete from the application
619
- # configuration. You can use the DescribeApplication operation to get
620
- # the specific `OutputId`.
621
- # @return [String]
622
- class DeleteApplicationOutputRequest < Struct.new(
623
- :application_name,
624
- :current_application_version_id,
625
- :output_id)
626
- include Aws::Structure
627
- end
628
-
629
- class DeleteApplicationOutputResponse < Aws::EmptyStructure; end
630
-
631
- # @note When making an API call, pass DeleteApplicationReferenceDataSourceRequest
632
- # data as a hash:
633
- #
634
- # {
635
- # application_name: "ApplicationName", # required
636
- # current_application_version_id: 1, # required
637
- # reference_id: "Id", # required
638
- # }
639
- # @!attribute [rw] application_name
640
- # Name of an existing application.
641
- # @return [String]
642
- #
643
- # @!attribute [rw] current_application_version_id
644
- # Version of the application. You can use the DescribeApplication
645
- # operation to get the current application version. If the version
646
- # specified is not the current version, the
647
- # `ConcurrentModificationException` is returned.
648
- # @return [Integer]
649
- #
650
- # @!attribute [rw] reference_id
651
- # ID of the reference data source. When you add a reference data
652
- # source to your application using the
653
- # AddApplicationReferenceDataSource, Amazon Kinesis Analytics assigns
654
- # an ID. You can use the DescribeApplication operation to get the
655
- # reference ID.
656
- # @return [String]
657
- class DeleteApplicationReferenceDataSourceRequest < Struct.new(
658
- :application_name,
659
- :current_application_version_id,
660
- :reference_id)
661
- include Aws::Structure
662
- end
663
-
664
- class DeleteApplicationReferenceDataSourceResponse < Aws::EmptyStructure; end
665
-
666
- # @note When making an API call, pass DeleteApplicationRequest
667
- # data as a hash:
668
- #
669
- # {
670
- # application_name: "ApplicationName", # required
671
- # create_timestamp: Time.now, # required
672
- # }
673
- # @!attribute [rw] application_name
674
- # Name of the Amazon Kinesis Analytics application to delete.
675
- # @return [String]
676
- #
677
- # @!attribute [rw] create_timestamp
678
- # You can use the `DescribeApplication` operation to get this value.
679
- # @return [Time]
680
- class DeleteApplicationRequest < Struct.new(
681
- :application_name,
682
- :create_timestamp)
683
- include Aws::Structure
684
- end
685
-
686
- class DeleteApplicationResponse < Aws::EmptyStructure; end
687
-
688
- # @note When making an API call, pass DescribeApplicationRequest
689
- # data as a hash:
690
- #
691
- # {
692
- # application_name: "ApplicationName", # required
693
- # }
694
- # @!attribute [rw] application_name
695
- # Name of the application.
696
- # @return [String]
697
- class DescribeApplicationRequest < Struct.new(
698
- :application_name)
699
- include Aws::Structure
700
- end
701
-
702
- # @!attribute [rw] application_detail
703
- # Provides a description of the application, such as the application
704
- # Amazon Resource Name (ARN), status, latest version, and input and
705
- # output configuration details.
706
- # @return [Types::ApplicationDetail]
707
- class DescribeApplicationResponse < Struct.new(
708
- :application_detail)
709
- include Aws::Structure
710
- end
711
-
712
- # Describes the data format when records are written to the destination.
713
- # For more information, see [Configuring Application Output][1].
714
- #
715
- #
716
- #
717
- # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html
718
- # @note When making an API call, pass DestinationSchema
719
- # data as a hash:
720
- #
721
- # {
722
- # record_format_type: "JSON", # accepts JSON, CSV
723
- # }
724
- # @!attribute [rw] record_format_type
725
- # Specifies the format of the records on the output stream.
726
- # @return [String]
727
- class DestinationSchema < Struct.new(
728
- :record_format_type)
729
- include Aws::Structure
730
- end
731
-
732
- # @note When making an API call, pass DiscoverInputSchemaRequest
733
- # data as a hash:
734
- #
735
- # {
736
- # resource_arn: "ResourceARN", # required
737
- # role_arn: "RoleARN", # required
738
- # input_starting_position_configuration: { # required
739
- # input_starting_position: "NOW", # accepts NOW, TRIM_HORIZON, LAST_STOPPED_POINT
740
- # },
741
- # }
742
- # @!attribute [rw] resource_arn
743
- # Amazon Resource Name (ARN) of the streaming source.
744
- # @return [String]
745
- #
746
- # @!attribute [rw] role_arn
747
- # ARN of the IAM role that Amazon Kinesis Analytics can assume to
748
- # access the stream on your behalf.
749
- # @return [String]
750
- #
751
- # @!attribute [rw] input_starting_position_configuration
752
- # Point at which you want Amazon Kinesis Analytics to start reading
753
- # records from the specified streaming source discovery purposes.
754
- # @return [Types::InputStartingPositionConfiguration]
755
- class DiscoverInputSchemaRequest < Struct.new(
756
- :resource_arn,
757
- :role_arn,
758
- :input_starting_position_configuration)
759
- include Aws::Structure
760
- end
761
-
762
- # @!attribute [rw] input_schema
763
- # Schema inferred from the streaming source. It identifies the format
764
- # of the data in the streaming source and how each data element maps
765
- # to corresponding columns in the in-application stream that you can
766
- # create.
767
- # @return [Types::SourceSchema]
768
- #
769
- # @!attribute [rw] parsed_input_records
770
- # An array of elements, where each element corresponds to a row in a
771
- # stream record (a stream record can have more than one row).
772
- # @return [Array<Array<String>>]
773
- #
774
- # @!attribute [rw] raw_input_records
775
- # Raw stream data that was sampled to infer the schema.
776
- # @return [Array<String>]
777
- class DiscoverInputSchemaResponse < Struct.new(
778
- :input_schema,
779
- :parsed_input_records,
780
- :raw_input_records)
781
- include Aws::Structure
782
- end
783
-
784
- # When you configure the application input, you specify the streaming
785
- # source, the in-application stream name that is created, and the
786
- # mapping between the two. For more information, see [Configuring
787
- # Application Input][1].
788
- #
789
- #
790
- #
791
- # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
792
- # @note When making an API call, pass Input
793
- # data as a hash:
794
- #
795
- # {
796
- # name_prefix: "InAppStreamName", # required
797
- # kinesis_streams_input: {
798
- # resource_arn: "ResourceARN", # required
799
- # role_arn: "RoleARN", # required
800
- # },
801
- # kinesis_firehose_input: {
802
- # resource_arn: "ResourceARN", # required
803
- # role_arn: "RoleARN", # required
804
- # },
805
- # input_parallelism: {
806
- # count: 1,
807
- # },
808
- # input_schema: { # required
809
- # record_format: { # required
810
- # record_format_type: "JSON", # required, accepts JSON, CSV
811
- # mapping_parameters: {
812
- # json_mapping_parameters: {
813
- # record_row_path: "RecordRowPath", # required
814
- # },
815
- # csv_mapping_parameters: {
816
- # record_row_delimiter: "RecordRowDelimiter", # required
817
- # record_column_delimiter: "RecordColumnDelimiter", # required
818
- # },
819
- # },
820
- # },
821
- # record_encoding: "RecordEncoding",
822
- # record_columns: [ # required
823
- # {
824
- # name: "RecordColumnName", # required
825
- # mapping: "RecordColumnMapping",
826
- # sql_type: "RecordColumnSqlType", # required
827
- # },
828
- # ],
829
- # },
830
- # }
831
- # @!attribute [rw] name_prefix
832
- # Name prefix to use when creating in-application stream. Suppose you
833
- # specify a prefix "MyInApplicationStream". Kinesis Analytics will
834
- # then create one or more (as per the `InputParallelism` count you
835
- # specified) in-application streams with names
836
- # "MyInApplicationStream\_001", "MyInApplicationStream\_002" and
837
- # so on.
838
- # @return [String]
839
- #
840
- # @!attribute [rw] kinesis_streams_input
841
- # If the streaming source is an Amazon Kinesis stream, identifies the
842
- # stream's Amazon Resource Name (ARN) and an IAM role that enables
843
- # Amazon Kinesis Analytics to access the stream on your behalf.
844
- # @return [Types::KinesisStreamsInput]
845
- #
846
- # @!attribute [rw] kinesis_firehose_input
847
- # If the streaming source is an Amazon Kinesis Firehose delivery
848
- # stream, identifies the Firehose delivery stream's ARN and an IAM
849
- # role that enables Amazon Kinesis Analytics to access the stream on
850
- # your behalf.
851
- # @return [Types::KinesisFirehoseInput]
852
- #
853
- # @!attribute [rw] input_parallelism
854
- # Describes the number of in-application streams to create.
855
- #
856
- # Data from your source will be routed to these in-application input
857
- # streams.
858
- #
859
- # (see [Configuring Application Input][1].
860
- #
861
- #
862
- #
863
- # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
864
- # @return [Types::InputParallelism]
865
- #
866
- # @!attribute [rw] input_schema
867
- # Describes the format of the data in the streaming source, and how
868
- # each data element maps to corresponding columns in the
869
- # in-application stream that is being created.
870
- #
871
- # Also used to describe the format of the reference data source.
872
- # @return [Types::SourceSchema]
873
- class Input < Struct.new(
874
- :name_prefix,
875
- :kinesis_streams_input,
876
- :kinesis_firehose_input,
877
- :input_parallelism,
878
- :input_schema)
879
- include Aws::Structure
880
- end
881
-
882
- # When you start your application, you provide this configuration, which
883
- # identifies the input source and the point in the input source at which
884
- # you want the application to start processing records.
885
- # @note When making an API call, pass InputConfiguration
886
- # data as a hash:
887
- #
888
- # {
889
- # id: "Id", # required
890
- # input_starting_position_configuration: { # required
891
- # input_starting_position: "NOW", # accepts NOW, TRIM_HORIZON, LAST_STOPPED_POINT
892
- # },
893
- # }
894
- # @!attribute [rw] id
895
- # Input source ID. You can get this ID by calling the
896
- # DescribeApplication operation.
897
- # @return [String]
898
- #
899
- # @!attribute [rw] input_starting_position_configuration
900
- # Point at which you want the application to start processing records
901
- # from the streaming source.
902
- # @return [Types::InputStartingPositionConfiguration]
903
- class InputConfiguration < Struct.new(
904
- :id,
905
- :input_starting_position_configuration)
906
- include Aws::Structure
907
- end
908
-
909
- # Describes the application input configuration. For more information,
910
- # see [Configuring Application Input][1].
911
- #
912
- #
913
- #
914
- # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
915
- # @!attribute [rw] input_id
916
- # Input ID associated with the application input. This is the ID that
917
- # Amazon Kinesis Analytics assigns to each input configuration you add
918
- # to your application.
919
- # @return [String]
920
- #
921
- # @!attribute [rw] name_prefix
922
- # In-application name prefix.
923
- # @return [String]
924
- #
925
- # @!attribute [rw] in_app_stream_names
926
- # Returns the in-application stream names that are mapped to the
927
- # stream source.
928
- # @return [Array<String>]
929
- #
930
- # @!attribute [rw] kinesis_streams_input_description
931
- # If an Amazon Kinesis stream is configured as streaming source,
932
- # provides Amazon Kinesis stream's ARN and an IAM role that enables
933
- # Amazon Kinesis Analytics to access the stream on your behalf.
934
- # @return [Types::KinesisStreamsInputDescription]
935
- #
936
- # @!attribute [rw] kinesis_firehose_input_description
937
- # If an Amazon Kinesis Firehose delivery stream is configured as a
938
- # streaming source, provides the Firehose delivery stream's Amazon
939
- # Resource Name (ARN) and an IAM role that enables Amazon Kinesis
940
- # Analytics to access the stream on your behalf.
941
- # @return [Types::KinesisFirehoseInputDescription]
942
- #
943
- # @!attribute [rw] input_schema
944
- # Describes the format of the data in the streaming source, and how
945
- # each data element maps to corresponding columns created in the
946
- # in-application stream.
947
- # @return [Types::SourceSchema]
948
- #
949
- # @!attribute [rw] input_parallelism
950
- # Describes the configured parallelism (number of in-application
951
- # streams mapped to the streaming source).
952
- # @return [Types::InputParallelism]
953
- #
954
- # @!attribute [rw] input_starting_position_configuration
955
- # Point at which the application is configured to read from the input
956
- # stream.
957
- # @return [Types::InputStartingPositionConfiguration]
958
- class InputDescription < Struct.new(
959
- :input_id,
960
- :name_prefix,
961
- :in_app_stream_names,
962
- :kinesis_streams_input_description,
963
- :kinesis_firehose_input_description,
964
- :input_schema,
965
- :input_parallelism,
966
- :input_starting_position_configuration)
967
- include Aws::Structure
968
- end
969
-
970
- # Describes the number of in-application streams to create for a given
971
- # streaming source. For information about parallellism, see [Configuring
972
- # Application Input][1].
973
- #
974
- #
975
- #
976
- # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
977
- # @note When making an API call, pass InputParallelism
978
- # data as a hash:
979
- #
980
- # {
981
- # count: 1,
982
- # }
983
- # @!attribute [rw] count
984
- # Number of in-application streams to create. For more information,
985
- # see [Limits][1].
986
- #
987
- #
988
- #
989
- # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html
990
- # @return [Integer]
991
- class InputParallelism < Struct.new(
992
- :count)
993
- include Aws::Structure
994
- end
995
-
996
- # Provides updates to the parallelism count.
997
- # @note When making an API call, pass InputParallelismUpdate
998
- # data as a hash:
999
- #
1000
- # {
1001
- # count_update: 1,
1002
- # }
1003
- # @!attribute [rw] count_update
1004
- # Number of in-application streams to create for the specified
1005
- # streaming source.
1006
- # @return [Integer]
1007
- class InputParallelismUpdate < Struct.new(
1008
- :count_update)
1009
- include Aws::Structure
1010
- end
1011
-
1012
- # Describes updates for the application's input schema.
1013
- # @note When making an API call, pass InputSchemaUpdate
1014
- # data as a hash:
1015
- #
1016
- # {
1017
- # record_format_update: {
1018
- # record_format_type: "JSON", # required, accepts JSON, CSV
1019
- # mapping_parameters: {
1020
- # json_mapping_parameters: {
1021
- # record_row_path: "RecordRowPath", # required
1022
- # },
1023
- # csv_mapping_parameters: {
1024
- # record_row_delimiter: "RecordRowDelimiter", # required
1025
- # record_column_delimiter: "RecordColumnDelimiter", # required
1026
- # },
1027
- # },
1028
- # },
1029
- # record_encoding_update: "RecordEncoding",
1030
- # record_column_updates: [
1031
- # {
1032
- # name: "RecordColumnName", # required
1033
- # mapping: "RecordColumnMapping",
1034
- # sql_type: "RecordColumnSqlType", # required
1035
- # },
1036
- # ],
1037
- # }
1038
- # @!attribute [rw] record_format_update
1039
- # Specifies the format of the records on the streaming source.
1040
- # @return [Types::RecordFormat]
1041
- #
1042
- # @!attribute [rw] record_encoding_update
1043
- # Specifies the encoding of the records in the streaming source. For
1044
- # example, UTF-8.
1045
- # @return [String]
1046
- #
1047
- # @!attribute [rw] record_column_updates
1048
- # A list of `RecordColumn` objects. Each object describes the mapping
1049
- # of the streaming source element to the corresponding column in the
1050
- # in-application stream.
1051
- # @return [Array<Types::RecordColumn>]
1052
- class InputSchemaUpdate < Struct.new(
1053
- :record_format_update,
1054
- :record_encoding_update,
1055
- :record_column_updates)
1056
- include Aws::Structure
1057
- end
1058
-
1059
- # Describes the point at which the application reads from the streaming
1060
- # source.
1061
- # @note When making an API call, pass InputStartingPositionConfiguration
1062
- # data as a hash:
1063
- #
1064
- # {
1065
- # input_starting_position: "NOW", # accepts NOW, TRIM_HORIZON, LAST_STOPPED_POINT
1066
- # }
1067
- # @!attribute [rw] input_starting_position
1068
- # The starting position on the stream.
1069
- #
1070
- # * `LATEST` - Start reading just after the most recent record in the
1071
- # stream.
1072
- #
1073
- # * `TRIM_HORIZON` - Start reading at the last untrimmed record in the
1074
- # stream, which is the oldest record available in the stream. This
1075
- # option is not available for an Amazon Kinesis Firehose delivery
1076
- # stream.
1077
- #
1078
- # * `LAST_STOPPED_POINT` - Resume reading from where the application
1079
- # last stopped reading.
1080
- # @return [String]
1081
- class InputStartingPositionConfiguration < Struct.new(
1082
- :input_starting_position)
1083
- include Aws::Structure
1084
- end
1085
-
1086
- # Describes updates to a specific input configuration (identified by the
1087
- # `InputId` of an application).
1088
- # @note When making an API call, pass InputUpdate
1089
- # data as a hash:
1090
- #
1091
- # {
1092
- # input_id: "Id", # required
1093
- # name_prefix_update: "InAppStreamName",
1094
- # kinesis_streams_input_update: {
1095
- # resource_arn_update: "ResourceARN",
1096
- # role_arn_update: "RoleARN",
1097
- # },
1098
- # kinesis_firehose_input_update: {
1099
- # resource_arn_update: "ResourceARN",
1100
- # role_arn_update: "RoleARN",
1101
- # },
1102
- # input_schema_update: {
1103
- # record_format_update: {
1104
- # record_format_type: "JSON", # required, accepts JSON, CSV
1105
- # mapping_parameters: {
1106
- # json_mapping_parameters: {
1107
- # record_row_path: "RecordRowPath", # required
1108
- # },
1109
- # csv_mapping_parameters: {
1110
- # record_row_delimiter: "RecordRowDelimiter", # required
1111
- # record_column_delimiter: "RecordColumnDelimiter", # required
1112
- # },
1113
- # },
1114
- # },
1115
- # record_encoding_update: "RecordEncoding",
1116
- # record_column_updates: [
1117
- # {
1118
- # name: "RecordColumnName", # required
1119
- # mapping: "RecordColumnMapping",
1120
- # sql_type: "RecordColumnSqlType", # required
1121
- # },
1122
- # ],
1123
- # },
1124
- # input_parallelism_update: {
1125
- # count_update: 1,
1126
- # },
1127
- # }
1128
- # @!attribute [rw] input_id
1129
- # Input ID of the application input to be updated.
1130
- # @return [String]
1131
- #
1132
- # @!attribute [rw] name_prefix_update
1133
- # Name prefix for in-application stream(s) that Kinesis Analytics
1134
- # creates for the specific streaming source.
1135
- # @return [String]
1136
- #
1137
- # @!attribute [rw] kinesis_streams_input_update
1138
- # If a Amazon Kinesis stream is the streaming source to be updated,
1139
- # provides an updated stream ARN and IAM role ARN.
1140
- # @return [Types::KinesisStreamsInputUpdate]
1141
- #
1142
- # @!attribute [rw] kinesis_firehose_input_update
1143
- # If an Amazon Kinesis Firehose delivery stream is the streaming
1144
- # source to be updated, provides an updated stream Amazon Resource
1145
- # Name (ARN) and IAM role ARN.
1146
- # @return [Types::KinesisFirehoseInputUpdate]
1147
- #
1148
- # @!attribute [rw] input_schema_update
1149
- # Describes the data format on the streaming source, and how record
1150
- # elements on the streaming source map to columns of the
1151
- # in-application stream that is created.
1152
- # @return [Types::InputSchemaUpdate]
1153
- #
1154
- # @!attribute [rw] input_parallelism_update
1155
- # Describes the parallelism updates (the number in-application streams
1156
- # Kinesis Analytics creates for the specific streaming source).
1157
- # @return [Types::InputParallelismUpdate]
1158
- class InputUpdate < Struct.new(
1159
- :input_id,
1160
- :name_prefix_update,
1161
- :kinesis_streams_input_update,
1162
- :kinesis_firehose_input_update,
1163
- :input_schema_update,
1164
- :input_parallelism_update)
1165
- include Aws::Structure
1166
- end
1167
-
1168
- # Provides additional mapping information when JSON is the record format
1169
- # on the streaming source.
1170
- # @note When making an API call, pass JSONMappingParameters
1171
- # data as a hash:
1172
- #
1173
- # {
1174
- # record_row_path: "RecordRowPath", # required
1175
- # }
1176
- # @!attribute [rw] record_row_path
1177
- # Path to the top-level parent that contains the records.
1178
- #
1179
- # For example, consider the following JSON record:
1180
- #
1181
- # In the `RecordRowPath`, `"$"` refers to the root and path
1182
- # `"$.vehicle.Model"` refers to the specific `"Model"` key in the
1183
- # JSON.
1184
- # @return [String]
1185
- class JSONMappingParameters < Struct.new(
1186
- :record_row_path)
1187
- include Aws::Structure
1188
- end
1189
-
1190
- # Identifies an Amazon Kinesis Firehose delivery stream as the streaming
1191
- # source. You provide the Firehose delivery stream's Amazon Resource
1192
- # Name (ARN) and an IAM role ARN that enables Amazon Kinesis Analytics
1193
- # to access the stream on your behalf.
1194
- # @note When making an API call, pass KinesisFirehoseInput
1195
- # data as a hash:
1196
- #
1197
- # {
1198
- # resource_arn: "ResourceARN", # required
1199
- # role_arn: "RoleARN", # required
1200
- # }
1201
- # @!attribute [rw] resource_arn
1202
- # ARN of the input Firehose delivery stream.
1203
- # @return [String]
1204
- #
1205
- # @!attribute [rw] role_arn
1206
- # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1207
- # access the stream on your behalf. You need to make sure the role has
1208
- # necessary permissions to access the stream.
1209
- # @return [String]
1210
- class KinesisFirehoseInput < Struct.new(
1211
- :resource_arn,
1212
- :role_arn)
1213
- include Aws::Structure
1214
- end
1215
-
1216
- # Describes the Amazon Kinesis Firehose delivery stream that is
1217
- # configured as the streaming source in the application input
1218
- # configuration.
1219
- # @!attribute [rw] resource_arn
1220
- # Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery
1221
- # stream.
1222
- # @return [String]
1223
- #
1224
- # @!attribute [rw] role_arn
1225
- # ARN of the IAM role that Amazon Kinesis Analytics assumes to access
1226
- # the stream.
1227
- # @return [String]
1228
- class KinesisFirehoseInputDescription < Struct.new(
1229
- :resource_arn,
1230
- :role_arn)
1231
- include Aws::Structure
1232
- end
1233
-
1234
- # When updating application input configuration, provides information
1235
- # about an Amazon Kinesis Firehose delivery stream as the streaming
1236
- # source.
1237
- # @note When making an API call, pass KinesisFirehoseInputUpdate
1238
- # data as a hash:
1239
- #
1240
- # {
1241
- # resource_arn_update: "ResourceARN",
1242
- # role_arn_update: "RoleARN",
1243
- # }
1244
- # @!attribute [rw] resource_arn_update
1245
- # ARN of the input Amazon Kinesis Firehose delivery stream to read.
1246
- # @return [String]
1247
- #
1248
- # @!attribute [rw] role_arn_update
1249
- # Amazon Resource Name (ARN) of the IAM role that Amazon Kinesis
1250
- # Analytics can assume to access the stream on your behalf. You need
1251
- # to grant necessary permissions to this role.
1252
- # @return [String]
1253
- class KinesisFirehoseInputUpdate < Struct.new(
1254
- :resource_arn_update,
1255
- :role_arn_update)
1256
- include Aws::Structure
1257
- end
1258
-
1259
- # When configuring application output, identifies an Amazon Kinesis
1260
- # Firehose delivery stream as the destination. You provide the stream
1261
- # Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis
1262
- # Analytics to write to the stream on your behalf.
1263
- # @note When making an API call, pass KinesisFirehoseOutput
1264
- # data as a hash:
1265
- #
1266
- # {
1267
- # resource_arn: "ResourceARN", # required
1268
- # role_arn: "RoleARN", # required
1269
- # }
1270
- # @!attribute [rw] resource_arn
1271
- # ARN of the destination Amazon Kinesis Firehose delivery stream to
1272
- # write to.
1273
- # @return [String]
1274
- #
1275
- # @!attribute [rw] role_arn
1276
- # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1277
- # write to the destination stream on your behalf. You need to grant
1278
- # the necessary permissions to this role.
1279
- # @return [String]
1280
- class KinesisFirehoseOutput < Struct.new(
1281
- :resource_arn,
1282
- :role_arn)
1283
- include Aws::Structure
1284
- end
1285
-
1286
- # For an application output, describes the Amazon Kinesis Firehose
1287
- # delivery stream configured as its destination.
1288
- # @!attribute [rw] resource_arn
1289
- # Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery
1290
- # stream.
1291
- # @return [String]
1292
- #
1293
- # @!attribute [rw] role_arn
1294
- # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1295
- # access the stream.
1296
- # @return [String]
1297
- class KinesisFirehoseOutputDescription < Struct.new(
1298
- :resource_arn,
1299
- :role_arn)
1300
- include Aws::Structure
1301
- end
1302
-
1303
- # When updating an output configuration using the UpdateApplication
1304
- # operation, provides information about an Amazon Kinesis Firehose
1305
- # delivery stream configured as the destination.
1306
- # @note When making an API call, pass KinesisFirehoseOutputUpdate
1307
- # data as a hash:
1308
- #
1309
- # {
1310
- # resource_arn_update: "ResourceARN",
1311
- # role_arn_update: "RoleARN",
1312
- # }
1313
- # @!attribute [rw] resource_arn_update
1314
- # Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery
1315
- # stream to write to.
1316
- # @return [String]
1317
- #
1318
- # @!attribute [rw] role_arn_update
1319
- # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1320
- # access the stream on your behalf. You need to grant necessary
1321
- # permissions to this role.
1322
- # @return [String]
1323
- class KinesisFirehoseOutputUpdate < Struct.new(
1324
- :resource_arn_update,
1325
- :role_arn_update)
1326
- include Aws::Structure
1327
- end
1328
-
1329
- # Identifies an Amazon Kinesis stream as the streaming source. You
1330
- # provide the stream's ARN and an IAM role ARN that enables Amazon
1331
- # Kinesis Analytics to access the stream on your behalf.
1332
- # @note When making an API call, pass KinesisStreamsInput
1333
- # data as a hash:
1334
- #
1335
- # {
1336
- # resource_arn: "ResourceARN", # required
1337
- # role_arn: "RoleARN", # required
1338
- # }
1339
- # @!attribute [rw] resource_arn
1340
- # ARN of the input Amazon Kinesis stream to read.
1341
- # @return [String]
1342
- #
1343
- # @!attribute [rw] role_arn
1344
- # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1345
- # access the stream on your behalf. You need to grant the necessary
1346
- # permissions to this role.
1347
- # @return [String]
1348
- class KinesisStreamsInput < Struct.new(
1349
- :resource_arn,
1350
- :role_arn)
1351
- include Aws::Structure
1352
- end
1353
-
1354
- # Describes the Amazon Kinesis stream that is configured as the
1355
- # streaming source in the application input configuration.
1356
- # @!attribute [rw] resource_arn
1357
- # Amazon Resource Name (ARN) of the Amazon Kinesis stream.
1358
- # @return [String]
1359
- #
1360
- # @!attribute [rw] role_arn
1361
- # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1362
- # access the stream.
1363
- # @return [String]
1364
- class KinesisStreamsInputDescription < Struct.new(
1365
- :resource_arn,
1366
- :role_arn)
1367
- include Aws::Structure
1368
- end
1369
-
1370
- # When updating application input configuration, provides information
1371
- # about an Amazon Kinesis stream as the streaming source.
1372
- # @note When making an API call, pass KinesisStreamsInputUpdate
1373
- # data as a hash:
1374
- #
1375
- # {
1376
- # resource_arn_update: "ResourceARN",
1377
- # role_arn_update: "RoleARN",
1378
- # }
1379
- # @!attribute [rw] resource_arn_update
1380
- # Amazon Resource Name (ARN) of the input Amazon Kinesis stream to
1381
- # read.
1382
- # @return [String]
1383
- #
1384
- # @!attribute [rw] role_arn_update
1385
- # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1386
- # access the stream on your behalf. You need to grant the necessary
1387
- # permissions to this role.
1388
- # @return [String]
1389
- class KinesisStreamsInputUpdate < Struct.new(
1390
- :resource_arn_update,
1391
- :role_arn_update)
1392
- include Aws::Structure
1393
- end
1394
-
1395
- # When configuring application output, identifies a Amazon Kinesis
1396
- # stream as the destination. You provide the stream Amazon Resource Name
1397
- # (ARN) and also an IAM role ARN that Amazon Kinesis Analytics can use
1398
- # to write to the stream on your behalf.
1399
- # @note When making an API call, pass KinesisStreamsOutput
1400
- # data as a hash:
1401
- #
1402
- # {
1403
- # resource_arn: "ResourceARN", # required
1404
- # role_arn: "RoleARN", # required
1405
- # }
1406
- # @!attribute [rw] resource_arn
1407
- # ARN of the destination Amazon Kinesis stream to write to.
1408
- # @return [String]
1409
- #
1410
- # @!attribute [rw] role_arn
1411
- # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1412
- # write to the destination stream on your behalf. You need to grant
1413
- # the necessary permissions to this role.
1414
- # @return [String]
1415
- class KinesisStreamsOutput < Struct.new(
1416
- :resource_arn,
1417
- :role_arn)
1418
- include Aws::Structure
1419
- end
1420
-
1421
- # For an application output, describes the Amazon Kinesis stream
1422
- # configured as its destination.
1423
- # @!attribute [rw] resource_arn
1424
- # Amazon Resource Name (ARN) of the Amazon Kinesis stream.
1425
- # @return [String]
1426
- #
1427
- # @!attribute [rw] role_arn
1428
- # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1429
- # access the stream.
1430
- # @return [String]
1431
- class KinesisStreamsOutputDescription < Struct.new(
1432
- :resource_arn,
1433
- :role_arn)
1434
- include Aws::Structure
1435
- end
1436
-
1437
- # When updating an output configuration using the UpdateApplication
1438
- # operation, provides information about an Amazon Kinesis stream
1439
- # configured as the destination.
1440
- # @note When making an API call, pass KinesisStreamsOutputUpdate
1441
- # data as a hash:
1442
- #
1443
- # {
1444
- # resource_arn_update: "ResourceARN",
1445
- # role_arn_update: "RoleARN",
1446
- # }
1447
- # @!attribute [rw] resource_arn_update
1448
- # Amazon Resource Name (ARN) of the Amazon Kinesis stream where you
1449
- # want to write the output.
1450
- # @return [String]
1451
- #
1452
- # @!attribute [rw] role_arn_update
1453
- # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1454
- # access the stream on your behalf. You need to grant the necessary
1455
- # permissions to this role.
1456
- # @return [String]
1457
- class KinesisStreamsOutputUpdate < Struct.new(
1458
- :resource_arn_update,
1459
- :role_arn_update)
1460
- include Aws::Structure
1461
- end
1462
-
1463
- # @note When making an API call, pass ListApplicationsRequest
1464
- # data as a hash:
1465
- #
1466
- # {
1467
- # limit: 1,
1468
- # exclusive_start_application_name: "ApplicationName",
1469
- # }
1470
- # @!attribute [rw] limit
1471
- # Maximum number of applications to list.
1472
- # @return [Integer]
1473
- #
1474
- # @!attribute [rw] exclusive_start_application_name
1475
- # Name of the application to start the list with. When using
1476
- # pagination to retrieve the list, you don't need to specify this
1477
- # parameter in the first request. However, in subsequent requests, you
1478
- # add the last application name from the previous response to get the
1479
- # next page of applications.
1480
- # @return [String]
1481
- class ListApplicationsRequest < Struct.new(
1482
- :limit,
1483
- :exclusive_start_application_name)
1484
- include Aws::Structure
1485
- end
1486
-
1487
- # @!attribute [rw] application_summaries
1488
- # List of `ApplicationSummary` objects.
1489
- # @return [Array<Types::ApplicationSummary>]
1490
- #
1491
- # @!attribute [rw] has_more_applications
1492
- # Returns true if there are more applications to retrieve.
1493
- # @return [Boolean]
1494
- class ListApplicationsResponse < Struct.new(
1495
- :application_summaries,
1496
- :has_more_applications)
1497
- include Aws::Structure
1498
- end
1499
-
1500
- # When configuring application input at the time of creating or updating
1501
- # an application, provides additional mapping information specific to
1502
- # the record format (such as JSON, CSV, or record fields delimited by
1503
- # some delimiter) on the streaming source.
1504
- # @note When making an API call, pass MappingParameters
1505
- # data as a hash:
1506
- #
1507
- # {
1508
- # json_mapping_parameters: {
1509
- # record_row_path: "RecordRowPath", # required
1510
- # },
1511
- # csv_mapping_parameters: {
1512
- # record_row_delimiter: "RecordRowDelimiter", # required
1513
- # record_column_delimiter: "RecordColumnDelimiter", # required
1514
- # },
1515
- # }
1516
- # @!attribute [rw] json_mapping_parameters
1517
- # Provides additional mapping information when JSON is the record
1518
- # format on the streaming source.
1519
- # @return [Types::JSONMappingParameters]
1520
- #
1521
- # @!attribute [rw] csv_mapping_parameters
1522
- # Provides additional mapping information when the record format uses
1523
- # delimiters (for example, CSV).
1524
- # @return [Types::CSVMappingParameters]
1525
- class MappingParameters < Struct.new(
1526
- :json_mapping_parameters,
1527
- :csv_mapping_parameters)
1528
- include Aws::Structure
1529
- end
1530
-
1531
- # Describes application output configuration in which you identify an
1532
- # in-application stream and a destination where you want the
1533
- # in-application stream data to be written. The destination can be an
1534
- # Amazon Kinesis stream or an Amazon Kinesis Firehose delivery stream.
1535
- #
1536
- #
1537
- #
1538
- # You can configure your application to write output to up to five
1539
- # destinations.
1540
- # @note When making an API call, pass Output
1541
- # data as a hash:
1542
- #
1543
- # {
1544
- # name: "InAppStreamName", # required
1545
- # kinesis_streams_output: {
1546
- # resource_arn: "ResourceARN", # required
1547
- # role_arn: "RoleARN", # required
1548
- # },
1549
- # kinesis_firehose_output: {
1550
- # resource_arn: "ResourceARN", # required
1551
- # role_arn: "RoleARN", # required
1552
- # },
1553
- # destination_schema: { # required
1554
- # record_format_type: "JSON", # accepts JSON, CSV
1555
- # },
1556
- # }
1557
- # @!attribute [rw] name
1558
- # Name of the in-application stream.
1559
- # @return [String]
1560
- #
1561
- # @!attribute [rw] kinesis_streams_output
1562
- # Identifies an Amazon Kinesis stream as the destination.
1563
- # @return [Types::KinesisStreamsOutput]
1564
- #
1565
- # @!attribute [rw] kinesis_firehose_output
1566
- # Identifies an Amazon Kinesis Firehose delivery stream as the
1567
- # destination.
1568
- # @return [Types::KinesisFirehoseOutput]
1569
- #
1570
- # @!attribute [rw] destination_schema
1571
- # Describes the data format when records are written to the
1572
- # destination. For more information, see [Configuring Application
1573
- # Output][1].
1574
- #
1575
- #
1576
- #
1577
- # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html
1578
- # @return [Types::DestinationSchema]
1579
- class Output < Struct.new(
1580
- :name,
1581
- :kinesis_streams_output,
1582
- :kinesis_firehose_output,
1583
- :destination_schema)
1584
- include Aws::Structure
1585
- end
1586
-
1587
- # Describes the application output configuration, which includes the
1588
- # in-application stream name and the destination where the stream data
1589
- # is written. The destination can be an Amazon Kinesis stream or an
1590
- # Amazon Kinesis Firehose delivery stream.
1591
- # @!attribute [rw] output_id
1592
- # A unique identifier for the output configuration.
1593
- # @return [String]
1594
- #
1595
- # @!attribute [rw] name
1596
- # Name of the in-application stream configured as output.
1597
- # @return [String]
1598
- #
1599
- # @!attribute [rw] kinesis_streams_output_description
1600
- # Describes Amazon Kinesis stream configured as the destination where
1601
- # output is written.
1602
- # @return [Types::KinesisStreamsOutputDescription]
1603
- #
1604
- # @!attribute [rw] kinesis_firehose_output_description
1605
- # Describes the Amazon Kinesis Firehose delivery stream configured as
1606
- # the destination where output is written.
1607
- # @return [Types::KinesisFirehoseOutputDescription]
1608
- #
1609
- # @!attribute [rw] destination_schema
1610
- # Data format used for writing data to the destination.
1611
- # @return [Types::DestinationSchema]
1612
- class OutputDescription < Struct.new(
1613
- :output_id,
1614
- :name,
1615
- :kinesis_streams_output_description,
1616
- :kinesis_firehose_output_description,
1617
- :destination_schema)
1618
- include Aws::Structure
1619
- end
1620
-
1621
- # Describes updates to the output configuration identified by the
1622
- # `OutputId`.
1623
- # @note When making an API call, pass OutputUpdate
1624
- # data as a hash:
1625
- #
1626
- # {
1627
- # output_id: "Id", # required
1628
- # name_update: "InAppStreamName",
1629
- # kinesis_streams_output_update: {
1630
- # resource_arn_update: "ResourceARN",
1631
- # role_arn_update: "RoleARN",
1632
- # },
1633
- # kinesis_firehose_output_update: {
1634
- # resource_arn_update: "ResourceARN",
1635
- # role_arn_update: "RoleARN",
1636
- # },
1637
- # destination_schema_update: {
1638
- # record_format_type: "JSON", # accepts JSON, CSV
1639
- # },
1640
- # }
1641
- # @!attribute [rw] output_id
1642
- # Identifies the specific output configuration that you want to
1643
- # update.
1644
- # @return [String]
1645
- #
1646
- # @!attribute [rw] name_update
1647
- # If you want to specify a different in-application stream for this
1648
- # output configuration, use this field to specify the new
1649
- # in-application stream name.
1650
- # @return [String]
1651
- #
1652
- # @!attribute [rw] kinesis_streams_output_update
1653
- # Describes an Amazon Kinesis stream as the destination for the
1654
- # output.
1655
- # @return [Types::KinesisStreamsOutputUpdate]
1656
- #
1657
- # @!attribute [rw] kinesis_firehose_output_update
1658
- # Describes a Amazon Kinesis Firehose delivery stream as the
1659
- # destination for the output.
1660
- # @return [Types::KinesisFirehoseOutputUpdate]
1661
- #
1662
- # @!attribute [rw] destination_schema_update
1663
- # Describes the data format when records are written to the
1664
- # destination. For more information, see [Configuring Application
1665
- # Output][1].
1666
- #
1667
- #
1668
- #
1669
- # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html
1670
- # @return [Types::DestinationSchema]
1671
- class OutputUpdate < Struct.new(
1672
- :output_id,
1673
- :name_update,
1674
- :kinesis_streams_output_update,
1675
- :kinesis_firehose_output_update,
1676
- :destination_schema_update)
1677
- include Aws::Structure
1678
- end
1679
-
1680
- # Describes the mapping of each data element in the streaming source to
1681
- # the corresponding column in the in-application stream.
1682
- #
1683
- # Also used to describe the format of the reference data source.
1684
- # @note When making an API call, pass RecordColumn
1685
- # data as a hash:
1686
- #
1687
- # {
1688
- # name: "RecordColumnName", # required
1689
- # mapping: "RecordColumnMapping",
1690
- # sql_type: "RecordColumnSqlType", # required
1691
- # }
1692
- # @!attribute [rw] name
1693
- # Name of the column created in the in-application input stream or
1694
- # reference table.
1695
- # @return [String]
1696
- #
1697
- # @!attribute [rw] mapping
1698
- # Reference to the data element in the streaming input of the
1699
- # reference data source.
1700
- # @return [String]
1701
- #
1702
- # @!attribute [rw] sql_type
1703
- # Type of column created in the in-application input stream or
1704
- # reference table.
1705
- # @return [String]
1706
- class RecordColumn < Struct.new(
1707
- :name,
1708
- :mapping,
1709
- :sql_type)
1710
- include Aws::Structure
1711
- end
1712
-
1713
- # Describes the record format and relevant mapping information that
1714
- # should be applied to schematize the records on the stream.
1715
- # @note When making an API call, pass RecordFormat
1716
- # data as a hash:
1717
- #
1718
- # {
1719
- # record_format_type: "JSON", # required, accepts JSON, CSV
1720
- # mapping_parameters: {
1721
- # json_mapping_parameters: {
1722
- # record_row_path: "RecordRowPath", # required
1723
- # },
1724
- # csv_mapping_parameters: {
1725
- # record_row_delimiter: "RecordRowDelimiter", # required
1726
- # record_column_delimiter: "RecordColumnDelimiter", # required
1727
- # },
1728
- # },
1729
- # }
1730
- # @!attribute [rw] record_format_type
1731
- # The type of record format.
1732
- # @return [String]
1733
- #
1734
- # @!attribute [rw] mapping_parameters
1735
- # When configuring application input at the time of creating or
1736
- # updating an application, provides additional mapping information
1737
- # specific to the record format (such as JSON, CSV, or record fields
1738
- # delimited by some delimiter) on the streaming source.
1739
- # @return [Types::MappingParameters]
1740
- class RecordFormat < Struct.new(
1741
- :record_format_type,
1742
- :mapping_parameters)
1743
- include Aws::Structure
1744
- end
1745
-
1746
- # Describes the reference data source by providing the source
1747
- # information (S3 bucket name and object key name), the resulting
1748
- # in-application table name that is created, and the necessary schema to
1749
- # map the data elements in the Amazon S3 object to the in-application
1750
- # table.
1751
- # @note When making an API call, pass ReferenceDataSource
1752
- # data as a hash:
1753
- #
1754
- # {
1755
- # table_name: "InAppTableName", # required
1756
- # s3_reference_data_source: {
1757
- # bucket_arn: "BucketARN", # required
1758
- # file_key: "FileKey", # required
1759
- # reference_role_arn: "RoleARN", # required
1760
- # },
1761
- # reference_schema: { # required
1762
- # record_format: { # required
1763
- # record_format_type: "JSON", # required, accepts JSON, CSV
1764
- # mapping_parameters: {
1765
- # json_mapping_parameters: {
1766
- # record_row_path: "RecordRowPath", # required
1767
- # },
1768
- # csv_mapping_parameters: {
1769
- # record_row_delimiter: "RecordRowDelimiter", # required
1770
- # record_column_delimiter: "RecordColumnDelimiter", # required
1771
- # },
1772
- # },
1773
- # },
1774
- # record_encoding: "RecordEncoding",
1775
- # record_columns: [ # required
1776
- # {
1777
- # name: "RecordColumnName", # required
1778
- # mapping: "RecordColumnMapping",
1779
- # sql_type: "RecordColumnSqlType", # required
1780
- # },
1781
- # ],
1782
- # },
1783
- # }
1784
- # @!attribute [rw] table_name
1785
- # Name of the in-application table to create.
1786
- # @return [String]
1787
- #
1788
- # @!attribute [rw] s3_reference_data_source
1789
- # Identifies the S3 bucket and object that contains the reference
1790
- # data. Also identifies the IAM role Amazon Kinesis Analytics can
1791
- # assume to read this object on your behalf.
1792
- #
1793
- # An Amazon Kinesis Analytics application loads reference data only
1794
- # once. If the data changes, you call the UpdateApplication operation
1795
- # to trigger reloading of data into your application.
1796
- # @return [Types::S3ReferenceDataSource]
1797
- #
1798
- # @!attribute [rw] reference_schema
1799
- # Describes the format of the data in the streaming source, and how
1800
- # each data element maps to corresponding columns created in the
1801
- # in-application stream.
1802
- # @return [Types::SourceSchema]
1803
- class ReferenceDataSource < Struct.new(
1804
- :table_name,
1805
- :s3_reference_data_source,
1806
- :reference_schema)
1807
- include Aws::Structure
1808
- end
1809
-
1810
- # Describes the reference data source configured for an application.
1811
- # @!attribute [rw] reference_id
1812
- # ID of the reference data source. This is the ID that Amazon Kinesis
1813
- # Analytics assigns when you add the reference data source to your
1814
- # application using the AddApplicationReferenceDataSource operation.
1815
- # @return [String]
1816
- #
1817
- # @!attribute [rw] table_name
1818
- # The in-application table name created by the specific reference data
1819
- # source configuration.
1820
- # @return [String]
1821
- #
1822
- # @!attribute [rw] s3_reference_data_source_description
1823
- # Provides the S3 bucket name, the object key name that contains the
1824
- # reference data. It also provides the Amazon Resource Name (ARN) of
1825
- # the IAM role that Amazon Kinesis Analytics can assume to read the
1826
- # Amazon S3 object and populate the in-application reference table.
1827
- # @return [Types::S3ReferenceDataSourceDescription]
1828
- #
1829
- # @!attribute [rw] reference_schema
1830
- # Describes the format of the data in the streaming source, and how
1831
- # each data element maps to corresponding columns created in the
1832
- # in-application stream.
1833
- # @return [Types::SourceSchema]
1834
- class ReferenceDataSourceDescription < Struct.new(
1835
- :reference_id,
1836
- :table_name,
1837
- :s3_reference_data_source_description,
1838
- :reference_schema)
1839
- include Aws::Structure
1840
- end
1841
-
1842
- # When you update a reference data source configuration for an
1843
- # application, this object provides all the updated values (such as the
1844
- # source bucket name and object key name), the in-application table name
1845
- # that is created, and updated mapping information that maps the data in
1846
- # the Amazon S3 object to the in-application reference table that is
1847
- # created.
1848
- # @note When making an API call, pass ReferenceDataSourceUpdate
1849
- # data as a hash:
1850
- #
1851
- # {
1852
- # reference_id: "Id", # required
1853
- # table_name_update: "InAppTableName",
1854
- # s3_reference_data_source_update: {
1855
- # bucket_arn_update: "BucketARN",
1856
- # file_key_update: "FileKey",
1857
- # reference_role_arn_update: "RoleARN",
1858
- # },
1859
- # reference_schema_update: {
1860
- # record_format: { # required
1861
- # record_format_type: "JSON", # required, accepts JSON, CSV
1862
- # mapping_parameters: {
1863
- # json_mapping_parameters: {
1864
- # record_row_path: "RecordRowPath", # required
1865
- # },
1866
- # csv_mapping_parameters: {
1867
- # record_row_delimiter: "RecordRowDelimiter", # required
1868
- # record_column_delimiter: "RecordColumnDelimiter", # required
1869
- # },
1870
- # },
1871
- # },
1872
- # record_encoding: "RecordEncoding",
1873
- # record_columns: [ # required
1874
- # {
1875
- # name: "RecordColumnName", # required
1876
- # mapping: "RecordColumnMapping",
1877
- # sql_type: "RecordColumnSqlType", # required
1878
- # },
1879
- # ],
1880
- # },
1881
- # }
1882
- # @!attribute [rw] reference_id
1883
- # ID of the reference data source being updated. You can use the
1884
- # DescribeApplication operation to get this value.
1885
- # @return [String]
1886
- #
1887
- # @!attribute [rw] table_name_update
1888
- # In-application table name that is created by this update.
1889
- # @return [String]
1890
- #
1891
- # @!attribute [rw] s3_reference_data_source_update
1892
- # Describes the S3 bucket name, object key name, and IAM role that
1893
- # Amazon Kinesis Analytics can assume to read the Amazon S3 object on
1894
- # your behalf and populate the in-application reference table.
1895
- # @return [Types::S3ReferenceDataSourceUpdate]
1896
- #
1897
- # @!attribute [rw] reference_schema_update
1898
- # Describes the format of the data in the streaming source, and how
1899
- # each data element maps to corresponding columns created in the
1900
- # in-application stream.
1901
- # @return [Types::SourceSchema]
1902
- class ReferenceDataSourceUpdate < Struct.new(
1903
- :reference_id,
1904
- :table_name_update,
1905
- :s3_reference_data_source_update,
1906
- :reference_schema_update)
1907
- include Aws::Structure
1908
- end
1909
-
1910
- # Identifies the S3 bucket and object that contains the reference data.
1911
- # Also identifies the IAM role Amazon Kinesis Analytics can assume to
1912
- # read this object on your behalf.
1913
- #
1914
- # An Amazon Kinesis Analytics application loads reference data only
1915
- # once. If the data changes, you call the UpdateApplication operation to
1916
- # trigger reloading of data into your application.
1917
- # @note When making an API call, pass S3ReferenceDataSource
1918
- # data as a hash:
1919
- #
1920
- # {
1921
- # bucket_arn: "BucketARN", # required
1922
- # file_key: "FileKey", # required
1923
- # reference_role_arn: "RoleARN", # required
1924
- # }
1925
- # @!attribute [rw] bucket_arn
1926
- # Amazon Resource Name (ARN) of the S3 bucket.
1927
- # @return [String]
1928
- #
1929
- # @!attribute [rw] file_key
1930
- # Object key name containing reference data.
1931
- # @return [String]
1932
- #
1933
- # @!attribute [rw] reference_role_arn
1934
- # ARN of the IAM role that the service can assume to read data on your
1935
- # behalf. This role must have permission for the `s3:GetObject` action
1936
- # on the object and trust policy that allows Amazon Kinesis Analytics
1937
- # service principal to assume this role.
1938
- # @return [String]
1939
- class S3ReferenceDataSource < Struct.new(
1940
- :bucket_arn,
1941
- :file_key,
1942
- :reference_role_arn)
1943
- include Aws::Structure
1944
- end
1945
-
1946
- # Provides the bucket name and object key name that stores the reference
1947
- # data.
1948
- # @!attribute [rw] bucket_arn
1949
- # Amazon Resource Name (ARN) of the S3 bucket.
1950
- # @return [String]
1951
- #
1952
- # @!attribute [rw] file_key
1953
- # Amazon S3 object key name.
1954
- # @return [String]
1955
- #
1956
- # @!attribute [rw] reference_role_arn
1957
- # ARN of the IAM role that Amazon Kinesis Analytics can assume to read
1958
- # the Amazon S3 object on your behalf to populate the in-application
1959
- # reference table.
1960
- # @return [String]
1961
- class S3ReferenceDataSourceDescription < Struct.new(
1962
- :bucket_arn,
1963
- :file_key,
1964
- :reference_role_arn)
1965
- include Aws::Structure
1966
- end
1967
-
1968
- # Describes the S3 bucket name, object key name, and IAM role that
1969
- # Amazon Kinesis Analytics can assume to read the Amazon S3 object on
1970
- # your behalf and populate the in-application reference table.
1971
- # @note When making an API call, pass S3ReferenceDataSourceUpdate
1972
- # data as a hash:
1973
- #
1974
- # {
1975
- # bucket_arn_update: "BucketARN",
1976
- # file_key_update: "FileKey",
1977
- # reference_role_arn_update: "RoleARN",
1978
- # }
1979
- # @!attribute [rw] bucket_arn_update
1980
- # Amazon Resource Name (ARN) of the S3 bucket.
1981
- # @return [String]
1982
- #
1983
- # @!attribute [rw] file_key_update
1984
- # Object key name.
1985
- # @return [String]
1986
- #
1987
- # @!attribute [rw] reference_role_arn_update
1988
- # ARN of the IAM role that Amazon Kinesis Analytics can assume to read
1989
- # the Amazon S3 object and populate the in-application.
1990
- # @return [String]
1991
- class S3ReferenceDataSourceUpdate < Struct.new(
1992
- :bucket_arn_update,
1993
- :file_key_update,
1994
- :reference_role_arn_update)
1995
- include Aws::Structure
1996
- end
1997
-
1998
- # Describes the format of the data in the streaming source, and how each
1999
- # data element maps to corresponding columns created in the
2000
- # in-application stream.
2001
- # @note When making an API call, pass SourceSchema
2002
- # data as a hash:
2003
- #
2004
- # {
2005
- # record_format: { # required
2006
- # record_format_type: "JSON", # required, accepts JSON, CSV
2007
- # mapping_parameters: {
2008
- # json_mapping_parameters: {
2009
- # record_row_path: "RecordRowPath", # required
2010
- # },
2011
- # csv_mapping_parameters: {
2012
- # record_row_delimiter: "RecordRowDelimiter", # required
2013
- # record_column_delimiter: "RecordColumnDelimiter", # required
2014
- # },
2015
- # },
2016
- # },
2017
- # record_encoding: "RecordEncoding",
2018
- # record_columns: [ # required
2019
- # {
2020
- # name: "RecordColumnName", # required
2021
- # mapping: "RecordColumnMapping",
2022
- # sql_type: "RecordColumnSqlType", # required
2023
- # },
2024
- # ],
2025
- # }
2026
- # @!attribute [rw] record_format
2027
- # Specifies the format of the records on the streaming source.
2028
- # @return [Types::RecordFormat]
2029
- #
2030
- # @!attribute [rw] record_encoding
2031
- # Specifies the encoding of the records in the streaming source. For
2032
- # example, UTF-8.
2033
- # @return [String]
2034
- #
2035
- # @!attribute [rw] record_columns
2036
- # A list of `RecordColumn` objects.
2037
- # @return [Array<Types::RecordColumn>]
2038
- class SourceSchema < Struct.new(
2039
- :record_format,
2040
- :record_encoding,
2041
- :record_columns)
2042
- include Aws::Structure
2043
- end
2044
-
2045
- # @note When making an API call, pass StartApplicationRequest
2046
- # data as a hash:
2047
- #
2048
- # {
2049
- # application_name: "ApplicationName", # required
2050
- # input_configurations: [ # required
2051
- # {
2052
- # id: "Id", # required
2053
- # input_starting_position_configuration: { # required
2054
- # input_starting_position: "NOW", # accepts NOW, TRIM_HORIZON, LAST_STOPPED_POINT
2055
- # },
2056
- # },
2057
- # ],
2058
- # }
2059
- # @!attribute [rw] application_name
2060
- # Name of the application.
2061
- # @return [String]
2062
- #
2063
- # @!attribute [rw] input_configurations
2064
- # Identifies the specific input, by ID, that the application starts
2065
- # consuming. Amazon Kinesis Analytics starts reading the streaming
2066
- # source associated with the input. You can also specify where in the
2067
- # streaming source you want Amazon Kinesis Analytics to start reading.
2068
- # @return [Array<Types::InputConfiguration>]
2069
- class StartApplicationRequest < Struct.new(
2070
- :application_name,
2071
- :input_configurations)
2072
- include Aws::Structure
2073
- end
2074
-
2075
- class StartApplicationResponse < Aws::EmptyStructure; end
2076
-
2077
- # @note When making an API call, pass StopApplicationRequest
2078
- # data as a hash:
2079
- #
2080
- # {
2081
- # application_name: "ApplicationName", # required
2082
- # }
2083
- # @!attribute [rw] application_name
2084
- # Name of the running application to stop.
2085
- # @return [String]
2086
- class StopApplicationRequest < Struct.new(
2087
- :application_name)
2088
- include Aws::Structure
2089
- end
2090
-
2091
- class StopApplicationResponse < Aws::EmptyStructure; end
2092
-
2093
- # @note When making an API call, pass UpdateApplicationRequest
2094
- # data as a hash:
2095
- #
2096
- # {
2097
- # application_name: "ApplicationName", # required
2098
- # current_application_version_id: 1, # required
2099
- # application_update: { # required
2100
- # input_updates: [
2101
- # {
2102
- # input_id: "Id", # required
2103
- # name_prefix_update: "InAppStreamName",
2104
- # kinesis_streams_input_update: {
2105
- # resource_arn_update: "ResourceARN",
2106
- # role_arn_update: "RoleARN",
2107
- # },
2108
- # kinesis_firehose_input_update: {
2109
- # resource_arn_update: "ResourceARN",
2110
- # role_arn_update: "RoleARN",
2111
- # },
2112
- # input_schema_update: {
2113
- # record_format_update: {
2114
- # record_format_type: "JSON", # required, accepts JSON, CSV
2115
- # mapping_parameters: {
2116
- # json_mapping_parameters: {
2117
- # record_row_path: "RecordRowPath", # required
2118
- # },
2119
- # csv_mapping_parameters: {
2120
- # record_row_delimiter: "RecordRowDelimiter", # required
2121
- # record_column_delimiter: "RecordColumnDelimiter", # required
2122
- # },
2123
- # },
2124
- # },
2125
- # record_encoding_update: "RecordEncoding",
2126
- # record_column_updates: [
2127
- # {
2128
- # name: "RecordColumnName", # required
2129
- # mapping: "RecordColumnMapping",
2130
- # sql_type: "RecordColumnSqlType", # required
2131
- # },
2132
- # ],
2133
- # },
2134
- # input_parallelism_update: {
2135
- # count_update: 1,
2136
- # },
2137
- # },
2138
- # ],
2139
- # application_code_update: "ApplicationCode",
2140
- # output_updates: [
2141
- # {
2142
- # output_id: "Id", # required
2143
- # name_update: "InAppStreamName",
2144
- # kinesis_streams_output_update: {
2145
- # resource_arn_update: "ResourceARN",
2146
- # role_arn_update: "RoleARN",
2147
- # },
2148
- # kinesis_firehose_output_update: {
2149
- # resource_arn_update: "ResourceARN",
2150
- # role_arn_update: "RoleARN",
2151
- # },
2152
- # destination_schema_update: {
2153
- # record_format_type: "JSON", # accepts JSON, CSV
2154
- # },
2155
- # },
2156
- # ],
2157
- # reference_data_source_updates: [
2158
- # {
2159
- # reference_id: "Id", # required
2160
- # table_name_update: "InAppTableName",
2161
- # s3_reference_data_source_update: {
2162
- # bucket_arn_update: "BucketARN",
2163
- # file_key_update: "FileKey",
2164
- # reference_role_arn_update: "RoleARN",
2165
- # },
2166
- # reference_schema_update: {
2167
- # record_format: { # required
2168
- # record_format_type: "JSON", # required, accepts JSON, CSV
2169
- # mapping_parameters: {
2170
- # json_mapping_parameters: {
2171
- # record_row_path: "RecordRowPath", # required
2172
- # },
2173
- # csv_mapping_parameters: {
2174
- # record_row_delimiter: "RecordRowDelimiter", # required
2175
- # record_column_delimiter: "RecordColumnDelimiter", # required
2176
- # },
2177
- # },
2178
- # },
2179
- # record_encoding: "RecordEncoding",
2180
- # record_columns: [ # required
2181
- # {
2182
- # name: "RecordColumnName", # required
2183
- # mapping: "RecordColumnMapping",
2184
- # sql_type: "RecordColumnSqlType", # required
2185
- # },
2186
- # ],
2187
- # },
2188
- # },
2189
- # ],
2190
- # },
2191
- # }
2192
- # @!attribute [rw] application_name
2193
- # Name of the Kinesis Analytics application to update.
2194
- # @return [String]
2195
- #
2196
- # @!attribute [rw] current_application_version_id
2197
- # The current application version ID. You can use the
2198
- # DescribeApplication operation to get this value.
2199
- # @return [Integer]
2200
- #
2201
- # @!attribute [rw] application_update
2202
- # Describes application updates.
2203
- # @return [Types::ApplicationUpdate]
2204
- class UpdateApplicationRequest < Struct.new(
2205
- :application_name,
2206
- :current_application_version_id,
2207
- :application_update)
2208
- include Aws::Structure
2209
- end
2210
-
2211
- class UpdateApplicationResponse < Aws::EmptyStructure; end
8
+ module Aws::KinesisAnalytics
9
+ module Types
10
+
11
+ # @note When making an API call, you may pass AddApplicationInputRequest
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # application_name: "ApplicationName", # required
16
+ # current_application_version_id: 1, # required
17
+ # input: { # required
18
+ # name_prefix: "InAppStreamName", # required
19
+ # kinesis_streams_input: {
20
+ # resource_arn: "ResourceARN", # required
21
+ # role_arn: "RoleARN", # required
22
+ # },
23
+ # kinesis_firehose_input: {
24
+ # resource_arn: "ResourceARN", # required
25
+ # role_arn: "RoleARN", # required
26
+ # },
27
+ # input_parallelism: {
28
+ # count: 1,
29
+ # },
30
+ # input_schema: { # required
31
+ # record_format: { # required
32
+ # record_format_type: "JSON", # required, accepts JSON, CSV
33
+ # mapping_parameters: {
34
+ # json_mapping_parameters: {
35
+ # record_row_path: "RecordRowPath", # required
36
+ # },
37
+ # csv_mapping_parameters: {
38
+ # record_row_delimiter: "RecordRowDelimiter", # required
39
+ # record_column_delimiter: "RecordColumnDelimiter", # required
40
+ # },
41
+ # },
42
+ # },
43
+ # record_encoding: "RecordEncoding",
44
+ # record_columns: [ # required
45
+ # {
46
+ # name: "RecordColumnName", # required
47
+ # mapping: "RecordColumnMapping",
48
+ # sql_type: "RecordColumnSqlType", # required
49
+ # },
50
+ # ],
51
+ # },
52
+ # },
53
+ # }
54
+ #
55
+ # @!attribute [rw] application_name
56
+ # Name of your existing Amazon Kinesis Analytics application to which
57
+ # you want to add the streaming source.
58
+ # @return [String]
59
+ #
60
+ # @!attribute [rw] current_application_version_id
61
+ # Current version of your Amazon Kinesis Analytics application. You
62
+ # can use the DescribeApplication operation to find the current
63
+ # application version.
64
+ # @return [Integer]
65
+ #
66
+ # @!attribute [rw] input
67
+ # When you configure the application input, you specify the streaming
68
+ # source, the in-application stream name that is created, and the
69
+ # mapping between the two. For more information, see [Configuring
70
+ # Application Input][1].
71
+ #
72
+ #
73
+ #
74
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
75
+ # @return [Types::Input]
76
+ #
77
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/AddApplicationInputRequest AWS API Documentation
78
+ #
79
+ class AddApplicationInputRequest < Struct.new(
80
+ :application_name,
81
+ :current_application_version_id,
82
+ :input)
83
+ include Aws::Structure
84
+ end
85
+
86
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/AddApplicationInputResponse AWS API Documentation
87
+ #
88
+ class AddApplicationInputResponse < Aws::EmptyStructure; end
89
+
90
+ # @note When making an API call, you may pass AddApplicationOutputRequest
91
+ # data as a hash:
92
+ #
93
+ # {
94
+ # application_name: "ApplicationName", # required
95
+ # current_application_version_id: 1, # required
96
+ # output: { # required
97
+ # name: "InAppStreamName", # required
98
+ # kinesis_streams_output: {
99
+ # resource_arn: "ResourceARN", # required
100
+ # role_arn: "RoleARN", # required
101
+ # },
102
+ # kinesis_firehose_output: {
103
+ # resource_arn: "ResourceARN", # required
104
+ # role_arn: "RoleARN", # required
105
+ # },
106
+ # destination_schema: { # required
107
+ # record_format_type: "JSON", # accepts JSON, CSV
108
+ # },
109
+ # },
110
+ # }
111
+ #
112
+ # @!attribute [rw] application_name
113
+ # Name of the application to which you want to add the output
114
+ # configuration.
115
+ # @return [String]
116
+ #
117
+ # @!attribute [rw] current_application_version_id
118
+ # Version of the application to which you want add the output
119
+ # configuration. You can use the DescribeApplication operation to get
120
+ # the current application version. If the version specified is not the
121
+ # current version, the `ConcurrentModificationException` is returned.
122
+ # @return [Integer]
123
+ #
124
+ # @!attribute [rw] output
125
+ # An array of objects, each describing one output configuration. In
126
+ # the output configuration, you specify the name of an in-application
127
+ # stream, a destination (that is, an Amazon Kinesis stream or an
128
+ # Amazon Kinesis Firehose delivery stream), and record the formation
129
+ # to use when writing to the destination.
130
+ # @return [Types::Output]
131
+ #
132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/AddApplicationOutputRequest AWS API Documentation
133
+ #
134
+ class AddApplicationOutputRequest < Struct.new(
135
+ :application_name,
136
+ :current_application_version_id,
137
+ :output)
138
+ include Aws::Structure
139
+ end
140
+
141
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/AddApplicationOutputResponse AWS API Documentation
142
+ #
143
+ class AddApplicationOutputResponse < Aws::EmptyStructure; end
144
+
145
+ # @note When making an API call, you may pass AddApplicationReferenceDataSourceRequest
146
+ # data as a hash:
147
+ #
148
+ # {
149
+ # application_name: "ApplicationName", # required
150
+ # current_application_version_id: 1, # required
151
+ # reference_data_source: { # required
152
+ # table_name: "InAppTableName", # required
153
+ # s3_reference_data_source: {
154
+ # bucket_arn: "BucketARN", # required
155
+ # file_key: "FileKey", # required
156
+ # reference_role_arn: "RoleARN", # required
157
+ # },
158
+ # reference_schema: { # required
159
+ # record_format: { # required
160
+ # record_format_type: "JSON", # required, accepts JSON, CSV
161
+ # mapping_parameters: {
162
+ # json_mapping_parameters: {
163
+ # record_row_path: "RecordRowPath", # required
164
+ # },
165
+ # csv_mapping_parameters: {
166
+ # record_row_delimiter: "RecordRowDelimiter", # required
167
+ # record_column_delimiter: "RecordColumnDelimiter", # required
168
+ # },
169
+ # },
170
+ # },
171
+ # record_encoding: "RecordEncoding",
172
+ # record_columns: [ # required
173
+ # {
174
+ # name: "RecordColumnName", # required
175
+ # mapping: "RecordColumnMapping",
176
+ # sql_type: "RecordColumnSqlType", # required
177
+ # },
178
+ # ],
179
+ # },
180
+ # },
181
+ # }
182
+ #
183
+ # @!attribute [rw] application_name
184
+ # Name of an existing application.
185
+ # @return [String]
186
+ #
187
+ # @!attribute [rw] current_application_version_id
188
+ # Version of the application for which you are adding the reference
189
+ # data source. You can use the DescribeApplication operation to get
190
+ # the current application version. If the version specified is not the
191
+ # current version, the `ConcurrentModificationException` is returned.
192
+ # @return [Integer]
193
+ #
194
+ # @!attribute [rw] reference_data_source
195
+ # The reference data source can be an object in your Amazon S3 bucket.
196
+ # Amazon Kinesis Analytics reads the object and copies the data into
197
+ # the in-application table that is created. You provide an S3 bucket,
198
+ # object key name, and the resulting in-application table that is
199
+ # created. You must also provide an IAM role with the necessary
200
+ # permissions that Amazon Kinesis Analytics can assume to read the
201
+ # object from your S3 bucket on your behalf.
202
+ # @return [Types::ReferenceDataSource]
203
+ #
204
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/AddApplicationReferenceDataSourceRequest AWS API Documentation
205
+ #
206
+ class AddApplicationReferenceDataSourceRequest < Struct.new(
207
+ :application_name,
208
+ :current_application_version_id,
209
+ :reference_data_source)
210
+ include Aws::Structure
211
+ end
212
+
213
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/AddApplicationReferenceDataSourceResponse AWS API Documentation
214
+ #
215
+ class AddApplicationReferenceDataSourceResponse < Aws::EmptyStructure; end
216
+
217
+ # Provides a description of the application, including the application
218
+ # Amazon Resource Name (ARN), status, latest version, and input and
219
+ # output configuration.
220
+ #
221
+ # @!attribute [rw] application_name
222
+ # Name of the application.
223
+ # @return [String]
224
+ #
225
+ # @!attribute [rw] application_description
226
+ # Description of the application.
227
+ # @return [String]
228
+ #
229
+ # @!attribute [rw] application_arn
230
+ # ARN of the application.
231
+ # @return [String]
232
+ #
233
+ # @!attribute [rw] application_status
234
+ # Status of the application.
235
+ # @return [String]
236
+ #
237
+ # @!attribute [rw] create_timestamp
238
+ # Timestamp when the application version was created.
239
+ # @return [Time]
240
+ #
241
+ # @!attribute [rw] last_update_timestamp
242
+ # Timestamp when the application was last updated.
243
+ # @return [Time]
244
+ #
245
+ # @!attribute [rw] input_descriptions
246
+ # Describes the application input configuration. For more information,
247
+ # see [Configuring Application Input][1].
248
+ #
249
+ #
250
+ #
251
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
252
+ # @return [Array<Types::InputDescription>]
253
+ #
254
+ # @!attribute [rw] output_descriptions
255
+ # Describes the application output configuration. For more
256
+ # information, see [Configuring Application Output][1].
257
+ #
258
+ #
259
+ #
260
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html
261
+ # @return [Array<Types::OutputDescription>]
262
+ #
263
+ # @!attribute [rw] reference_data_source_descriptions
264
+ # Describes reference data sources configured for the application. For
265
+ # more information, see [Configuring Application Input][1].
266
+ #
267
+ #
268
+ #
269
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
270
+ # @return [Array<Types::ReferenceDataSourceDescription>]
271
+ #
272
+ # @!attribute [rw] application_code
273
+ # Returns the application code that you provided to perform data
274
+ # analysis on any of the in-application streams in your application.
275
+ # @return [String]
276
+ #
277
+ # @!attribute [rw] application_version_id
278
+ # Provides the current application version.
279
+ # @return [Integer]
280
+ #
281
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/ApplicationDetail AWS API Documentation
282
+ #
283
+ class ApplicationDetail < Struct.new(
284
+ :application_name,
285
+ :application_description,
286
+ :application_arn,
287
+ :application_status,
288
+ :create_timestamp,
289
+ :last_update_timestamp,
290
+ :input_descriptions,
291
+ :output_descriptions,
292
+ :reference_data_source_descriptions,
293
+ :application_code,
294
+ :application_version_id)
295
+ include Aws::Structure
296
+ end
297
+
298
+ # Provides application summary information, including the application
299
+ # Amazon Resource Name (ARN), name, and status.
300
+ #
301
+ # @!attribute [rw] application_name
302
+ # Name of the application.
303
+ # @return [String]
304
+ #
305
+ # @!attribute [rw] application_arn
306
+ # ARN of the application.
307
+ # @return [String]
308
+ #
309
+ # @!attribute [rw] application_status
310
+ # Status of the application.
311
+ # @return [String]
312
+ #
313
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/ApplicationSummary AWS API Documentation
314
+ #
315
+ class ApplicationSummary < Struct.new(
316
+ :application_name,
317
+ :application_arn,
318
+ :application_status)
319
+ include Aws::Structure
320
+ end
321
+
322
+ # Describes updates to apply to an existing Kinesis Analytics
323
+ # application.
324
+ #
325
+ # @note When making an API call, you may pass ApplicationUpdate
326
+ # data as a hash:
327
+ #
328
+ # {
329
+ # input_updates: [
330
+ # {
331
+ # input_id: "Id", # required
332
+ # name_prefix_update: "InAppStreamName",
333
+ # kinesis_streams_input_update: {
334
+ # resource_arn_update: "ResourceARN",
335
+ # role_arn_update: "RoleARN",
336
+ # },
337
+ # kinesis_firehose_input_update: {
338
+ # resource_arn_update: "ResourceARN",
339
+ # role_arn_update: "RoleARN",
340
+ # },
341
+ # input_schema_update: {
342
+ # record_format_update: {
343
+ # record_format_type: "JSON", # required, accepts JSON, CSV
344
+ # mapping_parameters: {
345
+ # json_mapping_parameters: {
346
+ # record_row_path: "RecordRowPath", # required
347
+ # },
348
+ # csv_mapping_parameters: {
349
+ # record_row_delimiter: "RecordRowDelimiter", # required
350
+ # record_column_delimiter: "RecordColumnDelimiter", # required
351
+ # },
352
+ # },
353
+ # },
354
+ # record_encoding_update: "RecordEncoding",
355
+ # record_column_updates: [
356
+ # {
357
+ # name: "RecordColumnName", # required
358
+ # mapping: "RecordColumnMapping",
359
+ # sql_type: "RecordColumnSqlType", # required
360
+ # },
361
+ # ],
362
+ # },
363
+ # input_parallelism_update: {
364
+ # count_update: 1,
365
+ # },
366
+ # },
367
+ # ],
368
+ # application_code_update: "ApplicationCode",
369
+ # output_updates: [
370
+ # {
371
+ # output_id: "Id", # required
372
+ # name_update: "InAppStreamName",
373
+ # kinesis_streams_output_update: {
374
+ # resource_arn_update: "ResourceARN",
375
+ # role_arn_update: "RoleARN",
376
+ # },
377
+ # kinesis_firehose_output_update: {
378
+ # resource_arn_update: "ResourceARN",
379
+ # role_arn_update: "RoleARN",
380
+ # },
381
+ # destination_schema_update: {
382
+ # record_format_type: "JSON", # accepts JSON, CSV
383
+ # },
384
+ # },
385
+ # ],
386
+ # reference_data_source_updates: [
387
+ # {
388
+ # reference_id: "Id", # required
389
+ # table_name_update: "InAppTableName",
390
+ # s3_reference_data_source_update: {
391
+ # bucket_arn_update: "BucketARN",
392
+ # file_key_update: "FileKey",
393
+ # reference_role_arn_update: "RoleARN",
394
+ # },
395
+ # reference_schema_update: {
396
+ # record_format: { # required
397
+ # record_format_type: "JSON", # required, accepts JSON, CSV
398
+ # mapping_parameters: {
399
+ # json_mapping_parameters: {
400
+ # record_row_path: "RecordRowPath", # required
401
+ # },
402
+ # csv_mapping_parameters: {
403
+ # record_row_delimiter: "RecordRowDelimiter", # required
404
+ # record_column_delimiter: "RecordColumnDelimiter", # required
405
+ # },
406
+ # },
407
+ # },
408
+ # record_encoding: "RecordEncoding",
409
+ # record_columns: [ # required
410
+ # {
411
+ # name: "RecordColumnName", # required
412
+ # mapping: "RecordColumnMapping",
413
+ # sql_type: "RecordColumnSqlType", # required
414
+ # },
415
+ # ],
416
+ # },
417
+ # },
418
+ # ],
419
+ # }
420
+ #
421
+ # @!attribute [rw] input_updates
422
+ # Describes application input configuration updates.
423
+ # @return [Array<Types::InputUpdate>]
424
+ #
425
+ # @!attribute [rw] application_code_update
426
+ # Describes application code updates.
427
+ # @return [String]
428
+ #
429
+ # @!attribute [rw] output_updates
430
+ # Describes application output configuration updates.
431
+ # @return [Array<Types::OutputUpdate>]
432
+ #
433
+ # @!attribute [rw] reference_data_source_updates
434
+ # Describes application reference data source updates.
435
+ # @return [Array<Types::ReferenceDataSourceUpdate>]
436
+ #
437
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/ApplicationUpdate AWS API Documentation
438
+ #
439
+ class ApplicationUpdate < Struct.new(
440
+ :input_updates,
441
+ :application_code_update,
442
+ :output_updates,
443
+ :reference_data_source_updates)
444
+ include Aws::Structure
445
+ end
446
+
447
+ # Provides additional mapping information when the record format uses
448
+ # delimiters, such as CSV. For example, the following sample records use
449
+ # CSV format, where the records use the *'\\n'* as the row delimiter
450
+ # and a comma (",") as the column delimiter:
451
+ #
452
+ # `"name1", "address1" `
453
+ #
454
+ # `"name2, "address2"`
455
+ #
456
+ # @note When making an API call, you may pass CSVMappingParameters
457
+ # data as a hash:
458
+ #
459
+ # {
460
+ # record_row_delimiter: "RecordRowDelimiter", # required
461
+ # record_column_delimiter: "RecordColumnDelimiter", # required
462
+ # }
463
+ #
464
+ # @!attribute [rw] record_row_delimiter
465
+ # Row delimiter. For example, in a CSV format, *'\\n'* is the
466
+ # typical row delimiter.
467
+ # @return [String]
468
+ #
469
+ # @!attribute [rw] record_column_delimiter
470
+ # Column delimiter. For example, in a CSV format, a comma (",") is
471
+ # the typical column delimiter.
472
+ # @return [String]
473
+ #
474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/CSVMappingParameters AWS API Documentation
475
+ #
476
+ class CSVMappingParameters < Struct.new(
477
+ :record_row_delimiter,
478
+ :record_column_delimiter)
479
+ include Aws::Structure
480
+ end
481
+
482
+ # TBD
483
+ #
484
+ # @note When making an API call, you may pass CreateApplicationRequest
485
+ # data as a hash:
486
+ #
487
+ # {
488
+ # application_name: "ApplicationName", # required
489
+ # application_description: "ApplicationDescription",
490
+ # inputs: [
491
+ # {
492
+ # name_prefix: "InAppStreamName", # required
493
+ # kinesis_streams_input: {
494
+ # resource_arn: "ResourceARN", # required
495
+ # role_arn: "RoleARN", # required
496
+ # },
497
+ # kinesis_firehose_input: {
498
+ # resource_arn: "ResourceARN", # required
499
+ # role_arn: "RoleARN", # required
500
+ # },
501
+ # input_parallelism: {
502
+ # count: 1,
503
+ # },
504
+ # input_schema: { # required
505
+ # record_format: { # required
506
+ # record_format_type: "JSON", # required, accepts JSON, CSV
507
+ # mapping_parameters: {
508
+ # json_mapping_parameters: {
509
+ # record_row_path: "RecordRowPath", # required
510
+ # },
511
+ # csv_mapping_parameters: {
512
+ # record_row_delimiter: "RecordRowDelimiter", # required
513
+ # record_column_delimiter: "RecordColumnDelimiter", # required
514
+ # },
515
+ # },
516
+ # },
517
+ # record_encoding: "RecordEncoding",
518
+ # record_columns: [ # required
519
+ # {
520
+ # name: "RecordColumnName", # required
521
+ # mapping: "RecordColumnMapping",
522
+ # sql_type: "RecordColumnSqlType", # required
523
+ # },
524
+ # ],
525
+ # },
526
+ # },
527
+ # ],
528
+ # outputs: [
529
+ # {
530
+ # name: "InAppStreamName", # required
531
+ # kinesis_streams_output: {
532
+ # resource_arn: "ResourceARN", # required
533
+ # role_arn: "RoleARN", # required
534
+ # },
535
+ # kinesis_firehose_output: {
536
+ # resource_arn: "ResourceARN", # required
537
+ # role_arn: "RoleARN", # required
538
+ # },
539
+ # destination_schema: { # required
540
+ # record_format_type: "JSON", # accepts JSON, CSV
541
+ # },
542
+ # },
543
+ # ],
544
+ # application_code: "ApplicationCode",
545
+ # }
546
+ #
547
+ # @!attribute [rw] application_name
548
+ # Name of your Amazon Kinesis Analytics application (for example,
549
+ # `sample-app`).
550
+ # @return [String]
551
+ #
552
+ # @!attribute [rw] application_description
553
+ # Summary description of the application.
554
+ # @return [String]
555
+ #
556
+ # @!attribute [rw] inputs
557
+ # Use this parameter to configure the application input.
558
+ #
559
+ # You can configure your application to receive input from a single
560
+ # streaming source. In this configuration, you map this streaming
561
+ # source to an in-application stream that is created. Your application
562
+ # code can then query the in-application stream like a table (you can
563
+ # think of it as a constantly updating table).
564
+ #
565
+ # For the streaming source, you provide its Amazon Resource Name (ARN)
566
+ # and format of data on the stream (for example, JSON, CSV, etc). You
567
+ # also must provide an IAM role that Amazon Kinesis Analytics can
568
+ # assume to read this stream on your behalf.
569
+ #
570
+ # To create the in-application stream, you need to specify a schema to
571
+ # transform your data into a schematized version used in SQL. In the
572
+ # schema, you provide the necessary mapping of the data elements in
573
+ # the streaming source to record columns in the in-app stream.
574
+ # @return [Array<Types::Input>]
575
+ #
576
+ # @!attribute [rw] outputs
577
+ # You can configure application output to write data from any of the
578
+ # in-application streams to up to five destinations.
579
+ #
580
+ # These destinations can be Amazon Kinesis streams, Amazon Kinesis
581
+ # Firehose delivery streams, or both.
582
+ #
583
+ # In the configuration, you specify the in-application stream name,
584
+ # the destination stream Amazon Resource Name (ARN), and the format to
585
+ # use when writing data. You must also provide an IAM role that Amazon
586
+ # Kinesis Analytics can assume to write to the destination stream on
587
+ # your behalf.
588
+ #
589
+ # In the output configuration, you also provide the output stream
590
+ # Amazon Resource Name (ARN) and the format of data in the stream (for
591
+ # example, JSON, CSV). You also must provide an IAM role that Amazon
592
+ # Kinesis Analytics can assume to write to this stream on your behalf.
593
+ # @return [Array<Types::Output>]
594
+ #
595
+ # @!attribute [rw] application_code
596
+ # One or more SQL statements that read input data, transform it, and
597
+ # generate output. For example, you can write a SQL statement that
598
+ # reads input data and generates a running average of the number of
599
+ # advertisement clicks by vendor.
600
+ #
601
+ # You can also provide a series of SQL statements, where output of one
602
+ # statement can be used as the input for the next statement.
603
+ #
604
+ # Note that the application code must create the streams with names
605
+ # specified in the `Outputs`. For example, if your `Outputs` defines
606
+ # output streams named `ExampleOutputStream1` and
607
+ # `ExampleOutputStream2`, then your application code must create these
608
+ # streams.
609
+ # @return [String]
610
+ #
611
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/CreateApplicationRequest AWS API Documentation
612
+ #
613
+ class CreateApplicationRequest < Struct.new(
614
+ :application_name,
615
+ :application_description,
616
+ :inputs,
617
+ :outputs,
618
+ :application_code)
619
+ include Aws::Structure
620
+ end
621
+
622
+ # TBD
623
+ #
624
+ # @!attribute [rw] application_summary
625
+ # In response to your `CreateApplication` request, Amazon Kinesis
626
+ # Analytics returns a response with a summary of the application it
627
+ # created, including the application Amazon Resource Name (ARN), name,
628
+ # and status.
629
+ # @return [Types::ApplicationSummary]
630
+ #
631
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/CreateApplicationResponse AWS API Documentation
632
+ #
633
+ class CreateApplicationResponse < Struct.new(
634
+ :application_summary)
635
+ include Aws::Structure
636
+ end
637
+
638
+ # @note When making an API call, you may pass DeleteApplicationOutputRequest
639
+ # data as a hash:
640
+ #
641
+ # {
642
+ # application_name: "ApplicationName", # required
643
+ # current_application_version_id: 1, # required
644
+ # output_id: "Id", # required
645
+ # }
646
+ #
647
+ # @!attribute [rw] application_name
648
+ # Amazon Kinesis Analytics application name.
649
+ # @return [String]
650
+ #
651
+ # @!attribute [rw] current_application_version_id
652
+ # Amazon Kinesis Analytics application version. You can use the
653
+ # DescribeApplication operation to get the current application
654
+ # version. If the version specified is not the current version, the
655
+ # `ConcurrentModificationException` is returned.
656
+ # @return [Integer]
657
+ #
658
+ # @!attribute [rw] output_id
659
+ # The ID of the configuration to delete. Each output configuration
660
+ # that is added to the application, either when the application is
661
+ # created or later using the AddApplicationOutput operation, has a
662
+ # unique ID. You need to provide the ID to uniquely identify the
663
+ # output configuration that you want to delete from the application
664
+ # configuration. You can use the DescribeApplication operation to get
665
+ # the specific `OutputId`.
666
+ # @return [String]
667
+ #
668
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DeleteApplicationOutputRequest AWS API Documentation
669
+ #
670
+ class DeleteApplicationOutputRequest < Struct.new(
671
+ :application_name,
672
+ :current_application_version_id,
673
+ :output_id)
674
+ include Aws::Structure
675
+ end
676
+
677
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DeleteApplicationOutputResponse AWS API Documentation
678
+ #
679
+ class DeleteApplicationOutputResponse < Aws::EmptyStructure; end
680
+
681
+ # @note When making an API call, you may pass DeleteApplicationReferenceDataSourceRequest
682
+ # data as a hash:
683
+ #
684
+ # {
685
+ # application_name: "ApplicationName", # required
686
+ # current_application_version_id: 1, # required
687
+ # reference_id: "Id", # required
688
+ # }
689
+ #
690
+ # @!attribute [rw] application_name
691
+ # Name of an existing application.
692
+ # @return [String]
693
+ #
694
+ # @!attribute [rw] current_application_version_id
695
+ # Version of the application. You can use the DescribeApplication
696
+ # operation to get the current application version. If the version
697
+ # specified is not the current version, the
698
+ # `ConcurrentModificationException` is returned.
699
+ # @return [Integer]
700
+ #
701
+ # @!attribute [rw] reference_id
702
+ # ID of the reference data source. When you add a reference data
703
+ # source to your application using the
704
+ # AddApplicationReferenceDataSource, Amazon Kinesis Analytics assigns
705
+ # an ID. You can use the DescribeApplication operation to get the
706
+ # reference ID.
707
+ # @return [String]
708
+ #
709
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DeleteApplicationReferenceDataSourceRequest AWS API Documentation
710
+ #
711
+ class DeleteApplicationReferenceDataSourceRequest < Struct.new(
712
+ :application_name,
713
+ :current_application_version_id,
714
+ :reference_id)
715
+ include Aws::Structure
716
+ end
717
+
718
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DeleteApplicationReferenceDataSourceResponse AWS API Documentation
719
+ #
720
+ class DeleteApplicationReferenceDataSourceResponse < Aws::EmptyStructure; end
721
+
722
+ # @note When making an API call, you may pass DeleteApplicationRequest
723
+ # data as a hash:
724
+ #
725
+ # {
726
+ # application_name: "ApplicationName", # required
727
+ # create_timestamp: Time.now, # required
728
+ # }
729
+ #
730
+ # @!attribute [rw] application_name
731
+ # Name of the Amazon Kinesis Analytics application to delete.
732
+ # @return [String]
733
+ #
734
+ # @!attribute [rw] create_timestamp
735
+ # You can use the `DescribeApplication` operation to get this value.
736
+ # @return [Time]
737
+ #
738
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DeleteApplicationRequest AWS API Documentation
739
+ #
740
+ class DeleteApplicationRequest < Struct.new(
741
+ :application_name,
742
+ :create_timestamp)
743
+ include Aws::Structure
744
+ end
745
+
746
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DeleteApplicationResponse AWS API Documentation
747
+ #
748
+ class DeleteApplicationResponse < Aws::EmptyStructure; end
749
+
750
+ # @note When making an API call, you may pass DescribeApplicationRequest
751
+ # data as a hash:
752
+ #
753
+ # {
754
+ # application_name: "ApplicationName", # required
755
+ # }
756
+ #
757
+ # @!attribute [rw] application_name
758
+ # Name of the application.
759
+ # @return [String]
760
+ #
761
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DescribeApplicationRequest AWS API Documentation
762
+ #
763
+ class DescribeApplicationRequest < Struct.new(
764
+ :application_name)
765
+ include Aws::Structure
766
+ end
767
+
768
+ # @!attribute [rw] application_detail
769
+ # Provides a description of the application, such as the application
770
+ # Amazon Resource Name (ARN), status, latest version, and input and
771
+ # output configuration details.
772
+ # @return [Types::ApplicationDetail]
773
+ #
774
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DescribeApplicationResponse AWS API Documentation
775
+ #
776
+ class DescribeApplicationResponse < Struct.new(
777
+ :application_detail)
778
+ include Aws::Structure
779
+ end
780
+
781
+ # Describes the data format when records are written to the destination.
782
+ # For more information, see [Configuring Application Output][1].
783
+ #
784
+ #
785
+ #
786
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html
787
+ #
788
+ # @note When making an API call, you may pass DestinationSchema
789
+ # data as a hash:
790
+ #
791
+ # {
792
+ # record_format_type: "JSON", # accepts JSON, CSV
793
+ # }
794
+ #
795
+ # @!attribute [rw] record_format_type
796
+ # Specifies the format of the records on the output stream.
797
+ # @return [String]
798
+ #
799
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DestinationSchema AWS API Documentation
800
+ #
801
+ class DestinationSchema < Struct.new(
802
+ :record_format_type)
803
+ include Aws::Structure
804
+ end
805
+
806
+ # @note When making an API call, you may pass DiscoverInputSchemaRequest
807
+ # data as a hash:
808
+ #
809
+ # {
810
+ # resource_arn: "ResourceARN", # required
811
+ # role_arn: "RoleARN", # required
812
+ # input_starting_position_configuration: { # required
813
+ # input_starting_position: "NOW", # accepts NOW, TRIM_HORIZON, LAST_STOPPED_POINT
814
+ # },
815
+ # }
816
+ #
817
+ # @!attribute [rw] resource_arn
818
+ # Amazon Resource Name (ARN) of the streaming source.
819
+ # @return [String]
820
+ #
821
+ # @!attribute [rw] role_arn
822
+ # ARN of the IAM role that Amazon Kinesis Analytics can assume to
823
+ # access the stream on your behalf.
824
+ # @return [String]
825
+ #
826
+ # @!attribute [rw] input_starting_position_configuration
827
+ # Point at which you want Amazon Kinesis Analytics to start reading
828
+ # records from the specified streaming source discovery purposes.
829
+ # @return [Types::InputStartingPositionConfiguration]
830
+ #
831
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DiscoverInputSchemaRequest AWS API Documentation
832
+ #
833
+ class DiscoverInputSchemaRequest < Struct.new(
834
+ :resource_arn,
835
+ :role_arn,
836
+ :input_starting_position_configuration)
837
+ include Aws::Structure
838
+ end
839
+
840
+ # @!attribute [rw] input_schema
841
+ # Schema inferred from the streaming source. It identifies the format
842
+ # of the data in the streaming source and how each data element maps
843
+ # to corresponding columns in the in-application stream that you can
844
+ # create.
845
+ # @return [Types::SourceSchema]
846
+ #
847
+ # @!attribute [rw] parsed_input_records
848
+ # An array of elements, where each element corresponds to a row in a
849
+ # stream record (a stream record can have more than one row).
850
+ # @return [Array<Array<String>>]
851
+ #
852
+ # @!attribute [rw] raw_input_records
853
+ # Raw stream data that was sampled to infer the schema.
854
+ # @return [Array<String>]
855
+ #
856
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DiscoverInputSchemaResponse AWS API Documentation
857
+ #
858
+ class DiscoverInputSchemaResponse < Struct.new(
859
+ :input_schema,
860
+ :parsed_input_records,
861
+ :raw_input_records)
862
+ include Aws::Structure
863
+ end
864
+
865
+ # When you configure the application input, you specify the streaming
866
+ # source, the in-application stream name that is created, and the
867
+ # mapping between the two. For more information, see [Configuring
868
+ # Application Input][1].
869
+ #
870
+ #
871
+ #
872
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
873
+ #
874
+ # @note When making an API call, you may pass Input
875
+ # data as a hash:
876
+ #
877
+ # {
878
+ # name_prefix: "InAppStreamName", # required
879
+ # kinesis_streams_input: {
880
+ # resource_arn: "ResourceARN", # required
881
+ # role_arn: "RoleARN", # required
882
+ # },
883
+ # kinesis_firehose_input: {
884
+ # resource_arn: "ResourceARN", # required
885
+ # role_arn: "RoleARN", # required
886
+ # },
887
+ # input_parallelism: {
888
+ # count: 1,
889
+ # },
890
+ # input_schema: { # required
891
+ # record_format: { # required
892
+ # record_format_type: "JSON", # required, accepts JSON, CSV
893
+ # mapping_parameters: {
894
+ # json_mapping_parameters: {
895
+ # record_row_path: "RecordRowPath", # required
896
+ # },
897
+ # csv_mapping_parameters: {
898
+ # record_row_delimiter: "RecordRowDelimiter", # required
899
+ # record_column_delimiter: "RecordColumnDelimiter", # required
900
+ # },
901
+ # },
902
+ # },
903
+ # record_encoding: "RecordEncoding",
904
+ # record_columns: [ # required
905
+ # {
906
+ # name: "RecordColumnName", # required
907
+ # mapping: "RecordColumnMapping",
908
+ # sql_type: "RecordColumnSqlType", # required
909
+ # },
910
+ # ],
911
+ # },
912
+ # }
913
+ #
914
+ # @!attribute [rw] name_prefix
915
+ # Name prefix to use when creating in-application stream. Suppose you
916
+ # specify a prefix "MyInApplicationStream". Kinesis Analytics will
917
+ # then create one or more (as per the `InputParallelism` count you
918
+ # specified) in-application streams with names
919
+ # "MyInApplicationStream\_001", "MyInApplicationStream\_002" and
920
+ # so on.
921
+ # @return [String]
922
+ #
923
+ # @!attribute [rw] kinesis_streams_input
924
+ # If the streaming source is an Amazon Kinesis stream, identifies the
925
+ # stream's Amazon Resource Name (ARN) and an IAM role that enables
926
+ # Amazon Kinesis Analytics to access the stream on your behalf.
927
+ # @return [Types::KinesisStreamsInput]
928
+ #
929
+ # @!attribute [rw] kinesis_firehose_input
930
+ # If the streaming source is an Amazon Kinesis Firehose delivery
931
+ # stream, identifies the Firehose delivery stream's ARN and an IAM
932
+ # role that enables Amazon Kinesis Analytics to access the stream on
933
+ # your behalf.
934
+ # @return [Types::KinesisFirehoseInput]
935
+ #
936
+ # @!attribute [rw] input_parallelism
937
+ # Describes the number of in-application streams to create.
938
+ #
939
+ # Data from your source will be routed to these in-application input
940
+ # streams.
941
+ #
942
+ # (see [Configuring Application Input][1].
943
+ #
944
+ #
945
+ #
946
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
947
+ # @return [Types::InputParallelism]
948
+ #
949
+ # @!attribute [rw] input_schema
950
+ # Describes the format of the data in the streaming source, and how
951
+ # each data element maps to corresponding columns in the
952
+ # in-application stream that is being created.
953
+ #
954
+ # Also used to describe the format of the reference data source.
955
+ # @return [Types::SourceSchema]
956
+ #
957
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/Input AWS API Documentation
958
+ #
959
+ class Input < Struct.new(
960
+ :name_prefix,
961
+ :kinesis_streams_input,
962
+ :kinesis_firehose_input,
963
+ :input_parallelism,
964
+ :input_schema)
965
+ include Aws::Structure
966
+ end
967
+
968
+ # When you start your application, you provide this configuration, which
969
+ # identifies the input source and the point in the input source at which
970
+ # you want the application to start processing records.
971
+ #
972
+ # @note When making an API call, you may pass InputConfiguration
973
+ # data as a hash:
974
+ #
975
+ # {
976
+ # id: "Id", # required
977
+ # input_starting_position_configuration: { # required
978
+ # input_starting_position: "NOW", # accepts NOW, TRIM_HORIZON, LAST_STOPPED_POINT
979
+ # },
980
+ # }
981
+ #
982
+ # @!attribute [rw] id
983
+ # Input source ID. You can get this ID by calling the
984
+ # DescribeApplication operation.
985
+ # @return [String]
986
+ #
987
+ # @!attribute [rw] input_starting_position_configuration
988
+ # Point at which you want the application to start processing records
989
+ # from the streaming source.
990
+ # @return [Types::InputStartingPositionConfiguration]
991
+ #
992
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/InputConfiguration AWS API Documentation
993
+ #
994
+ class InputConfiguration < Struct.new(
995
+ :id,
996
+ :input_starting_position_configuration)
997
+ include Aws::Structure
998
+ end
999
+
1000
+ # Describes the application input configuration. For more information,
1001
+ # see [Configuring Application Input][1].
1002
+ #
1003
+ #
1004
+ #
1005
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
1006
+ #
1007
+ # @!attribute [rw] input_id
1008
+ # Input ID associated with the application input. This is the ID that
1009
+ # Amazon Kinesis Analytics assigns to each input configuration you add
1010
+ # to your application.
1011
+ # @return [String]
1012
+ #
1013
+ # @!attribute [rw] name_prefix
1014
+ # In-application name prefix.
1015
+ # @return [String]
1016
+ #
1017
+ # @!attribute [rw] in_app_stream_names
1018
+ # Returns the in-application stream names that are mapped to the
1019
+ # stream source.
1020
+ # @return [Array<String>]
1021
+ #
1022
+ # @!attribute [rw] kinesis_streams_input_description
1023
+ # If an Amazon Kinesis stream is configured as streaming source,
1024
+ # provides Amazon Kinesis stream's ARN and an IAM role that enables
1025
+ # Amazon Kinesis Analytics to access the stream on your behalf.
1026
+ # @return [Types::KinesisStreamsInputDescription]
1027
+ #
1028
+ # @!attribute [rw] kinesis_firehose_input_description
1029
+ # If an Amazon Kinesis Firehose delivery stream is configured as a
1030
+ # streaming source, provides the Firehose delivery stream's Amazon
1031
+ # Resource Name (ARN) and an IAM role that enables Amazon Kinesis
1032
+ # Analytics to access the stream on your behalf.
1033
+ # @return [Types::KinesisFirehoseInputDescription]
1034
+ #
1035
+ # @!attribute [rw] input_schema
1036
+ # Describes the format of the data in the streaming source, and how
1037
+ # each data element maps to corresponding columns created in the
1038
+ # in-application stream.
1039
+ # @return [Types::SourceSchema]
1040
+ #
1041
+ # @!attribute [rw] input_parallelism
1042
+ # Describes the configured parallelism (number of in-application
1043
+ # streams mapped to the streaming source).
1044
+ # @return [Types::InputParallelism]
1045
+ #
1046
+ # @!attribute [rw] input_starting_position_configuration
1047
+ # Point at which the application is configured to read from the input
1048
+ # stream.
1049
+ # @return [Types::InputStartingPositionConfiguration]
1050
+ #
1051
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/InputDescription AWS API Documentation
1052
+ #
1053
+ class InputDescription < Struct.new(
1054
+ :input_id,
1055
+ :name_prefix,
1056
+ :in_app_stream_names,
1057
+ :kinesis_streams_input_description,
1058
+ :kinesis_firehose_input_description,
1059
+ :input_schema,
1060
+ :input_parallelism,
1061
+ :input_starting_position_configuration)
1062
+ include Aws::Structure
1063
+ end
1064
+
1065
+ # Describes the number of in-application streams to create for a given
1066
+ # streaming source. For information about parallellism, see [Configuring
1067
+ # Application Input][1].
1068
+ #
1069
+ #
1070
+ #
1071
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
1072
+ #
1073
+ # @note When making an API call, you may pass InputParallelism
1074
+ # data as a hash:
1075
+ #
1076
+ # {
1077
+ # count: 1,
1078
+ # }
1079
+ #
1080
+ # @!attribute [rw] count
1081
+ # Number of in-application streams to create. For more information,
1082
+ # see [Limits][1].
1083
+ #
1084
+ #
1085
+ #
1086
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html
1087
+ # @return [Integer]
1088
+ #
1089
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/InputParallelism AWS API Documentation
1090
+ #
1091
+ class InputParallelism < Struct.new(
1092
+ :count)
1093
+ include Aws::Structure
1094
+ end
1095
+
1096
+ # Provides updates to the parallelism count.
1097
+ #
1098
+ # @note When making an API call, you may pass InputParallelismUpdate
1099
+ # data as a hash:
1100
+ #
1101
+ # {
1102
+ # count_update: 1,
1103
+ # }
1104
+ #
1105
+ # @!attribute [rw] count_update
1106
+ # Number of in-application streams to create for the specified
1107
+ # streaming source.
1108
+ # @return [Integer]
1109
+ #
1110
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/InputParallelismUpdate AWS API Documentation
1111
+ #
1112
+ class InputParallelismUpdate < Struct.new(
1113
+ :count_update)
1114
+ include Aws::Structure
1115
+ end
1116
+
1117
+ # Describes updates for the application's input schema.
1118
+ #
1119
+ # @note When making an API call, you may pass InputSchemaUpdate
1120
+ # data as a hash:
1121
+ #
1122
+ # {
1123
+ # record_format_update: {
1124
+ # record_format_type: "JSON", # required, accepts JSON, CSV
1125
+ # mapping_parameters: {
1126
+ # json_mapping_parameters: {
1127
+ # record_row_path: "RecordRowPath", # required
1128
+ # },
1129
+ # csv_mapping_parameters: {
1130
+ # record_row_delimiter: "RecordRowDelimiter", # required
1131
+ # record_column_delimiter: "RecordColumnDelimiter", # required
1132
+ # },
1133
+ # },
1134
+ # },
1135
+ # record_encoding_update: "RecordEncoding",
1136
+ # record_column_updates: [
1137
+ # {
1138
+ # name: "RecordColumnName", # required
1139
+ # mapping: "RecordColumnMapping",
1140
+ # sql_type: "RecordColumnSqlType", # required
1141
+ # },
1142
+ # ],
1143
+ # }
1144
+ #
1145
+ # @!attribute [rw] record_format_update
1146
+ # Specifies the format of the records on the streaming source.
1147
+ # @return [Types::RecordFormat]
1148
+ #
1149
+ # @!attribute [rw] record_encoding_update
1150
+ # Specifies the encoding of the records in the streaming source. For
1151
+ # example, UTF-8.
1152
+ # @return [String]
1153
+ #
1154
+ # @!attribute [rw] record_column_updates
1155
+ # A list of `RecordColumn` objects. Each object describes the mapping
1156
+ # of the streaming source element to the corresponding column in the
1157
+ # in-application stream.
1158
+ # @return [Array<Types::RecordColumn>]
1159
+ #
1160
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/InputSchemaUpdate AWS API Documentation
1161
+ #
1162
+ class InputSchemaUpdate < Struct.new(
1163
+ :record_format_update,
1164
+ :record_encoding_update,
1165
+ :record_column_updates)
1166
+ include Aws::Structure
1167
+ end
1168
+
1169
+ # Describes the point at which the application reads from the streaming
1170
+ # source.
1171
+ #
1172
+ # @note When making an API call, you may pass InputStartingPositionConfiguration
1173
+ # data as a hash:
1174
+ #
1175
+ # {
1176
+ # input_starting_position: "NOW", # accepts NOW, TRIM_HORIZON, LAST_STOPPED_POINT
1177
+ # }
1178
+ #
1179
+ # @!attribute [rw] input_starting_position
1180
+ # The starting position on the stream.
1181
+ #
1182
+ # * `LATEST` - Start reading just after the most recent record in the
1183
+ # stream.
1184
+ #
1185
+ # * `TRIM_HORIZON` - Start reading at the last untrimmed record in the
1186
+ # stream, which is the oldest record available in the stream. This
1187
+ # option is not available for an Amazon Kinesis Firehose delivery
1188
+ # stream.
1189
+ #
1190
+ # * `LAST_STOPPED_POINT` - Resume reading from where the application
1191
+ # last stopped reading.
1192
+ # @return [String]
1193
+ #
1194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/InputStartingPositionConfiguration AWS API Documentation
1195
+ #
1196
+ class InputStartingPositionConfiguration < Struct.new(
1197
+ :input_starting_position)
1198
+ include Aws::Structure
1199
+ end
1200
+
1201
+ # Describes updates to a specific input configuration (identified by the
1202
+ # `InputId` of an application).
1203
+ #
1204
+ # @note When making an API call, you may pass InputUpdate
1205
+ # data as a hash:
1206
+ #
1207
+ # {
1208
+ # input_id: "Id", # required
1209
+ # name_prefix_update: "InAppStreamName",
1210
+ # kinesis_streams_input_update: {
1211
+ # resource_arn_update: "ResourceARN",
1212
+ # role_arn_update: "RoleARN",
1213
+ # },
1214
+ # kinesis_firehose_input_update: {
1215
+ # resource_arn_update: "ResourceARN",
1216
+ # role_arn_update: "RoleARN",
1217
+ # },
1218
+ # input_schema_update: {
1219
+ # record_format_update: {
1220
+ # record_format_type: "JSON", # required, accepts JSON, CSV
1221
+ # mapping_parameters: {
1222
+ # json_mapping_parameters: {
1223
+ # record_row_path: "RecordRowPath", # required
1224
+ # },
1225
+ # csv_mapping_parameters: {
1226
+ # record_row_delimiter: "RecordRowDelimiter", # required
1227
+ # record_column_delimiter: "RecordColumnDelimiter", # required
1228
+ # },
1229
+ # },
1230
+ # },
1231
+ # record_encoding_update: "RecordEncoding",
1232
+ # record_column_updates: [
1233
+ # {
1234
+ # name: "RecordColumnName", # required
1235
+ # mapping: "RecordColumnMapping",
1236
+ # sql_type: "RecordColumnSqlType", # required
1237
+ # },
1238
+ # ],
1239
+ # },
1240
+ # input_parallelism_update: {
1241
+ # count_update: 1,
1242
+ # },
1243
+ # }
1244
+ #
1245
+ # @!attribute [rw] input_id
1246
+ # Input ID of the application input to be updated.
1247
+ # @return [String]
1248
+ #
1249
+ # @!attribute [rw] name_prefix_update
1250
+ # Name prefix for in-application stream(s) that Kinesis Analytics
1251
+ # creates for the specific streaming source.
1252
+ # @return [String]
1253
+ #
1254
+ # @!attribute [rw] kinesis_streams_input_update
1255
+ # If a Amazon Kinesis stream is the streaming source to be updated,
1256
+ # provides an updated stream ARN and IAM role ARN.
1257
+ # @return [Types::KinesisStreamsInputUpdate]
1258
+ #
1259
+ # @!attribute [rw] kinesis_firehose_input_update
1260
+ # If an Amazon Kinesis Firehose delivery stream is the streaming
1261
+ # source to be updated, provides an updated stream Amazon Resource
1262
+ # Name (ARN) and IAM role ARN.
1263
+ # @return [Types::KinesisFirehoseInputUpdate]
1264
+ #
1265
+ # @!attribute [rw] input_schema_update
1266
+ # Describes the data format on the streaming source, and how record
1267
+ # elements on the streaming source map to columns of the
1268
+ # in-application stream that is created.
1269
+ # @return [Types::InputSchemaUpdate]
1270
+ #
1271
+ # @!attribute [rw] input_parallelism_update
1272
+ # Describes the parallelism updates (the number in-application streams
1273
+ # Kinesis Analytics creates for the specific streaming source).
1274
+ # @return [Types::InputParallelismUpdate]
1275
+ #
1276
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/InputUpdate AWS API Documentation
1277
+ #
1278
+ class InputUpdate < Struct.new(
1279
+ :input_id,
1280
+ :name_prefix_update,
1281
+ :kinesis_streams_input_update,
1282
+ :kinesis_firehose_input_update,
1283
+ :input_schema_update,
1284
+ :input_parallelism_update)
1285
+ include Aws::Structure
1286
+ end
2212
1287
 
1288
+ # Provides additional mapping information when JSON is the record format
1289
+ # on the streaming source.
1290
+ #
1291
+ # @note When making an API call, you may pass JSONMappingParameters
1292
+ # data as a hash:
1293
+ #
1294
+ # {
1295
+ # record_row_path: "RecordRowPath", # required
1296
+ # }
1297
+ #
1298
+ # @!attribute [rw] record_row_path
1299
+ # Path to the top-level parent that contains the records.
1300
+ #
1301
+ # For example, consider the following JSON record:
1302
+ #
1303
+ # In the `RecordRowPath`, `"$"` refers to the root and path
1304
+ # `"$.vehicle.Model"` refers to the specific `"Model"` key in the
1305
+ # JSON.
1306
+ # @return [String]
1307
+ #
1308
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/JSONMappingParameters AWS API Documentation
1309
+ #
1310
+ class JSONMappingParameters < Struct.new(
1311
+ :record_row_path)
1312
+ include Aws::Structure
2213
1313
  end
1314
+
1315
+ # Identifies an Amazon Kinesis Firehose delivery stream as the streaming
1316
+ # source. You provide the Firehose delivery stream's Amazon Resource
1317
+ # Name (ARN) and an IAM role ARN that enables Amazon Kinesis Analytics
1318
+ # to access the stream on your behalf.
1319
+ #
1320
+ # @note When making an API call, you may pass KinesisFirehoseInput
1321
+ # data as a hash:
1322
+ #
1323
+ # {
1324
+ # resource_arn: "ResourceARN", # required
1325
+ # role_arn: "RoleARN", # required
1326
+ # }
1327
+ #
1328
+ # @!attribute [rw] resource_arn
1329
+ # ARN of the input Firehose delivery stream.
1330
+ # @return [String]
1331
+ #
1332
+ # @!attribute [rw] role_arn
1333
+ # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1334
+ # access the stream on your behalf. You need to make sure the role has
1335
+ # necessary permissions to access the stream.
1336
+ # @return [String]
1337
+ #
1338
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/KinesisFirehoseInput AWS API Documentation
1339
+ #
1340
+ class KinesisFirehoseInput < Struct.new(
1341
+ :resource_arn,
1342
+ :role_arn)
1343
+ include Aws::Structure
1344
+ end
1345
+
1346
+ # Describes the Amazon Kinesis Firehose delivery stream that is
1347
+ # configured as the streaming source in the application input
1348
+ # configuration.
1349
+ #
1350
+ # @!attribute [rw] resource_arn
1351
+ # Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery
1352
+ # stream.
1353
+ # @return [String]
1354
+ #
1355
+ # @!attribute [rw] role_arn
1356
+ # ARN of the IAM role that Amazon Kinesis Analytics assumes to access
1357
+ # the stream.
1358
+ # @return [String]
1359
+ #
1360
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/KinesisFirehoseInputDescription AWS API Documentation
1361
+ #
1362
+ class KinesisFirehoseInputDescription < Struct.new(
1363
+ :resource_arn,
1364
+ :role_arn)
1365
+ include Aws::Structure
1366
+ end
1367
+
1368
+ # When updating application input configuration, provides information
1369
+ # about an Amazon Kinesis Firehose delivery stream as the streaming
1370
+ # source.
1371
+ #
1372
+ # @note When making an API call, you may pass KinesisFirehoseInputUpdate
1373
+ # data as a hash:
1374
+ #
1375
+ # {
1376
+ # resource_arn_update: "ResourceARN",
1377
+ # role_arn_update: "RoleARN",
1378
+ # }
1379
+ #
1380
+ # @!attribute [rw] resource_arn_update
1381
+ # ARN of the input Amazon Kinesis Firehose delivery stream to read.
1382
+ # @return [String]
1383
+ #
1384
+ # @!attribute [rw] role_arn_update
1385
+ # Amazon Resource Name (ARN) of the IAM role that Amazon Kinesis
1386
+ # Analytics can assume to access the stream on your behalf. You need
1387
+ # to grant necessary permissions to this role.
1388
+ # @return [String]
1389
+ #
1390
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/KinesisFirehoseInputUpdate AWS API Documentation
1391
+ #
1392
+ class KinesisFirehoseInputUpdate < Struct.new(
1393
+ :resource_arn_update,
1394
+ :role_arn_update)
1395
+ include Aws::Structure
1396
+ end
1397
+
1398
+ # When configuring application output, identifies an Amazon Kinesis
1399
+ # Firehose delivery stream as the destination. You provide the stream
1400
+ # Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis
1401
+ # Analytics to write to the stream on your behalf.
1402
+ #
1403
+ # @note When making an API call, you may pass KinesisFirehoseOutput
1404
+ # data as a hash:
1405
+ #
1406
+ # {
1407
+ # resource_arn: "ResourceARN", # required
1408
+ # role_arn: "RoleARN", # required
1409
+ # }
1410
+ #
1411
+ # @!attribute [rw] resource_arn
1412
+ # ARN of the destination Amazon Kinesis Firehose delivery stream to
1413
+ # write to.
1414
+ # @return [String]
1415
+ #
1416
+ # @!attribute [rw] role_arn
1417
+ # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1418
+ # write to the destination stream on your behalf. You need to grant
1419
+ # the necessary permissions to this role.
1420
+ # @return [String]
1421
+ #
1422
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/KinesisFirehoseOutput AWS API Documentation
1423
+ #
1424
+ class KinesisFirehoseOutput < Struct.new(
1425
+ :resource_arn,
1426
+ :role_arn)
1427
+ include Aws::Structure
1428
+ end
1429
+
1430
+ # For an application output, describes the Amazon Kinesis Firehose
1431
+ # delivery stream configured as its destination.
1432
+ #
1433
+ # @!attribute [rw] resource_arn
1434
+ # Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery
1435
+ # stream.
1436
+ # @return [String]
1437
+ #
1438
+ # @!attribute [rw] role_arn
1439
+ # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1440
+ # access the stream.
1441
+ # @return [String]
1442
+ #
1443
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/KinesisFirehoseOutputDescription AWS API Documentation
1444
+ #
1445
+ class KinesisFirehoseOutputDescription < Struct.new(
1446
+ :resource_arn,
1447
+ :role_arn)
1448
+ include Aws::Structure
1449
+ end
1450
+
1451
+ # When updating an output configuration using the UpdateApplication
1452
+ # operation, provides information about an Amazon Kinesis Firehose
1453
+ # delivery stream configured as the destination.
1454
+ #
1455
+ # @note When making an API call, you may pass KinesisFirehoseOutputUpdate
1456
+ # data as a hash:
1457
+ #
1458
+ # {
1459
+ # resource_arn_update: "ResourceARN",
1460
+ # role_arn_update: "RoleARN",
1461
+ # }
1462
+ #
1463
+ # @!attribute [rw] resource_arn_update
1464
+ # Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery
1465
+ # stream to write to.
1466
+ # @return [String]
1467
+ #
1468
+ # @!attribute [rw] role_arn_update
1469
+ # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1470
+ # access the stream on your behalf. You need to grant necessary
1471
+ # permissions to this role.
1472
+ # @return [String]
1473
+ #
1474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/KinesisFirehoseOutputUpdate AWS API Documentation
1475
+ #
1476
+ class KinesisFirehoseOutputUpdate < Struct.new(
1477
+ :resource_arn_update,
1478
+ :role_arn_update)
1479
+ include Aws::Structure
1480
+ end
1481
+
1482
+ # Identifies an Amazon Kinesis stream as the streaming source. You
1483
+ # provide the stream's ARN and an IAM role ARN that enables Amazon
1484
+ # Kinesis Analytics to access the stream on your behalf.
1485
+ #
1486
+ # @note When making an API call, you may pass KinesisStreamsInput
1487
+ # data as a hash:
1488
+ #
1489
+ # {
1490
+ # resource_arn: "ResourceARN", # required
1491
+ # role_arn: "RoleARN", # required
1492
+ # }
1493
+ #
1494
+ # @!attribute [rw] resource_arn
1495
+ # ARN of the input Amazon Kinesis stream to read.
1496
+ # @return [String]
1497
+ #
1498
+ # @!attribute [rw] role_arn
1499
+ # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1500
+ # access the stream on your behalf. You need to grant the necessary
1501
+ # permissions to this role.
1502
+ # @return [String]
1503
+ #
1504
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/KinesisStreamsInput AWS API Documentation
1505
+ #
1506
+ class KinesisStreamsInput < Struct.new(
1507
+ :resource_arn,
1508
+ :role_arn)
1509
+ include Aws::Structure
1510
+ end
1511
+
1512
+ # Describes the Amazon Kinesis stream that is configured as the
1513
+ # streaming source in the application input configuration.
1514
+ #
1515
+ # @!attribute [rw] resource_arn
1516
+ # Amazon Resource Name (ARN) of the Amazon Kinesis stream.
1517
+ # @return [String]
1518
+ #
1519
+ # @!attribute [rw] role_arn
1520
+ # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1521
+ # access the stream.
1522
+ # @return [String]
1523
+ #
1524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/KinesisStreamsInputDescription AWS API Documentation
1525
+ #
1526
+ class KinesisStreamsInputDescription < Struct.new(
1527
+ :resource_arn,
1528
+ :role_arn)
1529
+ include Aws::Structure
1530
+ end
1531
+
1532
+ # When updating application input configuration, provides information
1533
+ # about an Amazon Kinesis stream as the streaming source.
1534
+ #
1535
+ # @note When making an API call, you may pass KinesisStreamsInputUpdate
1536
+ # data as a hash:
1537
+ #
1538
+ # {
1539
+ # resource_arn_update: "ResourceARN",
1540
+ # role_arn_update: "RoleARN",
1541
+ # }
1542
+ #
1543
+ # @!attribute [rw] resource_arn_update
1544
+ # Amazon Resource Name (ARN) of the input Amazon Kinesis stream to
1545
+ # read.
1546
+ # @return [String]
1547
+ #
1548
+ # @!attribute [rw] role_arn_update
1549
+ # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1550
+ # access the stream on your behalf. You need to grant the necessary
1551
+ # permissions to this role.
1552
+ # @return [String]
1553
+ #
1554
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/KinesisStreamsInputUpdate AWS API Documentation
1555
+ #
1556
+ class KinesisStreamsInputUpdate < Struct.new(
1557
+ :resource_arn_update,
1558
+ :role_arn_update)
1559
+ include Aws::Structure
1560
+ end
1561
+
1562
+ # When configuring application output, identifies a Amazon Kinesis
1563
+ # stream as the destination. You provide the stream Amazon Resource Name
1564
+ # (ARN) and also an IAM role ARN that Amazon Kinesis Analytics can use
1565
+ # to write to the stream on your behalf.
1566
+ #
1567
+ # @note When making an API call, you may pass KinesisStreamsOutput
1568
+ # data as a hash:
1569
+ #
1570
+ # {
1571
+ # resource_arn: "ResourceARN", # required
1572
+ # role_arn: "RoleARN", # required
1573
+ # }
1574
+ #
1575
+ # @!attribute [rw] resource_arn
1576
+ # ARN of the destination Amazon Kinesis stream to write to.
1577
+ # @return [String]
1578
+ #
1579
+ # @!attribute [rw] role_arn
1580
+ # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1581
+ # write to the destination stream on your behalf. You need to grant
1582
+ # the necessary permissions to this role.
1583
+ # @return [String]
1584
+ #
1585
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/KinesisStreamsOutput AWS API Documentation
1586
+ #
1587
+ class KinesisStreamsOutput < Struct.new(
1588
+ :resource_arn,
1589
+ :role_arn)
1590
+ include Aws::Structure
1591
+ end
1592
+
1593
+ # For an application output, describes the Amazon Kinesis stream
1594
+ # configured as its destination.
1595
+ #
1596
+ # @!attribute [rw] resource_arn
1597
+ # Amazon Resource Name (ARN) of the Amazon Kinesis stream.
1598
+ # @return [String]
1599
+ #
1600
+ # @!attribute [rw] role_arn
1601
+ # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1602
+ # access the stream.
1603
+ # @return [String]
1604
+ #
1605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/KinesisStreamsOutputDescription AWS API Documentation
1606
+ #
1607
+ class KinesisStreamsOutputDescription < Struct.new(
1608
+ :resource_arn,
1609
+ :role_arn)
1610
+ include Aws::Structure
1611
+ end
1612
+
1613
+ # When updating an output configuration using the UpdateApplication
1614
+ # operation, provides information about an Amazon Kinesis stream
1615
+ # configured as the destination.
1616
+ #
1617
+ # @note When making an API call, you may pass KinesisStreamsOutputUpdate
1618
+ # data as a hash:
1619
+ #
1620
+ # {
1621
+ # resource_arn_update: "ResourceARN",
1622
+ # role_arn_update: "RoleARN",
1623
+ # }
1624
+ #
1625
+ # @!attribute [rw] resource_arn_update
1626
+ # Amazon Resource Name (ARN) of the Amazon Kinesis stream where you
1627
+ # want to write the output.
1628
+ # @return [String]
1629
+ #
1630
+ # @!attribute [rw] role_arn_update
1631
+ # ARN of the IAM role that Amazon Kinesis Analytics can assume to
1632
+ # access the stream on your behalf. You need to grant the necessary
1633
+ # permissions to this role.
1634
+ # @return [String]
1635
+ #
1636
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/KinesisStreamsOutputUpdate AWS API Documentation
1637
+ #
1638
+ class KinesisStreamsOutputUpdate < Struct.new(
1639
+ :resource_arn_update,
1640
+ :role_arn_update)
1641
+ include Aws::Structure
1642
+ end
1643
+
1644
+ # @note When making an API call, you may pass ListApplicationsRequest
1645
+ # data as a hash:
1646
+ #
1647
+ # {
1648
+ # limit: 1,
1649
+ # exclusive_start_application_name: "ApplicationName",
1650
+ # }
1651
+ #
1652
+ # @!attribute [rw] limit
1653
+ # Maximum number of applications to list.
1654
+ # @return [Integer]
1655
+ #
1656
+ # @!attribute [rw] exclusive_start_application_name
1657
+ # Name of the application to start the list with. When using
1658
+ # pagination to retrieve the list, you don't need to specify this
1659
+ # parameter in the first request. However, in subsequent requests, you
1660
+ # add the last application name from the previous response to get the
1661
+ # next page of applications.
1662
+ # @return [String]
1663
+ #
1664
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/ListApplicationsRequest AWS API Documentation
1665
+ #
1666
+ class ListApplicationsRequest < Struct.new(
1667
+ :limit,
1668
+ :exclusive_start_application_name)
1669
+ include Aws::Structure
1670
+ end
1671
+
1672
+ # @!attribute [rw] application_summaries
1673
+ # List of `ApplicationSummary` objects.
1674
+ # @return [Array<Types::ApplicationSummary>]
1675
+ #
1676
+ # @!attribute [rw] has_more_applications
1677
+ # Returns true if there are more applications to retrieve.
1678
+ # @return [Boolean]
1679
+ #
1680
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/ListApplicationsResponse AWS API Documentation
1681
+ #
1682
+ class ListApplicationsResponse < Struct.new(
1683
+ :application_summaries,
1684
+ :has_more_applications)
1685
+ include Aws::Structure
1686
+ end
1687
+
1688
+ # When configuring application input at the time of creating or updating
1689
+ # an application, provides additional mapping information specific to
1690
+ # the record format (such as JSON, CSV, or record fields delimited by
1691
+ # some delimiter) on the streaming source.
1692
+ #
1693
+ # @note When making an API call, you may pass MappingParameters
1694
+ # data as a hash:
1695
+ #
1696
+ # {
1697
+ # json_mapping_parameters: {
1698
+ # record_row_path: "RecordRowPath", # required
1699
+ # },
1700
+ # csv_mapping_parameters: {
1701
+ # record_row_delimiter: "RecordRowDelimiter", # required
1702
+ # record_column_delimiter: "RecordColumnDelimiter", # required
1703
+ # },
1704
+ # }
1705
+ #
1706
+ # @!attribute [rw] json_mapping_parameters
1707
+ # Provides additional mapping information when JSON is the record
1708
+ # format on the streaming source.
1709
+ # @return [Types::JSONMappingParameters]
1710
+ #
1711
+ # @!attribute [rw] csv_mapping_parameters
1712
+ # Provides additional mapping information when the record format uses
1713
+ # delimiters (for example, CSV).
1714
+ # @return [Types::CSVMappingParameters]
1715
+ #
1716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/MappingParameters AWS API Documentation
1717
+ #
1718
+ class MappingParameters < Struct.new(
1719
+ :json_mapping_parameters,
1720
+ :csv_mapping_parameters)
1721
+ include Aws::Structure
1722
+ end
1723
+
1724
+ # Describes application output configuration in which you identify an
1725
+ # in-application stream and a destination where you want the
1726
+ # in-application stream data to be written. The destination can be an
1727
+ # Amazon Kinesis stream or an Amazon Kinesis Firehose delivery stream.
1728
+ #
1729
+ #
1730
+ #
1731
+ # You can configure your application to write output to up to five
1732
+ # destinations.
1733
+ #
1734
+ # @note When making an API call, you may pass Output
1735
+ # data as a hash:
1736
+ #
1737
+ # {
1738
+ # name: "InAppStreamName", # required
1739
+ # kinesis_streams_output: {
1740
+ # resource_arn: "ResourceARN", # required
1741
+ # role_arn: "RoleARN", # required
1742
+ # },
1743
+ # kinesis_firehose_output: {
1744
+ # resource_arn: "ResourceARN", # required
1745
+ # role_arn: "RoleARN", # required
1746
+ # },
1747
+ # destination_schema: { # required
1748
+ # record_format_type: "JSON", # accepts JSON, CSV
1749
+ # },
1750
+ # }
1751
+ #
1752
+ # @!attribute [rw] name
1753
+ # Name of the in-application stream.
1754
+ # @return [String]
1755
+ #
1756
+ # @!attribute [rw] kinesis_streams_output
1757
+ # Identifies an Amazon Kinesis stream as the destination.
1758
+ # @return [Types::KinesisStreamsOutput]
1759
+ #
1760
+ # @!attribute [rw] kinesis_firehose_output
1761
+ # Identifies an Amazon Kinesis Firehose delivery stream as the
1762
+ # destination.
1763
+ # @return [Types::KinesisFirehoseOutput]
1764
+ #
1765
+ # @!attribute [rw] destination_schema
1766
+ # Describes the data format when records are written to the
1767
+ # destination. For more information, see [Configuring Application
1768
+ # Output][1].
1769
+ #
1770
+ #
1771
+ #
1772
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html
1773
+ # @return [Types::DestinationSchema]
1774
+ #
1775
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/Output AWS API Documentation
1776
+ #
1777
+ class Output < Struct.new(
1778
+ :name,
1779
+ :kinesis_streams_output,
1780
+ :kinesis_firehose_output,
1781
+ :destination_schema)
1782
+ include Aws::Structure
1783
+ end
1784
+
1785
+ # Describes the application output configuration, which includes the
1786
+ # in-application stream name and the destination where the stream data
1787
+ # is written. The destination can be an Amazon Kinesis stream or an
1788
+ # Amazon Kinesis Firehose delivery stream.
1789
+ #
1790
+ # @!attribute [rw] output_id
1791
+ # A unique identifier for the output configuration.
1792
+ # @return [String]
1793
+ #
1794
+ # @!attribute [rw] name
1795
+ # Name of the in-application stream configured as output.
1796
+ # @return [String]
1797
+ #
1798
+ # @!attribute [rw] kinesis_streams_output_description
1799
+ # Describes Amazon Kinesis stream configured as the destination where
1800
+ # output is written.
1801
+ # @return [Types::KinesisStreamsOutputDescription]
1802
+ #
1803
+ # @!attribute [rw] kinesis_firehose_output_description
1804
+ # Describes the Amazon Kinesis Firehose delivery stream configured as
1805
+ # the destination where output is written.
1806
+ # @return [Types::KinesisFirehoseOutputDescription]
1807
+ #
1808
+ # @!attribute [rw] destination_schema
1809
+ # Data format used for writing data to the destination.
1810
+ # @return [Types::DestinationSchema]
1811
+ #
1812
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/OutputDescription AWS API Documentation
1813
+ #
1814
+ class OutputDescription < Struct.new(
1815
+ :output_id,
1816
+ :name,
1817
+ :kinesis_streams_output_description,
1818
+ :kinesis_firehose_output_description,
1819
+ :destination_schema)
1820
+ include Aws::Structure
1821
+ end
1822
+
1823
+ # Describes updates to the output configuration identified by the
1824
+ # `OutputId`.
1825
+ #
1826
+ # @note When making an API call, you may pass OutputUpdate
1827
+ # data as a hash:
1828
+ #
1829
+ # {
1830
+ # output_id: "Id", # required
1831
+ # name_update: "InAppStreamName",
1832
+ # kinesis_streams_output_update: {
1833
+ # resource_arn_update: "ResourceARN",
1834
+ # role_arn_update: "RoleARN",
1835
+ # },
1836
+ # kinesis_firehose_output_update: {
1837
+ # resource_arn_update: "ResourceARN",
1838
+ # role_arn_update: "RoleARN",
1839
+ # },
1840
+ # destination_schema_update: {
1841
+ # record_format_type: "JSON", # accepts JSON, CSV
1842
+ # },
1843
+ # }
1844
+ #
1845
+ # @!attribute [rw] output_id
1846
+ # Identifies the specific output configuration that you want to
1847
+ # update.
1848
+ # @return [String]
1849
+ #
1850
+ # @!attribute [rw] name_update
1851
+ # If you want to specify a different in-application stream for this
1852
+ # output configuration, use this field to specify the new
1853
+ # in-application stream name.
1854
+ # @return [String]
1855
+ #
1856
+ # @!attribute [rw] kinesis_streams_output_update
1857
+ # Describes an Amazon Kinesis stream as the destination for the
1858
+ # output.
1859
+ # @return [Types::KinesisStreamsOutputUpdate]
1860
+ #
1861
+ # @!attribute [rw] kinesis_firehose_output_update
1862
+ # Describes a Amazon Kinesis Firehose delivery stream as the
1863
+ # destination for the output.
1864
+ # @return [Types::KinesisFirehoseOutputUpdate]
1865
+ #
1866
+ # @!attribute [rw] destination_schema_update
1867
+ # Describes the data format when records are written to the
1868
+ # destination. For more information, see [Configuring Application
1869
+ # Output][1].
1870
+ #
1871
+ #
1872
+ #
1873
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html
1874
+ # @return [Types::DestinationSchema]
1875
+ #
1876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/OutputUpdate AWS API Documentation
1877
+ #
1878
+ class OutputUpdate < Struct.new(
1879
+ :output_id,
1880
+ :name_update,
1881
+ :kinesis_streams_output_update,
1882
+ :kinesis_firehose_output_update,
1883
+ :destination_schema_update)
1884
+ include Aws::Structure
1885
+ end
1886
+
1887
+ # Describes the mapping of each data element in the streaming source to
1888
+ # the corresponding column in the in-application stream.
1889
+ #
1890
+ # Also used to describe the format of the reference data source.
1891
+ #
1892
+ # @note When making an API call, you may pass RecordColumn
1893
+ # data as a hash:
1894
+ #
1895
+ # {
1896
+ # name: "RecordColumnName", # required
1897
+ # mapping: "RecordColumnMapping",
1898
+ # sql_type: "RecordColumnSqlType", # required
1899
+ # }
1900
+ #
1901
+ # @!attribute [rw] name
1902
+ # Name of the column created in the in-application input stream or
1903
+ # reference table.
1904
+ # @return [String]
1905
+ #
1906
+ # @!attribute [rw] mapping
1907
+ # Reference to the data element in the streaming input of the
1908
+ # reference data source.
1909
+ # @return [String]
1910
+ #
1911
+ # @!attribute [rw] sql_type
1912
+ # Type of column created in the in-application input stream or
1913
+ # reference table.
1914
+ # @return [String]
1915
+ #
1916
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/RecordColumn AWS API Documentation
1917
+ #
1918
+ class RecordColumn < Struct.new(
1919
+ :name,
1920
+ :mapping,
1921
+ :sql_type)
1922
+ include Aws::Structure
1923
+ end
1924
+
1925
+ # Describes the record format and relevant mapping information that
1926
+ # should be applied to schematize the records on the stream.
1927
+ #
1928
+ # @note When making an API call, you may pass RecordFormat
1929
+ # data as a hash:
1930
+ #
1931
+ # {
1932
+ # record_format_type: "JSON", # required, accepts JSON, CSV
1933
+ # mapping_parameters: {
1934
+ # json_mapping_parameters: {
1935
+ # record_row_path: "RecordRowPath", # required
1936
+ # },
1937
+ # csv_mapping_parameters: {
1938
+ # record_row_delimiter: "RecordRowDelimiter", # required
1939
+ # record_column_delimiter: "RecordColumnDelimiter", # required
1940
+ # },
1941
+ # },
1942
+ # }
1943
+ #
1944
+ # @!attribute [rw] record_format_type
1945
+ # The type of record format.
1946
+ # @return [String]
1947
+ #
1948
+ # @!attribute [rw] mapping_parameters
1949
+ # When configuring application input at the time of creating or
1950
+ # updating an application, provides additional mapping information
1951
+ # specific to the record format (such as JSON, CSV, or record fields
1952
+ # delimited by some delimiter) on the streaming source.
1953
+ # @return [Types::MappingParameters]
1954
+ #
1955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/RecordFormat AWS API Documentation
1956
+ #
1957
+ class RecordFormat < Struct.new(
1958
+ :record_format_type,
1959
+ :mapping_parameters)
1960
+ include Aws::Structure
1961
+ end
1962
+
1963
+ # Describes the reference data source by providing the source
1964
+ # information (S3 bucket name and object key name), the resulting
1965
+ # in-application table name that is created, and the necessary schema to
1966
+ # map the data elements in the Amazon S3 object to the in-application
1967
+ # table.
1968
+ #
1969
+ # @note When making an API call, you may pass ReferenceDataSource
1970
+ # data as a hash:
1971
+ #
1972
+ # {
1973
+ # table_name: "InAppTableName", # required
1974
+ # s3_reference_data_source: {
1975
+ # bucket_arn: "BucketARN", # required
1976
+ # file_key: "FileKey", # required
1977
+ # reference_role_arn: "RoleARN", # required
1978
+ # },
1979
+ # reference_schema: { # required
1980
+ # record_format: { # required
1981
+ # record_format_type: "JSON", # required, accepts JSON, CSV
1982
+ # mapping_parameters: {
1983
+ # json_mapping_parameters: {
1984
+ # record_row_path: "RecordRowPath", # required
1985
+ # },
1986
+ # csv_mapping_parameters: {
1987
+ # record_row_delimiter: "RecordRowDelimiter", # required
1988
+ # record_column_delimiter: "RecordColumnDelimiter", # required
1989
+ # },
1990
+ # },
1991
+ # },
1992
+ # record_encoding: "RecordEncoding",
1993
+ # record_columns: [ # required
1994
+ # {
1995
+ # name: "RecordColumnName", # required
1996
+ # mapping: "RecordColumnMapping",
1997
+ # sql_type: "RecordColumnSqlType", # required
1998
+ # },
1999
+ # ],
2000
+ # },
2001
+ # }
2002
+ #
2003
+ # @!attribute [rw] table_name
2004
+ # Name of the in-application table to create.
2005
+ # @return [String]
2006
+ #
2007
+ # @!attribute [rw] s3_reference_data_source
2008
+ # Identifies the S3 bucket and object that contains the reference
2009
+ # data. Also identifies the IAM role Amazon Kinesis Analytics can
2010
+ # assume to read this object on your behalf.
2011
+ #
2012
+ # An Amazon Kinesis Analytics application loads reference data only
2013
+ # once. If the data changes, you call the UpdateApplication operation
2014
+ # to trigger reloading of data into your application.
2015
+ # @return [Types::S3ReferenceDataSource]
2016
+ #
2017
+ # @!attribute [rw] reference_schema
2018
+ # Describes the format of the data in the streaming source, and how
2019
+ # each data element maps to corresponding columns created in the
2020
+ # in-application stream.
2021
+ # @return [Types::SourceSchema]
2022
+ #
2023
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/ReferenceDataSource AWS API Documentation
2024
+ #
2025
+ class ReferenceDataSource < Struct.new(
2026
+ :table_name,
2027
+ :s3_reference_data_source,
2028
+ :reference_schema)
2029
+ include Aws::Structure
2030
+ end
2031
+
2032
+ # Describes the reference data source configured for an application.
2033
+ #
2034
+ # @!attribute [rw] reference_id
2035
+ # ID of the reference data source. This is the ID that Amazon Kinesis
2036
+ # Analytics assigns when you add the reference data source to your
2037
+ # application using the AddApplicationReferenceDataSource operation.
2038
+ # @return [String]
2039
+ #
2040
+ # @!attribute [rw] table_name
2041
+ # The in-application table name created by the specific reference data
2042
+ # source configuration.
2043
+ # @return [String]
2044
+ #
2045
+ # @!attribute [rw] s3_reference_data_source_description
2046
+ # Provides the S3 bucket name, the object key name that contains the
2047
+ # reference data. It also provides the Amazon Resource Name (ARN) of
2048
+ # the IAM role that Amazon Kinesis Analytics can assume to read the
2049
+ # Amazon S3 object and populate the in-application reference table.
2050
+ # @return [Types::S3ReferenceDataSourceDescription]
2051
+ #
2052
+ # @!attribute [rw] reference_schema
2053
+ # Describes the format of the data in the streaming source, and how
2054
+ # each data element maps to corresponding columns created in the
2055
+ # in-application stream.
2056
+ # @return [Types::SourceSchema]
2057
+ #
2058
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/ReferenceDataSourceDescription AWS API Documentation
2059
+ #
2060
+ class ReferenceDataSourceDescription < Struct.new(
2061
+ :reference_id,
2062
+ :table_name,
2063
+ :s3_reference_data_source_description,
2064
+ :reference_schema)
2065
+ include Aws::Structure
2066
+ end
2067
+
2068
+ # When you update a reference data source configuration for an
2069
+ # application, this object provides all the updated values (such as the
2070
+ # source bucket name and object key name), the in-application table name
2071
+ # that is created, and updated mapping information that maps the data in
2072
+ # the Amazon S3 object to the in-application reference table that is
2073
+ # created.
2074
+ #
2075
+ # @note When making an API call, you may pass ReferenceDataSourceUpdate
2076
+ # data as a hash:
2077
+ #
2078
+ # {
2079
+ # reference_id: "Id", # required
2080
+ # table_name_update: "InAppTableName",
2081
+ # s3_reference_data_source_update: {
2082
+ # bucket_arn_update: "BucketARN",
2083
+ # file_key_update: "FileKey",
2084
+ # reference_role_arn_update: "RoleARN",
2085
+ # },
2086
+ # reference_schema_update: {
2087
+ # record_format: { # required
2088
+ # record_format_type: "JSON", # required, accepts JSON, CSV
2089
+ # mapping_parameters: {
2090
+ # json_mapping_parameters: {
2091
+ # record_row_path: "RecordRowPath", # required
2092
+ # },
2093
+ # csv_mapping_parameters: {
2094
+ # record_row_delimiter: "RecordRowDelimiter", # required
2095
+ # record_column_delimiter: "RecordColumnDelimiter", # required
2096
+ # },
2097
+ # },
2098
+ # },
2099
+ # record_encoding: "RecordEncoding",
2100
+ # record_columns: [ # required
2101
+ # {
2102
+ # name: "RecordColumnName", # required
2103
+ # mapping: "RecordColumnMapping",
2104
+ # sql_type: "RecordColumnSqlType", # required
2105
+ # },
2106
+ # ],
2107
+ # },
2108
+ # }
2109
+ #
2110
+ # @!attribute [rw] reference_id
2111
+ # ID of the reference data source being updated. You can use the
2112
+ # DescribeApplication operation to get this value.
2113
+ # @return [String]
2114
+ #
2115
+ # @!attribute [rw] table_name_update
2116
+ # In-application table name that is created by this update.
2117
+ # @return [String]
2118
+ #
2119
+ # @!attribute [rw] s3_reference_data_source_update
2120
+ # Describes the S3 bucket name, object key name, and IAM role that
2121
+ # Amazon Kinesis Analytics can assume to read the Amazon S3 object on
2122
+ # your behalf and populate the in-application reference table.
2123
+ # @return [Types::S3ReferenceDataSourceUpdate]
2124
+ #
2125
+ # @!attribute [rw] reference_schema_update
2126
+ # Describes the format of the data in the streaming source, and how
2127
+ # each data element maps to corresponding columns created in the
2128
+ # in-application stream.
2129
+ # @return [Types::SourceSchema]
2130
+ #
2131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/ReferenceDataSourceUpdate AWS API Documentation
2132
+ #
2133
+ class ReferenceDataSourceUpdate < Struct.new(
2134
+ :reference_id,
2135
+ :table_name_update,
2136
+ :s3_reference_data_source_update,
2137
+ :reference_schema_update)
2138
+ include Aws::Structure
2139
+ end
2140
+
2141
+ # Identifies the S3 bucket and object that contains the reference data.
2142
+ # Also identifies the IAM role Amazon Kinesis Analytics can assume to
2143
+ # read this object on your behalf.
2144
+ #
2145
+ # An Amazon Kinesis Analytics application loads reference data only
2146
+ # once. If the data changes, you call the UpdateApplication operation to
2147
+ # trigger reloading of data into your application.
2148
+ #
2149
+ # @note When making an API call, you may pass S3ReferenceDataSource
2150
+ # data as a hash:
2151
+ #
2152
+ # {
2153
+ # bucket_arn: "BucketARN", # required
2154
+ # file_key: "FileKey", # required
2155
+ # reference_role_arn: "RoleARN", # required
2156
+ # }
2157
+ #
2158
+ # @!attribute [rw] bucket_arn
2159
+ # Amazon Resource Name (ARN) of the S3 bucket.
2160
+ # @return [String]
2161
+ #
2162
+ # @!attribute [rw] file_key
2163
+ # Object key name containing reference data.
2164
+ # @return [String]
2165
+ #
2166
+ # @!attribute [rw] reference_role_arn
2167
+ # ARN of the IAM role that the service can assume to read data on your
2168
+ # behalf. This role must have permission for the `s3:GetObject` action
2169
+ # on the object and trust policy that allows Amazon Kinesis Analytics
2170
+ # service principal to assume this role.
2171
+ # @return [String]
2172
+ #
2173
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/S3ReferenceDataSource AWS API Documentation
2174
+ #
2175
+ class S3ReferenceDataSource < Struct.new(
2176
+ :bucket_arn,
2177
+ :file_key,
2178
+ :reference_role_arn)
2179
+ include Aws::Structure
2180
+ end
2181
+
2182
+ # Provides the bucket name and object key name that stores the reference
2183
+ # data.
2184
+ #
2185
+ # @!attribute [rw] bucket_arn
2186
+ # Amazon Resource Name (ARN) of the S3 bucket.
2187
+ # @return [String]
2188
+ #
2189
+ # @!attribute [rw] file_key
2190
+ # Amazon S3 object key name.
2191
+ # @return [String]
2192
+ #
2193
+ # @!attribute [rw] reference_role_arn
2194
+ # ARN of the IAM role that Amazon Kinesis Analytics can assume to read
2195
+ # the Amazon S3 object on your behalf to populate the in-application
2196
+ # reference table.
2197
+ # @return [String]
2198
+ #
2199
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/S3ReferenceDataSourceDescription AWS API Documentation
2200
+ #
2201
+ class S3ReferenceDataSourceDescription < Struct.new(
2202
+ :bucket_arn,
2203
+ :file_key,
2204
+ :reference_role_arn)
2205
+ include Aws::Structure
2206
+ end
2207
+
2208
+ # Describes the S3 bucket name, object key name, and IAM role that
2209
+ # Amazon Kinesis Analytics can assume to read the Amazon S3 object on
2210
+ # your behalf and populate the in-application reference table.
2211
+ #
2212
+ # @note When making an API call, you may pass S3ReferenceDataSourceUpdate
2213
+ # data as a hash:
2214
+ #
2215
+ # {
2216
+ # bucket_arn_update: "BucketARN",
2217
+ # file_key_update: "FileKey",
2218
+ # reference_role_arn_update: "RoleARN",
2219
+ # }
2220
+ #
2221
+ # @!attribute [rw] bucket_arn_update
2222
+ # Amazon Resource Name (ARN) of the S3 bucket.
2223
+ # @return [String]
2224
+ #
2225
+ # @!attribute [rw] file_key_update
2226
+ # Object key name.
2227
+ # @return [String]
2228
+ #
2229
+ # @!attribute [rw] reference_role_arn_update
2230
+ # ARN of the IAM role that Amazon Kinesis Analytics can assume to read
2231
+ # the Amazon S3 object and populate the in-application.
2232
+ # @return [String]
2233
+ #
2234
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/S3ReferenceDataSourceUpdate AWS API Documentation
2235
+ #
2236
+ class S3ReferenceDataSourceUpdate < Struct.new(
2237
+ :bucket_arn_update,
2238
+ :file_key_update,
2239
+ :reference_role_arn_update)
2240
+ include Aws::Structure
2241
+ end
2242
+
2243
+ # Describes the format of the data in the streaming source, and how each
2244
+ # data element maps to corresponding columns created in the
2245
+ # in-application stream.
2246
+ #
2247
+ # @note When making an API call, you may pass SourceSchema
2248
+ # data as a hash:
2249
+ #
2250
+ # {
2251
+ # record_format: { # required
2252
+ # record_format_type: "JSON", # required, accepts JSON, CSV
2253
+ # mapping_parameters: {
2254
+ # json_mapping_parameters: {
2255
+ # record_row_path: "RecordRowPath", # required
2256
+ # },
2257
+ # csv_mapping_parameters: {
2258
+ # record_row_delimiter: "RecordRowDelimiter", # required
2259
+ # record_column_delimiter: "RecordColumnDelimiter", # required
2260
+ # },
2261
+ # },
2262
+ # },
2263
+ # record_encoding: "RecordEncoding",
2264
+ # record_columns: [ # required
2265
+ # {
2266
+ # name: "RecordColumnName", # required
2267
+ # mapping: "RecordColumnMapping",
2268
+ # sql_type: "RecordColumnSqlType", # required
2269
+ # },
2270
+ # ],
2271
+ # }
2272
+ #
2273
+ # @!attribute [rw] record_format
2274
+ # Specifies the format of the records on the streaming source.
2275
+ # @return [Types::RecordFormat]
2276
+ #
2277
+ # @!attribute [rw] record_encoding
2278
+ # Specifies the encoding of the records in the streaming source. For
2279
+ # example, UTF-8.
2280
+ # @return [String]
2281
+ #
2282
+ # @!attribute [rw] record_columns
2283
+ # A list of `RecordColumn` objects.
2284
+ # @return [Array<Types::RecordColumn>]
2285
+ #
2286
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/SourceSchema AWS API Documentation
2287
+ #
2288
+ class SourceSchema < Struct.new(
2289
+ :record_format,
2290
+ :record_encoding,
2291
+ :record_columns)
2292
+ include Aws::Structure
2293
+ end
2294
+
2295
+ # @note When making an API call, you may pass StartApplicationRequest
2296
+ # data as a hash:
2297
+ #
2298
+ # {
2299
+ # application_name: "ApplicationName", # required
2300
+ # input_configurations: [ # required
2301
+ # {
2302
+ # id: "Id", # required
2303
+ # input_starting_position_configuration: { # required
2304
+ # input_starting_position: "NOW", # accepts NOW, TRIM_HORIZON, LAST_STOPPED_POINT
2305
+ # },
2306
+ # },
2307
+ # ],
2308
+ # }
2309
+ #
2310
+ # @!attribute [rw] application_name
2311
+ # Name of the application.
2312
+ # @return [String]
2313
+ #
2314
+ # @!attribute [rw] input_configurations
2315
+ # Identifies the specific input, by ID, that the application starts
2316
+ # consuming. Amazon Kinesis Analytics starts reading the streaming
2317
+ # source associated with the input. You can also specify where in the
2318
+ # streaming source you want Amazon Kinesis Analytics to start reading.
2319
+ # @return [Array<Types::InputConfiguration>]
2320
+ #
2321
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/StartApplicationRequest AWS API Documentation
2322
+ #
2323
+ class StartApplicationRequest < Struct.new(
2324
+ :application_name,
2325
+ :input_configurations)
2326
+ include Aws::Structure
2327
+ end
2328
+
2329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/StartApplicationResponse AWS API Documentation
2330
+ #
2331
+ class StartApplicationResponse < Aws::EmptyStructure; end
2332
+
2333
+ # @note When making an API call, you may pass StopApplicationRequest
2334
+ # data as a hash:
2335
+ #
2336
+ # {
2337
+ # application_name: "ApplicationName", # required
2338
+ # }
2339
+ #
2340
+ # @!attribute [rw] application_name
2341
+ # Name of the running application to stop.
2342
+ # @return [String]
2343
+ #
2344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/StopApplicationRequest AWS API Documentation
2345
+ #
2346
+ class StopApplicationRequest < Struct.new(
2347
+ :application_name)
2348
+ include Aws::Structure
2349
+ end
2350
+
2351
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/StopApplicationResponse AWS API Documentation
2352
+ #
2353
+ class StopApplicationResponse < Aws::EmptyStructure; end
2354
+
2355
+ # @note When making an API call, you may pass UpdateApplicationRequest
2356
+ # data as a hash:
2357
+ #
2358
+ # {
2359
+ # application_name: "ApplicationName", # required
2360
+ # current_application_version_id: 1, # required
2361
+ # application_update: { # required
2362
+ # input_updates: [
2363
+ # {
2364
+ # input_id: "Id", # required
2365
+ # name_prefix_update: "InAppStreamName",
2366
+ # kinesis_streams_input_update: {
2367
+ # resource_arn_update: "ResourceARN",
2368
+ # role_arn_update: "RoleARN",
2369
+ # },
2370
+ # kinesis_firehose_input_update: {
2371
+ # resource_arn_update: "ResourceARN",
2372
+ # role_arn_update: "RoleARN",
2373
+ # },
2374
+ # input_schema_update: {
2375
+ # record_format_update: {
2376
+ # record_format_type: "JSON", # required, accepts JSON, CSV
2377
+ # mapping_parameters: {
2378
+ # json_mapping_parameters: {
2379
+ # record_row_path: "RecordRowPath", # required
2380
+ # },
2381
+ # csv_mapping_parameters: {
2382
+ # record_row_delimiter: "RecordRowDelimiter", # required
2383
+ # record_column_delimiter: "RecordColumnDelimiter", # required
2384
+ # },
2385
+ # },
2386
+ # },
2387
+ # record_encoding_update: "RecordEncoding",
2388
+ # record_column_updates: [
2389
+ # {
2390
+ # name: "RecordColumnName", # required
2391
+ # mapping: "RecordColumnMapping",
2392
+ # sql_type: "RecordColumnSqlType", # required
2393
+ # },
2394
+ # ],
2395
+ # },
2396
+ # input_parallelism_update: {
2397
+ # count_update: 1,
2398
+ # },
2399
+ # },
2400
+ # ],
2401
+ # application_code_update: "ApplicationCode",
2402
+ # output_updates: [
2403
+ # {
2404
+ # output_id: "Id", # required
2405
+ # name_update: "InAppStreamName",
2406
+ # kinesis_streams_output_update: {
2407
+ # resource_arn_update: "ResourceARN",
2408
+ # role_arn_update: "RoleARN",
2409
+ # },
2410
+ # kinesis_firehose_output_update: {
2411
+ # resource_arn_update: "ResourceARN",
2412
+ # role_arn_update: "RoleARN",
2413
+ # },
2414
+ # destination_schema_update: {
2415
+ # record_format_type: "JSON", # accepts JSON, CSV
2416
+ # },
2417
+ # },
2418
+ # ],
2419
+ # reference_data_source_updates: [
2420
+ # {
2421
+ # reference_id: "Id", # required
2422
+ # table_name_update: "InAppTableName",
2423
+ # s3_reference_data_source_update: {
2424
+ # bucket_arn_update: "BucketARN",
2425
+ # file_key_update: "FileKey",
2426
+ # reference_role_arn_update: "RoleARN",
2427
+ # },
2428
+ # reference_schema_update: {
2429
+ # record_format: { # required
2430
+ # record_format_type: "JSON", # required, accepts JSON, CSV
2431
+ # mapping_parameters: {
2432
+ # json_mapping_parameters: {
2433
+ # record_row_path: "RecordRowPath", # required
2434
+ # },
2435
+ # csv_mapping_parameters: {
2436
+ # record_row_delimiter: "RecordRowDelimiter", # required
2437
+ # record_column_delimiter: "RecordColumnDelimiter", # required
2438
+ # },
2439
+ # },
2440
+ # },
2441
+ # record_encoding: "RecordEncoding",
2442
+ # record_columns: [ # required
2443
+ # {
2444
+ # name: "RecordColumnName", # required
2445
+ # mapping: "RecordColumnMapping",
2446
+ # sql_type: "RecordColumnSqlType", # required
2447
+ # },
2448
+ # ],
2449
+ # },
2450
+ # },
2451
+ # ],
2452
+ # },
2453
+ # }
2454
+ #
2455
+ # @!attribute [rw] application_name
2456
+ # Name of the Kinesis Analytics application to update.
2457
+ # @return [String]
2458
+ #
2459
+ # @!attribute [rw] current_application_version_id
2460
+ # The current application version ID. You can use the
2461
+ # DescribeApplication operation to get this value.
2462
+ # @return [Integer]
2463
+ #
2464
+ # @!attribute [rw] application_update
2465
+ # Describes application updates.
2466
+ # @return [Types::ApplicationUpdate]
2467
+ #
2468
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/UpdateApplicationRequest AWS API Documentation
2469
+ #
2470
+ class UpdateApplicationRequest < Struct.new(
2471
+ :application_name,
2472
+ :current_application_version_id,
2473
+ :application_update)
2474
+ include Aws::Structure
2475
+ end
2476
+
2477
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/UpdateApplicationResponse AWS API Documentation
2478
+ #
2479
+ class UpdateApplicationResponse < Aws::EmptyStructure; end
2480
+
2214
2481
  end
2215
2482
  end