Share via


Microsoft.Network networkVirtualAppliances 2025-01-01

Bicep resource definition

The networkVirtualAppliances resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Network/networkVirtualAppliances resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Network/networkVirtualAppliances@2025-01-01' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    additionalNics: [
      {
        hasPublicIp: bool
        name: 'string'
      }
    ]
    bootStrapConfigurationBlobs: [
      'string'
    ]
    cloudInitConfiguration: 'string'
    cloudInitConfigurationBlobs: [
      'string'
    ]
    delegation: {
      serviceName: 'string'
    }
    internetIngressPublicIps: [
      {
        id: 'string'
      }
    ]
    networkProfile: {
      networkInterfaceConfigurations: [
        {
          properties: {
            ipConfigurations: [
              {
                name: 'string'
                properties: {
                  primary: bool
                }
              }
            ]
          }
          type: 'string'
        }
      ]
    }
    nvaInterfaceConfigurations: [
      {
        name: 'string'
        subnet: {
          id: 'string'
        }
        type: [
          'string'
        ]
      }
    ]
    nvaSku: {
      bundledScaleUnit: 'string'
      marketPlaceVersion: 'string'
      vendor: 'string'
    }
    partnerManagedResource: {}
    sshPublicKey: 'string'
    virtualApplianceAsn: int
    virtualHub: {
      id: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Property Values

Microsoft.Network/networkVirtualAppliances

Name Description Value
identity The service principal that has read access to cloud-init and config blob. ManagedServiceIdentity
location Resource location. string
name The resource name string (required)
properties Properties of the Network Virtual Appliance. NetworkVirtualAppliancePropertiesFormat
tags Resource tags Dictionary of tag names and values. See Tags in templates

Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties

Name Description Value

DelegationProperties

Name Description Value
serviceName The service name to which the NVA is delegated. string

InternetIngressPublicIpsProperties

Name Description Value
id Resource Uri of Public Ip string

ManagedServiceIdentity

Name Description Value
type The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

NetworkVirtualAppliancePropertiesFormat

Name Description Value
additionalNics Details required for Additional Network Interface. This property is not compatible with the NVA deployed in VNets. VirtualApplianceAdditionalNicProperties[]
bootStrapConfigurationBlobs BootStrapConfigurationBlobs storage URLs. string[]
cloudInitConfiguration CloudInitConfiguration string in plain text. string
cloudInitConfigurationBlobs CloudInitConfigurationBlob storage URLs. string[]
delegation The delegation for the Virtual Appliance. Only appliable for SaaS NVA. DelegationProperties
internetIngressPublicIps List of Resource Uri of Public IPs for Internet Ingress Scenario. InternetIngressPublicIpsProperties[]
networkProfile Network Profile containing configurations for Public and Private NIC. NetworkVirtualAppliancePropertiesFormatNetworkProfile
nvaInterfaceConfigurations The NVA in VNet interface configurations NvaInterfaceConfigurationsProperties[]
nvaSku Network Virtual Appliance SKU. VirtualApplianceSkuProperties
partnerManagedResource The delegation for the Virtual Appliance PartnerManagedResourceProperties
sshPublicKey Public key for SSH login. string
virtualApplianceAsn VirtualAppliance ASN. Microsoft private, public and IANA reserved ASN are not supported. int

Constraints:
Min value = 0
Max value = 4294967295
virtualHub The Virtual Hub where Network Virtual Appliance is being deployed. SubResource

NetworkVirtualAppliancePropertiesFormatNetworkProfile

Name Description Value
networkInterfaceConfigurations VirtualApplianceNetworkInterfaceConfiguration[]

NvaInterfaceConfigurationsProperties

Name Description Value
name Specifies the name of the interface. Maximum length is 70 characters. string

Constraints:
Max length = 70
subnet A subnet resource id where the NIC will be deployed. Each subnet resource uri should be unique. NvaInVnetSubnetReferenceProperties
type Specifies the NIC types for the NVA interface configuration. Allowed values: PrivateNic, PublicNic, AdditionalPrivateNic, AdditionalPublicNic. Only the combination of PrivateNic and PublicNic is currently supported. String array containing any of:
'AdditionalPrivateNic'
'AdditionalPublicNic'
'PrivateNic'
'PublicNic'

NvaInVnetSubnetReferenceProperties

Name Description Value
id Resource Uri of Subnet string

PartnerManagedResourceProperties

Name Description Value

ResourceTags

Name Description Value

SubResource

Name Description Value
id Resource ID. string

VirtualApplianceAdditionalNicProperties

Name Description Value
hasPublicIp Flag (true or false) for Intent for Public Ip on additional nic bool
name Name of additional nic string

VirtualApplianceIPConfiguration

Name Description Value
name For hub NVAs, primary IP configs must be named 'privatenicipconfig' and 'publicnicipconfig', with non-primary configs using these prefixes; no naming restrictions apply for NVAs in VNets. Maximum 80 character are allowed. string
properties Represents a single IP configuration properties. VirtualApplianceIPConfigurationProperties

VirtualApplianceIPConfigurationProperties

Name Description Value
primary Whether or not this is primary IP configuration of the NIC. bool

VirtualApplianceNetworkInterfaceConfiguration

Name Description Value
properties Represents a single NIC configuration properties. VirtualApplianceNetworkInterfaceConfigurationProperties
type NIC type. This should be either PublicNic or PrivateNic. 'PrivateNic'
'PublicNic'

VirtualApplianceNetworkInterfaceConfigurationProperties

Name Description Value
ipConfigurations VirtualApplianceIPConfiguration[]

VirtualApplianceSkuProperties

Name Description Value
bundledScaleUnit Virtual Appliance Scale Unit. string
marketPlaceVersion Virtual Appliance Version. string
vendor Virtual Appliance Vendor. string

ARM template resource definition

The networkVirtualAppliances resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Network/networkVirtualAppliances resource, add the following JSON to your template.

{
  "type": "Microsoft.Network/networkVirtualAppliances",
  "apiVersion": "2025-01-01",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "additionalNics": [
      {
        "hasPublicIp": "bool",
        "name": "string"
      }
    ],
    "bootStrapConfigurationBlobs": [ "string" ],
    "cloudInitConfiguration": "string",
    "cloudInitConfigurationBlobs": [ "string" ],
    "delegation": {
      "serviceName": "string"
    },
    "internetIngressPublicIps": [
      {
        "id": "string"
      }
    ],
    "networkProfile": {
      "networkInterfaceConfigurations": [
        {
          "properties": {
            "ipConfigurations": [
              {
                "name": "string",
                "properties": {
                  "primary": "bool"
                }
              }
            ]
          },
          "type": "string"
        }
      ]
    },
    "nvaInterfaceConfigurations": [
      {
        "name": "string",
        "subnet": {
          "id": "string"
        },
        "type": [ "string" ]
      }
    ],
    "nvaSku": {
      "bundledScaleUnit": "string",
      "marketPlaceVersion": "string",
      "vendor": "string"
    },
    "partnerManagedResource": {
    },
    "sshPublicKey": "string",
    "virtualApplianceAsn": "int",
    "virtualHub": {
      "id": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property Values

Microsoft.Network/networkVirtualAppliances

Name Description Value
apiVersion The api version '2025-01-01'
identity The service principal that has read access to cloud-init and config blob. ManagedServiceIdentity
location Resource location. string
name The resource name string (required)
properties Properties of the Network Virtual Appliance. NetworkVirtualAppliancePropertiesFormat
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.Network/networkVirtualAppliances'

Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties

Name Description Value

DelegationProperties

Name Description Value
serviceName The service name to which the NVA is delegated. string

InternetIngressPublicIpsProperties

Name Description Value
id Resource Uri of Public Ip string

ManagedServiceIdentity

Name Description Value
type The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

NetworkVirtualAppliancePropertiesFormat

Name Description Value
additionalNics Details required for Additional Network Interface. This property is not compatible with the NVA deployed in VNets. VirtualApplianceAdditionalNicProperties[]
bootStrapConfigurationBlobs BootStrapConfigurationBlobs storage URLs. string[]
cloudInitConfiguration CloudInitConfiguration string in plain text. string
cloudInitConfigurationBlobs CloudInitConfigurationBlob storage URLs. string[]
delegation The delegation for the Virtual Appliance. Only appliable for SaaS NVA. DelegationProperties
internetIngressPublicIps List of Resource Uri of Public IPs for Internet Ingress Scenario. InternetIngressPublicIpsProperties[]
networkProfile Network Profile containing configurations for Public and Private NIC. NetworkVirtualAppliancePropertiesFormatNetworkProfile
nvaInterfaceConfigurations The NVA in VNet interface configurations NvaInterfaceConfigurationsProperties[]
nvaSku Network Virtual Appliance SKU. VirtualApplianceSkuProperties
partnerManagedResource The delegation for the Virtual Appliance PartnerManagedResourceProperties
sshPublicKey Public key for SSH login. string
virtualApplianceAsn VirtualAppliance ASN. Microsoft private, public and IANA reserved ASN are not supported. int

Constraints:
Min value = 0
Max value = 4294967295
virtualHub The Virtual Hub where Network Virtual Appliance is being deployed. SubResource

NetworkVirtualAppliancePropertiesFormatNetworkProfile

Name Description Value
networkInterfaceConfigurations VirtualApplianceNetworkInterfaceConfiguration[]

NvaInterfaceConfigurationsProperties

Name Description Value
name Specifies the name of the interface. Maximum length is 70 characters. string

Constraints:
Max length = 70
subnet A subnet resource id where the NIC will be deployed. Each subnet resource uri should be unique. NvaInVnetSubnetReferenceProperties
type Specifies the NIC types for the NVA interface configuration. Allowed values: PrivateNic, PublicNic, AdditionalPrivateNic, AdditionalPublicNic. Only the combination of PrivateNic and PublicNic is currently supported. String array containing any of:
'AdditionalPrivateNic'
'AdditionalPublicNic'
'PrivateNic'
'PublicNic'

NvaInVnetSubnetReferenceProperties

Name Description Value
id Resource Uri of Subnet string

PartnerManagedResourceProperties

Name Description Value

ResourceTags

Name Description Value

SubResource

Name Description Value
id Resource ID. string

VirtualApplianceAdditionalNicProperties

Name Description Value
hasPublicIp Flag (true or false) for Intent for Public Ip on additional nic bool
name Name of additional nic string

VirtualApplianceIPConfiguration

Name Description Value
name For hub NVAs, primary IP configs must be named 'privatenicipconfig' and 'publicnicipconfig', with non-primary configs using these prefixes; no naming restrictions apply for NVAs in VNets. Maximum 80 character are allowed. string
properties Represents a single IP configuration properties. VirtualApplianceIPConfigurationProperties

VirtualApplianceIPConfigurationProperties

Name Description Value
primary Whether or not this is primary IP configuration of the NIC. bool

VirtualApplianceNetworkInterfaceConfiguration

Name Description Value
properties Represents a single NIC configuration properties. VirtualApplianceNetworkInterfaceConfigurationProperties
type NIC type. This should be either PublicNic or PrivateNic. 'PrivateNic'
'PublicNic'

VirtualApplianceNetworkInterfaceConfigurationProperties

Name Description Value
ipConfigurations VirtualApplianceIPConfiguration[]

VirtualApplianceSkuProperties

Name Description Value
bundledScaleUnit Virtual Appliance Scale Unit. string
marketPlaceVersion Virtual Appliance Version. string
vendor Virtual Appliance Vendor. string

Usage Examples

Terraform (AzAPI provider) resource definition

The networkVirtualAppliances resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Network/networkVirtualAppliances resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/networkVirtualAppliances@2025-01-01"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      additionalNics = [
        {
          hasPublicIp = bool
          name = "string"
        }
      ]
      bootStrapConfigurationBlobs = [
        "string"
      ]
      cloudInitConfiguration = "string"
      cloudInitConfigurationBlobs = [
        "string"
      ]
      delegation = {
        serviceName = "string"
      }
      internetIngressPublicIps = [
        {
          id = "string"
        }
      ]
      networkProfile = {
        networkInterfaceConfigurations = [
          {
            properties = {
              ipConfigurations = [
                {
                  name = "string"
                  properties = {
                    primary = bool
                  }
                }
              ]
            }
            type = "string"
          }
        ]
      }
      nvaInterfaceConfigurations = [
        {
          name = "string"
          subnet = {
            id = "string"
          }
          type = [
            "string"
          ]
        }
      ]
      nvaSku = {
        bundledScaleUnit = "string"
        marketPlaceVersion = "string"
        vendor = "string"
      }
      partnerManagedResource = {
      }
      sshPublicKey = "string"
      virtualApplianceAsn = int
      virtualHub = {
        id = "string"
      }
    }
  }
}

Property Values

Microsoft.Network/networkVirtualAppliances

Name Description Value
identity The service principal that has read access to cloud-init and config blob. ManagedServiceIdentity
location Resource location. string
name The resource name string (required)
properties Properties of the Network Virtual Appliance. NetworkVirtualAppliancePropertiesFormat
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.Network/networkVirtualAppliances@2025-01-01"

Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties

Name Description Value

DelegationProperties

Name Description Value
serviceName The service name to which the NVA is delegated. string

InternetIngressPublicIpsProperties

Name Description Value
id Resource Uri of Public Ip string

ManagedServiceIdentity

Name Description Value
type The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

Name Description Value

NetworkVirtualAppliancePropertiesFormat

Name Description Value
additionalNics Details required for Additional Network Interface. This property is not compatible with the NVA deployed in VNets. VirtualApplianceAdditionalNicProperties[]
bootStrapConfigurationBlobs BootStrapConfigurationBlobs storage URLs. string[]
cloudInitConfiguration CloudInitConfiguration string in plain text. string
cloudInitConfigurationBlobs CloudInitConfigurationBlob storage URLs. string[]
delegation The delegation for the Virtual Appliance. Only appliable for SaaS NVA. DelegationProperties
internetIngressPublicIps List of Resource Uri of Public IPs for Internet Ingress Scenario. InternetIngressPublicIpsProperties[]
networkProfile Network Profile containing configurations for Public and Private NIC. NetworkVirtualAppliancePropertiesFormatNetworkProfile
nvaInterfaceConfigurations The NVA in VNet interface configurations NvaInterfaceConfigurationsProperties[]
nvaSku Network Virtual Appliance SKU. VirtualApplianceSkuProperties
partnerManagedResource The delegation for the Virtual Appliance PartnerManagedResourceProperties
sshPublicKey Public key for SSH login. string
virtualApplianceAsn VirtualAppliance ASN. Microsoft private, public and IANA reserved ASN are not supported. int

Constraints:
Min value = 0
Max value = 4294967295
virtualHub The Virtual Hub where Network Virtual Appliance is being deployed. SubResource

NetworkVirtualAppliancePropertiesFormatNetworkProfile

Name Description Value
networkInterfaceConfigurations VirtualApplianceNetworkInterfaceConfiguration[]

NvaInterfaceConfigurationsProperties

Name Description Value
name Specifies the name of the interface. Maximum length is 70 characters. string

Constraints:
Max length = 70
subnet A subnet resource id where the NIC will be deployed. Each subnet resource uri should be unique. NvaInVnetSubnetReferenceProperties
type Specifies the NIC types for the NVA interface configuration. Allowed values: PrivateNic, PublicNic, AdditionalPrivateNic, AdditionalPublicNic. Only the combination of PrivateNic and PublicNic is currently supported. String array containing any of:
'AdditionalPrivateNic'
'AdditionalPublicNic'
'PrivateNic'
'PublicNic'

NvaInVnetSubnetReferenceProperties

Name Description Value
id Resource Uri of Subnet string

PartnerManagedResourceProperties

Name Description Value

ResourceTags

Name Description Value

SubResource

Name Description Value
id Resource ID. string

VirtualApplianceAdditionalNicProperties

Name Description Value
hasPublicIp Flag (true or false) for Intent for Public Ip on additional nic bool
name Name of additional nic string

VirtualApplianceIPConfiguration

Name Description Value
name For hub NVAs, primary IP configs must be named 'privatenicipconfig' and 'publicnicipconfig', with non-primary configs using these prefixes; no naming restrictions apply for NVAs in VNets. Maximum 80 character are allowed. string
properties Represents a single IP configuration properties. VirtualApplianceIPConfigurationProperties

VirtualApplianceIPConfigurationProperties

Name Description Value
primary Whether or not this is primary IP configuration of the NIC. bool

VirtualApplianceNetworkInterfaceConfiguration

Name Description Value
properties Represents a single NIC configuration properties. VirtualApplianceNetworkInterfaceConfigurationProperties
type NIC type. This should be either PublicNic or PrivateNic. 'PrivateNic'
'PublicNic'

VirtualApplianceNetworkInterfaceConfigurationProperties

Name Description Value
ipConfigurations VirtualApplianceIPConfiguration[]

VirtualApplianceSkuProperties

Name Description Value
bundledScaleUnit Virtual Appliance Scale Unit. string
marketPlaceVersion Virtual Appliance Version. string
vendor Virtual Appliance Vendor. string