Skip to content

Commit

Permalink
pushed README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
anmolnagpal committed Oct 26, 2020
1 parent 3611941 commit d1dfc13
Showing 1 changed file with 40 additions and 33 deletions.
73 changes: 40 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
Terraform AWS SES
</h1>

<p align="center" style="font-size: 1.2rem;">
<p align="center" style="font-size: 1.2rem;">
Terraform module to create an SES Identity with SES IAM user on AWS.
</p>

<p align="center">

<a href="https://www.terraform.io">
<img src="https://img.shields.io/badge/Terraform-v0.12-green" alt="Terraform">
<img src="https://img.shields.io/badge/Terraform-v0.13-green" alt="Terraform">
</a>
<a href="LICENSE.md">
<img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="Licence">
Expand All @@ -38,7 +38,7 @@
<hr>


We eat, drink, sleep and most importantly love **DevOps**. We are working towards strategies for standardizing architecture while ensuring security for the infrastructure. We are strong believer of the philosophy <b>Bigger problems are always solved by breaking them into smaller manageable problems</b>. Resonating with microservices architecture, it is considered best-practice to run database, cluster, storage in smaller <b>connected yet manageable pieces</b> within the infrastructure.
We eat, drink, sleep and most importantly love **DevOps**. We are working towards strategies for standardizing architecture while ensuring security for the infrastructure. We are strong believer of the philosophy <b>Bigger problems are always solved by breaking them into smaller manageable problems</b>. Resonating with microservices architecture, it is considered best-practice to run database, cluster, storage in smaller <b>connected yet manageable pieces</b> within the infrastructure.

This module is basically combination of [Terraform open source](https://www.terraform.io/) and includes automatation tests and examples. It also helps to create and improve your infrastructure with minimalistic code instead of maintaining the whole infrastructure code yourself.

Expand All @@ -49,9 +49,9 @@ We have [*fifty plus terraform modules*][terraform_modules]. A few of them are c

## Prerequisites

This module has a few dependencies:
This module has a few dependencies:

- [Terraform 0.12](https://learn.hashicorp.com/terraform/getting-started/install.html)
- [Terraform 0.13](https://learn.hashicorp.com/terraform/getting-started/install.html)
- [Go](https://golang.org/doc/install)
- [github.com/stretchr/testify/assert](https://github.com/stretchr/testify)
- [github.com/gruntwork-io/terratest/modules/terraform](https://github.com/gruntwork-io/terratest)
Expand All @@ -72,7 +72,8 @@ This module has a few dependencies:
Here is an example of how you can use this module in your inventory structure:
```hcl
module "ses" {
source = "git::https://github.com/clouddrove/terraform-aws-ses.git?ref=tags/0.12.3"
source = "clouddrove/ses/aws"
version = "0.13.0"
domain = "clouddrove.com"
iam_name = "ses-user"
zone_id = "DSSCTGRTHD"
Expand All @@ -90,37 +91,43 @@ module "ses" {
## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|:----:|:-----:|:-----:|
| cname_type | CNAME type for Record Set. | string | `CNAME` | no |
| domain | Domain to use for SES. | string | - | yes |
| enable_domain | Control whether or not to enable domain. | bool | `true` | no |
| enable_filter | Control whether or not to enable receipt filter. | bool | `false` | no |
| enable_mail_from | Control whether or not to enable mail from domain. | bool | `false` | no |
| enable_mx | Control whether or not to enable mx DNS recodrds. | bool | `false` | no |
| enable_policy | Control whether identity policy create for SES. | bool | `false` | no |
| enable_spf_domain | Control whether or not to enable enable spf domain. | bool | `false` | no |
| enable_template | Control whether create a template for emails. | bool | `false` | no |
| enable_verification | Control whether or not to verify SES DNS records. | bool | `false` | no |
| filter_cidr | The IP address or address range to filter, in CIDR notation. | string | `` | no |
| filter_name | The name of the filter. | string | `` | no |
| filter_policy | Block or Allow filter. | string | `` | no |
| iam_name | IAM username. | string | `` | no |
| mail_from_domain | Subdomain (of the route53 zone) which is to be used as MAIL FROM address. | string | `` | no |
| mx_type | MX type for Record Set. | string | `MX` | no |
| policy_name | Name of the policy. | string | `` | no |
| ses_records | Additional entries which are added to the _amazonses record. | list(string) | `<list>` | no |
| template_html | The HTML body of the email. Must be less than 500KB in size, including both the text and HTML parts. | string | `` | no |
| template_name | The name of the template. Cannot exceed 64 characters. You will refer to this name when you send email. | string | `` | no |
| template_subject | The subject line of the email. | string | `` | no |
| text | The email body that will be visible to recipients whose email clients do not display HTML. | string | `` | no |
| txt_type | Txt type for Record Set. | string | `TXT` | no |
| zone_id | Route53 host zone ID to enable SES. | string | `` | no |
|------|-------------|------|---------|:--------:|
| cname\_type | CNAME type for Record Set. | `string` | `"CNAME"` | no |
| domain | Domain to use for SES. | `string` | n/a | yes |
| enable\_domain | Control whether or not to enable domain. | `bool` | `true` | no |
| enable\_filter | Control whether or not to enable receipt filter. | `bool` | `false` | no |
| enable\_mail\_from | Control whether or not to enable mail from domain. | `bool` | `false` | no |
| enable\_mx | Control whether or not to enable mx DNS recodrds. | `bool` | `false` | no |
| enable\_policy | Control whether identity policy create for SES. | `bool` | `false` | no |
| enable\_spf\_domain | Control whether or not to enable enable spf domain. | `bool` | `false` | no |
| enable\_template | Control whether create a template for emails. | `bool` | `false` | no |
| enable\_verification | Control whether or not to verify SES DNS records. | `bool` | `false` | no |
| filter\_cidr | The IP address or address range to filter, in CIDR notation. | `string` | `""` | no |
| filter\_name | The name of the filter. | `string` | `""` | no |
| filter\_policy | Block or Allow filter. | `string` | `""` | no |
| iam\_name | IAM username. | `string` | `""` | no |
| mail\_from\_domain | Subdomain (of the route53 zone) which is to be used as MAIL FROM address. | `string` | `""` | no |
| mx\_type | MX type for Record Set. | `string` | `"MX"` | no |
| policy\_name | Name of the policy. | `string` | `""` | no |
| ses\_records | Additional entries which are added to the \_amazonses record. | `list(string)` | `[]` | no |
| template\_html | The HTML body of the email. Must be less than 500KB in size, including both the text and HTML parts. | `string` | `""` | no |
| template\_name | The name of the template. Cannot exceed 64 characters. You will refer to this name when you send email. | `string` | `""` | no |
| template\_subject | The subject line of the email. | `string` | `""` | no |
| text | The email body that will be visible to recipients whose email clients do not display HTML. | `string` | `""` | no |
| txt\_type | Txt type for Record Set. | `string` | `"TXT"` | no |
| zone\_id | Route53 host zone ID to enable SES. | `string` | `""` | no |

## Outputs

| Name | Description |
|------|-------------|
| domain\_identity\_arn | ARN of the SES domain identity. |




## Testing
In this module testing is performed with [terratest](https://github.com/gruntwork-io/terratest) and it creates a small piece of infrastructure, matches the output like ARN, ID and Tags name etc and destroy infrastructure in your AWS account. This testing is written in GO, so you need a [GO environment](https://golang.org/doc/install) in your system.
In this module testing is performed with [terratest](https://github.com/gruntwork-io/terratest) and it creates a small piece of infrastructure, matches the output like ARN, ID and Tags name etc and destroy infrastructure in your AWS account. This testing is written in GO, so you need a [GO environment](https://golang.org/doc/install) in your system.

You need to run the following command in the testing folder:
```hcl
Expand All @@ -129,7 +136,7 @@ You need to run the following command in the testing folder:



## Feedback
## Feedback
If you come accross a bug or have any feedback, please log it in our [issue tracker](https://github.com/clouddrove/terraform-aws-ses/issues), or feel free to drop us an email at [hello@clouddrove.com](mailto:hello@clouddrove.com).

If you have found it worth your time, go ahead and give us a ★ on [our GitHub](https://github.com/clouddrove/terraform-aws-ses)!
Expand Down

0 comments on commit d1dfc13

Please sign in to comment.