# sonicwall/sonicwall-nsv-azure-templates architecture

> Architecture diagram of the GitHub repository sonicwall/sonicwall-nsv-azure-templates, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sonicwall/sonicwall-nsv-azure-templates
- Repository: https://github.com/sonicwall/sonicwall-nsv-azure-templates

## Overview

This repository packages SonicWall NSv Azure Resource Manager (ARM) deployment templates. The documented workflow is a customer initiating deployment through Azure Marketplace or the ARM portal, which loads the root template into an Azure subscription; the optional custom deployment UI is supplied alongside that template. The tree also contains HA and HA-LoadBalancer template directories, but their READMEs and template contents were not available here, so their resource behavior and wiring are not inferred.

Main entry points: [`mainTemplate.json`](https://github.com/sonicwall/sonicwall-nsv-azure-templates/blob/master/mainTemplate.json) (NSv ARM template), [`createUiDefinition.json`](https://github.com/sonicwall/sonicwall-nsv-azure-templates/blob/master/createUiDefinition.json) (Custom UI definition)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_deployment["Deployment entry points"]
  node_marketplace["Azure Marketplace"]
  node_arm_portal["ARM portal"]
  node_custom_ui["Custom UI definition"]
  node_root_template["NSv ARM template<br/>[mainTemplate.json]"]
end

subgraph group_variants["HA templates"]
  node_ha_template["HA deployment template<br/>[azureDeploy.json]"]
  node_ha_readme["HA deployment notes<br/>[README.md]"]
  node_ha_lb_template["HA load-balancer template<br/>[azureDeploy.json]"]
  node_ha_lb_readme["HA load-balancer notes<br/>[README.md]"]
end

subgraph group_azure["Azure deployment"]
  node_azure_subscription["Azure subscription"]
end

node_customer(("Customer"))

node_customer -->|"finds product"| node_marketplace
node_customer -->|"starts deployment"| node_arm_portal
node_marketplace -->|"offers deployment"| node_root_template
node_arm_portal -->|"loads template"| node_root_template
node_arm_portal -.->|"loads UI"| node_custom_ui
node_root_template -->|"deploys resources"| node_azure_subscription

click node_custom_ui "https://github.com/sonicwall/sonicwall-nsv-azure-templates/blob/master/createUiDefinition.json"
click node_root_template "https://github.com/sonicwall/sonicwall-nsv-azure-templates/blob/master/mainTemplate.json"
click node_ha_template "https://github.com/sonicwall/sonicwall-nsv-azure-templates/blob/master/HA/azureDeploy.json"
click node_ha_readme "https://github.com/sonicwall/sonicwall-nsv-azure-templates/blob/master/HA/README.md"
click node_ha_lb_template "https://github.com/sonicwall/sonicwall-nsv-azure-templates/blob/master/HA-LoadBalancer/azureDeploy.json"
click node_ha_lb_readme "https://github.com/sonicwall/sonicwall-nsv-azure-templates/blob/master/HA-LoadBalancer/README.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_marketplace,node_arm_portal,node_custom_ui,node_root_template toneBlue
class node_ha_template,node_ha_readme,node_ha_lb_template,node_ha_lb_readme toneAmber
class node_azure_subscription toneMint
class node_customer toneIndigo
```

## Components

### Deployment entry points

- **Azure Marketplace**
- **ARM portal**
- [Custom UI definition](https://github.com/sonicwall/sonicwall-nsv-azure-templates/blob/master/createUiDefinition.json): `createUiDefinition.json`
- [NSv ARM template](https://github.com/sonicwall/sonicwall-nsv-azure-templates/blob/master/mainTemplate.json): `mainTemplate.json`

### HA templates

- [HA deployment template](https://github.com/sonicwall/sonicwall-nsv-azure-templates/blob/master/HA/azureDeploy.json): `HA/azureDeploy.json`
- [HA deployment notes](https://github.com/sonicwall/sonicwall-nsv-azure-templates/blob/master/HA/README.md): `HA/README.md`
- [HA load-balancer template](https://github.com/sonicwall/sonicwall-nsv-azure-templates/blob/master/HA-LoadBalancer/azureDeploy.json): `HA-LoadBalancer/azureDeploy.json`
- [HA load-balancer notes](https://github.com/sonicwall/sonicwall-nsv-azure-templates/blob/master/HA-LoadBalancer/README.md): `HA-LoadBalancer/README.md`

### Azure deployment

- **Azure subscription**

### Other components

- **Customer**

## Connections

- Customer → Azure Marketplace: finds product
- Customer → ARM portal: starts deployment
- Azure Marketplace → NSv ARM template: offers deployment
- ARM portal → NSv ARM template: loads template
- ARM portal → Custom UI definition: loads UI
- NSv ARM template → Azure subscription: deploys resources
