Git Product home page Git Product logo

terraform-aws-tardigrade-vpn-connection's Introduction

terraform-aws-tardigrade-vpn-connection

Terraform module to manage a VPN Connection

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.31.0

Providers

Name Version
aws >= 5.31.0

Resources

Name Type

Inputs

Name Description Type Default Required
vpn_connection n/a
object({
name = string
static_routes_only = optional(bool, false)
tags = optional(map(string), {})
type = optional(string, "ipsec.1")

transit_gateway_id = optional(string)
vpn_gateway_id = optional(string)

enable_acceleration = optional(bool)
outside_ip_address_type = optional(string)
transport_transit_gateway_attachment_id = optional(string)
tunnel_inside_ip_version = optional(string)

local_ipv4_network_cidr = optional(string)
local_ipv6_network_cidr = optional(string)

remote_ipv4_network_cidr = optional(string)
remote_ipv6_network_cidr = optional(string)

tunnel1_inside_cidr = optional(string)
tunnel1_inside_ipv6_cidr = optional(string)
tunnel1_preshared_key = optional(string)
tunnel1_dpd_timeout_action = optional(string)
tunnel1_dpd_timeout_seconds = optional(number)
tunnel1_enable_tunnel_lifecycle_control = optional(bool)
tunnel1_ike_versions = optional(list(string))
tunnel1_rekey_fuzz_percentage = optional(number)
tunnel1_rekey_margin_time_seconds = optional(number)
tunnel1_replay_window_size = optional(number)
tunnel1_startup_action = optional(string)

tunnel1_phase1_dh_group_numbers = optional(list(number))
tunnel1_phase1_encryption_algorithms = optional(list(string))
tunnel1_phase1_integrity_algorithms = optional(list(string))
tunnel1_phase1_lifetime_seconds = optional(number)

tunnel1_phase2_dh_group_numbers = optional(list(number))
tunnel1_phase2_encryption_algorithms = optional(list(string))
tunnel1_phase2_integrity_algorithms = optional(list(string))
tunnel1_phase2_lifetime_seconds = optional(number)

tunnel1_log_options = optional(object({
cloudwatch_log_options = optional(object({
log_group_arn = optional(string)
log_enabled = optional(bool, true)
log_output_format = optional(string, "json")
}), {})

cloudwatch_log_group = optional(object({
kms_key_id = optional(string)
log_group_class = optional(string, "INFREQUENT_ACCESS")
retention_in_days = optional(number, 30)
skip_destroy = optional(bool, false)
tags = optional(map(string), {})
}), {})
}), {})

tunnel2_inside_cidr = optional(string)
tunnel2_inside_ipv6_cidr = optional(string)
tunnel2_preshared_key = optional(string)
tunnel2_dpd_timeout_action = optional(string)
tunnel2_dpd_timeout_seconds = optional(number)
tunnel2_enable_tunnel_lifecycle_control = optional(bool)
tunnel2_ike_versions = optional(list(string))
tunnel2_rekey_fuzz_percentage = optional(number)
tunnel2_rekey_margin_time_seconds = optional(number)
tunnel2_replay_window_size = optional(number)
tunnel2_startup_action = optional(string)

tunnel2_phase1_dh_group_numbers = optional(list(number))
tunnel2_phase1_encryption_algorithms = optional(list(string))
tunnel2_phase1_integrity_algorithms = optional(list(string))
tunnel2_phase1_lifetime_seconds = optional(number)

tunnel2_phase2_dh_group_numbers = optional(list(number))
tunnel2_phase2_encryption_algorithms = optional(list(string))
tunnel2_phase2_integrity_algorithms = optional(list(string))
tunnel2_phase2_lifetime_seconds = optional(number)

tunnel2_log_options = optional(object({
cloudwatch_log_options = optional(object({
log_group_arn = optional(string)
log_enabled = optional(bool, true)
log_output_format = optional(string, "json")
}), {})

cloudwatch_log_group = optional(object({
kms_key_id = optional(string)
log_group_class = optional(string, "INFREQUENT_ACCESS")
retention_in_days = optional(number, 30)
skip_destroy = optional(bool, false)
tags = optional(map(string), {})
}), {})
}), {})

customer_gateway = object({
name = string
bgp_asn = string
certificate_arn = optional(string)
device_name = optional(string)
ip_address = optional(string)
tags = optional(map(string))
type = optional(string, "ipsec.1")
})

routes = optional(list(object({
name = string
destination_cidr_block = string
})), [])

transit_gateway_route_table_association = optional(object({
transit_gateway_route_table_id = string
}))

transit_gateway_route_table_propagations = optional(list(object({
name = string
transit_gateway_route_table_id = string
})), [])
})
n/a yes

Outputs

Name Description
customer_gateway Object of Customer Gateway attributes
vpn_connection Object of VPN Connection attributes

terraform-aws-tardigrade-vpn-connection's People

Contributors

confusdcodr avatar dalerichardson avatar dependabot-preview[bot] avatar dependabot[bot] avatar kbalk avatar kumoy avatar lorengordon avatar mergify[bot] avatar userhas404d avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

terraform-aws-tardigrade-vpn-connection's Issues

Dependabot couldn't find a <anything>.tf for this project

Dependabot couldn't find a .tf for this project.

Dependabot requires a .tf to evaluate your project's current Terraform dependencies. It had expected to find one at the path: /tests/no_create/<anything>.tf.

If this isn't a Terraform project, or if it is a library, you may wish to disable updates for it in the .dependabot/config.yml file in this repo.

View the update logs.

Dependabot can't parse your go.mod

Dependabot couldn't parse the go.mod found at /tests/go.mod.

The error Dependabot encountered was:

go: github.com/gruntwork-io/[email protected] requires
	github.com/google/[email protected] requires
	github.com/vdemeester/[email protected] requires
	k8s.io/[email protected] requires
	k8s.io/[email protected] requires
	go.etcd.io/[email protected] requires
	github.com/grpc-ecosystem/[email protected] requires
	gopkg.in/[email protected]: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /opt/go/gopath/pkg/mod/cache/vcs/748bced43cf7672b862fbc52430e98581510f4f2c34fb30c0064b7102a68ae2c: exit status 128:
	error: RPC failed; HTTP 502 curl 22 The requested URL returned error: 502 Bad Gateway
	fatal: The remote end hung up unexpectedly

View the update logs.

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.