kinesis-api-gateway
dod-iac/kinesis-api-gateway/aws
AWS API Gateway REST API that proxies a AWS Kinesis stream.
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
| Name | Type | Description | Default |
|---|---|---|---|
| name | string | Name of the AWS API Gateway REST API. | required |
| execution_role_name | string | The name of the execution role used by the REST API. | required |
| streams | list(string) | The ARNs of the streams the role is allowed to read from. Use ["*"] to allow al | required |
| authorizer_name | string | Name of the API Gateway Authorizer. If not provided, defaults to the name of th | "" |
| allow_describe_stream | bool | Allow the API to describe a Kinesis stream using the kinesis:DescribeStreamSumma | false |
| allow_put_record | bool | Allow the API to write a single record into the Kinesis stream using the kinesis | false |
| request_templates_record_put | map(string) | Override the request templates for submitting individual records via the HTTP PU | {} |
| authorization | string | The type of authorization used to authenticate requests. Valid values are NONE | "NONE" |
| execution_role_policy_name | string | The name of the IAM policy attached to the IAM Execution role used by the REST A | "" |
| timeout_milliseconds | number | Custom timeout between 50 and 29,000 milliseconds. | "29000" |
| cognito_user_pool_arns | list(string) | The ARNs of the Cognito User Pools used for authenticating requests. | [] |
| allow_get_records | bool | Allow the API to retrieve a list of records into the Kinesis stream using the ki | false |
| allow_list_shards | bool | Allow the API to list all shards in the account using the kinesis:ListShards act | false |
| allow_list_streams | bool | Allow the API to list all streams in the account using the kinesis:ListStreams a | false |
| api_key_required | bool | Specify if an API key is required. | false |
| execution_role_policy_document | string | The contents of the IAM policy attached to the IAM Execution role used by the RE | "" |
| allow_put_records | bool | Allow the API to write a batch of records into the Kinesis stream using the kine | false |
| tags | map(string) | Tags applied to the AWS API Gateway REST API. | {} |
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.Azure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,