generated from cloudposse/terraform-example-module
-
Notifications
You must be signed in to change notification settings - Fork 7
/
README.yaml
104 lines (86 loc) · 4.06 KB
/
README.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
---
#
# This is the canonical configuration for the `README.md`
# Run `make readme` to rebuild the `README.md`
#
# Name of this project
name: terraform-aws-client-vpn
# Logo for this project
#logo: docs/logo.png
# License of this project
license: "APACHE2"
# Copyrights
copyrights:
- name: "Original Mind Pty Ltd"
url: "https://www.deploymode.com/"
year: "2020"
# Canonical GitHub repo
github_repo: deploymode/terraform-aws-client-vpn
# Badges to display
badges:
- name: "Latest Release"
image: "https://img.shields.io/github/release/deploymode/terraform-aws-client-vpn.svg"
url: "https://github.com/deploymode/terraform-aws-client-vpn/releases/latest"
# List any related terraform modules that this module may be used with or that this module depends on.
related:
- name: "terraform-null-label"
description: "Terraform module designed to generate consistent names and tags for resources. Use terraform-null-label to implement a strict naming convention."
url: "https://github.com/cloudposse/terraform-null-label"
# List any resources helpful for someone to get started. For example, link to the hashicorp documentation or AWS documentation.
references:
- name: "Terraform Standard Module Structure"
description: "HashiCorp's standard module structure is a file and directory layout we recommend for reusable modules distributed in separate repositories."
url: "https://www.terraform.io/docs/modules/index.html#standard-module-structure"
- name: "Terraform Module Requirements"
description: "HashiCorp's guidance on all the requirements for publishing a module. Meeting the requirements for publishing a module is extremely easy."
url: "https://www.terraform.io/docs/registry/modules/publish.html#requirements"
- name: "Terraform `random_integer` Resource"
description: "The resource random_integer generates random values from a given range, described by the min and max attributes of a given resource."
url: "https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/integer"
- name: "Terraform Version Pinning"
description: "The required_version setting can be used to constrain which versions of the Terraform CLI can be used with your configuration"
url: "https://www.terraform.io/docs/configuration/terraform.html#specifying-a-required-terraform-version"
# Short description of this project
description: |-
The `terraform-aws-client-vpn` module creates an AWS Client VPN Endpoint. It contains scripts to generate the required certificates and
OpenVPN config file.
# Introduction to the project
#introduction: |-
# This is an introduction.
# How to use this module. Should be an easy example to copy and paste.
usage: |-
Here's how to invoke this example module in your projects
```hcl
module vpn {
source = "git::https://github.com/deploymode/terraform-aws-client-vpn.git?ref=master"
context = module.this.context
vpn_client_cidr = var.vpn_client_cidr
cert_dir = var.cert_dir
config_dir = var.config_dir
cert_domain = var.cert_domain
subnet_ids = [aws_subnet.vpn.id]
security_groups = var.security_groups
logging_enabled = var.logging_enabled
cloudwatch_log_retention_days = var.cloudwatch_log_retention_days
}
```
# Example usage
examples: |-
Here is an example of using this module:
- [`examples/complete`](https://github.com/deploymode/terraform-aws-client-vpn/) - complete example of using this module
- Note: you must create subnets before creating the rest of the resources. This can be done with:
```shell
terraform apply -var-file=fixtures.us-east-2.tfvars -target=aws_subnet.vpn
terraform apply -var-file=fixtures.us-east-2.tfvars
```
# How to get started quickly
#quickstart: |-
# Here's how to get started...
# Other files to include in this README from the project folder
include:
- "docs/targets.md"
- "docs/terraform.md"
# Contributors to this project
contributors:
- name: "Joe Niland"
github: "joe-niland"