Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/scaleway-terraform-modules/terraform-scaleway-vpc

Manage Scaleway VPC and Gateways with Terraform.
https://github.com/scaleway-terraform-modules/terraform-scaleway-vpc

scaleway scaleway-vpc terraform-module vpc

Last synced: 7 days ago
JSON representation

Manage Scaleway VPC and Gateways with Terraform.

Awesome Lists containing this project

README

        

# Terraform / Scaleway

## Purpose

This repository is used to manage VPCs on scaleway using terraform.

## Usage

- Setup the [scaleway provider](https://www.terraform.io/docs/providers/scaleway/index.html) in your tf file.
- Include this module in your tf file. Refer to [documentation](https://www.terraform.io/docs/modules/sources.html#generic-git-repository).

```hcl
module "my_network" {
source = "scaleway-terraform-modules/vpc/scaleway"
}
```

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement_terraform) | >= 0.13 |
| [scaleway](#requirement_scaleway) | >= 2.41.0 |

## Resources

| Name | Type |
|------|------|
| [scaleway_ipam_ip.this](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/resources/ipam_ip) | resource |
| [scaleway_vpc.this](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/resources/vpc) | resource |
| [scaleway_vpc_gateway_network.this](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/resources/vpc_gateway_network) | resource |
| [scaleway_vpc_private_network.this](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/resources/vpc_private_network) | resource |
| [scaleway_vpc_public_gateway.this](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/resources/vpc_public_gateway) | resource |
| [scaleway_vpc_public_gateway_ip.this](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/resources/vpc_public_gateway_ip) | resource |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [bastion_enabled](#input_bastion_enabled) | Enable SSH bastion on gateways. | `bool` | `false` | no |
| [bastion_port](#input_bastion_port) | Port on which SSH bastions will listen. | `number` | `61000` | no |
| [dns_servers](#input_dns_servers) | Override the gateway's default recursive DNS servers. | `list(string)` | `null` | no |
| [enable_routing](#input_enable_routing) | Enable routing between Private Networks in the VPC. Note that you will not be able to deactivate it afterwards. | `bool` | `false` | no |
| [gw_enabled](#input_gw_enabled) | Create a public gateway and attach it to the subnet. | `bool` | `true` | no |
| [gw_reserve_ip](#input_gw_reserve_ip) | Reserve a flexible IP for the gateway. | `bool` | `true` | no |
| [gw_type](#input_gw_type) | Gateway type. Can be `VPC-GW-S` or `VPC-GW-M` | `string` | `"VPC-GW-S"` | no |
| [ipv4_subnet](#input_ipv4_subnet) | IPv4 subnet to associate with the private network. If null, a free /22 will be used. | `string` | `null` | no |
| [ipv6_subnet](#input_ipv6_subnet) | IPv6 subnet to associate with the private network. If null, a free /64 will be used. | `string` | `null` | no |
| [masquerade_enabled](#input_masquerade_enabled) | Enable masquerade on these networks. | `bool` | `true` | no |
| [name](#input_name) | Name of the private network & gateway. If not provided it will be randomly generated. | `string` | `null` | no |
| [project_id](#input_project_id) | ID of the project in which ressources should be created. Defaults to provider project. | `string` | `null` | no |
| [region](#input_region) | Zone in which ressources should be created. Defaults to provider region. | `string` | `null` | no |
| [smtp_enabled](#input_smtp_enabled) | Enable SMTP on gateways. | `bool` | `false` | no |
| [tags](#input_tags) | Tags associated with ressources. | `list(string)` | `[]` | no |
| [zone](#input_zone) | Zone in which ressources should be created. Defaults to provider zone. | `string` | `null` | no |

## Outputs

| Name | Description |
|------|-------------|
| [gw_flexible_ip_address](#output_gw_flexible_ip_address) | Address of gateway flexible IP. |
| [gw_flexible_ip_id](#output_gw_flexible_ip_id) | ID of gateway flexible IP. |
| [gw_id](#output_gw_id) | ID of public gateways. |
| [ip4_cidr](#output_ip4_cidr) | CIDR of the IPv4 subnet associated to the Private Network. |
| [ip6_cidr](#output_ip6_cidr) | CIDR of the IPv6 subnet associated to the Private Network. |
| [pn_id](#output_pn_id) | ID of private networks. |
| [vpc_id](#output_vpc_id) | ID of the VPC. |

## Authors

Module is maintained with help from [the community](https://github.com/scaleway-terraform-modules/terraform-scaleway-vpc/graphs/contributors).

## License

Mozilla Public License 2.0 Licensed. See [LICENSE](https://github.com/scaleway-terraform-modules/terraform-scaleway-vpc/tree/master/LICENSE) for full details.