Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/scaleway-terraform-modules/terraform-scaleway-vpc
- Owner: scaleway-terraform-modules
- License: mpl-2.0
- Created: 2023-02-04T00:08:35.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-10T06:45:48.000Z (2 months ago)
- Last Synced: 2024-09-10T09:02:43.769Z (2 months ago)
- Topics: scaleway, scaleway-vpc, terraform-module, vpc
- Language: HCL
- Homepage:
- Size: 57.6 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
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.