aws-sdk-kinesisanalytics 1.0.0.rc1

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.
@@ -0,0 +1,7 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module KinesisAnalytics
10
+ module Errors
11
+
12
+ extend Aws::Errors::DynamicErrors
13
+
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
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module KinesisAnalytics
10
+ class Resource
11
+
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
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,2215 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
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
2212
+
2213
+ end
2214
+ end
2215
+ end