aws-sdk-kinesisanalytics 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0ecef848b3b7bc15523091fde9fcfda4621903a0
4
+ data.tar.gz: bd107f3ddaf12a3789d8ec8542dda47094859b3e
5
+ SHA512:
6
+ metadata.gz: 9b6648fa001263efe1e222227e52f160e4cf90eb20c817eebf5da5602d9dee57403c7a76fb869fdc473268acb4811ffb23225207b0963f51edd71f2b8c96ecb9
7
+ data.tar.gz: 1b2becec3c631536b6c413d8496ee8bf075befff2c680fc3b1de111ca132372dbb9f55603ed529f55b178f5321f7fb0fb2487b2ef176d8045bb4651d7bef36e9
@@ -0,0 +1,47 @@
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
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-kinesisanalytics/types'
12
+ require_relative 'aws-sdk-kinesisanalytics/client_api'
13
+ require_relative 'aws-sdk-kinesisanalytics/client'
14
+ require_relative 'aws-sdk-kinesisanalytics/errors'
15
+ require_relative 'aws-sdk-kinesisanalytics/resource'
16
+ require_relative 'aws-sdk-kinesisanalytics/customizations'
17
+
18
+ # This module provides support for Amazon Kinesis Analytics. This module is available in the
19
+ # `aws-sdk-kinesisanalytics` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon Kinesis Analytics all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::KinesisAnalytics::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::KinesisAnalytics
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,1053 @@
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
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:kinesisanalytics)
25
+
26
+ module Aws
27
+ module KinesisAnalytics
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :kinesisanalytics
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::SignatureV4)
50
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
51
+
52
+ # @option options [required, Aws::CredentialProvider] :credentials
53
+ # Your AWS credentials. This can be an instance of any one of the
54
+ # following classes:
55
+ #
56
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
+ # credentials.
58
+ #
59
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
+ # from an EC2 IMDS on an EC2 instance.
61
+ #
62
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
63
+ # shared file, such as `~/.aws/config`.
64
+ #
65
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
+ #
67
+ # When `:credentials` are not configured directly, the following
68
+ # locations will be searched for credentials:
69
+ #
70
+ # * `Aws.config[:credentials]`
71
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
+ # * `~/.aws/credentials`
74
+ # * `~/.aws/config`
75
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
76
+ # very aggressive. Construct and pass an instance of
77
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
78
+ # timeouts.
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # @option options [String] :access_key_id
91
+ # @option options [Boolean] :convert_params (true)
92
+ # When `true`, an attempt is made to coerce request parameters into
93
+ # the required types.
94
+ # @option options [String] :endpoint
95
+ # The client endpoint is normally constructed from the `:region`
96
+ # option. You should only configure an `:endpoint` when connecting
97
+ # to test endpoints. This should be avalid HTTP(S) URI.
98
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
+ # The log formatter.
100
+ # @option options [Symbol] :log_level (:info)
101
+ # The log level to send messages to the `:logger` at.
102
+ # @option options [Logger] :logger
103
+ # The Logger instance to send log messages to. If this option
104
+ # is not set, logging will be disabled.
105
+ # @option options [String] :profile ("default")
106
+ # Used when loading credentials from the shared credentials file
107
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
108
+ # @option options [Integer] :retry_limit (3)
109
+ # The maximum number of times to retry failed requests. Only
110
+ # ~ 500 level server errors and certain ~ 400 level client errors
111
+ # are retried. Generally, these are throttling errors, data
112
+ # checksum errors, networking errors, timeout errors and auth
113
+ # errors from expired credentials.
114
+ # @option options [String] :secret_access_key
115
+ # @option options [String] :session_token
116
+ # @option options [Boolean] :simple_json (false)
117
+ # Disables request parameter conversion, validation, and formatting.
118
+ # Also disable response data type conversions. This option is useful
119
+ # when you want to ensure the highest level of performance by
120
+ # avoiding overhead of walking request parameters and response data
121
+ # structures.
122
+ #
123
+ # When `:simple_json` is enabled, the request parameters hash must
124
+ # be formatted exactly as the DynamoDB API expects.
125
+ # @option options [Boolean] :stub_responses (false)
126
+ # Causes the client to return stubbed responses. By default
127
+ # fake responses are generated and returned. You can specify
128
+ # the response data to return or errors to raise by calling
129
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
130
+ #
131
+ # ** Please note ** When response stubbing is enabled, no HTTP
132
+ # requests are made, and retries are disabled.
133
+ # @option options [Boolean] :validate_params (true)
134
+ # When `true`, request parameters are validated before
135
+ # sending the request.
136
+ def initialize(*args)
137
+ super
138
+ end
139
+
140
+ # @!group API Operations
141
+
142
+ # Adds a streaming source to your Amazon Kinesis application. For
143
+ # conceptual information, see [Configuring Application Input][1].
144
+ #
145
+ # You can add a streaming source either when you create an application
146
+ # or you can use this operation to add a streaming source after you
147
+ # create an application. For more information, see CreateApplication.
148
+ #
149
+ # Any configuration update, including adding a streaming source using
150
+ # this operation, results in a new version of the application. You can
151
+ # use the DescribeApplication operation to find the current application
152
+ # version.
153
+ #
154
+ # This operation requires permissions to perform the
155
+ # `kinesisanalytics:AddApplicationInput` action.
156
+ #
157
+ #
158
+ #
159
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
160
+ # @option params [required, String] :application_name
161
+ # Name of your existing Amazon Kinesis Analytics application to which
162
+ # you want to add the streaming source.
163
+ # @option params [required, Integer] :current_application_version_id
164
+ # Current version of your Amazon Kinesis Analytics application. You can
165
+ # use the DescribeApplication operation to find the current application
166
+ # version.
167
+ # @option params [required, Types::Input] :input
168
+ # When you configure the application input, you specify the streaming
169
+ # source, the in-application stream name that is created, and the
170
+ # mapping between the two. For more information, see [Configuring
171
+ # Application Input][1].
172
+ #
173
+ #
174
+ #
175
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
176
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
177
+ #
178
+ # @example Request syntax with placeholder values
179
+ # resp = client.add_application_input({
180
+ # application_name: "ApplicationName", # required
181
+ # current_application_version_id: 1, # required
182
+ # input: { # required
183
+ # name_prefix: "InAppStreamName", # required
184
+ # kinesis_streams_input: {
185
+ # resource_arn: "ResourceARN", # required
186
+ # role_arn: "RoleARN", # required
187
+ # },
188
+ # kinesis_firehose_input: {
189
+ # resource_arn: "ResourceARN", # required
190
+ # role_arn: "RoleARN", # required
191
+ # },
192
+ # input_parallelism: {
193
+ # count: 1,
194
+ # },
195
+ # input_schema: { # required
196
+ # record_format: { # required
197
+ # record_format_type: "JSON", # required, accepts JSON, CSV
198
+ # mapping_parameters: {
199
+ # json_mapping_parameters: {
200
+ # record_row_path: "RecordRowPath", # required
201
+ # },
202
+ # csv_mapping_parameters: {
203
+ # record_row_delimiter: "RecordRowDelimiter", # required
204
+ # record_column_delimiter: "RecordColumnDelimiter", # required
205
+ # },
206
+ # },
207
+ # },
208
+ # record_encoding: "RecordEncoding",
209
+ # record_columns: [ # required
210
+ # {
211
+ # name: "RecordColumnName", # required
212
+ # mapping: "RecordColumnMapping",
213
+ # sql_type: "RecordColumnSqlType", # required
214
+ # },
215
+ # ],
216
+ # },
217
+ # },
218
+ # })
219
+ # @overload add_application_input(params = {})
220
+ # @param [Hash] params ({})
221
+ def add_application_input(params = {}, options = {})
222
+ req = build_request(:add_application_input, params)
223
+ req.send_request(options)
224
+ end
225
+
226
+ # Adds an external destination to your Amazon Kinesis Analytics
227
+ # application.
228
+ #
229
+ # If you want Amazon Kinesis Analytics to deliver data from an
230
+ # in-application stream within your application to an external
231
+ # destination (such as an Amazon Kinesis stream or a Firehose delivery
232
+ # stream), you add the relevant configuration to your application using
233
+ # this operation. You can configure one or more outputs for your
234
+ # application. Each output configuration maps an in-application stream
235
+ # and an external destination.
236
+ #
237
+ # You can use one of the output configurations to deliver data from your
238
+ # in-application error stream to an external destination so that you can
239
+ # analyze the errors. For conceptual information, see [Understanding
240
+ # Application Output (Destination)][1].
241
+ #
242
+ # Note that any configuration update, including adding a streaming
243
+ # source using this operation, results in a new version of the
244
+ # application. You can use the DescribeApplication operation to find the
245
+ # current application version.
246
+ #
247
+ # For the limits on the number of application inputs and outputs you can
248
+ # configure, see [Limits][2].
249
+ #
250
+ # This operation requires permissions to perform the
251
+ # `kinesisanalytics:AddApplicationOutput` action.
252
+ #
253
+ #
254
+ #
255
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html
256
+ # [2]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html
257
+ # @option params [required, String] :application_name
258
+ # Name of the application to which you want to add the output
259
+ # configuration.
260
+ # @option params [required, Integer] :current_application_version_id
261
+ # Version of the application to which you want add the output
262
+ # configuration. You can use the DescribeApplication operation to get
263
+ # the current application version. If the version specified is not the
264
+ # current version, the `ConcurrentModificationException` is returned.
265
+ # @option params [required, Types::Output] :output
266
+ # An array of objects, each describing one output configuration. In the
267
+ # output configuration, you specify the name of an in-application
268
+ # stream, a destination (that is, an Amazon Kinesis stream or an Amazon
269
+ # Kinesis Firehose delivery stream), and record the formation to use
270
+ # when writing to the destination.
271
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
272
+ #
273
+ # @example Request syntax with placeholder values
274
+ # resp = client.add_application_output({
275
+ # application_name: "ApplicationName", # required
276
+ # current_application_version_id: 1, # required
277
+ # output: { # required
278
+ # name: "InAppStreamName", # required
279
+ # kinesis_streams_output: {
280
+ # resource_arn: "ResourceARN", # required
281
+ # role_arn: "RoleARN", # required
282
+ # },
283
+ # kinesis_firehose_output: {
284
+ # resource_arn: "ResourceARN", # required
285
+ # role_arn: "RoleARN", # required
286
+ # },
287
+ # destination_schema: { # required
288
+ # record_format_type: "JSON", # accepts JSON, CSV
289
+ # },
290
+ # },
291
+ # })
292
+ # @overload add_application_output(params = {})
293
+ # @param [Hash] params ({})
294
+ def add_application_output(params = {}, options = {})
295
+ req = build_request(:add_application_output, params)
296
+ req.send_request(options)
297
+ end
298
+
299
+ # Adds a reference data source to an existing application.
300
+ #
301
+ # Amazon Kinesis Analytics reads reference data (that is, an Amazon S3
302
+ # object) and creates an in-application table within your application.
303
+ # In the request, you provide the source (S3 bucket name and object key
304
+ # name), name of the in-application table to create, and the necessary
305
+ # mapping information that describes how data in Amazon S3 object maps
306
+ # to columns in the resulting in-application table.
307
+ #
308
+ # For conceptual information, see [Configuring Application Input][1].
309
+ # For the limits on data sources you can add to your application, see
310
+ # [Limits][2].
311
+ #
312
+ # This operation requires permissions to perform the
313
+ # `kinesisanalytics:AddApplicationOutput` action.
314
+ #
315
+ #
316
+ #
317
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
318
+ # [2]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html
319
+ # @option params [required, String] :application_name
320
+ # Name of an existing application.
321
+ # @option params [required, Integer] :current_application_version_id
322
+ # Version of the application for which you are adding the reference data
323
+ # source. You can use the DescribeApplication operation to get the
324
+ # current application version. If the version specified is not the
325
+ # current version, the `ConcurrentModificationException` is returned.
326
+ # @option params [required, Types::ReferenceDataSource] :reference_data_source
327
+ # The reference data source can be an object in your Amazon S3 bucket.
328
+ # Amazon Kinesis Analytics reads the object and copies the data into the
329
+ # in-application table that is created. You provide an S3 bucket, object
330
+ # key name, and the resulting in-application table that is created. You
331
+ # must also provide an IAM role with the necessary permissions that
332
+ # Amazon Kinesis Analytics can assume to read the object from your S3
333
+ # bucket on your behalf.
334
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
335
+ #
336
+ # @example Request syntax with placeholder values
337
+ # resp = client.add_application_reference_data_source({
338
+ # application_name: "ApplicationName", # required
339
+ # current_application_version_id: 1, # required
340
+ # reference_data_source: { # required
341
+ # table_name: "InAppTableName", # required
342
+ # s3_reference_data_source: {
343
+ # bucket_arn: "BucketARN", # required
344
+ # file_key: "FileKey", # required
345
+ # reference_role_arn: "RoleARN", # required
346
+ # },
347
+ # reference_schema: { # required
348
+ # record_format: { # required
349
+ # record_format_type: "JSON", # required, accepts JSON, CSV
350
+ # mapping_parameters: {
351
+ # json_mapping_parameters: {
352
+ # record_row_path: "RecordRowPath", # required
353
+ # },
354
+ # csv_mapping_parameters: {
355
+ # record_row_delimiter: "RecordRowDelimiter", # required
356
+ # record_column_delimiter: "RecordColumnDelimiter", # required
357
+ # },
358
+ # },
359
+ # },
360
+ # record_encoding: "RecordEncoding",
361
+ # record_columns: [ # required
362
+ # {
363
+ # name: "RecordColumnName", # required
364
+ # mapping: "RecordColumnMapping",
365
+ # sql_type: "RecordColumnSqlType", # required
366
+ # },
367
+ # ],
368
+ # },
369
+ # },
370
+ # })
371
+ # @overload add_application_reference_data_source(params = {})
372
+ # @param [Hash] params ({})
373
+ def add_application_reference_data_source(params = {}, options = {})
374
+ req = build_request(:add_application_reference_data_source, params)
375
+ req.send_request(options)
376
+ end
377
+
378
+ # Creates an Amazon Kinesis Analytics application. You can configure
379
+ # each application with one streaming source as input, application code
380
+ # to process the input, and up to five streaming destinations where you
381
+ # want Amazon Kinesis Analytics to write the output data from your
382
+ # application. For an overview, see [How it Works][1].
383
+ #
384
+ # In the input configuration, you map the streaming source to an
385
+ # in-application stream, which you can think of as a constantly updating
386
+ # table. In the mapping, you must provide a schema for the
387
+ # in-application stream and map each data column in the in-application
388
+ # stream to a data element in the streaming source, with the option of
389
+ # renaming, casting and dropping columns as desired.
390
+ #
391
+ # Your application code is one or more SQL statements that read input
392
+ # data, transform it, and generate output. Your application code can
393
+ # create one or more SQL artifacts like SQL streams or pumps.
394
+ #
395
+ # In the output configuration, you can configure the application to
396
+ # write data from in-application streams created in your applications to
397
+ # up to five streaming destinations.
398
+ #
399
+ # To read data from your source stream or write data to destination
400
+ # streams, Amazon Kinesis Analytics needs your permissions. You grant
401
+ # these permissions by creating IAM roles. This operation requires
402
+ # permissions to perform the `kinesisanalytics:CreateApplication`
403
+ # action.
404
+ #
405
+ # For introductory exercises to create an Amazon Kinesis Analytics
406
+ # application, see [Getting Started][2].
407
+ #
408
+ #
409
+ #
410
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works.html
411
+ # [2]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/getting-started.html
412
+ # @option params [required, String] :application_name
413
+ # Name of your Amazon Kinesis Analytics application (for example,
414
+ # `sample-app`).
415
+ # @option params [String] :application_description
416
+ # Summary description of the application.
417
+ # @option params [Array<Types::Input>] :inputs
418
+ # Use this parameter to configure the application input.
419
+ #
420
+ # You can configure your application to receive input from a single
421
+ # streaming source. In this configuration, you map this streaming source
422
+ # to an in-application stream that is created. Your application code can
423
+ # then query the in-application stream like a table (you can think of it
424
+ # as a constantly updating table).
425
+ #
426
+ # For the streaming source, you provide its Amazon Resource Name (ARN)
427
+ # and format of data on the stream (for example, JSON, CSV, etc). You
428
+ # also must provide an IAM role that Amazon Kinesis Analytics can assume
429
+ # to read this stream on your behalf.
430
+ #
431
+ # To create the in-application stream, you need to specify a schema to
432
+ # transform your data into a schematized version used in SQL. In the
433
+ # schema, you provide the necessary mapping of the data elements in the
434
+ # streaming source to record columns in the in-app stream.
435
+ # @option params [Array<Types::Output>] :outputs
436
+ # You can configure application output to write data from any of the
437
+ # in-application streams to up to five destinations.
438
+ #
439
+ # These destinations can be Amazon Kinesis streams, Amazon Kinesis
440
+ # Firehose delivery streams, or both.
441
+ #
442
+ # In the configuration, you specify the in-application stream name, the
443
+ # destination stream Amazon Resource Name (ARN), and the format to use
444
+ # when writing data. You must also provide an IAM role that Amazon
445
+ # Kinesis Analytics can assume to write to the destination stream on
446
+ # your behalf.
447
+ #
448
+ # In the output configuration, you also provide the output stream Amazon
449
+ # Resource Name (ARN) and the format of data in the stream (for example,
450
+ # JSON, CSV). You also must provide an IAM role that Amazon Kinesis
451
+ # Analytics can assume to write to this stream on your behalf.
452
+ # @option params [String] :application_code
453
+ # One or more SQL statements that read input data, transform it, and
454
+ # generate output. For example, you can write a SQL statement that reads
455
+ # input data and generates a running average of the number of
456
+ # advertisement clicks by vendor.
457
+ #
458
+ # You can also provide a series of SQL statements, where output of one
459
+ # statement can be used as the input for the next statement.
460
+ #
461
+ # Note that the application code must create the streams with names
462
+ # specified in the `Outputs`. For example, if your `Outputs` defines
463
+ # output streams named `ExampleOutputStream1` and
464
+ # `ExampleOutputStream2`, then your application code must create these
465
+ # streams.
466
+ # @return [Types::CreateApplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
467
+ #
468
+ # * {Types::CreateApplicationResponse#application_summary #ApplicationSummary} => Types::ApplicationSummary
469
+ #
470
+ # @example Request syntax with placeholder values
471
+ # resp = client.create_application({
472
+ # application_name: "ApplicationName", # required
473
+ # application_description: "ApplicationDescription",
474
+ # inputs: [
475
+ # {
476
+ # name_prefix: "InAppStreamName", # required
477
+ # kinesis_streams_input: {
478
+ # resource_arn: "ResourceARN", # required
479
+ # role_arn: "RoleARN", # required
480
+ # },
481
+ # kinesis_firehose_input: {
482
+ # resource_arn: "ResourceARN", # required
483
+ # role_arn: "RoleARN", # required
484
+ # },
485
+ # input_parallelism: {
486
+ # count: 1,
487
+ # },
488
+ # input_schema: { # required
489
+ # record_format: { # required
490
+ # record_format_type: "JSON", # required, accepts JSON, CSV
491
+ # mapping_parameters: {
492
+ # json_mapping_parameters: {
493
+ # record_row_path: "RecordRowPath", # required
494
+ # },
495
+ # csv_mapping_parameters: {
496
+ # record_row_delimiter: "RecordRowDelimiter", # required
497
+ # record_column_delimiter: "RecordColumnDelimiter", # required
498
+ # },
499
+ # },
500
+ # },
501
+ # record_encoding: "RecordEncoding",
502
+ # record_columns: [ # required
503
+ # {
504
+ # name: "RecordColumnName", # required
505
+ # mapping: "RecordColumnMapping",
506
+ # sql_type: "RecordColumnSqlType", # required
507
+ # },
508
+ # ],
509
+ # },
510
+ # },
511
+ # ],
512
+ # outputs: [
513
+ # {
514
+ # name: "InAppStreamName", # required
515
+ # kinesis_streams_output: {
516
+ # resource_arn: "ResourceARN", # required
517
+ # role_arn: "RoleARN", # required
518
+ # },
519
+ # kinesis_firehose_output: {
520
+ # resource_arn: "ResourceARN", # required
521
+ # role_arn: "RoleARN", # required
522
+ # },
523
+ # destination_schema: { # required
524
+ # record_format_type: "JSON", # accepts JSON, CSV
525
+ # },
526
+ # },
527
+ # ],
528
+ # application_code: "ApplicationCode",
529
+ # })
530
+ #
531
+ # @example Response structure
532
+ # resp.application_summary.application_name #=> String
533
+ # resp.application_summary.application_arn #=> String
534
+ # resp.application_summary.application_status #=> String, one of "DELETING", "STARTING", "STOPPING", "READY", "RUNNING", "UPDATING"
535
+ # @overload create_application(params = {})
536
+ # @param [Hash] params ({})
537
+ def create_application(params = {}, options = {})
538
+ req = build_request(:create_application, params)
539
+ req.send_request(options)
540
+ end
541
+
542
+ # Deletes the specified application. Amazon Kinesis Analytics halts
543
+ # application execution and deletes the application, including any
544
+ # application artifacts (such as in-application streams, reference
545
+ # table, and application code).
546
+ #
547
+ # This operation requires permissions to perform the
548
+ # `kinesisanalytics:DeleteApplication` action.
549
+ # @option params [required, String] :application_name
550
+ # Name of the Amazon Kinesis Analytics application to delete.
551
+ # @option params [required, Time,DateTime,Date,Integer,String] :create_timestamp
552
+ # You can use the `DescribeApplication` operation to get this value.
553
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
554
+ #
555
+ # @example Request syntax with placeholder values
556
+ # resp = client.delete_application({
557
+ # application_name: "ApplicationName", # required
558
+ # create_timestamp: Time.now, # required
559
+ # })
560
+ # @overload delete_application(params = {})
561
+ # @param [Hash] params ({})
562
+ def delete_application(params = {}, options = {})
563
+ req = build_request(:delete_application, params)
564
+ req.send_request(options)
565
+ end
566
+
567
+ # Deletes output destination configuration from your application
568
+ # configuration. Amazon Kinesis Analytics will no longer write data from
569
+ # the corresponding in-application stream to the external output
570
+ # destination.
571
+ #
572
+ # This operation requires permissions to perform the
573
+ # `kinesisanalytics:DeleteApplicationOutput` action.
574
+ # @option params [required, String] :application_name
575
+ # Amazon Kinesis Analytics application name.
576
+ # @option params [required, Integer] :current_application_version_id
577
+ # Amazon Kinesis Analytics application version. You can use the
578
+ # DescribeApplication operation to get the current application version.
579
+ # If the version specified is not the current version, the
580
+ # `ConcurrentModificationException` is returned.
581
+ # @option params [required, String] :output_id
582
+ # The ID of the configuration to delete. Each output configuration that
583
+ # is added to the application, either when the application is created or
584
+ # later using the AddApplicationOutput operation, has a unique ID. You
585
+ # need to provide the ID to uniquely identify the output configuration
586
+ # that you want to delete from the application configuration. You can
587
+ # use the DescribeApplication operation to get the specific `OutputId`.
588
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
589
+ #
590
+ # @example Request syntax with placeholder values
591
+ # resp = client.delete_application_output({
592
+ # application_name: "ApplicationName", # required
593
+ # current_application_version_id: 1, # required
594
+ # output_id: "Id", # required
595
+ # })
596
+ # @overload delete_application_output(params = {})
597
+ # @param [Hash] params ({})
598
+ def delete_application_output(params = {}, options = {})
599
+ req = build_request(:delete_application_output, params)
600
+ req.send_request(options)
601
+ end
602
+
603
+ # Deletes a reference data source configuration from the specified
604
+ # application configuration.
605
+ #
606
+ # If the application is running, Amazon Kinesis Analytics immediately
607
+ # removes the in-application table that you created using the
608
+ # AddApplicationReferenceDataSource operation.
609
+ #
610
+ # This operation requires permissions to perform the
611
+ # `kinesisanalytics.DeleteApplicationReferenceDataSource` action.
612
+ # @option params [required, String] :application_name
613
+ # Name of an existing application.
614
+ # @option params [required, Integer] :current_application_version_id
615
+ # Version of the application. You can use the DescribeApplication
616
+ # operation to get the current application version. If the version
617
+ # specified is not the current version, the
618
+ # `ConcurrentModificationException` is returned.
619
+ # @option params [required, String] :reference_id
620
+ # ID of the reference data source. When you add a reference data source
621
+ # to your application using the AddApplicationReferenceDataSource,
622
+ # Amazon Kinesis Analytics assigns an ID. You can use the
623
+ # DescribeApplication operation to get the reference ID.
624
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
625
+ #
626
+ # @example Request syntax with placeholder values
627
+ # resp = client.delete_application_reference_data_source({
628
+ # application_name: "ApplicationName", # required
629
+ # current_application_version_id: 1, # required
630
+ # reference_id: "Id", # required
631
+ # })
632
+ # @overload delete_application_reference_data_source(params = {})
633
+ # @param [Hash] params ({})
634
+ def delete_application_reference_data_source(params = {}, options = {})
635
+ req = build_request(:delete_application_reference_data_source, params)
636
+ req.send_request(options)
637
+ end
638
+
639
+ # Returns information about a specific Amazon Kinesis Analytics
640
+ # application.
641
+ #
642
+ # If you want to retrieve a list of all applications in your account,
643
+ # use the ListApplications operation.
644
+ #
645
+ # This operation requires permissions to perform the
646
+ # `kinesisanalytics:DescribeApplication` action. You can use
647
+ # `DescribeApplication` to get the current application versionId, which
648
+ # you need to call other operations such as `Update`.
649
+ # @option params [required, String] :application_name
650
+ # Name of the application.
651
+ # @return [Types::DescribeApplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
652
+ #
653
+ # * {Types::DescribeApplicationResponse#application_detail #ApplicationDetail} => Types::ApplicationDetail
654
+ #
655
+ # @example Request syntax with placeholder values
656
+ # resp = client.describe_application({
657
+ # application_name: "ApplicationName", # required
658
+ # })
659
+ #
660
+ # @example Response structure
661
+ # resp.application_detail.application_name #=> String
662
+ # resp.application_detail.application_description #=> String
663
+ # resp.application_detail.application_arn #=> String
664
+ # resp.application_detail.application_status #=> String, one of "DELETING", "STARTING", "STOPPING", "READY", "RUNNING", "UPDATING"
665
+ # resp.application_detail.create_timestamp #=> Time
666
+ # resp.application_detail.last_update_timestamp #=> Time
667
+ # resp.application_detail.input_descriptions #=> Array
668
+ # resp.application_detail.input_descriptions[0].input_id #=> String
669
+ # resp.application_detail.input_descriptions[0].name_prefix #=> String
670
+ # resp.application_detail.input_descriptions[0].in_app_stream_names #=> Array
671
+ # resp.application_detail.input_descriptions[0].in_app_stream_names[0] #=> String
672
+ # resp.application_detail.input_descriptions[0].kinesis_streams_input_description.resource_arn #=> String
673
+ # resp.application_detail.input_descriptions[0].kinesis_streams_input_description.role_arn #=> String
674
+ # resp.application_detail.input_descriptions[0].kinesis_firehose_input_description.resource_arn #=> String
675
+ # resp.application_detail.input_descriptions[0].kinesis_firehose_input_description.role_arn #=> String
676
+ # resp.application_detail.input_descriptions[0].input_schema.record_format.record_format_type #=> String, one of "JSON", "CSV"
677
+ # resp.application_detail.input_descriptions[0].input_schema.record_format.mapping_parameters.json_mapping_parameters.record_row_path #=> String
678
+ # resp.application_detail.input_descriptions[0].input_schema.record_format.mapping_parameters.csv_mapping_parameters.record_row_delimiter #=> String
679
+ # resp.application_detail.input_descriptions[0].input_schema.record_format.mapping_parameters.csv_mapping_parameters.record_column_delimiter #=> String
680
+ # resp.application_detail.input_descriptions[0].input_schema.record_encoding #=> String
681
+ # resp.application_detail.input_descriptions[0].input_schema.record_columns #=> Array
682
+ # resp.application_detail.input_descriptions[0].input_schema.record_columns[0].name #=> String
683
+ # resp.application_detail.input_descriptions[0].input_schema.record_columns[0].mapping #=> String
684
+ # resp.application_detail.input_descriptions[0].input_schema.record_columns[0].sql_type #=> String
685
+ # resp.application_detail.input_descriptions[0].input_parallelism.count #=> Integer
686
+ # resp.application_detail.input_descriptions[0].input_starting_position_configuration.input_starting_position #=> String, one of "NOW", "TRIM_HORIZON", "LAST_STOPPED_POINT"
687
+ # resp.application_detail.output_descriptions #=> Array
688
+ # resp.application_detail.output_descriptions[0].output_id #=> String
689
+ # resp.application_detail.output_descriptions[0].name #=> String
690
+ # resp.application_detail.output_descriptions[0].kinesis_streams_output_description.resource_arn #=> String
691
+ # resp.application_detail.output_descriptions[0].kinesis_streams_output_description.role_arn #=> String
692
+ # resp.application_detail.output_descriptions[0].kinesis_firehose_output_description.resource_arn #=> String
693
+ # resp.application_detail.output_descriptions[0].kinesis_firehose_output_description.role_arn #=> String
694
+ # resp.application_detail.output_descriptions[0].destination_schema.record_format_type #=> String, one of "JSON", "CSV"
695
+ # resp.application_detail.reference_data_source_descriptions #=> Array
696
+ # resp.application_detail.reference_data_source_descriptions[0].reference_id #=> String
697
+ # resp.application_detail.reference_data_source_descriptions[0].table_name #=> String
698
+ # resp.application_detail.reference_data_source_descriptions[0].s3_reference_data_source_description.bucket_arn #=> String
699
+ # resp.application_detail.reference_data_source_descriptions[0].s3_reference_data_source_description.file_key #=> String
700
+ # resp.application_detail.reference_data_source_descriptions[0].s3_reference_data_source_description.reference_role_arn #=> String
701
+ # resp.application_detail.reference_data_source_descriptions[0].reference_schema.record_format.record_format_type #=> String, one of "JSON", "CSV"
702
+ # resp.application_detail.reference_data_source_descriptions[0].reference_schema.record_format.mapping_parameters.json_mapping_parameters.record_row_path #=> String
703
+ # resp.application_detail.reference_data_source_descriptions[0].reference_schema.record_format.mapping_parameters.csv_mapping_parameters.record_row_delimiter #=> String
704
+ # resp.application_detail.reference_data_source_descriptions[0].reference_schema.record_format.mapping_parameters.csv_mapping_parameters.record_column_delimiter #=> String
705
+ # resp.application_detail.reference_data_source_descriptions[0].reference_schema.record_encoding #=> String
706
+ # resp.application_detail.reference_data_source_descriptions[0].reference_schema.record_columns #=> Array
707
+ # resp.application_detail.reference_data_source_descriptions[0].reference_schema.record_columns[0].name #=> String
708
+ # resp.application_detail.reference_data_source_descriptions[0].reference_schema.record_columns[0].mapping #=> String
709
+ # resp.application_detail.reference_data_source_descriptions[0].reference_schema.record_columns[0].sql_type #=> String
710
+ # resp.application_detail.application_code #=> String
711
+ # resp.application_detail.application_version_id #=> Integer
712
+ # @overload describe_application(params = {})
713
+ # @param [Hash] params ({})
714
+ def describe_application(params = {}, options = {})
715
+ req = build_request(:describe_application, params)
716
+ req.send_request(options)
717
+ end
718
+
719
+ # Infers a schema by evaluating sample records on the specified
720
+ # streaming source (Amazon Kinesis stream or Amazon Kinesis Firehose
721
+ # delivery stream). In the response, the operation returns the inferred
722
+ # schema and also the sample records that the operation used to infer
723
+ # the schema.
724
+ #
725
+ # You can use the inferred schema when configuring a streaming source
726
+ # for your application. For conceptual information, see [Configuring
727
+ # Application Input][1]. Note that when you create an application using
728
+ # the Amazon Kinesis Analytics console, the console uses this operation
729
+ # to infer a schema and show it in the console user interface.
730
+ #
731
+ # This operation requires permissions to perform the
732
+ # `kinesisanalytics:DiscoverInputSchema` action.
733
+ #
734
+ #
735
+ #
736
+ # [1]: http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html
737
+ # @option params [required, String] :resource_arn
738
+ # Amazon Resource Name (ARN) of the streaming source.
739
+ # @option params [required, String] :role_arn
740
+ # ARN of the IAM role that Amazon Kinesis Analytics can assume to access
741
+ # the stream on your behalf.
742
+ # @option params [required, Types::InputStartingPositionConfiguration] :input_starting_position_configuration
743
+ # Point at which you want Amazon Kinesis Analytics to start reading
744
+ # records from the specified streaming source discovery purposes.
745
+ # @return [Types::DiscoverInputSchemaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
746
+ #
747
+ # * {Types::DiscoverInputSchemaResponse#input_schema #InputSchema} => Types::SourceSchema
748
+ # * {Types::DiscoverInputSchemaResponse#parsed_input_records #ParsedInputRecords} => Array&lt;Array&lt;String&gt;&gt;
749
+ # * {Types::DiscoverInputSchemaResponse#raw_input_records #RawInputRecords} => Array&lt;String&gt;
750
+ #
751
+ # @example Request syntax with placeholder values
752
+ # resp = client.discover_input_schema({
753
+ # resource_arn: "ResourceARN", # required
754
+ # role_arn: "RoleARN", # required
755
+ # input_starting_position_configuration: { # required
756
+ # input_starting_position: "NOW", # accepts NOW, TRIM_HORIZON, LAST_STOPPED_POINT
757
+ # },
758
+ # })
759
+ #
760
+ # @example Response structure
761
+ # resp.input_schema.record_format.record_format_type #=> String, one of "JSON", "CSV"
762
+ # resp.input_schema.record_format.mapping_parameters.json_mapping_parameters.record_row_path #=> String
763
+ # resp.input_schema.record_format.mapping_parameters.csv_mapping_parameters.record_row_delimiter #=> String
764
+ # resp.input_schema.record_format.mapping_parameters.csv_mapping_parameters.record_column_delimiter #=> String
765
+ # resp.input_schema.record_encoding #=> String
766
+ # resp.input_schema.record_columns #=> Array
767
+ # resp.input_schema.record_columns[0].name #=> String
768
+ # resp.input_schema.record_columns[0].mapping #=> String
769
+ # resp.input_schema.record_columns[0].sql_type #=> String
770
+ # resp.parsed_input_records #=> Array
771
+ # resp.parsed_input_records[0] #=> Array
772
+ # resp.parsed_input_records[0][0] #=> String
773
+ # resp.raw_input_records #=> Array
774
+ # resp.raw_input_records[0] #=> String
775
+ # @overload discover_input_schema(params = {})
776
+ # @param [Hash] params ({})
777
+ def discover_input_schema(params = {}, options = {})
778
+ req = build_request(:discover_input_schema, params)
779
+ req.send_request(options)
780
+ end
781
+
782
+ # Returns a list of Amazon Kinesis Analytics applications in your
783
+ # account. For each application, the response includes the application
784
+ # name, Amazon Resource Name (ARN), and status. If the response returns
785
+ # the `HasMoreApplications` value as true, you can send another request
786
+ # by adding the `ExclusiveStartApplicationName` in the request body, and
787
+ # set the value of this to the last application name from the previous
788
+ # response.
789
+ #
790
+ # If you want detailed information about a specific application, use
791
+ # DescribeApplication.
792
+ #
793
+ # This operation requires permissions to perform the
794
+ # `kinesisanalytics:ListApplications` action.
795
+ # @option params [Integer] :limit
796
+ # Maximum number of applications to list.
797
+ # @option params [String] :exclusive_start_application_name
798
+ # Name of the application to start the list with. When using pagination
799
+ # to retrieve the list, you don't need to specify this parameter in the
800
+ # first request. However, in subsequent requests, you add the last
801
+ # application name from the previous response to get the next page of
802
+ # applications.
803
+ # @return [Types::ListApplicationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
804
+ #
805
+ # * {Types::ListApplicationsResponse#application_summaries #ApplicationSummaries} => Array&lt;Types::ApplicationSummary&gt;
806
+ # * {Types::ListApplicationsResponse#has_more_applications #HasMoreApplications} => Boolean
807
+ #
808
+ # @example Request syntax with placeholder values
809
+ # resp = client.list_applications({
810
+ # limit: 1,
811
+ # exclusive_start_application_name: "ApplicationName",
812
+ # })
813
+ #
814
+ # @example Response structure
815
+ # resp.application_summaries #=> Array
816
+ # resp.application_summaries[0].application_name #=> String
817
+ # resp.application_summaries[0].application_arn #=> String
818
+ # resp.application_summaries[0].application_status #=> String, one of "DELETING", "STARTING", "STOPPING", "READY", "RUNNING", "UPDATING"
819
+ # resp.has_more_applications #=> Boolean
820
+ # @overload list_applications(params = {})
821
+ # @param [Hash] params ({})
822
+ def list_applications(params = {}, options = {})
823
+ req = build_request(:list_applications, params)
824
+ req.send_request(options)
825
+ end
826
+
827
+ # Starts the specified Amazon Kinesis Analytics application. After
828
+ # creating an application, you must exclusively call this operation to
829
+ # start your application.
830
+ #
831
+ # After the application starts, it begins consuming the input data,
832
+ # processes it, and writes the output to the configured destination.
833
+ #
834
+ # The application status must be `READY` for you to start an
835
+ # application. You can get the application status in the console or
836
+ # using the DescribeApplication operation.
837
+ #
838
+ # After you start the application, you can stop the application from
839
+ # processing the input by calling the StopApplication operation.
840
+ #
841
+ # This operation requires permissions to perform the
842
+ # `kinesisanalytics:StartApplication` action.
843
+ # @option params [required, String] :application_name
844
+ # Name of the application.
845
+ # @option params [required, Array<Types::InputConfiguration>] :input_configurations
846
+ # Identifies the specific input, by ID, that the application starts
847
+ # consuming. Amazon Kinesis Analytics starts reading the streaming
848
+ # source associated with the input. You can also specify where in the
849
+ # streaming source you want Amazon Kinesis Analytics to start reading.
850
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
851
+ #
852
+ # @example Request syntax with placeholder values
853
+ # resp = client.start_application({
854
+ # application_name: "ApplicationName", # required
855
+ # input_configurations: [ # required
856
+ # {
857
+ # id: "Id", # required
858
+ # input_starting_position_configuration: { # required
859
+ # input_starting_position: "NOW", # accepts NOW, TRIM_HORIZON, LAST_STOPPED_POINT
860
+ # },
861
+ # },
862
+ # ],
863
+ # })
864
+ # @overload start_application(params = {})
865
+ # @param [Hash] params ({})
866
+ def start_application(params = {}, options = {})
867
+ req = build_request(:start_application, params)
868
+ req.send_request(options)
869
+ end
870
+
871
+ # Stops the application from processing input data. You can stop an
872
+ # application only if it is in the running state. You can use the
873
+ # DescribeApplication operation to find the application state. After the
874
+ # application is stopped, Amazon Kinesis Analytics stops reading data
875
+ # from the input, the application stops processing data, and there is no
876
+ # output written to the destination.
877
+ #
878
+ # This operation requires permissions to perform the
879
+ # `kinesisanalytics:StopApplication` action.
880
+ # @option params [required, String] :application_name
881
+ # Name of the running application to stop.
882
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
883
+ #
884
+ # @example Request syntax with placeholder values
885
+ # resp = client.stop_application({
886
+ # application_name: "ApplicationName", # required
887
+ # })
888
+ # @overload stop_application(params = {})
889
+ # @param [Hash] params ({})
890
+ def stop_application(params = {}, options = {})
891
+ req = build_request(:stop_application, params)
892
+ req.send_request(options)
893
+ end
894
+
895
+ # Updates an existing Kinesis Analytics application. Using this API, you
896
+ # can update application code, input configuration, and output
897
+ # configuration.
898
+ #
899
+ # Note that Kinesis Analytics updates the `CurrentApplicationVersionId`
900
+ # each time you update your application.
901
+ #
902
+ # This opeation requires permission for the
903
+ # `kinesisanalytics:UpdateApplication` action.
904
+ # @option params [required, String] :application_name
905
+ # Name of the Kinesis Analytics application to update.
906
+ # @option params [required, Integer] :current_application_version_id
907
+ # The current application version ID. You can use the
908
+ # DescribeApplication operation to get this value.
909
+ # @option params [required, Types::ApplicationUpdate] :application_update
910
+ # Describes application updates.
911
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
912
+ #
913
+ # @example Request syntax with placeholder values
914
+ # resp = client.update_application({
915
+ # application_name: "ApplicationName", # required
916
+ # current_application_version_id: 1, # required
917
+ # application_update: { # required
918
+ # input_updates: [
919
+ # {
920
+ # input_id: "Id", # required
921
+ # name_prefix_update: "InAppStreamName",
922
+ # kinesis_streams_input_update: {
923
+ # resource_arn_update: "ResourceARN",
924
+ # role_arn_update: "RoleARN",
925
+ # },
926
+ # kinesis_firehose_input_update: {
927
+ # resource_arn_update: "ResourceARN",
928
+ # role_arn_update: "RoleARN",
929
+ # },
930
+ # input_schema_update: {
931
+ # record_format_update: {
932
+ # record_format_type: "JSON", # required, accepts JSON, CSV
933
+ # mapping_parameters: {
934
+ # json_mapping_parameters: {
935
+ # record_row_path: "RecordRowPath", # required
936
+ # },
937
+ # csv_mapping_parameters: {
938
+ # record_row_delimiter: "RecordRowDelimiter", # required
939
+ # record_column_delimiter: "RecordColumnDelimiter", # required
940
+ # },
941
+ # },
942
+ # },
943
+ # record_encoding_update: "RecordEncoding",
944
+ # record_column_updates: [
945
+ # {
946
+ # name: "RecordColumnName", # required
947
+ # mapping: "RecordColumnMapping",
948
+ # sql_type: "RecordColumnSqlType", # required
949
+ # },
950
+ # ],
951
+ # },
952
+ # input_parallelism_update: {
953
+ # count_update: 1,
954
+ # },
955
+ # },
956
+ # ],
957
+ # application_code_update: "ApplicationCode",
958
+ # output_updates: [
959
+ # {
960
+ # output_id: "Id", # required
961
+ # name_update: "InAppStreamName",
962
+ # kinesis_streams_output_update: {
963
+ # resource_arn_update: "ResourceARN",
964
+ # role_arn_update: "RoleARN",
965
+ # },
966
+ # kinesis_firehose_output_update: {
967
+ # resource_arn_update: "ResourceARN",
968
+ # role_arn_update: "RoleARN",
969
+ # },
970
+ # destination_schema_update: {
971
+ # record_format_type: "JSON", # accepts JSON, CSV
972
+ # },
973
+ # },
974
+ # ],
975
+ # reference_data_source_updates: [
976
+ # {
977
+ # reference_id: "Id", # required
978
+ # table_name_update: "InAppTableName",
979
+ # s3_reference_data_source_update: {
980
+ # bucket_arn_update: "BucketARN",
981
+ # file_key_update: "FileKey",
982
+ # reference_role_arn_update: "RoleARN",
983
+ # },
984
+ # reference_schema_update: {
985
+ # record_format: { # required
986
+ # record_format_type: "JSON", # required, accepts JSON, CSV
987
+ # mapping_parameters: {
988
+ # json_mapping_parameters: {
989
+ # record_row_path: "RecordRowPath", # required
990
+ # },
991
+ # csv_mapping_parameters: {
992
+ # record_row_delimiter: "RecordRowDelimiter", # required
993
+ # record_column_delimiter: "RecordColumnDelimiter", # required
994
+ # },
995
+ # },
996
+ # },
997
+ # record_encoding: "RecordEncoding",
998
+ # record_columns: [ # required
999
+ # {
1000
+ # name: "RecordColumnName", # required
1001
+ # mapping: "RecordColumnMapping",
1002
+ # sql_type: "RecordColumnSqlType", # required
1003
+ # },
1004
+ # ],
1005
+ # },
1006
+ # },
1007
+ # ],
1008
+ # },
1009
+ # })
1010
+ # @overload update_application(params = {})
1011
+ # @param [Hash] params ({})
1012
+ def update_application(params = {}, options = {})
1013
+ req = build_request(:update_application, params)
1014
+ req.send_request(options)
1015
+ end
1016
+
1017
+ # @!endgroup
1018
+
1019
+ # @param params ({})
1020
+ # @api private
1021
+ def build_request(operation_name, params = {})
1022
+ handlers = @handlers.for(operation_name)
1023
+ context = Seahorse::Client::RequestContext.new(
1024
+ operation_name: operation_name,
1025
+ operation: config.api.operation(operation_name),
1026
+ client: self,
1027
+ params: params,
1028
+ config: config)
1029
+ context[:gem_name] = 'aws-sdk-kinesisanalytics'
1030
+ context[:gem_version] = '1.0.0.rc1'
1031
+ Seahorse::Client::Request.new(handlers, context)
1032
+ end
1033
+
1034
+ # @api private
1035
+ # @deprecated
1036
+ def waiter_names
1037
+ []
1038
+ end
1039
+
1040
+ class << self
1041
+
1042
+ # @api private
1043
+ attr_reader :identifier
1044
+
1045
+ # @api private
1046
+ def errors_module
1047
+ Errors
1048
+ end
1049
+
1050
+ end
1051
+ end
1052
+ end
1053
+ end