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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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