api-gateway

cloudposse/api-gateway/aws

Terraform Module HCL AWS
Install
module "api-gateway" {
source = "cloudposse/api-gateway/aws"
version = "0.9.0"
}
⭐ Source on GitHub 📦 Registry page
README

Terraform module to provision API Gatway resources. The root module creates an API Gateway REST API along with configuring tracing, logging, and metrics. The module also consists of the following submodules: - account-settings - to provision account-level settings for logging and metrics for API Gateway > [!TIP] > #### 👽 Use Atmos with Terraform > Cloud Posse uses atmos to easily orchestrate multiple environments using Terraform. > Works with Github Actions, Atlantis, or Spacelift. > > > Watch demo of using Atmos with Terraform > > Example of running atmos to manage infrastructure from our Quick Start tutorial. > Introduction A set of modules for configuring an API Gateway Usage Setup the account-level settings for logging and metrics for API Gateway: ``hcl module "api_gateway_account_sett

Inputs (33)
NameTypeDescriptionDefault
endpoint_typestringThe type of the endpoint. One of - PUBLIC, PRIVATE, REGIONAL"REGIONAL"
throttling_burst_limitnumberThe API request burst limit-1
throttling_rate_limitnumberThe API request rate limit-1
contextanySingle object for setting entire context at once. See description of individual { "additional_tag_map": {}, "attribu
enabledboolSet to false to prevent the module from creating any resourcesnull
environmentstringID element. Usually used for region e.g. 'uw2', 'us-west-2', OR role 'prod', 'stnull
labels_as_tagsset(string)Set of labels (ID elements) to include as tags in the `tags` output. Default is [ "default" ]
logging_levelstringThe logging level of the API. One of - OFF, INFO, ERROR"INFO"
metrics_enabledboolA flag to indicate whether to enable metrics collection.false
private_link_target_arnslist(string)A list of target ARNs for VPC Private Link[]
namespacestringID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp'null
namestringID element. Usually the component or solution name, e.g. 'app' or 'jenkins'. Thinull
delimiterstringDelimiter to be used between ID elements. Defaults to `-` (hyphen). Set to `""` null
label_value_casestringControls the letter case of ID elements (labels) as included in `id`, set as tagnull
stage_namestringThe name of the stage""
attributeslist(string)ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`, []
tagsmap(string)Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`). Neither the tag keys nor the t{}
id_length_limitnumberLimit `id` to this many characters (minimum 6). Set to `0` for unlimited length.null
label_key_casestringControls the letter case of the `tags` keys (label names) for tags generated by null
vpc_endpointslist(string)List of VPC Endpoint IDs to attach to the API Gatewaynull
Outputs (8)
arn — The ARN of the REST API
invoke_url — The URL to invoke the REST API
stage_arn — The ARN of the gateway stage
log_group_name — The ARN of the Cloudwatch log group
id — The ID of the REST API
root_resource_id — The resource ID of the REST API's root
created_date — The date the REST API was created
execution_arn — The execution ARN part to be used in lambda_permission's source_arn when allowing API Gateway to
Resources (6)
aws_api_gateway_deploymentaws_api_gateway_method_settingsaws_api_gateway_rest_apiaws_api_gateway_rest_api_policyaws_api_gateway_stageaws_api_gateway_vpc_link
Details
FrameworkTerraform Module
LanguageHCL
Version0.9.0
Cloud AWS
★ Stars26
Forks39
Total downloads583.7k
Inputs33
Outputs8
Resources6
Examples3
Submodules1
LicenseApache-2.0
Namespacecloudposse
Updated