Skip to content

plus3it/terraform-aws-tardigrade-config

Repository files navigation

terraform-aws-tardigrade-config

Manage AWS Config

Testing

Manual testing:

# Replace "xxx" with an actual AWS profile, then execute the integration tests.
export AWS_PROFILE=xxx 
make terraform/pytest PYTEST_ARGS="-v --nomock"

For automated testing, PYTEST_ARGS is optional and no profile is needed:

make mockstack/up
make terraform/pytest PYTEST_ARGS="-v"
make mockstack/clean

Requirements

Name Version
terraform >= 0.12
aws >= 5.38.0

Providers

Name Version
aws >= 5.38.0

Resources

Name Type

Inputs

Name Description Type Default Required
config Object of inputs for AWS Config service
object({
configuration_recorder = object({
name = string
is_enabled = optional(bool, true)

role = optional(object({
arn = string
}))

recording_group = optional(object({
all_supported = optional(bool, true)
include_global_resource_types = optional(bool)
resource_types = optional(list(string))

exclusion_by_resource_types = optional(object({
resource_types = list(string)
}))

recording_strategy = optional(object({
use_only = string
}))
}))

recording_mode = optional(object({
recording_frequency = string

recording_mode_override = optional(object({
description = optional(string)
resource_types = list(string)
recording_frequency = string
}))
}))
})

delivery_channel = object({
s3_bucket_name = string
s3_key_prefix = optional(string)
s3_kms_key_arn = optional(string)
sns_topic_arn = optional(string)

snapshot_delivery_properties = optional(object({
delivery_frequency = string
}))
})
})
n/a yes

Outputs

Name Description
config_delivery_channel_id The name of the AWS Config delivery channel
config_recorder_id The name of the AWS Config recorder