Microsoft.HybridNetwork publishers/networkFunctionDefinitionGroups/networkFunctionDefinitionVersions

ARM template resource definition

The publishers/networkFunctionDefinitionGroups/networkFunctionDefinitionVersions 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.HybridNetwork/publishers/networkFunctionDefinitionGroups/networkFunctionDefinitionVersions resource, add the following JSON to your template.

{
  "type": "Microsoft.HybridNetwork/publishers/networkFunctionDefinitionGroups/networkFunctionDefinitionVersions",
  "apiVersion": "2023-09-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "properties": {
    "deployParameters": "string",
    "description": "string",
    "networkFunctionType": "string"
    // For remaining properties, see NetworkFunctionDefinitionVersionPropertiesFormat objects
  }
}

NetworkFunctionDefinitionVersionPropertiesFormat objects

Set the networkFunctionType property to specify the type of object.

For ContainerizedNetworkFunction, use:

  "networkFunctionType": "ContainerizedNetworkFunction",
  "networkFunctionTemplate": {
    "nfviType": "string"
    // For remaining properties, see ContainerizedNetworkFunctionTemplate objects
  }

For VirtualNetworkFunction, use:

  "networkFunctionType": "VirtualNetworkFunction",
  "networkFunctionTemplate": {
    "nfviType": "string"
    // For remaining properties, see VirtualNetworkFunctionTemplate objects
  }

ContainerizedNetworkFunctionTemplate objects

Set the nfviType property to specify the type of object.

For AzureArcKubernetes, use:

  "nfviType": "AzureArcKubernetes",
  "networkFunctionApplications": [
    {
      "dependsOnProfile": {
        "installDependsOn": [ "string" ],
        "uninstallDependsOn": [ "string" ],
        "updateDependsOn": [ "string" ]
      },
      "name": "string",
      "artifactType": "string"
      // For remaining properties, see AzureArcKubernetesNetworkFunctionApplication objects
    }
  ]

AzureArcKubernetesNetworkFunctionApplication objects

Set the artifactType property to specify the type of object.

For HelmPackage, use:

  "artifactType": "HelmPackage",
  "artifactProfile": {
    "artifactStore": {
      "id": "string"
    },
    "helmArtifactProfile": {
      "helmPackageName": "string",
      "helmPackageVersionRange": "string",
      "imagePullSecretsValuesPaths": [ "string" ],
      "registryValuesPaths": [ "string" ]
    }
  },
  "deployParametersMappingRuleProfile": {
    "applicationEnablement": "string",
    "helmMappingRuleProfile": {
      "helmPackageVersion": "string",
      "options": {
        "installOptions": {
          "atomic": "string",
          "timeout": "string",
          "wait": "string"
        },
        "upgradeOptions": {
          "atomic": "string",
          "timeout": "string",
          "wait": "string"
        }
      },
      "releaseName": "string",
      "releaseNamespace": "string",
      "values": "string"
    }
  }

VirtualNetworkFunctionTemplate objects

Set the nfviType property to specify the type of object.

For AzureCore, use:

  "nfviType": "AzureCore",
  "networkFunctionApplications": [
    {
      "dependsOnProfile": {
        "installDependsOn": [ "string" ],
        "uninstallDependsOn": [ "string" ],
        "updateDependsOn": [ "string" ]
      },
      "name": "string",
      "artifactType": "string"
      // For remaining properties, see AzureCoreNetworkFunctionApplication objects
    }
  ]

For AzureOperatorNexus, use:

  "nfviType": "AzureOperatorNexus",
  "networkFunctionApplications": [
    {
      "dependsOnProfile": {
        "installDependsOn": [ "string" ],
        "uninstallDependsOn": [ "string" ],
        "updateDependsOn": [ "string" ]
      },
      "name": "string",
      "artifactType": "string"
      // For remaining properties, see AzureOperatorNexusNetworkFunctionApplication objects
    }
  ]

AzureCoreNetworkFunctionApplication objects

Set the artifactType property to specify the type of object.

For ArmTemplate, use:

  "artifactType": "ArmTemplate",
  "artifactProfile": {
    "artifactStore": {
      "id": "string"
    },
    "templateArtifactProfile": {
      "templateName": "string",
      "templateVersion": "string"
    }
  },
  "deployParametersMappingRuleProfile": {
    "applicationEnablement": "string",
    "templateMappingRuleProfile": {
      "templateParameters": "string"
    }
  }

For VhdImageFile, use:

  "artifactType": "VhdImageFile",
  "artifactProfile": {
    "artifactStore": {
      "id": "string"
    },
    "vhdArtifactProfile": {
      "vhdName": "string",
      "vhdVersion": "string"
    }
  },
  "deployParametersMappingRuleProfile": {
    "applicationEnablement": "string",
    "vhdImageMappingRuleProfile": {
      "userConfiguration": "string"
    }
  }

AzureOperatorNexusNetworkFunctionApplication objects

Set the artifactType property to specify the type of object.

For ArmTemplate, use:

  "artifactType": "ArmTemplate",
  "artifactProfile": {
    "artifactStore": {
      "id": "string"
    },
    "templateArtifactProfile": {
      "templateName": "string",
      "templateVersion": "string"
    }
  },
  "deployParametersMappingRuleProfile": {
    "applicationEnablement": "string",
    "templateMappingRuleProfile": {
      "templateParameters": "string"
    }
  }

For ImageFile, use:

  "artifactType": "ImageFile",
  "artifactProfile": {
    "artifactStore": {
      "id": "string"
    },
    "imageArtifactProfile": {
      "imageName": "string",
      "imageVersion": "string"
    }
  },
  "deployParametersMappingRuleProfile": {
    "applicationEnablement": "string",
    "imageMappingRuleProfile": {
      "userConfiguration": "string"
    }
  }

Property values

publishers/networkFunctionDefinitionGroups/networkFu...

Name Description Value
type The resource type 'Microsoft.HybridNetwork/publishers/networkFunctionDefinitionGroups/networkFunctionDefinitionVersions'
apiVersion The resource api version '2023-09-01'
name The resource name

See how to set names and types for child resources in JSON ARM templates.
string (required)
location The geo-location where the resource lives string (required)
tags Resource tags. Dictionary of tag names and values. See Tags in templates
properties Network function definition version properties. NetworkFunctionDefinitionVersionPropertiesFormat

NetworkFunctionDefinitionVersionPropertiesFormat

Name Description Value
deployParameters The deployment parameters of the network function definition version. string
description The network function definition version description. string
networkFunctionType Set the object type ContainerizedNetworkFunction
VirtualNetworkFunction (required)

ContainerizedNetworkFunctionDefinitionVersion

Name Description Value
networkFunctionType The network function type. 'ContainerizedNetworkFunction' (required)
networkFunctionTemplate Containerized network function template. ContainerizedNetworkFunctionTemplate

ContainerizedNetworkFunctionTemplate

Name Description Value
nfviType Set the object type AzureArcKubernetes (required)

AzureArcKubernetesNetworkFunctionTemplate

Name Description Value
nfviType The network function type. 'AzureArcKubernetes' (required)
networkFunctionApplications Network function applications. AzureArcKubernetesNetworkFunctionApplication[]

AzureArcKubernetesNetworkFunctionApplication

Name Description Value
dependsOnProfile Depends on profile definition. DependsOnProfile
name The name of the network function application. string
artifactType Set the object type HelmPackage (required)

DependsOnProfile

Name Description Value
installDependsOn Application installation operation dependency. string[]
uninstallDependsOn Application deletion operation dependency. string[]
updateDependsOn Application update operation dependency. string[]

AzureArcKubernetesHelmApplication

Name Description Value
artifactType The artifact type. 'HelmPackage' (required)
artifactProfile Azure arc kubernetes artifact profile. AzureArcKubernetesArtifactProfile
deployParametersMappingRuleProfile Deploy mapping rule profile. AzureArcKubernetesDeployMappingRuleProfile

AzureArcKubernetesArtifactProfile

Name Description Value
artifactStore The reference to artifact store. ReferencedResource
helmArtifactProfile Helm artifact profile. HelmArtifactProfile

ReferencedResource

Name Description Value
id Resource ID. string

HelmArtifactProfile

Name Description Value
helmPackageName Helm package name. string
helmPackageVersionRange Helm package version range. string
imagePullSecretsValuesPaths The image pull secrets values path list. string[]
registryValuesPaths The registry values path list. string[]

AzureArcKubernetesDeployMappingRuleProfile

Name Description Value
applicationEnablement The application enablement. 'Disabled'
'Enabled'
'Unknown'
helmMappingRuleProfile The helm mapping rule profile. HelmMappingRuleProfile

HelmMappingRuleProfile

Name Description Value
helmPackageVersion Helm package version. string
options The helm deployment options HelmMappingRuleProfileOptions
releaseName Helm release name. string
releaseNamespace Helm release namespace. string
values Helm release values. string

HelmMappingRuleProfileOptions

Name Description Value
installOptions The helm deployment install options HelmInstallOptions
upgradeOptions The helm deployment upgrade options HelmUpgradeOptions

HelmInstallOptions

Name Description Value
atomic The helm deployment atomic options string
timeout The helm deployment timeout options string
wait The helm deployment wait options string

HelmUpgradeOptions

Name Description Value
atomic The helm deployment atomic options string
timeout The helm deployment timeout options string
wait The helm deployment wait options string

VirtualNetworkFunctionDefinitionVersion

Name Description Value
networkFunctionType The network function type. 'VirtualNetworkFunction' (required)
networkFunctionTemplate Virtual network function template. VirtualNetworkFunctionTemplate

VirtualNetworkFunctionTemplate

Name Description Value
nfviType Set the object type AzureCore
AzureOperatorNexus (required)

AzureCoreNetworkFunctionTemplate

Name Description Value
nfviType The network function type. 'AzureCore' (required)
networkFunctionApplications Network function applications. AzureCoreNetworkFunctionApplication[]

AzureCoreNetworkFunctionApplication

Name Description Value
dependsOnProfile Depends on profile definition. DependsOnProfile
name The name of the network function application. string
artifactType Set the object type ArmTemplate
VhdImageFile (required)

AzureCoreNetworkFunctionArmTemplateApplication

Name Description Value
artifactType The artifact type. 'ArmTemplate' (required)
artifactProfile Azure template artifact profile. AzureCoreArmTemplateArtifactProfile
deployParametersMappingRuleProfile Deploy mapping rule profile. AzureCoreArmTemplateDeployMappingRuleProfile

AzureCoreArmTemplateArtifactProfile

Name Description Value
artifactStore The reference to artifact store. ReferencedResource
templateArtifactProfile Template artifact profile. ArmTemplateArtifactProfile

ArmTemplateArtifactProfile

Name Description Value
templateName Template name. string
templateVersion Template version. string

AzureCoreArmTemplateDeployMappingRuleProfile

Name Description Value
applicationEnablement The application enablement. 'Disabled'
'Enabled'
'Unknown'
templateMappingRuleProfile The template mapping rule profile. ArmTemplateMappingRuleProfile

ArmTemplateMappingRuleProfile

Name Description Value
templateParameters List of template parameters. string

AzureCoreNetworkFunctionVhdApplication

Name Description Value
artifactType The artifact type. 'VhdImageFile' (required)
artifactProfile Azure vhd image artifact profile. AzureCoreVhdImageArtifactProfile
deployParametersMappingRuleProfile Deploy mapping rule profile. AzureCoreVhdImageDeployMappingRuleProfile

AzureCoreVhdImageArtifactProfile

Name Description Value
artifactStore The reference to artifact store. ReferencedResource
vhdArtifactProfile Vhd artifact profile. VhdImageArtifactProfile

VhdImageArtifactProfile

Name Description Value
vhdName Vhd name. string
vhdVersion Vhd version. string

AzureCoreVhdImageDeployMappingRuleProfile

Name Description Value
applicationEnablement The application enablement. 'Disabled'
'Enabled'
'Unknown'
vhdImageMappingRuleProfile The vhd mapping rule profile. VhdImageMappingRuleProfile

VhdImageMappingRuleProfile

Name Description Value
userConfiguration List of values. string

AzureOperatorNexusNetworkFunctionTemplate

Name Description Value
nfviType The network function type. 'AzureOperatorNexus' (required)
networkFunctionApplications Network function applications. AzureOperatorNexusNetworkFunctionApplication[]

AzureOperatorNexusNetworkFunctionApplication

Name Description Value
dependsOnProfile Depends on profile definition. DependsOnProfile
name The name of the network function application. string
artifactType Set the object type ArmTemplate
ImageFile (required)

AzureOperatorNexusNetworkFunctionArmTemplateApplicat...

Name Description Value
artifactType The artifact type. 'ArmTemplate' (required)
artifactProfile Azure Operator Distributed Services Template artifact profile. AzureOperatorNexusArmTemplateArtifactProfile
deployParametersMappingRuleProfile Deploy mapping rule profile. AzureOperatorNexusArmTemplateDeployMappingRuleProfil...

AzureOperatorNexusArmTemplateArtifactProfile

Name Description Value
artifactStore The reference to artifact store. ReferencedResource
templateArtifactProfile Template artifact profile. ArmTemplateArtifactProfile

AzureOperatorNexusArmTemplateDeployMappingRuleProfil...

Name Description Value
applicationEnablement The application enablement. 'Disabled'
'Enabled'
'Unknown'
templateMappingRuleProfile The template mapping rule profile. ArmTemplateMappingRuleProfile

AzureOperatorNexusNetworkFunctionImageApplication

Name Description Value
artifactType The artifact type. 'ImageFile' (required)
artifactProfile Azure Operator Distributed Services image artifact profile. AzureOperatorNexusImageArtifactProfile
deployParametersMappingRuleProfile Deploy mapping rule profile. AzureOperatorNexusImageDeployMappingRuleProfile

AzureOperatorNexusImageArtifactProfile

Name Description Value
artifactStore The reference to artifact store. ReferencedResource
imageArtifactProfile Image artifact profile. ImageArtifactProfile

ImageArtifactProfile

Name Description Value
imageName Image name. string
imageVersion Image version. string

AzureOperatorNexusImageDeployMappingRuleProfile

Name Description Value
applicationEnablement The application enablement. 'Disabled'
'Enabled'
'Unknown'
imageMappingRuleProfile The vhd mapping rule profile. ImageMappingRuleProfile

ImageMappingRuleProfile

Name Description Value
userConfiguration List of values. string