Skip to content

Repository files navigation

📦 Meraki Network Tofu Module

OpenTofu/Terraform module that creates a Cisco Meraki network resource and attaches all of the trimmings.

🚀 Usage

module "meraki_network_somewhere_usa" {
  source  = "hlvtechnologies/network"
  version = "~> 0.3"

  organization_id = "123456"
  network_name    = "Somewhere_USA"
  vlans_enabled   = false
  webhooks        = {}
  syslog_servers  = []
}

Requirements

Name Version
terraform >= 1.10.0
meraki >= 1.9.0

Providers

Name Version
meraki >= 1.9.0

Modules

No modules.

Resources

Name Type
meraki_appliance_vlans_settings.this resource
meraki_device.access_point resource
meraki_device.gateway resource
meraki_device.switch resource
meraki_network.this resource
meraki_network_syslog_servers.this resource
meraki_network_webhook_http_server.this resource
meraki_switch_stack.this resource

Inputs

Name Description Type Default Required
access_points Access points keyed by device name
map(object({
serial = string
address = optional(string, "")
latitude = optional(number, 0)
longitude = optional(number, 0)
move_map_marker = optional(bool, false)
notes = optional(string, "")
tags = optional(list(string), ["managed_by_tofu"])
}))
{} no
emm_network Whether the network is an EMM network bool false no
gateway The gateway configuration for the network
object({
serial = string
address = optional(string, "")
latitude = optional(number, 0)
longitude = optional(number, 0)
move_map_marker = optional(bool, false)
name = optional(string, "")
notes = optional(string, "")
tags = optional(list(string), ["managed_by_tofu"])
})
{
"address": "",
"latitude": 0,
"longitude": 0,
"move_map_marker": false,
"name": "",
"notes": "",
"serial": "",
"tags": [
"managed_by_tofu"
]
}
no
network_description The description of the network to create string "" no
network_name The name of the network to create string "City_ST" no
network_tags The tags of the network to create list(string)
[
"managed_by_tofu"
]
no
organization_id The ID of the organization to create the network in string n/a yes
product_types The product types of the network to create list(string)
[
"appliance",
"switch",
"wireless"
]
no
switch_stacks n/a
map(object({
switch_keys = list(string)
}))
{} no
switches Switches keyed by device name
map(object({
serial = string
address = optional(string, "")
latitude = optional(number, 0)
longitude = optional(number, 0)
move_map_marker = optional(bool, false)
notes = optional(string, "")
tags = optional(list(string), ["managed_by_tofu"])
}))
{} no
syslog_servers n/a
map(object({
host = string
port = number
protocol = optional(string, "UDP")
roles = list(string)
}))
{} no
time_zone The time zone of the network to create string "America/New_York" no
vlans_enabled Whether to enable VLANs for the network bool false no
webhooks n/a
map(object({
name = string
url = string
payload_template_name = string
payload_template_payload_template_id = string
shared_secret = string
}))
{} no

Outputs

No outputs.

🤝 Contributing

See CONTRIBUTING.md. This project is licensed under the MIT License.

🧩 Template repository

If you created this repository from a template, see TEMPLATE.md for setup steps.

About

No description or website provided.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages