kinesis-api-gateway

dod-iac/kinesis-api-gateway/aws

Terraform Module HCL AWS

AWS API Gateway REST API that proxies a AWS Kinesis stream.

Install
module "kinesis-api-gateway" {
source = "dod-iac/kinesis-api-gateway/aws"
version = "1.0.0"
}
plain text: /constructs/tfmod-dod-iac-kinesis-api-gateway-aws/install.txt
⭐ Source on GitHub 📦 Registry page
README

Usage Creates an AWS API Gateway REST API that proxies a AWS Kinesis stream. ``hcl module "kinesis_api_gateway" { source = "dod-iac/kinesis-api-gateway/aws" allow_describe_stream = false allow_get_records = true allow_list_shards = false allow_list_streams = false allow_put_record = true allow_put_records = false authorization = "NONE" execution_role_name = format("api-%s-%s", var.application, var.environment) name = format("api-%s-%s", var.application, var.environment) streams = [module.aws_kinesis_stream.arn] tags = { Application = var.application Environment = var.environment Automation = "Terraform" } } ` The following API endpoints are conditionally created by the allow_* variables. `text allow_get_records => GET /records -H "ShardIterator: XYZ" -H "Limit: 123" allow_list_shards => GE

Inputs (18)
NameTypeDescriptionDefault
namestringName of the AWS API Gateway REST API. required
execution_role_namestringThe name of the execution role used by the REST API. required
streamslist(string)The ARNs of the streams the role is allowed to read from. Use ["*"] to allow al required
authorizer_namestringName of the API Gateway Authorizer. If not provided, defaults to the name of th""
allow_describe_streamboolAllow the API to describe a Kinesis stream using the kinesis:DescribeStreamSummafalse
allow_put_recordboolAllow the API to write a single record into the Kinesis stream using the kinesisfalse
request_templates_record_putmap(string)Override the request templates for submitting individual records via the HTTP PU{}
authorizationstringThe type of authorization used to authenticate requests. Valid values are NONE "NONE"
execution_role_policy_namestringThe name of the IAM policy attached to the IAM Execution role used by the REST A""
timeout_millisecondsnumberCustom timeout between 50 and 29,000 milliseconds."29000"
cognito_user_pool_arnslist(string)The ARNs of the Cognito User Pools used for authenticating requests.[]
allow_get_recordsboolAllow the API to retrieve a list of records into the Kinesis stream using the kifalse
allow_list_shardsboolAllow the API to list all shards in the account using the kinesis:ListShards actfalse
allow_list_streamsboolAllow the API to list all streams in the account using the kinesis:ListStreams afalse
api_key_requiredboolSpecify if an API key is required.false
execution_role_policy_documentstringThe contents of the IAM policy attached to the IAM Execution role used by the RE""
allow_put_recordsboolAllow the API to write a batch of records into the Kinesis stream using the kinefalse
tagsmap(string)Tags applied to the AWS API Gateway REST API.{}
Outputs (2)
rest_api_arn — The Amazon Resource Name (ARN) of the AWS API Gateway REST API.
rest_api_id — The ID of the AWS API Gateway REST API.
Resources (11)
aws_api_gateway_authorizeraws_api_gateway_integrationaws_api_gateway_integration_responseaws_api_gateway_methodaws_api_gateway_method_responseaws_api_gateway_request_validatoraws_api_gateway_resourceaws_api_gateway_rest_apiaws_iam_policyaws_iam_roleaws_iam_role_policy_attachment
Details
FrameworkTerraform Module
LanguageHCL
Version1.0.0
Cloud AWS
★ Stars6
Forks7
Total downloads6.6k
Inputs18
Outputs2
Resources11
LicenseMIT
Namespacedod-iac
Updated