Current section
Files
Jump to
Current section
Files
src/aws_kinesis_analytics.erl
%% WARNING: DO NOT EDIT, AUTO-GENERATED CODE!
%% See https://github.com/aws-beam/aws-codegen for more details.
%% @doc Amazon Kinesis Analytics
%%
%% Overview
%%
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% This is the Amazon Kinesis Analytics v1 API Reference.
%% The Amazon Kinesis Analytics Developer Guide provides additional
%% information.
-module(aws_kinesis_analytics).
-export([add_application_cloud_watch_logging_option/2,
add_application_cloud_watch_logging_option/3,
add_application_input/2,
add_application_input/3,
add_application_input_processing_configuration/2,
add_application_input_processing_configuration/3,
add_application_output/2,
add_application_output/3,
add_application_reference_data_source/2,
add_application_reference_data_source/3,
create_application/2,
create_application/3,
delete_application/2,
delete_application/3,
delete_application_cloud_watch_logging_option/2,
delete_application_cloud_watch_logging_option/3,
delete_application_input_processing_configuration/2,
delete_application_input_processing_configuration/3,
delete_application_output/2,
delete_application_output/3,
delete_application_reference_data_source/2,
delete_application_reference_data_source/3,
describe_application/2,
describe_application/3,
discover_input_schema/2,
discover_input_schema/3,
list_applications/2,
list_applications/3,
list_tags_for_resource/2,
list_tags_for_resource/3,
start_application/2,
start_application/3,
stop_application/2,
stop_application/3,
tag_resource/2,
tag_resource/3,
untag_resource/2,
untag_resource/3,
update_application/2,
update_application/3]).
-include_lib("hackney/include/hackney_lib.hrl").
%% Example:
%% input_parallelism_update() :: #{
%% <<"CountUpdate">> => integer()
%% }
-type input_parallelism_update() :: #{binary() => any()}.
%% Example:
%% input_update() :: #{
%% <<"InputId">> => string(),
%% <<"InputParallelismUpdate">> => input_parallelism_update(),
%% <<"InputProcessingConfigurationUpdate">> => input_processing_configuration_update(),
%% <<"InputSchemaUpdate">> => input_schema_update(),
%% <<"KinesisFirehoseInputUpdate">> => kinesis_firehose_input_update(),
%% <<"KinesisStreamsInputUpdate">> => kinesis_streams_input_update(),
%% <<"NamePrefixUpdate">> => string()
%% }
-type input_update() :: #{binary() => any()}.
%% Example:
%% tag_resource_request() :: #{
%% <<"ResourceARN">> := string(),
%% <<"Tags">> := list(tag())
%% }
-type tag_resource_request() :: #{binary() => any()}.
%% Example:
%% application_detail() :: #{
%% <<"ApplicationARN">> => string(),
%% <<"ApplicationCode">> => string(),
%% <<"ApplicationDescription">> => string(),
%% <<"ApplicationName">> => string(),
%% <<"ApplicationStatus">> => list(any()),
%% <<"ApplicationVersionId">> => float(),
%% <<"CloudWatchLoggingOptionDescriptions">> => list(cloud_watch_logging_option_description()),
%% <<"CreateTimestamp">> => non_neg_integer(),
%% <<"InputDescriptions">> => list(input_description()),
%% <<"LastUpdateTimestamp">> => non_neg_integer(),
%% <<"OutputDescriptions">> => list(output_description()),
%% <<"ReferenceDataSourceDescriptions">> => list(reference_data_source_description())
%% }
-type application_detail() :: #{binary() => any()}.
%% Example:
%% unsupported_operation_exception() :: #{
%% <<"message">> => string()
%% }
-type unsupported_operation_exception() :: #{binary() => any()}.
%% Example:
%% untag_resource_response() :: #{
%% }
-type untag_resource_response() :: #{binary() => any()}.
%% Example:
%% add_application_input_processing_configuration_response() :: #{
%% }
-type add_application_input_processing_configuration_response() :: #{binary() => any()}.
%% Example:
%% resource_in_use_exception() :: #{
%% <<"message">> => string()
%% }
-type resource_in_use_exception() :: #{binary() => any()}.
%% Example:
%% cloud_watch_logging_option_description() :: #{
%% <<"CloudWatchLoggingOptionId">> => string(),
%% <<"LogStreamARN">> => string(),
%% <<"RoleARN">> => string()
%% }
-type cloud_watch_logging_option_description() :: #{binary() => any()}.
%% Example:
%% add_application_cloud_watch_logging_option_response() :: #{
%% }
-type add_application_cloud_watch_logging_option_response() :: #{binary() => any()}.
%% Example:
%% input_schema_update() :: #{
%% <<"RecordColumnUpdates">> => list(record_column()),
%% <<"RecordEncodingUpdate">> => string(),
%% <<"RecordFormatUpdate">> => record_format()
%% }
-type input_schema_update() :: #{binary() => any()}.
%% Example:
%% discover_input_schema_response() :: #{
%% <<"InputSchema">> => source_schema(),
%% <<"ParsedInputRecords">> => list(list(string())()),
%% <<"ProcessedInputRecords">> => list(string()),
%% <<"RawInputRecords">> => list(string())
%% }
-type discover_input_schema_response() :: #{binary() => any()}.
%% Example:
%% resource_provisioned_throughput_exceeded_exception() :: #{
%% <<"message">> => string()
%% }
-type resource_provisioned_throughput_exceeded_exception() :: #{binary() => any()}.
%% Example:
%% delete_application_reference_data_source_response() :: #{
%% }
-type delete_application_reference_data_source_response() :: #{binary() => any()}.
%% Example:
%% input_starting_position_configuration() :: #{
%% <<"InputStartingPosition">> => list(any())
%% }
-type input_starting_position_configuration() :: #{binary() => any()}.
%% Example:
%% add_application_input_response() :: #{
%% }
-type add_application_input_response() :: #{binary() => any()}.
%% Example:
%% kinesis_firehose_input_description() :: #{
%% <<"ResourceARN">> => string(),
%% <<"RoleARN">> => string()
%% }
-type kinesis_firehose_input_description() :: #{binary() => any()}.
%% Example:
%% kinesis_firehose_output_description() :: #{
%% <<"ResourceARN">> => string(),
%% <<"RoleARN">> => string()
%% }
-type kinesis_firehose_output_description() :: #{binary() => any()}.
%% Example:
%% kinesis_firehose_input_update() :: #{
%% <<"ResourceARNUpdate">> => string(),
%% <<"RoleARNUpdate">> => string()
%% }
-type kinesis_firehose_input_update() :: #{binary() => any()}.
%% Example:
%% cloud_watch_logging_option_update() :: #{
%% <<"CloudWatchLoggingOptionId">> => string(),
%% <<"LogStreamARNUpdate">> => string(),
%% <<"RoleARNUpdate">> => string()
%% }
-type cloud_watch_logging_option_update() :: #{binary() => any()}.
%% Example:
%% kinesis_streams_input_update() :: #{
%% <<"ResourceARNUpdate">> => string(),
%% <<"RoleARNUpdate">> => string()
%% }
-type kinesis_streams_input_update() :: #{binary() => any()}.
%% Example:
%% input_processing_configuration() :: #{
%% <<"InputLambdaProcessor">> => input_lambda_processor()
%% }
-type input_processing_configuration() :: #{binary() => any()}.
%% Example:
%% delete_application_input_processing_configuration_request() :: #{
%% <<"ApplicationName">> := string(),
%% <<"CurrentApplicationVersionId">> := float(),
%% <<"InputId">> := string()
%% }
-type delete_application_input_processing_configuration_request() :: #{binary() => any()}.
%% Example:
%% output_description() :: #{
%% <<"DestinationSchema">> => destination_schema(),
%% <<"KinesisFirehoseOutputDescription">> => kinesis_firehose_output_description(),
%% <<"KinesisStreamsOutputDescription">> => kinesis_streams_output_description(),
%% <<"LambdaOutputDescription">> => lambda_output_description(),
%% <<"Name">> => string(),
%% <<"OutputId">> => string()
%% }
-type output_description() :: #{binary() => any()}.
%% Example:
%% untag_resource_request() :: #{
%% <<"ResourceARN">> := string(),
%% <<"TagKeys">> := list(string())
%% }
-type untag_resource_request() :: #{binary() => any()}.
%% Example:
%% delete_application_cloud_watch_logging_option_request() :: #{
%% <<"ApplicationName">> := string(),
%% <<"CloudWatchLoggingOptionId">> := string(),
%% <<"CurrentApplicationVersionId">> := float()
%% }
-type delete_application_cloud_watch_logging_option_request() :: #{binary() => any()}.
%% Example:
%% kinesis_streams_output() :: #{
%% <<"ResourceARN">> => string(),
%% <<"RoleARN">> => string()
%% }
-type kinesis_streams_output() :: #{binary() => any()}.
%% Example:
%% kinesis_firehose_output() :: #{
%% <<"ResourceARN">> => string(),
%% <<"RoleARN">> => string()
%% }
-type kinesis_firehose_output() :: #{binary() => any()}.
%% Example:
%% unable_to_detect_schema_exception() :: #{
%% <<"ProcessedInputRecords">> => list(string()),
%% <<"RawInputRecords">> => list(string()),
%% <<"message">> => string()
%% }
-type unable_to_detect_schema_exception() :: #{binary() => any()}.
%% Example:
%% reference_data_source() :: #{
%% <<"ReferenceSchema">> => source_schema(),
%% <<"S3ReferenceDataSource">> => s3_reference_data_source(),
%% <<"TableName">> => string()
%% }
-type reference_data_source() :: #{binary() => any()}.
%% Example:
%% application_update() :: #{
%% <<"ApplicationCodeUpdate">> => string(),
%% <<"CloudWatchLoggingOptionUpdates">> => list(cloud_watch_logging_option_update()),
%% <<"InputUpdates">> => list(input_update()),
%% <<"OutputUpdates">> => list(output_update()),
%% <<"ReferenceDataSourceUpdates">> => list(reference_data_source_update())
%% }
-type application_update() :: #{binary() => any()}.
%% Example:
%% destination_schema() :: #{
%% <<"RecordFormatType">> => list(any())
%% }
-type destination_schema() :: #{binary() => any()}.
%% Example:
%% lambda_output_update() :: #{
%% <<"ResourceARNUpdate">> => string(),
%% <<"RoleARNUpdate">> => string()
%% }
-type lambda_output_update() :: #{binary() => any()}.
%% Example:
%% discover_input_schema_request() :: #{
%% <<"InputProcessingConfiguration">> => input_processing_configuration(),
%% <<"InputStartingPositionConfiguration">> => input_starting_position_configuration(),
%% <<"ResourceARN">> => string(),
%% <<"RoleARN">> => string(),
%% <<"S3Configuration">> => s3_configuration()
%% }
-type discover_input_schema_request() :: #{binary() => any()}.
%% Example:
%% input_lambda_processor() :: #{
%% <<"ResourceARN">> => string(),
%% <<"RoleARN">> => string()
%% }
-type input_lambda_processor() :: #{binary() => any()}.
%% Example:
%% input() :: #{
%% <<"InputParallelism">> => input_parallelism(),
%% <<"InputProcessingConfiguration">> => input_processing_configuration(),
%% <<"InputSchema">> => source_schema(),
%% <<"KinesisFirehoseInput">> => kinesis_firehose_input(),
%% <<"KinesisStreamsInput">> => kinesis_streams_input(),
%% <<"NamePrefix">> => string()
%% }
-type input() :: #{binary() => any()}.
%% Example:
%% resource_not_found_exception() :: #{
%% <<"message">> => string()
%% }
-type resource_not_found_exception() :: #{binary() => any()}.
%% Example:
%% s3_reference_data_source() :: #{
%% <<"BucketARN">> => string(),
%% <<"FileKey">> => string(),
%% <<"ReferenceRoleARN">> => string()
%% }
-type s3_reference_data_source() :: #{binary() => any()}.
%% Example:
%% tag() :: #{
%% <<"Key">> => string(),
%% <<"Value">> => string()
%% }
-type tag() :: #{binary() => any()}.
%% Example:
%% stop_application_request() :: #{
%% <<"ApplicationName">> := string()
%% }
-type stop_application_request() :: #{binary() => any()}.
%% Example:
%% input_lambda_processor_update() :: #{
%% <<"ResourceARNUpdate">> => string(),
%% <<"RoleARNUpdate">> => string()
%% }
-type input_lambda_processor_update() :: #{binary() => any()}.
%% Example:
%% csv_mapping_parameters() :: #{
%% <<"RecordColumnDelimiter">> => string(),
%% <<"RecordRowDelimiter">> => string()
%% }
-type csv_mapping_parameters() :: #{binary() => any()}.
%% Example:
%% output_update() :: #{
%% <<"DestinationSchemaUpdate">> => destination_schema(),
%% <<"KinesisFirehoseOutputUpdate">> => kinesis_firehose_output_update(),
%% <<"KinesisStreamsOutputUpdate">> => kinesis_streams_output_update(),
%% <<"LambdaOutputUpdate">> => lambda_output_update(),
%% <<"NameUpdate">> => string(),
%% <<"OutputId">> => string()
%% }
-type output_update() :: #{binary() => any()}.
%% Example:
%% json_mapping_parameters() :: #{
%% <<"RecordRowPath">> => string()
%% }
-type json_mapping_parameters() :: #{binary() => any()}.
%% Example:
%% delete_application_cloud_watch_logging_option_response() :: #{
%% }
-type delete_application_cloud_watch_logging_option_response() :: #{binary() => any()}.
%% Example:
%% list_tags_for_resource_response() :: #{
%% <<"Tags">> => list(tag())
%% }
-type list_tags_for_resource_response() :: #{binary() => any()}.
%% Example:
%% create_application_request() :: #{
%% <<"ApplicationCode">> => string(),
%% <<"ApplicationDescription">> => string(),
%% <<"ApplicationName">> := string(),
%% <<"CloudWatchLoggingOptions">> => list(cloud_watch_logging_option()),
%% <<"Inputs">> => list(input()),
%% <<"Outputs">> => list(output()),
%% <<"Tags">> => list(tag())
%% }
-type create_application_request() :: #{binary() => any()}.
%% Example:
%% add_application_reference_data_source_request() :: #{
%% <<"ApplicationName">> := string(),
%% <<"CurrentApplicationVersionId">> := float(),
%% <<"ReferenceDataSource">> := reference_data_source()
%% }
-type add_application_reference_data_source_request() :: #{binary() => any()}.
%% Example:
%% delete_application_reference_data_source_request() :: #{
%% <<"ApplicationName">> := string(),
%% <<"CurrentApplicationVersionId">> := float(),
%% <<"ReferenceId">> := string()
%% }
-type delete_application_reference_data_source_request() :: #{binary() => any()}.
%% Example:
%% service_unavailable_exception() :: #{
%% <<"message">> => string()
%% }
-type service_unavailable_exception() :: #{binary() => any()}.
%% Example:
%% create_application_response() :: #{
%% <<"ApplicationSummary">> => application_summary()
%% }
-type create_application_response() :: #{binary() => any()}.
%% Example:
%% add_application_output_response() :: #{
%% }
-type add_application_output_response() :: #{binary() => any()}.
%% Example:
%% input_configuration() :: #{
%% <<"Id">> => string(),
%% <<"InputStartingPositionConfiguration">> => input_starting_position_configuration()
%% }
-type input_configuration() :: #{binary() => any()}.
%% Example:
%% kinesis_streams_input_description() :: #{
%% <<"ResourceARN">> => string(),
%% <<"RoleARN">> => string()
%% }
-type kinesis_streams_input_description() :: #{binary() => any()}.
%% Example:
%% add_application_input_request() :: #{
%% <<"ApplicationName">> := string(),
%% <<"CurrentApplicationVersionId">> := float(),
%% <<"Input">> := input()
%% }
-type add_application_input_request() :: #{binary() => any()}.
%% Example:
%% delete_application_response() :: #{
%% }
-type delete_application_response() :: #{binary() => any()}.
%% Example:
%% start_application_response() :: #{
%% }
-type start_application_response() :: #{binary() => any()}.
%% Example:
%% update_application_request() :: #{
%% <<"ApplicationName">> := string(),
%% <<"ApplicationUpdate">> := application_update(),
%% <<"CurrentApplicationVersionId">> := float()
%% }
-type update_application_request() :: #{binary() => any()}.
%% Example:
%% update_application_response() :: #{
%% }
-type update_application_response() :: #{binary() => any()}.
%% Example:
%% describe_application_request() :: #{
%% <<"ApplicationName">> := string()
%% }
-type describe_application_request() :: #{binary() => any()}.
%% Example:
%% start_application_request() :: #{
%% <<"ApplicationName">> := string(),
%% <<"InputConfigurations">> := list(input_configuration())
%% }
-type start_application_request() :: #{binary() => any()}.
%% Example:
%% code_validation_exception() :: #{
%% <<"message">> => string()
%% }
-type code_validation_exception() :: #{binary() => any()}.
%% Example:
%% input_lambda_processor_description() :: #{
%% <<"ResourceARN">> => string(),
%% <<"RoleARN">> => string()
%% }
-type input_lambda_processor_description() :: #{binary() => any()}.
%% Example:
%% input_parallelism() :: #{
%% <<"Count">> => integer()
%% }
-type input_parallelism() :: #{binary() => any()}.
%% Example:
%% cloud_watch_logging_option() :: #{
%% <<"LogStreamARN">> => string(),
%% <<"RoleARN">> => string()
%% }
-type cloud_watch_logging_option() :: #{binary() => any()}.
%% Example:
%% list_applications_request() :: #{
%% <<"ExclusiveStartApplicationName">> => string(),
%% <<"Limit">> => integer()
%% }
-type list_applications_request() :: #{binary() => any()}.
%% Example:
%% reference_data_source_update() :: #{
%% <<"ReferenceId">> => string(),
%% <<"ReferenceSchemaUpdate">> => source_schema(),
%% <<"S3ReferenceDataSourceUpdate">> => s3_reference_data_source_update(),
%% <<"TableNameUpdate">> => string()
%% }
-type reference_data_source_update() :: #{binary() => any()}.
%% Example:
%% s3_reference_data_source_description() :: #{
%% <<"BucketARN">> => string(),
%% <<"FileKey">> => string(),
%% <<"ReferenceRoleARN">> => string()
%% }
-type s3_reference_data_source_description() :: #{binary() => any()}.
%% Example:
%% kinesis_streams_output_update() :: #{
%% <<"ResourceARNUpdate">> => string(),
%% <<"RoleARNUpdate">> => string()
%% }
-type kinesis_streams_output_update() :: #{binary() => any()}.
%% Example:
%% stop_application_response() :: #{
%% }
-type stop_application_response() :: #{binary() => any()}.
%% Example:
%% add_application_cloud_watch_logging_option_request() :: #{
%% <<"ApplicationName">> := string(),
%% <<"CloudWatchLoggingOption">> := cloud_watch_logging_option(),
%% <<"CurrentApplicationVersionId">> := float()
%% }
-type add_application_cloud_watch_logging_option_request() :: #{binary() => any()}.
%% Example:
%% tag_resource_response() :: #{
%% }
-type tag_resource_response() :: #{binary() => any()}.
%% Example:
%% invalid_argument_exception() :: #{
%% <<"message">> => string()
%% }
-type invalid_argument_exception() :: #{binary() => any()}.
%% Example:
%% invalid_application_configuration_exception() :: #{
%% <<"message">> => string()
%% }
-type invalid_application_configuration_exception() :: #{binary() => any()}.
%% Example:
%% concurrent_modification_exception() :: #{
%% <<"message">> => string()
%% }
-type concurrent_modification_exception() :: #{binary() => any()}.
%% Example:
%% input_processing_configuration_description() :: #{
%% <<"InputLambdaProcessorDescription">> => input_lambda_processor_description()
%% }
-type input_processing_configuration_description() :: #{binary() => any()}.
%% Example:
%% list_tags_for_resource_request() :: #{
%% <<"ResourceARN">> := string()
%% }
-type list_tags_for_resource_request() :: #{binary() => any()}.
%% Example:
%% source_schema() :: #{
%% <<"RecordColumns">> => list(record_column()),
%% <<"RecordEncoding">> => string(),
%% <<"RecordFormat">> => record_format()
%% }
-type source_schema() :: #{binary() => any()}.
%% Example:
%% mapping_parameters() :: #{
%% <<"CSVMappingParameters">> => csv_mapping_parameters(),
%% <<"JSONMappingParameters">> => json_mapping_parameters()
%% }
-type mapping_parameters() :: #{binary() => any()}.
%% Example:
%% delete_application_input_processing_configuration_response() :: #{
%% }
-type delete_application_input_processing_configuration_response() :: #{binary() => any()}.
%% Example:
%% input_description() :: #{
%% <<"InAppStreamNames">> => list(string()),
%% <<"InputId">> => string(),
%% <<"InputParallelism">> => input_parallelism(),
%% <<"InputProcessingConfigurationDescription">> => input_processing_configuration_description(),
%% <<"InputSchema">> => source_schema(),
%% <<"InputStartingPositionConfiguration">> => input_starting_position_configuration(),
%% <<"KinesisFirehoseInputDescription">> => kinesis_firehose_input_description(),
%% <<"KinesisStreamsInputDescription">> => kinesis_streams_input_description(),
%% <<"NamePrefix">> => string()
%% }
-type input_description() :: #{binary() => any()}.
%% Example:
%% lambda_output() :: #{
%% <<"ResourceARN">> => string(),
%% <<"RoleARN">> => string()
%% }
-type lambda_output() :: #{binary() => any()}.
%% Example:
%% s3_configuration() :: #{
%% <<"BucketARN">> => string(),
%% <<"FileKey">> => string(),
%% <<"RoleARN">> => string()
%% }
-type s3_configuration() :: #{binary() => any()}.
%% Example:
%% application_summary() :: #{
%% <<"ApplicationARN">> => string(),
%% <<"ApplicationName">> => string(),
%% <<"ApplicationStatus">> => list(any())
%% }
-type application_summary() :: #{binary() => any()}.
%% Example:
%% kinesis_streams_output_description() :: #{
%% <<"ResourceARN">> => string(),
%% <<"RoleARN">> => string()
%% }
-type kinesis_streams_output_description() :: #{binary() => any()}.
%% Example:
%% record_format() :: #{
%% <<"MappingParameters">> => mapping_parameters(),
%% <<"RecordFormatType">> => list(any())
%% }
-type record_format() :: #{binary() => any()}.
%% Example:
%% limit_exceeded_exception() :: #{
%% <<"message">> => string()
%% }
-type limit_exceeded_exception() :: #{binary() => any()}.
%% Example:
%% list_applications_response() :: #{
%% <<"ApplicationSummaries">> => list(application_summary()),
%% <<"HasMoreApplications">> => boolean()
%% }
-type list_applications_response() :: #{binary() => any()}.
%% Example:
%% lambda_output_description() :: #{
%% <<"ResourceARN">> => string(),
%% <<"RoleARN">> => string()
%% }
-type lambda_output_description() :: #{binary() => any()}.
%% Example:
%% delete_application_output_request() :: #{
%% <<"ApplicationName">> := string(),
%% <<"CurrentApplicationVersionId">> := float(),
%% <<"OutputId">> := string()
%% }
-type delete_application_output_request() :: #{binary() => any()}.
%% Example:
%% kinesis_streams_input() :: #{
%% <<"ResourceARN">> => string(),
%% <<"RoleARN">> => string()
%% }
-type kinesis_streams_input() :: #{binary() => any()}.
%% Example:
%% s3_reference_data_source_update() :: #{
%% <<"BucketARNUpdate">> => string(),
%% <<"FileKeyUpdate">> => string(),
%% <<"ReferenceRoleARNUpdate">> => string()
%% }
-type s3_reference_data_source_update() :: #{binary() => any()}.
%% Example:
%% kinesis_firehose_input() :: #{
%% <<"ResourceARN">> => string(),
%% <<"RoleARN">> => string()
%% }
-type kinesis_firehose_input() :: #{binary() => any()}.
%% Example:
%% add_application_output_request() :: #{
%% <<"ApplicationName">> := string(),
%% <<"CurrentApplicationVersionId">> := float(),
%% <<"Output">> := output()
%% }
-type add_application_output_request() :: #{binary() => any()}.
%% Example:
%% input_processing_configuration_update() :: #{
%% <<"InputLambdaProcessorUpdate">> => input_lambda_processor_update()
%% }
-type input_processing_configuration_update() :: #{binary() => any()}.
%% Example:
%% record_column() :: #{
%% <<"Mapping">> => string(),
%% <<"Name">> => string(),
%% <<"SqlType">> => string()
%% }
-type record_column() :: #{binary() => any()}.
%% Example:
%% add_application_input_processing_configuration_request() :: #{
%% <<"ApplicationName">> := string(),
%% <<"CurrentApplicationVersionId">> := float(),
%% <<"InputId">> := string(),
%% <<"InputProcessingConfiguration">> := input_processing_configuration()
%% }
-type add_application_input_processing_configuration_request() :: #{binary() => any()}.
%% Example:
%% add_application_reference_data_source_response() :: #{
%% }
-type add_application_reference_data_source_response() :: #{binary() => any()}.
%% Example:
%% kinesis_firehose_output_update() :: #{
%% <<"ResourceARNUpdate">> => string(),
%% <<"RoleARNUpdate">> => string()
%% }
-type kinesis_firehose_output_update() :: #{binary() => any()}.
%% Example:
%% reference_data_source_description() :: #{
%% <<"ReferenceId">> => string(),
%% <<"ReferenceSchema">> => source_schema(),
%% <<"S3ReferenceDataSourceDescription">> => s3_reference_data_source_description(),
%% <<"TableName">> => string()
%% }
-type reference_data_source_description() :: #{binary() => any()}.
%% Example:
%% describe_application_response() :: #{
%% <<"ApplicationDetail">> => application_detail()
%% }
-type describe_application_response() :: #{binary() => any()}.
%% Example:
%% too_many_tags_exception() :: #{
%% <<"message">> => string()
%% }
-type too_many_tags_exception() :: #{binary() => any()}.
%% Example:
%% output() :: #{
%% <<"DestinationSchema">> => destination_schema(),
%% <<"KinesisFirehoseOutput">> => kinesis_firehose_output(),
%% <<"KinesisStreamsOutput">> => kinesis_streams_output(),
%% <<"LambdaOutput">> => lambda_output(),
%% <<"Name">> => string()
%% }
-type output() :: #{binary() => any()}.
%% Example:
%% delete_application_request() :: #{
%% <<"ApplicationName">> := string(),
%% <<"CreateTimestamp">> := non_neg_integer()
%% }
-type delete_application_request() :: #{binary() => any()}.
%% Example:
%% delete_application_output_response() :: #{
%% }
-type delete_application_output_response() :: #{binary() => any()}.
-type add_application_cloud_watch_logging_option_errors() ::
concurrent_modification_exception() |
invalid_argument_exception() |
resource_not_found_exception() |
resource_in_use_exception() |
unsupported_operation_exception().
-type add_application_input_errors() ::
concurrent_modification_exception() |
invalid_argument_exception() |
code_validation_exception() |
resource_not_found_exception() |
resource_in_use_exception() |
unsupported_operation_exception().
-type add_application_input_processing_configuration_errors() ::
concurrent_modification_exception() |
invalid_argument_exception() |
resource_not_found_exception() |
resource_in_use_exception() |
unsupported_operation_exception().
-type add_application_output_errors() ::
concurrent_modification_exception() |
invalid_argument_exception() |
resource_not_found_exception() |
resource_in_use_exception() |
unsupported_operation_exception().
-type add_application_reference_data_source_errors() ::
concurrent_modification_exception() |
invalid_argument_exception() |
resource_not_found_exception() |
resource_in_use_exception() |
unsupported_operation_exception().
-type create_application_errors() ::
too_many_tags_exception() |
limit_exceeded_exception() |
concurrent_modification_exception() |
invalid_argument_exception() |
code_validation_exception() |
resource_in_use_exception().
-type delete_application_errors() ::
concurrent_modification_exception() |
resource_not_found_exception() |
resource_in_use_exception() |
unsupported_operation_exception().
-type delete_application_cloud_watch_logging_option_errors() ::
concurrent_modification_exception() |
invalid_argument_exception() |
resource_not_found_exception() |
resource_in_use_exception() |
unsupported_operation_exception().
-type delete_application_input_processing_configuration_errors() ::
concurrent_modification_exception() |
invalid_argument_exception() |
resource_not_found_exception() |
resource_in_use_exception() |
unsupported_operation_exception().
-type delete_application_output_errors() ::
concurrent_modification_exception() |
invalid_argument_exception() |
resource_not_found_exception() |
resource_in_use_exception() |
unsupported_operation_exception().
-type delete_application_reference_data_source_errors() ::
concurrent_modification_exception() |
invalid_argument_exception() |
resource_not_found_exception() |
resource_in_use_exception() |
unsupported_operation_exception().
-type describe_application_errors() ::
resource_not_found_exception() |
unsupported_operation_exception().
-type discover_input_schema_errors() ::
invalid_argument_exception() |
service_unavailable_exception() |
unable_to_detect_schema_exception() |
resource_provisioned_throughput_exceeded_exception().
-type list_tags_for_resource_errors() ::
concurrent_modification_exception() |
invalid_argument_exception() |
resource_not_found_exception().
-type start_application_errors() ::
invalid_application_configuration_exception() |
invalid_argument_exception() |
resource_not_found_exception() |
resource_in_use_exception() |
unsupported_operation_exception().
-type stop_application_errors() ::
resource_not_found_exception() |
resource_in_use_exception() |
unsupported_operation_exception().
-type tag_resource_errors() ::
too_many_tags_exception() |
concurrent_modification_exception() |
invalid_argument_exception() |
resource_not_found_exception() |
resource_in_use_exception().
-type untag_resource_errors() ::
too_many_tags_exception() |
concurrent_modification_exception() |
invalid_argument_exception() |
resource_not_found_exception() |
resource_in_use_exception().
-type update_application_errors() ::
concurrent_modification_exception() |
invalid_argument_exception() |
code_validation_exception() |
resource_not_found_exception() |
resource_in_use_exception() |
unsupported_operation_exception().
%%====================================================================
%% API
%%====================================================================
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Adds a CloudWatch log stream to monitor application configuration errors.
%% For more
%% information about using CloudWatch log streams with Amazon Kinesis
%% Analytics
%% applications, see Working with Amazon
%% CloudWatch Logs:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html.
-spec add_application_cloud_watch_logging_option(aws_client:aws_client(), add_application_cloud_watch_logging_option_request()) ->
{ok, add_application_cloud_watch_logging_option_response(), tuple()} |
{error, any()} |
{error, add_application_cloud_watch_logging_option_errors(), tuple()}.
add_application_cloud_watch_logging_option(Client, Input)
when is_map(Client), is_map(Input) ->
add_application_cloud_watch_logging_option(Client, Input, []).
-spec add_application_cloud_watch_logging_option(aws_client:aws_client(), add_application_cloud_watch_logging_option_request(), proplists:proplist()) ->
{ok, add_application_cloud_watch_logging_option_response(), tuple()} |
{error, any()} |
{error, add_application_cloud_watch_logging_option_errors(), tuple()}.
add_application_cloud_watch_logging_option(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"AddApplicationCloudWatchLoggingOption">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Adds a streaming source to your Amazon Kinesis application.
%% For conceptual information,
%% see Configuring Application Input:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html.
%%
%% You can add a streaming source either when you create an application or
%% you can use
%% this operation to add a streaming source after you create an application.
%% For more information, see
%% CreateApplication:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_CreateApplication.html.
%%
%% Any configuration update, including adding a streaming source using this
%% operation,
%% results in a new version of the application. You can use the
%% DescribeApplication:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html
%% operation
%% to find the current application version.
%%
%% This operation requires permissions to perform the
%% `kinesisanalytics:AddApplicationInput' action.
-spec add_application_input(aws_client:aws_client(), add_application_input_request()) ->
{ok, add_application_input_response(), tuple()} |
{error, any()} |
{error, add_application_input_errors(), tuple()}.
add_application_input(Client, Input)
when is_map(Client), is_map(Input) ->
add_application_input(Client, Input, []).
-spec add_application_input(aws_client:aws_client(), add_application_input_request(), proplists:proplist()) ->
{ok, add_application_input_response(), tuple()} |
{error, any()} |
{error, add_application_input_errors(), tuple()}.
add_application_input(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"AddApplicationInput">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Adds an InputProcessingConfiguration:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html
%% to an application. An input processor preprocesses records on the input
%% stream
%% before the application's SQL code executes. Currently, the only input
%% processor available is
%% AWS Lambda: https://docs.aws.amazon.com/lambda/.
-spec add_application_input_processing_configuration(aws_client:aws_client(), add_application_input_processing_configuration_request()) ->
{ok, add_application_input_processing_configuration_response(), tuple()} |
{error, any()} |
{error, add_application_input_processing_configuration_errors(), tuple()}.
add_application_input_processing_configuration(Client, Input)
when is_map(Client), is_map(Input) ->
add_application_input_processing_configuration(Client, Input, []).
-spec add_application_input_processing_configuration(aws_client:aws_client(), add_application_input_processing_configuration_request(), proplists:proplist()) ->
{ok, add_application_input_processing_configuration_response(), tuple()} |
{error, any()} |
{error, add_application_input_processing_configuration_errors(), tuple()}.
add_application_input_processing_configuration(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"AddApplicationInputProcessingConfiguration">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Adds an external destination to your Amazon Kinesis Analytics application.
%%
%% If you want Amazon Kinesis Analytics to deliver data from an
%% in-application stream
%% within your application to an external destination (such as an Amazon
%% Kinesis stream, an
%% Amazon Kinesis Firehose delivery stream, or an AWS Lambda function), you
%% add the
%% relevant configuration to your application using this operation. You can
%% configure one
%% or more outputs for your application. Each output configuration maps an
%% in-application
%% stream and an external destination.
%%
%% You can use one of the output configurations to deliver data from your
%% in-application error stream to an external destination so that you can
%% analyze the
%% errors. For more information, see Understanding Application
%% Output (Destination):
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html.
%%
%% Any configuration update, including adding a streaming source using this
%% operation, results in a new version of the application. You can use the
%% DescribeApplication:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html
%% operation to find the current application
%% version.
%%
%% For the limits on the number of application inputs and outputs
%% you can configure, see Limits:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html.
%%
%% This operation requires permissions to perform the
%% `kinesisanalytics:AddApplicationOutput' action.
-spec add_application_output(aws_client:aws_client(), add_application_output_request()) ->
{ok, add_application_output_response(), tuple()} |
{error, any()} |
{error, add_application_output_errors(), tuple()}.
add_application_output(Client, Input)
when is_map(Client), is_map(Input) ->
add_application_output(Client, Input, []).
-spec add_application_output(aws_client:aws_client(), add_application_output_request(), proplists:proplist()) ->
{ok, add_application_output_response(), tuple()} |
{error, any()} |
{error, add_application_output_errors(), tuple()}.
add_application_output(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"AddApplicationOutput">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Adds a reference data source to an existing application.
%%
%% Amazon Kinesis Analytics reads reference data (that is, an Amazon S3
%% object) and creates an in-application table within your application. In
%% the request, you provide the source (S3 bucket name and object key name),
%% name of the in-application table to create, and the necessary mapping
%% information that describes how data in Amazon S3 object maps to columns in
%% the resulting in-application table.
%%
%% For conceptual information,
%% see Configuring Application Input:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html.
%% For the limits on data sources you can add to your application, see
%% Limits:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html.
%%
%% This operation requires permissions to perform the
%% `kinesisanalytics:AddApplicationOutput' action.
-spec add_application_reference_data_source(aws_client:aws_client(), add_application_reference_data_source_request()) ->
{ok, add_application_reference_data_source_response(), tuple()} |
{error, any()} |
{error, add_application_reference_data_source_errors(), tuple()}.
add_application_reference_data_source(Client, Input)
when is_map(Client), is_map(Input) ->
add_application_reference_data_source(Client, Input, []).
-spec add_application_reference_data_source(aws_client:aws_client(), add_application_reference_data_source_request(), proplists:proplist()) ->
{ok, add_application_reference_data_source_response(), tuple()} |
{error, any()} |
{error, add_application_reference_data_source_errors(), tuple()}.
add_application_reference_data_source(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"AddApplicationReferenceDataSource">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Creates an Amazon Kinesis Analytics application.
%% You can configure each application with one streaming source as input,
%% application code to process the input, and up to
%% three destinations where
%% you want Amazon Kinesis Analytics to write the output data from your
%% application.
%% For an overview, see
%% How it Works:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works.html.
%%
%% In the input configuration, you map the streaming source to an
%% in-application stream, which you can think of as a constantly updating
%% table. In the mapping, you must provide a schema for the in-application
%% stream and map each data column in the in-application stream to a
%% data element in the streaming source.
%%
%% Your application code is one or more SQL statements that read input data,
%% transform it, and generate output. Your application code can create one or
%% more SQL artifacts like SQL streams or pumps.
%%
%% In the output configuration, you can configure the application to write
%% data from in-application streams created in your applications to up to
%% three destinations.
%%
%% To read data from your source stream or write data to destination streams,
%% Amazon Kinesis Analytics
%% needs your permissions. You grant these permissions by creating IAM roles.
%% This operation requires permissions to perform the
%% `kinesisanalytics:CreateApplication' action.
%%
%% For introductory exercises to create an Amazon Kinesis Analytics
%% application, see
%% Getting Started:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/getting-started.html.
-spec create_application(aws_client:aws_client(), create_application_request()) ->
{ok, create_application_response(), tuple()} |
{error, any()} |
{error, create_application_errors(), tuple()}.
create_application(Client, Input)
when is_map(Client), is_map(Input) ->
create_application(Client, Input, []).
-spec create_application(aws_client:aws_client(), create_application_request(), proplists:proplist()) ->
{ok, create_application_response(), tuple()} |
{error, any()} |
{error, create_application_errors(), tuple()}.
create_application(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"CreateApplication">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Deletes the specified application. Amazon Kinesis Analytics halts
%% application execution and deletes the application, including any
%% application artifacts (such as in-application streams, reference table,
%% and application code).
%%
%% This operation requires permissions to perform the
%% `kinesisanalytics:DeleteApplication' action.
-spec delete_application(aws_client:aws_client(), delete_application_request()) ->
{ok, delete_application_response(), tuple()} |
{error, any()} |
{error, delete_application_errors(), tuple()}.
delete_application(Client, Input)
when is_map(Client), is_map(Input) ->
delete_application(Client, Input, []).
-spec delete_application(aws_client:aws_client(), delete_application_request(), proplists:proplist()) ->
{ok, delete_application_response(), tuple()} |
{error, any()} |
{error, delete_application_errors(), tuple()}.
delete_application(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteApplication">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Deletes a CloudWatch log stream from an application. For more information
%% about
%% using CloudWatch log streams with Amazon Kinesis Analytics applications,
%% see
%% Working with Amazon CloudWatch Logs:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html.
-spec delete_application_cloud_watch_logging_option(aws_client:aws_client(), delete_application_cloud_watch_logging_option_request()) ->
{ok, delete_application_cloud_watch_logging_option_response(), tuple()} |
{error, any()} |
{error, delete_application_cloud_watch_logging_option_errors(), tuple()}.
delete_application_cloud_watch_logging_option(Client, Input)
when is_map(Client), is_map(Input) ->
delete_application_cloud_watch_logging_option(Client, Input, []).
-spec delete_application_cloud_watch_logging_option(aws_client:aws_client(), delete_application_cloud_watch_logging_option_request(), proplists:proplist()) ->
{ok, delete_application_cloud_watch_logging_option_response(), tuple()} |
{error, any()} |
{error, delete_application_cloud_watch_logging_option_errors(), tuple()}.
delete_application_cloud_watch_logging_option(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteApplicationCloudWatchLoggingOption">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Deletes an InputProcessingConfiguration:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html
%% from an input.
-spec delete_application_input_processing_configuration(aws_client:aws_client(), delete_application_input_processing_configuration_request()) ->
{ok, delete_application_input_processing_configuration_response(), tuple()} |
{error, any()} |
{error, delete_application_input_processing_configuration_errors(), tuple()}.
delete_application_input_processing_configuration(Client, Input)
when is_map(Client), is_map(Input) ->
delete_application_input_processing_configuration(Client, Input, []).
-spec delete_application_input_processing_configuration(aws_client:aws_client(), delete_application_input_processing_configuration_request(), proplists:proplist()) ->
{ok, delete_application_input_processing_configuration_response(), tuple()} |
{error, any()} |
{error, delete_application_input_processing_configuration_errors(), tuple()}.
delete_application_input_processing_configuration(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteApplicationInputProcessingConfiguration">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Deletes output destination configuration from your application
%% configuration. Amazon Kinesis Analytics will no longer write data from the
%% corresponding in-application stream to the external output destination.
%%
%% This operation requires permissions to perform the
%% `kinesisanalytics:DeleteApplicationOutput' action.
-spec delete_application_output(aws_client:aws_client(), delete_application_output_request()) ->
{ok, delete_application_output_response(), tuple()} |
{error, any()} |
{error, delete_application_output_errors(), tuple()}.
delete_application_output(Client, Input)
when is_map(Client), is_map(Input) ->
delete_application_output(Client, Input, []).
-spec delete_application_output(aws_client:aws_client(), delete_application_output_request(), proplists:proplist()) ->
{ok, delete_application_output_response(), tuple()} |
{error, any()} |
{error, delete_application_output_errors(), tuple()}.
delete_application_output(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteApplicationOutput">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Deletes a reference data source configuration from the specified
%% application configuration.
%%
%% If the application is running, Amazon Kinesis Analytics immediately
%% removes the in-application table
%% that you created using the AddApplicationReferenceDataSource:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_AddApplicationReferenceDataSource.html
%% operation.
%%
%% This operation requires permissions to perform the
%% `kinesisanalytics.DeleteApplicationReferenceDataSource'
%% action.
-spec delete_application_reference_data_source(aws_client:aws_client(), delete_application_reference_data_source_request()) ->
{ok, delete_application_reference_data_source_response(), tuple()} |
{error, any()} |
{error, delete_application_reference_data_source_errors(), tuple()}.
delete_application_reference_data_source(Client, Input)
when is_map(Client), is_map(Input) ->
delete_application_reference_data_source(Client, Input, []).
-spec delete_application_reference_data_source(aws_client:aws_client(), delete_application_reference_data_source_request(), proplists:proplist()) ->
{ok, delete_application_reference_data_source_response(), tuple()} |
{error, any()} |
{error, delete_application_reference_data_source_errors(), tuple()}.
delete_application_reference_data_source(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DeleteApplicationReferenceDataSource">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Returns information about a specific Amazon Kinesis Analytics application.
%%
%% If you want to retrieve a list of all applications in your account,
%% use the ListApplications:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_ListApplications.html
%% operation.
%%
%% This operation requires permissions to perform the
%% `kinesisanalytics:DescribeApplication'
%% action. You can use `DescribeApplication' to get the current
%% application versionId, which you need to call other
%% operations such as `Update'.
-spec describe_application(aws_client:aws_client(), describe_application_request()) ->
{ok, describe_application_response(), tuple()} |
{error, any()} |
{error, describe_application_errors(), tuple()}.
describe_application(Client, Input)
when is_map(Client), is_map(Input) ->
describe_application(Client, Input, []).
-spec describe_application(aws_client:aws_client(), describe_application_request(), proplists:proplist()) ->
{ok, describe_application_response(), tuple()} |
{error, any()} |
{error, describe_application_errors(), tuple()}.
describe_application(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DescribeApplication">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Infers a schema by evaluating sample records on the specified streaming
%% source (Amazon Kinesis stream or Amazon Kinesis Firehose delivery stream)
%% or S3 object. In the response, the operation returns the inferred schema
%% and also the sample records that the operation used to infer the schema.
%%
%% You can use the inferred schema when configuring a streaming source
%% for your application. For conceptual information,
%% see Configuring Application Input:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html.
%% Note that when you create an application using the Amazon Kinesis
%% Analytics console,
%% the console uses this operation to infer a schema and show it in the
%% console user interface.
%%
%% This operation requires permissions to perform the
%% `kinesisanalytics:DiscoverInputSchema' action.
-spec discover_input_schema(aws_client:aws_client(), discover_input_schema_request()) ->
{ok, discover_input_schema_response(), tuple()} |
{error, any()} |
{error, discover_input_schema_errors(), tuple()}.
discover_input_schema(Client, Input)
when is_map(Client), is_map(Input) ->
discover_input_schema(Client, Input, []).
-spec discover_input_schema(aws_client:aws_client(), discover_input_schema_request(), proplists:proplist()) ->
{ok, discover_input_schema_response(), tuple()} |
{error, any()} |
{error, discover_input_schema_errors(), tuple()}.
discover_input_schema(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"DiscoverInputSchema">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Returns a list of Amazon Kinesis Analytics applications in your account.
%% For each application, the response includes the application name,
%% Amazon Resource Name (ARN), and status.
%%
%% If the response returns the `HasMoreApplications' value as true,
%% you can send another request by adding the
%% `ExclusiveStartApplicationName' in the request body, and
%% set the value of this to the last application name from
%% the previous response.
%%
%% If you want detailed information about a specific application, use
%% DescribeApplication:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html.
%%
%% This operation requires permissions to perform the
%% `kinesisanalytics:ListApplications' action.
-spec list_applications(aws_client:aws_client(), list_applications_request()) ->
{ok, list_applications_response(), tuple()} |
{error, any()}.
list_applications(Client, Input)
when is_map(Client), is_map(Input) ->
list_applications(Client, Input, []).
-spec list_applications(aws_client:aws_client(), list_applications_request(), proplists:proplist()) ->
{ok, list_applications_response(), tuple()} |
{error, any()}.
list_applications(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListApplications">>, Input, Options).
%% @doc Retrieves the list of key-value tags assigned to the application.
%%
%% For more information, see Using Tagging:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-tagging.html.
-spec list_tags_for_resource(aws_client:aws_client(), list_tags_for_resource_request()) ->
{ok, list_tags_for_resource_response(), tuple()} |
{error, any()} |
{error, list_tags_for_resource_errors(), tuple()}.
list_tags_for_resource(Client, Input)
when is_map(Client), is_map(Input) ->
list_tags_for_resource(Client, Input, []).
-spec list_tags_for_resource(aws_client:aws_client(), list_tags_for_resource_request(), proplists:proplist()) ->
{ok, list_tags_for_resource_response(), tuple()} |
{error, any()} |
{error, list_tags_for_resource_errors(), tuple()}.
list_tags_for_resource(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"ListTagsForResource">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Starts the specified Amazon Kinesis Analytics application. After creating
%% an application, you must exclusively call this operation to start your
%% application.
%%
%% After the application starts, it begins consuming the input data,
%% processes it, and writes the output to the configured destination.
%%
%% The application status must be `READY' for you to start an
%% application. You can
%% get the application status in the console or using the
%% DescribeApplication:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html
%% operation.
%%
%% After you start the application, you can stop the application from
%% processing
%% the input by calling the StopApplication:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_StopApplication.html
%% operation.
%%
%% This operation requires permissions to perform the
%% `kinesisanalytics:StartApplication' action.
-spec start_application(aws_client:aws_client(), start_application_request()) ->
{ok, start_application_response(), tuple()} |
{error, any()} |
{error, start_application_errors(), tuple()}.
start_application(Client, Input)
when is_map(Client), is_map(Input) ->
start_application(Client, Input, []).
-spec start_application(aws_client:aws_client(), start_application_request(), proplists:proplist()) ->
{ok, start_application_response(), tuple()} |
{error, any()} |
{error, start_application_errors(), tuple()}.
start_application(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"StartApplication">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Stops the application from processing input data. You can stop
%% an application only if it is in the running state.
%% You can use the DescribeApplication:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html
%% operation to find the application state.
%% After the application is stopped,
%% Amazon Kinesis Analytics stops reading data from the input, the
%% application stops processing data, and there is no output written to the
%% destination.
%%
%% This operation requires permissions to perform the
%% `kinesisanalytics:StopApplication' action.
-spec stop_application(aws_client:aws_client(), stop_application_request()) ->
{ok, stop_application_response(), tuple()} |
{error, any()} |
{error, stop_application_errors(), tuple()}.
stop_application(Client, Input)
when is_map(Client), is_map(Input) ->
stop_application(Client, Input, []).
-spec stop_application(aws_client:aws_client(), stop_application_request(), proplists:proplist()) ->
{ok, stop_application_response(), tuple()} |
{error, any()} |
{error, stop_application_errors(), tuple()}.
stop_application(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"StopApplication">>, Input, Options).
%% @doc Adds one or more key-value tags to a Kinesis Analytics application.
%%
%% Note that the maximum number of application tags includes system tags. The
%% maximum number of user-defined application tags is 50.
%% For more information, see Using Tagging:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-tagging.html.
-spec tag_resource(aws_client:aws_client(), tag_resource_request()) ->
{ok, tag_resource_response(), tuple()} |
{error, any()} |
{error, tag_resource_errors(), tuple()}.
tag_resource(Client, Input)
when is_map(Client), is_map(Input) ->
tag_resource(Client, Input, []).
-spec tag_resource(aws_client:aws_client(), tag_resource_request(), proplists:proplist()) ->
{ok, tag_resource_response(), tuple()} |
{error, any()} |
{error, tag_resource_errors(), tuple()}.
tag_resource(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"TagResource">>, Input, Options).
%% @doc Removes one or more tags from a Kinesis Analytics application.
%%
%% For more information, see Using Tagging:
%% https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-tagging.html.
-spec untag_resource(aws_client:aws_client(), untag_resource_request()) ->
{ok, untag_resource_response(), tuple()} |
{error, any()} |
{error, untag_resource_errors(), tuple()}.
untag_resource(Client, Input)
when is_map(Client), is_map(Input) ->
untag_resource(Client, Input, []).
-spec untag_resource(aws_client:aws_client(), untag_resource_request(), proplists:proplist()) ->
{ok, untag_resource_response(), tuple()} |
{error, any()} |
{error, untag_resource_errors(), tuple()}.
untag_resource(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UntagResource">>, Input, Options).
%% @doc
%% This documentation is for version 1 of the Amazon Kinesis Data Analytics
%% API, which only supports SQL applications.
%%
%% Version 2 of the API supports SQL and Java applications. For more
%% information about version 2, see Amazon Kinesis Data Analytics API V2
%% Documentation: /kinesisanalytics/latest/apiv2/Welcome.html.
%%
%% Updates an existing Amazon Kinesis Analytics application. Using this API,
%% you can update application code, input configuration, and
%% output configuration.
%%
%% Note that Amazon Kinesis Analytics updates the
%% `CurrentApplicationVersionId'
%% each time you update your application.
%%
%% This operation requires permission for the
%% `kinesisanalytics:UpdateApplication' action.
-spec update_application(aws_client:aws_client(), update_application_request()) ->
{ok, update_application_response(), tuple()} |
{error, any()} |
{error, update_application_errors(), tuple()}.
update_application(Client, Input)
when is_map(Client), is_map(Input) ->
update_application(Client, Input, []).
-spec update_application(aws_client:aws_client(), update_application_request(), proplists:proplist()) ->
{ok, update_application_response(), tuple()} |
{error, any()} |
{error, update_application_errors(), tuple()}.
update_application(Client, Input, Options)
when is_map(Client), is_map(Input), is_list(Options) ->
request(Client, <<"UpdateApplication">>, Input, Options).
%%====================================================================
%% Internal functions
%%====================================================================
-spec request(aws_client:aws_client(), binary(), map(), list()) ->
{ok, Result, {integer(), list(), hackney:client()}} |
{error, Error, {integer(), list(), hackney:client()}} |
{error, term()} when
Result :: map() | undefined,
Error :: map().
request(Client, Action, Input, Options) ->
RequestFun = fun() -> do_request(Client, Action, Input, Options) end,
aws_request:request(RequestFun, Options).
do_request(Client, Action, Input0, Options) ->
Client1 = Client#{service => <<"kinesisanalytics">>},
DefaultHost = build_host(<<"kinesisanalytics">>, Client1),
{URL, Host} = aws_util:apply_endpoint_url_override(build_url(DefaultHost, Client1), DefaultHost, <<"/">>, <<"AWS_ENDPOINT_URL_KINESIS_ANALYTICS">>),
Headers = [
{<<"Host">>, Host},
{<<"Content-Type">>, <<"application/x-amz-json-1.1">>},
{<<"X-Amz-Target">>, <<"KinesisAnalytics_20150814.", Action/binary>>}
],
Input = Input0,
Payload = jsx:encode(Input),
SignedHeaders = aws_request:sign_request(Client1, <<"POST">>, URL, Headers, Payload),
Response = hackney:request(post, URL, SignedHeaders, Payload, Options),
handle_response(Response).
handle_response({ok, 200, ResponseHeaders, Client}) ->
case hackney:body(Client) of
{ok, <<>>} ->
{ok, undefined, {200, ResponseHeaders, Client}};
{ok, Body} ->
Result = jsx:decode(Body),
{ok, Result, {200, ResponseHeaders, Client}}
end;
handle_response({ok, StatusCode, ResponseHeaders, Client}) ->
{ok, Body} = hackney:body(Client),
Error = jsx:decode(Body),
{error, Error, {StatusCode, ResponseHeaders, Client}};
handle_response({error, Reason}) ->
{error, Reason}.
build_host(_EndpointPrefix, #{region := <<"local">>, endpoint := Endpoint}) ->
Endpoint;
build_host(_EndpointPrefix, #{region := <<"local">>}) ->
<<"localhost">>;
build_host(EndpointPrefix, #{region := Region, endpoint := Endpoint}) ->
aws_util:binary_join([EndpointPrefix, Region, Endpoint], <<".">>).
build_url(Host, Client) ->
Proto = aws_client:proto(Client),
Port = aws_client:port(Client),
aws_util:binary_join([Proto, <<"://">>, Host, <<":">>, Port, <<"/">>], <<"">>).