Kinesis Data Firehose

Implementation details for API firehose

Coverage Overview

Kinesis Data Firehose is supported by LocalStack in the community image.

AvailabilityTesting*
OperationImplementedImageInternal Test SuiteExternal Test SuiteTerraform ValidatedAWS ValidatedSnapshot TestedDetails
CreateDeliveryStream✔️community✔️✔️✔️✔️✔️Show Tests
DeleteDeliveryStream✔️community✔️✔️✔️✔️✔️Show Tests
DescribeDeliveryStream✔️community✔️✔️✔️✔️✔️Show Tests
ListDeliveryStreams✔️community✔️Show Tests
ListTagsForDeliveryStream✔️community✔️✔️✔️Show Tests
PutRecord✔️community✔️✔️✔️Show Tests
PutRecordBatch✔️community
StartDeliveryStreamEncryption
StopDeliveryStreamEncryption
TagDeliveryStream✔️community✔️✔️
UntagDeliveryStream✔️community✔️✔️
UpdateDestination✔️community✔️✔️✔️Show Tests

Terminology

  • Internal Test Suite: tested by LocalStack's internal integration test suite
  • External Test Suite: covered by an external integration test suite, that runs against LocalStack
  • Terraform Validated: operation tested with Terraform
  • AWS Validated: the integration test that includes this operation call was validated against AWS
  • Snapshot Tested: the operation is part of a snapshot parity test, which verifies the responses by LocalStack and AWS are the same

Testing Details

This section gives an overview about the internal integration test suite and the specific test cases that recorded the API call.

How to read the test details?

For each operation we put up a list of the related integration test cases.
Those operation calls have been recorded during the execution of the outlined test cases. Some calls might be internal, i.e., they are not explicitly called in the test, but are triggered implicitly by the LocalStack framework.

  • Parameters: The tests are ordered by the parameters used, which are highlighted in bold.
  • Test Details: LocalStack Community or LocalStack Pro indicates where the test originates. For each test you see:
    • test name
    • status code returned (which is the expected one for the test case)
    • information about validation:
      • AWS validated the test is validated against AWS, meaning it run successfully against real AWS as well
      • Snapshot Tested this is a snapshot parity test, meaning the responses are validated against AWS


CreateDeliveryStream

Parameters: DeliveryStreamName, DeliveryStreamType, ElasticsearchDestinationConfiguration, KinesisStreamSourceConfiguration
  • LocalStack Community
    • test_kinesis_firehose_elasticsearch_s3_backup LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_elasticsearch_s3_backup HTTP Status Code: 200
Parameters: DeliveryStreamName, DeliveryStreamType, ExtendedS3DestinationConfiguration
  • LocalStack Community
    • test_kinesis_firehose_s3_as_destination_with_file_extension LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_s3_as_destination_with_file_extension HTTP Status Code: 200 AWS validated
Parameters: DeliveryStreamName, DeliveryStreamType, ExtendedS3DestinationConfiguration, KinesisStreamSourceConfiguration
  • LocalStack Community
    • test_kinesis_firehose_s3 LocalStack Community: tests/aws/scenario/kinesis_firehose/test_kinesis_firehose.py::TestKinesisFirehoseScenario::test_kinesis_firehose_s3 HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_firehose_stack_with_kinesis_as_source LocalStack Community: tests/aws/services/cloudformation/resources/test_firehose.py::test_firehose_stack_with_kinesis_as_source HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_kinesis_firehose_kinesis_as_source LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_kinesis_as_source HTTP Status Code: 200
    • test_kinesis_firehose_kinesis_as_source_multiple_delivery_streams LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_kinesis_as_source_multiple_delivery_streams HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: DeliveryStreamName, DeliveryStreamType, KinesisStreamSourceConfiguration, RedshiftDestinationConfiguration
  • LocalStack Pro
    • test_kinesis_firehose_redshift LocalStack Pro: tests/aws/scenario/kinesis_firehose_redshift/test_kinesis_firehose_redshift.py::TestKinesisFirehoseScenario::test_kinesis_firehose_redshift HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_firehose_redshift_as_target LocalStack Pro: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_firehose_redshift_as_target HTTP Status Code: 200
Parameters: DeliveryStreamName, DeliveryStreamType, KinesisStreamSourceConfiguration, S3DestinationConfiguration
  • LocalStack Community
    • test_firehose_kinesis_to_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_kinesis_to_s3 HTTP Status Code: 200
Parameters: DeliveryStreamName, DeliveryStreamType, S3DestinationConfiguration
  • LocalStack Community
    • test_cfn_handle_kinesis_firehose_resources LocalStack Community: tests/aws/services/cloudformation/resources/test_kinesis.py::test_cfn_handle_kinesis_firehose_resources HTTP Status Code: 200
    • test_publish_to_firehose_with_s3 LocalStack Community: tests/aws/services/sns/test_sns.py::TestSNSSubscriptionFirehose::test_publish_to_firehose_with_s3 HTTP Status Code: 200 AWS validated Snapshot Tested
  • LocalStack Pro
    • test_events_firehose LocalStack Pro: tests/aws/services/iam/test_inter_service_enforcement.py::TestInterServiceCommunicationEnforcement::test_events_firehose HTTP Status Code: 200 AWS validated
    • test_sns_firehose LocalStack Pro: tests/aws/services/iam/test_inter_service_enforcement.py::TestInterServiceCommunicationEnforcement::test_sns_firehose HTTP Status Code: 200 AWS validated
Parameters: DeliveryStreamName, ExtendedS3DestinationConfiguration
  • LocalStack Pro
    • test_topic_rule_triggers_firehose_put_record LocalStack Pro: tests/aws/services/iot/test_iot.py::TestTopicRules::test_topic_rule_triggers_firehose_put_record HTTP Status Code: 200 AWS validated
Parameters: DeliveryStreamName, ExtendedS3DestinationConfiguration, Tags
  • LocalStack Community
    • test_firehose_extended_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_extended_s3 HTTP Status Code: 200
Parameters: DeliveryStreamName, HttpEndpointDestinationConfiguration
  • LocalStack Community
    • test_kinesis_firehose_http[False] LocalStack Community: tests/aws/services/firehose/test_firehose.py::test_kinesis_firehose_http[False] HTTP Status Code: 200
    • test_kinesis_firehose_http[True] LocalStack Community: tests/aws/services/firehose/test_firehose.py::test_kinesis_firehose_http[True] HTTP Status Code: 200
Parameters: DeliveryStreamName, S3DestinationConfiguration
  • LocalStack Community
    • test_put_events_with_target_firehose LocalStack Community: tests/aws/services/events/test_events_integrations.py::test_put_events_with_target_firehose HTTP Status Code: 200
    • test_put_subscription_filter_firehose LocalStack Community: tests/aws/services/logs/test_logs.py::TestCloudWatchLogs::test_put_subscription_filter_firehose HTTP Status Code: 200 AWS validated
Parameters: DeliveryStreamName, S3DestinationConfiguration, Tags
  • LocalStack Community
    • test_firehose_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_s3 HTTP Status Code: 200

DeleteDeliveryStream

Parameters: AllowForceDelete, DeliveryStreamName
  • LocalStack Community
    • test_put_subscription_filter_firehose LocalStack Community: tests/aws/services/logs/test_logs.py::TestCloudWatchLogs::test_put_subscription_filter_firehose HTTP Status Code: 200 AWS validated
Parameters: DeliveryStreamName
  • LocalStack Community
    • test_kinesis_firehose_s3 LocalStack Community: tests/aws/scenario/kinesis_firehose/test_kinesis_firehose.py::TestKinesisFirehoseScenario::test_kinesis_firehose_s3 HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_firehose_stack_with_kinesis_as_source LocalStack Community: tests/aws/services/cloudformation/resources/test_firehose.py::test_firehose_stack_with_kinesis_as_source HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cfn_handle_kinesis_firehose_resources LocalStack Community: tests/aws/services/cloudformation/resources/test_kinesis.py::test_cfn_handle_kinesis_firehose_resources HTTP Status Code: 200
    • test_put_events_with_target_firehose LocalStack Community: tests/aws/services/events/test_events_integrations.py::test_put_events_with_target_firehose HTTP Status Code: 200
    • test_kinesis_firehose_kinesis_as_source LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_kinesis_as_source HTTP Status Code: 200
    • test_kinesis_firehose_kinesis_as_source_multiple_delivery_streams LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_kinesis_as_source_multiple_delivery_streams HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_kinesis_firehose_s3_as_destination_with_file_extension LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_s3_as_destination_with_file_extension HTTP Status Code: 200 AWS validated
    • test_kinesis_firehose_http[False] LocalStack Community: tests/aws/services/firehose/test_firehose.py::test_kinesis_firehose_http[False] HTTP Status Code: 200
    • test_kinesis_firehose_http[True] LocalStack Community: tests/aws/services/firehose/test_firehose.py::test_kinesis_firehose_http[True] HTTP Status Code: 200
    • test_publish_to_firehose_with_s3 LocalStack Community: tests/aws/services/sns/test_sns.py::TestSNSSubscriptionFirehose::test_publish_to_firehose_with_s3 HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_firehose_extended_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_extended_s3 HTTP Status Code: 200
    • test_firehose_kinesis_to_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_kinesis_to_s3 HTTP Status Code: 200
    • test_firehose_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_s3 HTTP Status Code: 200
    • test_kinesis_firehose_elasticsearch_s3_backup LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_elasticsearch_s3_backup HTTP Status Code: 400 (ResourceNotFoundException)
  • LocalStack Pro
    • test_kinesis_firehose_redshift LocalStack Pro: tests/aws/scenario/kinesis_firehose_redshift/test_kinesis_firehose_redshift.py::TestKinesisFirehoseScenario::test_kinesis_firehose_redshift HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_firehose_redshift_as_target LocalStack Pro: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_firehose_redshift_as_target HTTP Status Code: 200
    • test_events_firehose LocalStack Pro: tests/aws/services/iam/test_inter_service_enforcement.py::TestInterServiceCommunicationEnforcement::test_events_firehose HTTP Status Code: 200 AWS validated
    • test_sns_firehose LocalStack Pro: tests/aws/services/iam/test_inter_service_enforcement.py::TestInterServiceCommunicationEnforcement::test_sns_firehose HTTP Status Code: 200 AWS validated
    • test_topic_rule_triggers_firehose_put_record LocalStack Pro: tests/aws/services/iot/test_iot.py::TestTopicRules::test_topic_rule_triggers_firehose_put_record HTTP Status Code: 200 AWS validated

DescribeDeliveryStream

Parameters: DeliveryStreamName
  • LocalStack Community
    • test_kinesis_firehose_s3 LocalStack Community: tests/aws/scenario/kinesis_firehose/test_kinesis_firehose.py::TestKinesisFirehoseScenario::test_kinesis_firehose_s3 HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_firehose_stack_with_kinesis_as_source LocalStack Community: tests/aws/services/cloudformation/resources/test_firehose.py::test_firehose_stack_with_kinesis_as_source HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_firehose_stack_with_kinesis_as_source LocalStack Community: tests/aws/services/cloudformation/resources/test_firehose.py::test_firehose_stack_with_kinesis_as_source HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_cfn_handle_kinesis_firehose_resources LocalStack Community: tests/aws/services/cloudformation/resources/test_kinesis.py::test_cfn_handle_kinesis_firehose_resources HTTP Status Code: 200
    • test_cfn_handle_kinesis_firehose_resources LocalStack Community: tests/aws/services/cloudformation/resources/test_kinesis.py::test_cfn_handle_kinesis_firehose_resources HTTP Status Code: 200
    • test_kinesis_firehose_elasticsearch_s3_backup LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_elasticsearch_s3_backup HTTP Status Code: 200
    • test_kinesis_firehose_kinesis_as_source LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_kinesis_as_source HTTP Status Code: 200
    • test_kinesis_firehose_kinesis_as_source_multiple_delivery_streams LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_kinesis_as_source_multiple_delivery_streams HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_kinesis_firehose_s3_as_destination_with_file_extension LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_s3_as_destination_with_file_extension HTTP Status Code: 200 AWS validated
    • test_kinesis_firehose_http[False] LocalStack Community: tests/aws/services/firehose/test_firehose.py::test_kinesis_firehose_http[False] HTTP Status Code: 200
    • test_kinesis_firehose_http[True] LocalStack Community: tests/aws/services/firehose/test_firehose.py::test_kinesis_firehose_http[True] HTTP Status Code: 200
    • test_put_subscription_filter_firehose LocalStack Community: tests/aws/services/logs/test_logs.py::TestCloudWatchLogs::test_put_subscription_filter_firehose HTTP Status Code: 200 AWS validated
    • test_put_subscription_filter_firehose LocalStack Community: tests/aws/services/logs/test_logs.py::TestCloudWatchLogs::test_put_subscription_filter_firehose HTTP Status Code: 200 AWS validated
    • test_publish_to_firehose_with_s3 LocalStack Community: tests/aws/services/sns/test_sns.py::TestSNSSubscriptionFirehose::test_publish_to_firehose_with_s3 HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_firehose_extended_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_extended_s3 HTTP Status Code: 200
    • test_firehose_kinesis_to_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_kinesis_to_s3 HTTP Status Code: 200
    • test_firehose_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_s3 HTTP Status Code: 200
    • test_kinesis_firehose_s3 LocalStack Community: tests/aws/scenario/kinesis_firehose/test_kinesis_firehose.py::TestKinesisFirehoseScenario::test_kinesis_firehose_s3 HTTP Status Code: 400 (ResourceNotFoundException) AWS validated Snapshot Tested
    • test_firehose_stack_with_kinesis_as_source LocalStack Community: tests/aws/services/cloudformation/resources/test_firehose.py::test_firehose_stack_with_kinesis_as_source HTTP Status Code: 400 (ResourceNotFoundException) AWS validated Snapshot Tested
    • test_cfn_handle_kinesis_firehose_resources LocalStack Community: tests/aws/services/cloudformation/resources/test_kinesis.py::test_cfn_handle_kinesis_firehose_resources HTTP Status Code: 400 (ResourceNotFoundException)
  • LocalStack Pro
    • test_kinesis_firehose_redshift LocalStack Pro: tests/aws/scenario/kinesis_firehose_redshift/test_kinesis_firehose_redshift.py::TestKinesisFirehoseScenario::test_kinesis_firehose_redshift HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_firehose_redshift_as_target LocalStack Pro: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_firehose_redshift_as_target HTTP Status Code: 200
    • test_events_firehose LocalStack Pro: tests/aws/services/iam/test_inter_service_enforcement.py::TestInterServiceCommunicationEnforcement::test_events_firehose HTTP Status Code: 200 AWS validated
    • test_sns_firehose LocalStack Pro: tests/aws/services/iam/test_inter_service_enforcement.py::TestInterServiceCommunicationEnforcement::test_sns_firehose HTTP Status Code: 200 AWS validated
    • test_topic_rule_triggers_firehose_put_record LocalStack Pro: tests/aws/services/iot/test_iot.py::TestTopicRules::test_topic_rule_triggers_firehose_put_record HTTP Status Code: 200 AWS validated
    • test_kinesis_firehose_redshift LocalStack Pro: tests/aws/scenario/kinesis_firehose_redshift/test_kinesis_firehose_redshift.py::TestKinesisFirehoseScenario::test_kinesis_firehose_redshift HTTP Status Code: 400 (ResourceNotFoundException) AWS validated Snapshot Tested

ListDeliveryStreams

Parameters: - (without any parameters)
  • LocalStack Community
    • test_cfn_handle_kinesis_firehose_resources LocalStack Community: tests/aws/services/cloudformation/resources/test_kinesis.py::test_cfn_handle_kinesis_firehose_resources HTTP Status Code: 200
    • test_firehose_extended_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_extended_s3 HTTP Status Code: 200
    • test_firehose_kinesis_to_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_kinesis_to_s3 HTTP Status Code: 200
    • test_firehose_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_s3 HTTP Status Code: 200

ListTagsForDeliveryStream

Parameters: DeliveryStreamName
  • LocalStack Community
    • test_firehose_extended_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_extended_s3 HTTP Status Code: 200
    • test_firehose_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_s3 HTTP Status Code: 200

PutRecord

Parameters: DeliveryStreamName, Record
  • LocalStack Community
    • test_put_events_with_target_firehose LocalStack Community: tests/aws/services/events/test_events_integrations.py::test_put_events_with_target_firehose HTTP Status Code: 200
    • test_kinesis_firehose_elasticsearch_s3_backup LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_elasticsearch_s3_backup HTTP Status Code: 200
    • test_kinesis_firehose_s3_as_destination_with_file_extension LocalStack Community: tests/aws/services/firehose/test_firehose.py::TestFirehoseIntegration::test_kinesis_firehose_s3_as_destination_with_file_extension HTTP Status Code: 200 AWS validated
    • test_kinesis_firehose_http[False] LocalStack Community: tests/aws/services/firehose/test_firehose.py::test_kinesis_firehose_http[False] HTTP Status Code: 200
    • test_kinesis_firehose_http[True] LocalStack Community: tests/aws/services/firehose/test_firehose.py::test_kinesis_firehose_http[True] HTTP Status Code: 200
    • test_put_subscription_filter_firehose LocalStack Community: tests/aws/services/logs/test_logs.py::TestCloudWatchLogs::test_put_subscription_filter_firehose HTTP Status Code: 200 AWS validated
    • test_publish_to_firehose_with_s3 LocalStack Community: tests/aws/services/sns/test_sns.py::TestSNSSubscriptionFirehose::test_publish_to_firehose_with_s3 HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_firehose_extended_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_extended_s3 HTTP Status Code: 200
    • test_firehose_s3 LocalStack Community: tests/aws/test_integration.py::TestIntegration::test_firehose_s3 HTTP Status Code: 200
  • LocalStack Pro
    • test_events_firehose LocalStack Pro: tests/aws/services/iam/test_inter_service_enforcement.py::TestInterServiceCommunicationEnforcement::test_events_firehose HTTP Status Code: 200 AWS validated
    • test_sns_firehose LocalStack Pro: tests/aws/services/iam/test_inter_service_enforcement.py::TestInterServiceCommunicationEnforcement::test_sns_firehose HTTP Status Code: 200 AWS validated
    • test_topic_rule_triggers_firehose_put_record LocalStack Pro: tests/aws/services/iot/test_iot.py::TestTopicRules::test_topic_rule_triggers_firehose_put_record HTTP Status Code: 200 AWS validated
    • test_events_firehose LocalStack Pro: tests/aws/services/iam/test_inter_service_enforcement.py::TestInterServiceCommunicationEnforcement::test_events_firehose HTTP Status Code: 400 (AccessDeniedException) AWS validated
    • test_sns_firehose LocalStack Pro: tests/aws/services/iam/test_inter_service_enforcement.py::TestInterServiceCommunicationEnforcement::test_sns_firehose HTTP Status Code: 400 (AccessDeniedException) AWS validated

UpdateDestination

Parameters: CurrentDeliveryStreamVersionId, DeliveryStreamName, DestinationId, HttpEndpointDestinationUpdate
  • LocalStack Community
    • test_kinesis_firehose_http[False] LocalStack Community: tests/aws/services/firehose/test_firehose.py::test_kinesis_firehose_http[False] HTTP Status Code: 200
    • test_kinesis_firehose_http[True] LocalStack Community: tests/aws/services/firehose/test_firehose.py::test_kinesis_firehose_http[True] HTTP Status Code: 200

Last modified March 20, 2023: improve Coverage Docs (#505) (46f2fb0c0)