terraform-outscale-nets is a Terraform/OpenTofu module for deploying a vpc and the necessary components (subnets, internet gateway, ...).
Key features:
- public/private/storage subnets
- internet service
- nat service (one per private subnet or not)
- kubernetes tags if you want use the Cloud provider OSC
- Go
module "terraform-outscale-nets" {
source = "git@github.com:outscale/terraform-outscale-nets.git" // you can use a specific version
--- vars ---
}
You need to specify the Access Key Id and Secret Key Id in the variables or use the environment variables
See example folder
terraform-outscale-nets is released under the < License Name > license. Β© 2025 Outscale SAS See LICENSE for full details.
We welcome contributions!
Please read our Contributing Guidelines and Code of Conduct before submitting a pull request.
Name | Version |
---|---|
terraform | >= 1.3.0 |
outscale | 1.2.0 |
Name | Version |
---|---|
outscale | 1.2.0 |
No modules.
Name | Type |
---|---|
outscale_internet_service.internet_service | resource |
outscale_internet_service_link.internet_service_link | resource |
outscale_nat_service.private_nat_service | resource |
outscale_nat_service.storage_nat_service | resource |
outscale_net.net | resource |
outscale_public_ip.nat_service_private_subnet_public_ip | resource |
outscale_public_ip.nat_service_storage_subnet_public_ip | resource |
outscale_route.private_route_to_nat_service | resource |
outscale_route.route_to_internet_service | resource |
outscale_route.storage_route_to_nat_service | resource |
outscale_route_table.private_route_table | resource |
outscale_route_table.public_route_table | resource |
outscale_route_table.storage_route_table | resource |
outscale_route_table_link.private_route_table_link | resource |
outscale_route_table_link.public_route_table_link | resource |
outscale_route_table_link.storage_route_table_link | resource |
outscale_subnet.private_subnet | resource |
outscale_subnet.public_subnet | resource |
outscale_subnet.storage_subnet | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
cidr | The CIDR block for the net. | string |
"10.0.0.0/16" |
no |
enable_internet_service | Whether to create an internet service. | bool |
true |
no |
enable_private_subnets_nat_service | Whether to enable NAT service for private subnets. | bool |
true |
no |
enable_storage_subnets_nat_service | Whether to enable NAT service for storage subnets. | bool |
false |
no |
internet_service_tags | A map of tags to assign to the internet service. | list(object({ |
[] |
no |
kubernetes_cluster_name | The name of the Kubernetes cluster. | string |
"" |
no |
kubernetes_support | Whether to enable Kubernetes support. | bool |
false |
no |
name | The name of the net. | string |
"" |
no |
nat_service_per_private_subnet | Whether to create a NAT service in each subregion. | bool |
false |
no |
nat_service_per_storage_subnet | Whether to create a NAT service in each subregion for storage subnets. | bool |
false |
no |
net_tags | A map of tags to assign to the net. | list(object({ |
[] |
no |
osc_access_key | The Outscale access key. | string |
"" |
no |
osc_region | The Outscale region to use. | string |
"eu-west-2" |
no |
osc_secret_key | The Outscale secret key. | string |
"" |
no |
private_nat_gateway_tags | A map of tags to assign to the private NAT gateways. | list(object({ |
[] |
no |
private_route_table_tags | A map of tags to assign to the private route tables. | list(object({ |
[] |
no |
private_subnet_tags | A map of tags to assign to the private subnets. | list(object({ |
[] |
no |
private_subnets | A list of private subnet CIDR blocks. | list(object({ |
[ |
no |
public_route_table_tags | A map of tags to assign to the public route tables. | list(object({ |
[] |
no |
public_subnet_tags | A map of tags to assign to the public subnets. | list(object({ |
[] |
no |
public_subnets | A list of public subnet CIDR blocks. | list(object({ |
[ |
no |
storage_nat_gateway_tags | A map of tags to assign to the storage NAT gateways. | list(object({ |
[] |
no |
storage_route_table_tags | A map of tags to assign to the storage route tables. | list(object({ |
[] |
no |
storage_subnet_tags | A map of tags to assign to the storage subnets. | list(object({ |
[] |
no |
storage_subnets | A list of storage subnet CIDR blocks. | list(object({ |
[] |
no |
tags | A map of tags to assign to the net and its resources. | list(object({ |
[] |
no |
tenancy | The tenancy of the net. Can be 'default' or 'dedicated'. | string |
"default" |
no |
Name | Description |
---|---|
net_cidr_block | The CIDR block of the Outscale Net. |
net_id | The ID of the Outscale Net. |
private_subnets | List of private subnet IDs. |
public_ip_for_private_nat_service | List of public IPs for NAT service in private subnets. |
public_ip_for_storage_nat_service | List of public IPs for NAT service in storage subnets. |
public_subnets | List of public subnet IDs. |
storage_subnets | List of storage subnet IDs. |