Giter VIP home page Giter VIP logo

terraform-aws-acm's Introduction

Terraform-aws-acm

AWS Infrastructure Provisioning with Terraform

Table of Contents

Introduction

This module is basically combination of Terraform open source 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.

Usage

To use this module, you can include it in your Terraform configuration. Here's an example of how to use it:

Examples

Example: generate-certificate-dns

module "acm" {
  source                    = "git::https://github.com/opsstation/terraform-aws-acm.git?ref=v1.0.0"
  name                      = "certificate"
  environment               = "test"
  domain_name               = "opsstation.com"
  subject_alternative_names = ["*.${local.domain}", "www.${local.domain}"]
}

Example: generate-certificate-email

module "acm" {
  source                    = "git::https://github.com/opsstation/terraform-aws-acm.git?ref=v1.0.0"
  name                      = "certificate"
  environment               = "test"
  validate_certificate      = false
  domain_name               = "opsstation.com"
  subject_alternative_names = ["www.opsstation.com"]
  validation_method         = "EMAIL"
}

Example: import-certificate

module "acm" {
  source             = "git::https://github.com/opsstation/terraform-aws-acm.git?ref=v1.0.0"
  name               = "certificate"
  environment        = "test"
  import_certificate = true
  private_key        = "./../../../opsstation-private-key.pem"
  certificate_body   = "./../../../opsstation-cert.pem"
  certificate_chain  = "./../../../opsstation-chain.crt"
}

Example

For detailed examples on how to use this module, please refer to the example directory within this repository.

Author

Your Name Replace '[License Name]' and '[Your Name]' with the appropriate license and your information. Feel free to expand this README with additional details or usage instructions as needed for your specific use case.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Requirements

Name Version
terraform >= 1.5.4
aws >= 5.10

Providers

Name Version
aws >= 5.10

Modules

Name Source Version
labels git::[email protected]:opsstation/terraform-aws-labels.git v1.0.0

Resources

Name Type
aws_acm_certificate.cert resource
aws_acm_certificate.import-cert resource
aws_acm_certificate_validation.cert resource
aws_acm_certificate_validation.default resource
aws_route53_record.default resource
aws_route53_zone.default data source

Inputs

Name Description Type Default Required
allow_overwrite Whether to allow overwrite of Route53 records bool true no
certificate_body Path of certificate body. string "~" no
certificate_chain Path of certificate chain. string "" no
domain_name A domain name for which the certificate should be issued. string "" no
enable Whether or not to enable the entire module or not. bool true no
enable_aws_certificate Set to false to prevent the creation of a acm certificate. bool true no
enable_dns_validation Set to prevent validation of DNS. bool false no
environment Environment (e.g. prod, dev, staging). string "" no
import_certificate Set to true or false to decide the creation and import of a acm certificate. bool false no
label_order Label order, e.g. name,application. list(any)
[
"name",
"environment"
]
no
managedby ManagedBy, eg 'opsstation' string "" no
name Name (e.g. app or cluster). string "" no
private_key Path of private key. string "" no
private_zone Used with name field to get a private Hosted Zone. bool false no
repository Terraform current module repo string "" no
subject_alternative_names Set of domains that should be SANs in the issued certificate. To remove all elements of a previously configured list, set this value equal to an empty list ([]) or use the terraform taint command to trigger recreation. list(any) [] no
ttl Time to live. number 600 no
validate_certificate Set to false to prevent the validation of a acm certificate. bool false no
validation_method Which method to use for validation, DNS or EMAIL. string "DNS" no
validation_option The domain name that you want ACM to use to send you validation emails. This domain name is the suffix of the email addresses that you want ACM to use. any {} no
validation_record_fqdns When validation is set to DNS and the DNS validation records are set externally, provide the fqdns for the validation list(string) [] no

Outputs

Name Description
acm_certificate_domain_validation_options A list of attributes to feed into other resources to complete certificate validation. Can have more than one element, e.g. if SANs are defined. Only set if DNS-validation was used.
acm_certificate_status Status of the certificate.
arn The ARN of the Certificate.
id The ID of the Certificate.
tags A mapping of tags to assign to the resource.
validation_route53_record_fqdns List of FQDNs built using the zone domain and name.

terraform-aws-acm's People

Contributors

sohanyadav avatar

Watchers

Prakash Yadav avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.