Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Virtual Network Manager #157 #158

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ postgresql_server = {

| Name | Version |
|------|---------|
| <a name="provider_random"></a> [random](#provider\_random) | >= 3.3.2 |
| <a name="provider_random"></a> [random](#provider\_random) | 3.6.3 |

## Modules

Expand Down Expand Up @@ -126,7 +126,7 @@ No modules.
| <a name="output_api_management"></a> [api\_management](#output\_api\_management) | Api Management |
| <a name="output_app_configuration"></a> [app\_configuration](#output\_app\_configuration) | App Configuration |
| <a name="output_app_service"></a> [app\_service](#output\_app\_service) | App Service |
| <a name="output_app_service_environment"></a> [app\_service\_environment](#output\_app\_service\_environment) | n/a |
| <a name="output_app_service_environment"></a> [app\_service\_environment](#output\_app\_service\_environment) | App Service Environment |
| <a name="output_app_service_plan"></a> [app\_service\_plan](#output\_app\_service\_plan) | App Service Plan |
| <a name="output_application_gateway"></a> [application\_gateway](#output\_application\_gateway) | Application Gateway |
| <a name="output_application_insights"></a> [application\_insights](#output\_application\_insights) | Application Insights |
Expand Down Expand Up @@ -247,6 +247,7 @@ No modules.
| <a name="output_lb_nat_rule"></a> [lb\_nat\_rule](#output\_lb\_nat\_rule) | Lb Nat Rule |
| <a name="output_linux_virtual_machine"></a> [linux\_virtual\_machine](#output\_linux\_virtual\_machine) | Linux Virtual Machine |
| <a name="output_linux_virtual_machine_scale_set"></a> [linux\_virtual\_machine\_scale\_set](#output\_linux\_virtual\_machine\_scale\_set) | Linux Virtual Machine Scale Set |
| <a name="output_load_test"></a> [load\_test](#output\_load\_test) | Load Test |
| <a name="output_local_network_gateway"></a> [local\_network\_gateway](#output\_local\_network\_gateway) | Local Network Gateway |
| <a name="output_log_analytics_workspace"></a> [log\_analytics\_workspace](#output\_log\_analytics\_workspace) | Log Analytics Workspace |
| <a name="output_logic_app_workflow"></a> [logic\_app\_workflow](#output\_logic\_app\_workflow) | Logic App Workflow |
Expand All @@ -263,13 +264,13 @@ No modules.
| <a name="output_monitor_scheduled_query_rules_alert"></a> [monitor\_scheduled\_query\_rules\_alert](#output\_monitor\_scheduled\_query\_rules\_alert) | Monitor Scheduled Query Rules Alert |
| <a name="output_mssql_database"></a> [mssql\_database](#output\_mssql\_database) | Mssql Database |
| <a name="output_mssql_elasticpool"></a> [mssql\_elasticpool](#output\_mssql\_elasticpool) | Mssql Elasticpool |
| <a name="output_mssql_managed_instance"></a> [mssql\_managed\_instance](#output\_mssql\_managed\_instance) | Mssql Server Managed Instance |
| <a name="output_mssql_managed_instance"></a> [mssql\_managed\_instance](#output\_mssql\_managed\_instance) | Mssql Managed Instance |
| <a name="output_mssql_server"></a> [mssql\_server](#output\_mssql\_server) | Mssql Server |
| <a name="output_mysql_database"></a> [mysql\_database](#output\_mysql\_database) | Mysql Database |
| <a name="output_mysql_firewall_rule"></a> [mysql\_firewall\_rule](#output\_mysql\_firewall\_rule) | Mysql Firewall Rule |
| <a name="output_mysql_server"></a> [mysql\_server](#output\_mysql\_server) | Mysql Server |
| <a name="output_mysql_virtual_network_rule"></a> [mysql\_virtual\_network\_rule](#output\_mysql\_virtual\_network\_rule) | Mysql Virtual Network Rule |
| <a name="output_nat_gateway"></a> [nat\_gateway](#output\_nat\_gateway) | NAT Gateway |
| <a name="output_nat_gateway"></a> [nat\_gateway](#output\_nat\_gateway) | Nat Gateway |
| <a name="output_network_ddos_protection_plan"></a> [network\_ddos\_protection\_plan](#output\_network\_ddos\_protection\_plan) | Network Ddos Protection Plan |
| <a name="output_network_interface"></a> [network\_interface](#output\_network\_interface) | Network Interface |
| <a name="output_network_security_group"></a> [network\_security\_group](#output\_network\_security\_group) | Network Security Group |
Expand Down Expand Up @@ -328,6 +329,7 @@ No modules.
| <a name="output_sql_failover_group"></a> [sql\_failover\_group](#output\_sql\_failover\_group) | Sql Failover Group |
| <a name="output_sql_firewall_rule"></a> [sql\_firewall\_rule](#output\_sql\_firewall\_rule) | Sql Firewall Rule |
| <a name="output_sql_server"></a> [sql\_server](#output\_sql\_server) | Sql Server |
| <a name="output_static_web_app"></a> [static\_web\_app](#output\_static\_web\_app) | Static Web App |
| <a name="output_storage_account"></a> [storage\_account](#output\_storage\_account) | Storage Account |
| <a name="output_storage_blob"></a> [storage\_blob](#output\_storage\_blob) | Storage Blob |
| <a name="output_storage_container"></a> [storage\_container](#output\_storage\_container) | Storage Container |
Expand Down Expand Up @@ -364,11 +366,11 @@ No modules.
| <a name="output_virtual_network"></a> [virtual\_network](#output\_virtual\_network) | Virtual Network |
| <a name="output_virtual_network_gateway"></a> [virtual\_network\_gateway](#output\_virtual\_network\_gateway) | Virtual Network Gateway |
| <a name="output_virtual_network_gateway_connection"></a> [virtual\_network\_gateway\_connection](#output\_virtual\_network\_gateway\_connection) | Virtual Network Gateway Connection |
| <a name="output_virtual_network_manager"></a> [virtual\_network\_manager](#output\_virtual\_network\_manager) | Virtual Network Manager |
| <a name="output_virtual_network_peering"></a> [virtual\_network\_peering](#output\_virtual\_network\_peering) | Virtual Network Peering |
| <a name="output_virtual_wan"></a> [virtual\_wan](#output\_virtual\_wan) | Virtual Wan |
| <a name="output_windows_virtual_machine"></a> [windows\_virtual\_machine](#output\_windows\_virtual\_machine) | Windows Virtual Machine |
| <a name="output_windows_virtual_machine_scale_set"></a> [windows\_virtual\_machine\_scale\_set](#output\_windows\_virtual\_machine\_scale\_set) | Windows Virtual Machine Scale Set |
| <a name="static_web_app"></a> [static\_web\_app](#output\_static_\_web\_app) | Static Web App |
<!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->

# Contributing Guidelines
Expand Down
1 change: 1 addition & 0 deletions docs/defined_specs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ az = {
application_security_group = "asg"
local_network_gateway = "lgw"
virtual_network_gateway = "vgw"
virtual_network_manager = "vnm"
vpn_connection = "cn"
application_gateway = "agw"
route_table = "route"
Expand Down
14 changes: 14 additions & 0 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2456,6 +2456,16 @@ locals {
scope = "resourceGroup"
regex = "^[a-zA-Z0-9][a-zA-Z0-9-._]+[a-zA-Z0-9_]$"
}
virtual_network_manager = {
name = substr(join("-", compact([local.prefix, "vnm", local.suffix])), 0, 64)
name_unique = substr(join("-", compact([local.prefix, "vnm", local.suffix_unique])), 0, 64)
dashes = true
slug = "vnm"
min_length = 1
max_length = 64
scope = "resourceGroup"
regex = "^[a-zA-Z0-9][a-zA-Z0-9-._]+[a-zA-Z0-9_]$"
}
virtual_network_peering = {
name = substr(join("-", compact([local.prefix, "vpeer", local.suffix])), 0, 80)
name_unique = substr(join("-", compact([local.prefix, "vpeer", local.suffix_unique])), 0, 80)
Expand Down Expand Up @@ -3466,6 +3476,10 @@ locals {
valid_name = length(regexall(local.az.virtual_network_gateway_connection.regex, local.az.virtual_network_gateway_connection.name)) > 0 && length(local.az.virtual_network_gateway_connection.name) > local.az.virtual_network_gateway_connection.min_length
valid_name_unique = length(regexall(local.az.virtual_network_gateway_connection.regex, local.az.virtual_network_gateway_connection.name_unique)) > 0
}
virtual_network_manager = {
valid_name = length(regexall(local.az.virtual_network_manager.regex, local.az.virtual_network_manager.name)) > 0 && length(local.az.virtual_network_manager.name) > local.az.virtual_network_manager.min_length
valid_name_unique = length(regexall(local.az.virtual_network_manager.regex, local.az.virtual_network_manager.name_unique)) > 0
}
virtual_network_peering = {
valid_name = length(regexall(local.az.virtual_network_peering.regex, local.az.virtual_network_peering.name)) > 0 && length(local.az.virtual_network_peering.name) > local.az.virtual_network_peering.min_length
valid_name_unique = length(regexall(local.az.virtual_network_peering.regex, local.az.virtual_network_peering.name_unique)) > 0
Expand Down
5 changes: 5 additions & 0 deletions outputs.tf
Original file line number Diff line number Diff line change
Expand Up @@ -1216,6 +1216,11 @@ output "virtual_network_gateway_connection" {
description = "Virtual Network Gateway Connection"
}

output "virtual_network_manager" {
value = local.az.virtual_network_manager
description = "Virtual Network Manager"
}

output "virtual_network_peering" {
value = local.az.virtual_network_peering
description = "Virtual Network Peering"
Expand Down
11 changes: 11 additions & 0 deletions resourceDefinition.json
Original file line number Diff line number Diff line change
Expand Up @@ -2287,6 +2287,17 @@
"slug": "vcn",
"dashes": true
},
{
"name": "virtual_network_manager",
"length": {
"min": 1,
"max": 64
},
"regex": "^(?=.{1,64}$)[a-zA-Z0-9][a-zA-Z0-9-._]+[a-zA-Z0-9_]$",
"scope": "resourceGroup",
"slug": "vnm",
"dashes": true
},
{
"name": "virtual_network_peering",
"length": {
Expand Down