Skip to content

Fix incompatible AWS provider versions internally

Compare
Choose a tag to compare
@benjaminlukeclark benjaminlukeclark released this 08 Oct 10:34
· 2 commits to main since this release
9a4e688

Description

The versions of the AWS provider required across sudoblark.terraform.module.* modules was inconsistent, thus we were unable to actually utilise all of the modules in a complete solution.

This release bumps the version of AWS provider required such that SNS may be utilised with other modules across the sudoblark.terrraform.module namespace.

Changelog available here

TL; DR

Resolve fundamental AWS provider differences between this module and others in the namespace.

SUPPORTED MODULE DATA STRUCTURE (Unchanged since last release)

Data structure
---------------
A list of dictionaries, where each dictionary has the following attributes:

REQUIRED
---------
- suffix                : Suffix for the topic, will also be used as a unified index for Terraform resources.

- iam_policy_statements : A list of dictionaries where each dictionary is an IAM statement defining topic policy permissions.
-- Each dictionary in this list must define the following attributes:
--- sid: Friendly name for the policy, no spaces or special characters allowed
--- actions: A list of IAM actions the state machine is allowed to perform
--- resources: Which resource(s) the state machine may perform the above actions against
--- conditions    : An OPTIONAL list of dictionaries, which each defines:
---- test         : Test condition for limiting the action
---- variable     : Value to test
---- values       : A list of strings, denoting what to test for
--- principals    : An list of dictionaries, which each defines:
---- type         : A string defining what type the principle(s) is/are
---- identifiers  : A list of strings, where each string is an allowed principle

- subscriptions          : A list of dictionaries, where each dictionary defines:
-- endpoint             : Actual endpoint to deliver to, see constraints for more information.
-- name                 : Friendly name for the endpoint, used for unique indexing in Terraform.
-- protocol             : Determines the subscription type, permissible types are: email, lambda

Constraints
---------
- if endpoints.protocol == lambda then:
-- endpoint must be ARN of a lambda function
-- name must be name of a lambda function
- if endpoints.protocol == email, then endpoint must be an email address

- Only lambda and email endpoints.protocol values are supported

FEEDBACK

Submit suggestions for improvements to [email protected].