Skip to content

BorisLabs/terraform-terracurl-aws-sigv4

Repository files navigation

***NOTE Work in progress ***

terraform-terracurl-aws-sigv4

Terraform module that uses the AWS & terracurl providers, it allows you to interact with the AWS APIs nativley in terraform.

Use case:

When the AWS provider doesn't support an AWS Service or as missing functionality, you can still interact with AWS using the terracurl provider.

This module uses a lambda function to generate the required SIGV4 signature & then uses the terracurl provider to call the AWS APIs.

Requirements

Name Version
aws >= 4.59.0
terracurl >= 1.1.0

Providers

Name Version
aws 4.59.0
terracurl 1.1.0

Modules

No modules.

Resources

Name Type
terracurl_request.create_and_destroy resource
aws_lambda_invocation.sigv4 data source

Inputs

Name Description Type Default Required
aws_request_config List object with details of Configuration paramters
list(object({
name = string
url = string
region = string
service = string
create = object({
response_codes = list(string)
method = optional(string)
headers = optional(map(string))
params = optional(map(string))
data = optional(map(string))
})
destroy = optional(object({
response_codes = optional(list(string))
method = optional(string)
headers = optional(map(string))
params = optional(map(string))
data = optional(map(string))
}))
}))
[] no
lambda_function_name Name of the lambda function that will return the Sigv4 headers string "aws-lambda-signer" no

Outputs

Name Description
request_url n/a
response n/a
status_code n/a