Skip to content

snowplow-devops/terraform-azurerm-vnet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Release CI License Registry

terraform-azurerm-vnet

A Terraform module for deploying a basic Virtual Network deployment for a Snowplow pipeline. The default configurations creates 4 subnets to isolate different parts of the deployment logically and the default quick-start depends on this setup.

NOTE: If you wish to have more control over the deployment its recommended to instead leverage the offical vNet module from Azurerm which has exposed all available options and can be used for a more security focused deployment.

Usage

module "pipeline_vnet" {
  source = "snowplow-devops/vnet/azurerm"

  name                = "pipeline-vnet"
  resource_group_name = "pipeline"
}

Requirements

Name Version
terraform >= 1.0.0
azurerm >= 3.58.0

Providers

Name Version
azurerm >= 3.58.0

Modules

No modules.

Resources

Name Type
azurerm_subnet.subnet resource
azurerm_virtual_network.vnet resource
azurerm_resource_group.rg data source

Inputs

Name Description Type Default Required
name A name which will be pre-pended to the resources created string n/a yes
resource_group_name The name of the resource group to deploy the vNet into string n/a yes
address_space The root CIDR range to be used for the vNet deployment string "10.0.0.0/16" no
subnet_service_endpoints A map of subnet name to service endpoints to add to the subnet. map(any)
{
"iglu1": [
"Microsoft.Sql"
]
}
no
subnets A list of public subnets inside the vNet
list(object({
name = string
address_prefix = string
}))
[
{
"address_prefix": "10.0.1.0/24",
"name": "collector-agw1"
},
{
"address_prefix": "10.0.2.0/24",
"name": "iglu-agw1"
},
{
"address_prefix": "10.0.20.0/24",
"name": "pipeline1"
},
{
"address_prefix": "10.0.21.0/24",
"name": "iglu1"
}
]
no
tags The tags to append to this resource map(string) {} no

Outputs

Name Description
vnet_id The ID of the vNet
vnet_name The name of the vNet
vnet_subnets The IDs of subnets created inside the vNet
vnet_subnets_name_id Can be queried subnet ID by subnet name by using lookup(module.vnet.vnet_subnets_name_id, subnet1)

Copyright and license

The Azurerm VNet project is Copyright 2023-2023 Snowplow Analytics Ltd.

Licensed under the Snowplow Community License. (If you are uncertain how it applies to your use case, check our answers to frequently asked questions.)

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.