NetworkFunctionDefinitionVersionArgs

data class NetworkFunctionDefinitionVersionArgs(val location: Output<String>? = null, val networkFunctionDefinitionGroupName: Output<String>? = null, val networkFunctionDefinitionVersionName: Output<String>? = null, val properties: Output<Either<ContainerizedNetworkFunctionDefinitionVersionArgs, VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs>>? = null, val publisherName: Output<String>? = null, val resourceGroupName: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<NetworkFunctionDefinitionVersionArgs>

Network function definition version. Uses Azure REST API version 2023-09-01. Other available API versions: 2024-04-15.

Example Usage

Create or update a network function definition version resource

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var networkFunctionDefinitionVersion = new AzureNative.HybridNetwork.NetworkFunctionDefinitionVersion("networkFunctionDefinitionVersion", new()
{
Location = "eastus",
NetworkFunctionDefinitionGroupName = "TestNetworkFunctionDefinitionGroupName",
NetworkFunctionDefinitionVersionName = "1.0.0",
Properties = new AzureNative.HybridNetwork.Inputs.ContainerizedNetworkFunctionDefinitionVersionArgs
{
DeployParameters = "{\"type\":\"object\",\"properties\":{\"releaseName\":{\"type\":\"string\"},\"namespace\":{\"type\":\"string\"}}}",
NetworkFunctionTemplate = new AzureNative.HybridNetwork.Inputs.AzureArcKubernetesNetworkFunctionTemplateArgs
{
NetworkFunctionApplications = new[]
{
new AzureNative.HybridNetwork.Inputs.AzureArcKubernetesHelmApplicationArgs
{
ArtifactProfile = new AzureNative.HybridNetwork.Inputs.AzureArcKubernetesArtifactProfileArgs
{
ArtifactStore = new AzureNative.HybridNetwork.Inputs.ReferencedResourceArgs
{
Id = "/subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore",
},
HelmArtifactProfile = new AzureNative.HybridNetwork.Inputs.HelmArtifactProfileArgs
{
HelmPackageName = "fed-rbac",
HelmPackageVersionRange = "~2.1.3",
ImagePullSecretsValuesPaths = new[]
{
"global.imagePullSecrets",
},
RegistryValuesPaths = new[]
{
"global.registry.docker.repoPath",
},
},
},
ArtifactType = "HelmPackage",
DependsOnProfile = new AzureNative.HybridNetwork.Inputs.DependsOnProfileArgs
{
InstallDependsOn = new() { },
UninstallDependsOn = new() { },
UpdateDependsOn = new() { },
},
DeployParametersMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.AzureArcKubernetesDeployMappingRuleProfileArgs
{
ApplicationEnablement = AzureNative.HybridNetwork.ApplicationEnablement.Enabled,
HelmMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.HelmMappingRuleProfileArgs
{
HelmPackageVersion = "2.1.3",
Options = new AzureNative.HybridNetwork.Inputs.HelmMappingRuleProfileOptionsArgs
{
InstallOptions = new AzureNative.HybridNetwork.Inputs.HelmInstallOptionsArgs
{
Atomic = "true",
Timeout = "30",
Wait = "true",
},
UpgradeOptions = new AzureNative.HybridNetwork.Inputs.HelmUpgradeOptionsArgs
{
Atomic = "true",
Timeout = "30",
Wait = "true",
},
},
ReleaseName = "{deployParameters.releaseName}",
ReleaseNamespace = "{deployParameters.namesapce}",
Values = "",
},
},
Name = "fedrbac",
},
},
NfviType = "AzureArcKubernetes",
},
NetworkFunctionType = "ContainerizedNetworkFunction",
},
PublisherName = "TestPublisher",
ResourceGroupName = "rg",
});
});
package main
import (
hybridnetwork "github.com/pulumi/pulumi-azure-native-sdk/hybridnetwork/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hybridnetwork.NewNetworkFunctionDefinitionVersion(ctx, "networkFunctionDefinitionVersion", &hybridnetwork.NetworkFunctionDefinitionVersionArgs{
Location: pulumi.String("eastus"),
NetworkFunctionDefinitionGroupName: pulumi.String("TestNetworkFunctionDefinitionGroupName"),
NetworkFunctionDefinitionVersionName: pulumi.String("1.0.0"),
Properties: &hybridnetwork.ContainerizedNetworkFunctionDefinitionVersionArgs{
DeployParameters: pulumi.String("{\"type\":\"object\",\"properties\":{\"releaseName\":{\"type\":\"string\"},\"namespace\":{\"type\":\"string\"}}}"),
NetworkFunctionTemplate: &hybridnetwork.AzureArcKubernetesNetworkFunctionTemplateArgs{
NetworkFunctionApplications: hybridnetwork.AzureArcKubernetesHelmApplicationArray{
&hybridnetwork.AzureArcKubernetesHelmApplicationArgs{
ArtifactProfile: &hybridnetwork.AzureArcKubernetesArtifactProfileArgs{
ArtifactStore: &hybridnetwork.ReferencedResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore"),
},
HelmArtifactProfile: &hybridnetwork.HelmArtifactProfileArgs{
HelmPackageName: pulumi.String("fed-rbac"),
HelmPackageVersionRange: pulumi.String("~2.1.3"),
ImagePullSecretsValuesPaths: pulumi.StringArray{
pulumi.String("global.imagePullSecrets"),
},
RegistryValuesPaths: pulumi.StringArray{
pulumi.String("global.registry.docker.repoPath"),
},
},
},
ArtifactType: pulumi.String("HelmPackage"),
DependsOnProfile: &hybridnetwork.DependsOnProfileArgs{
InstallDependsOn: pulumi.StringArray{},
UninstallDependsOn: pulumi.StringArray{},
UpdateDependsOn: pulumi.StringArray{},
},
DeployParametersMappingRuleProfile: &hybridnetwork.AzureArcKubernetesDeployMappingRuleProfileArgs{
ApplicationEnablement: pulumi.String(hybridnetwork.ApplicationEnablementEnabled),
HelmMappingRuleProfile: &hybridnetwork.HelmMappingRuleProfileArgs{
HelmPackageVersion: pulumi.String("2.1.3"),
Options: &hybridnetwork.HelmMappingRuleProfileOptionsArgs{
InstallOptions: &hybridnetwork.HelmInstallOptionsArgs{
Atomic: pulumi.String("true"),
Timeout: pulumi.String("30"),
Wait: pulumi.String("true"),
},
UpgradeOptions: &hybridnetwork.HelmUpgradeOptionsArgs{
Atomic: pulumi.String("true"),
Timeout: pulumi.String("30"),
Wait: pulumi.String("true"),
},
},
ReleaseName: pulumi.String("{deployParameters.releaseName}"),
ReleaseNamespace: pulumi.String("{deployParameters.namesapce}"),
Values: pulumi.String(""),
},
},
Name: pulumi.String("fedrbac"),
},
},
NfviType: pulumi.String("AzureArcKubernetes"),
},
NetworkFunctionType: pulumi.String("ContainerizedNetworkFunction"),
},
PublisherName: pulumi.String("TestPublisher"),
ResourceGroupName: pulumi.String("rg"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersion;
import com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var networkFunctionDefinitionVersion = new NetworkFunctionDefinitionVersion("networkFunctionDefinitionVersion", NetworkFunctionDefinitionVersionArgs.builder()
.location("eastus")
.networkFunctionDefinitionGroupName("TestNetworkFunctionDefinitionGroupName")
.networkFunctionDefinitionVersionName("1.0.0")
.properties(ContainerizedNetworkFunctionDefinitionVersionArgs.builder()
.deployParameters("{\"type\":\"object\",\"properties\":{\"releaseName\":{\"type\":\"string\"},\"namespace\":{\"type\":\"string\"}}}")
.networkFunctionTemplate(AzureArcKubernetesNetworkFunctionTemplateArgs.builder()
.networkFunctionApplications(AzureArcKubernetesHelmApplicationArgs.builder()
.artifactProfile(AzureArcKubernetesArtifactProfileArgs.builder()
.artifactStore(ReferencedResourceArgs.builder()
.id("/subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore")
.build())
.helmArtifactProfile(HelmArtifactProfileArgs.builder()
.helmPackageName("fed-rbac")
.helmPackageVersionRange("~2.1.3")
.imagePullSecretsValuesPaths("global.imagePullSecrets")
.registryValuesPaths("global.registry.docker.repoPath")
.build())
.build())
.artifactType("HelmPackage")
.dependsOnProfile(DependsOnProfileArgs.builder()
.installDependsOn()
.uninstallDependsOn()
.updateDependsOn()
.build())
.deployParametersMappingRuleProfile(AzureArcKubernetesDeployMappingRuleProfileArgs.builder()
.applicationEnablement("Enabled")
.helmMappingRuleProfile(HelmMappingRuleProfileArgs.builder()
.helmPackageVersion("2.1.3")
.options(HelmMappingRuleProfileOptionsArgs.builder()
.installOptions(HelmInstallOptionsArgs.builder()
.atomic("true")
.timeout("30")
.wait("true")
.build())
.upgradeOptions(HelmUpgradeOptionsArgs.builder()
.atomic("true")
.timeout("30")
.wait("true")
.build())
.build())
.releaseName("{deployParameters.releaseName}")
.releaseNamespace("{deployParameters.namesapce}")
.values("")
.build())
.build())
.name("fedrbac")
.build())
.nfviType("AzureArcKubernetes")
.build())
.networkFunctionType("ContainerizedNetworkFunction")
.build())
.publisherName("TestPublisher")
.resourceGroupName("rg")
.build());
}
}

Create or update a network function definition version resource for AzureCore VNF

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var networkFunctionDefinitionVersion = new AzureNative.HybridNetwork.NetworkFunctionDefinitionVersion("networkFunctionDefinitionVersion", new()
{
Location = "eastus",
NetworkFunctionDefinitionGroupName = "TestNetworkFunctionDefinitionGroupName",
NetworkFunctionDefinitionVersionName = "1.0.0",
Properties = new AzureNative.HybridNetwork.Inputs.VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs
{
DeployParameters = "{\"virtualMachineName\":{\"type\":\"string\"},\"cpuCores\":{\"type\":\"int\"},\"memorySizeGB\":{\"type\":\"int\"},\"cloudServicesNetworkAttachment\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]},\"networkAttachments\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]}},\"storageProfile\":{\"type\":\"object\",\"properties\":{\"osDisk\":{\"type\":\"object\",\"properties\":{\"createOption\":{\"type\":\"string\"},\"deleteOption\":{\"type\":\"string\"},\"diskSizeGB\":{\"type\":\"integer\"}},\"required\":[\"diskSizeGB\"]}},\"required\":[\"osDisk\"]},\"sshPublicKeys\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"keyData\":{\"type\":\"string\"}},\"required\":[\"keyData\"]}},\"userData\":{\"type\":\"string\"},\"adminUsername\":{\"type\":\"string\"},\"bootMethod\":{\"type\":\"string\",\"default\":\"UEFI\",\"enum\":[\"UEFI\",\"BIOS\"]},\"isolateEmulatorThread\":{\"type\":\"string\"},\"virtioInterface\":{\"type\":\"string\"},\"placementHints\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hintType\":{\"type\":\"string\",\"enum\":[\"Affinity\",\"AntiAffinity\"]},\"resourceId\":{\"type\":\"string\"},\"schedulingExecution\":{\"type\":\"string\",\"enum\":[\"Soft\",\"Hard\"]},\"scope\":{\"type\":\"string\"}},\"required\":[\"hintType\",\"schedulingExecution\",\"resourceId\",\"scope\"]}}}",
Description = "test NFDV for AzureCore",
NetworkFunctionTemplate = new AzureNative.HybridNetwork.Inputs.AzureCoreNetworkFunctionTemplateArgs
{
NetworkFunctionApplications =
{
new AzureNative.HybridNetwork.Inputs.AzureCoreNetworkFunctionVhdApplicationArgs
{
ArtifactProfile = new AzureNative.HybridNetwork.Inputs.AzureCoreVhdImageArtifactProfileArgs
{
ArtifactStore = new AzureNative.HybridNetwork.Inputs.ReferencedResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore",
},
VhdArtifactProfile = new AzureNative.HybridNetwork.Inputs.VhdImageArtifactProfileArgs
{
VhdName = "test-image",
VhdVersion = "1-0-0",
},
},
ArtifactType = "VhdImageFile",
DependsOnProfile = new AzureNative.HybridNetwork.Inputs.DependsOnProfileArgs
{
InstallDependsOn = new() { },
UninstallDependsOn = new() { },
UpdateDependsOn = new() { },
},
DeployParametersMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.AzureCoreVhdImageDeployMappingRuleProfileArgs
{
ApplicationEnablement = AzureNative.HybridNetwork.ApplicationEnablement.Unknown,
VhdImageMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.VhdImageMappingRuleProfileArgs
{
UserConfiguration = "",
},
},
Name = "testImageRole",
},
new AzureNative.HybridNetwork.Inputs.AzureCoreNetworkFunctionArmTemplateApplicationArgs
{
ArtifactProfile = new AzureNative.HybridNetwork.Inputs.AzureCoreArmTemplateArtifactProfileArgs
{
ArtifactStore = new AzureNative.HybridNetwork.Inputs.ReferencedResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore",
},
TemplateArtifactProfile = new AzureNative.HybridNetwork.Inputs.ArmTemplateArtifactProfileArgs
{
TemplateName = "test-template",
TemplateVersion = "1.0.0",
},
},
ArtifactType = "ArmTemplate",
DependsOnProfile = new AzureNative.HybridNetwork.Inputs.DependsOnProfileArgs
{
InstallDependsOn = new[]
{
"testImageRole",
},
UninstallDependsOn = new[]
{
"testImageRole",
},
UpdateDependsOn = new[]
{
"testImageRole",
},
},
DeployParametersMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.AzureCoreArmTemplateDeployMappingRuleProfileArgs
{
ApplicationEnablement = AzureNative.HybridNetwork.ApplicationEnablement.Unknown,
TemplateMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.ArmTemplateMappingRuleProfileArgs
{
TemplateParameters = "{\"virtualMachineName\":\"{deployParameters.virtualMachineName}\",\"cpuCores\":\"{deployParameters.cpuCores}\",\"memorySizeGB\":\"{deployParameters.memorySizeGB}\",\"cloudServicesNetworkAttachment\":\"{deployParameters.cloudServicesNetworkAttachment}\",\"networkAttachments\":\"{deployParameters.networkAttachments}\",\"sshPublicKeys\":\"{deployParameters.sshPublicKeys}\",\"storageProfile\":\"{deployParameters.storageProfile}\",\"isolateEmulatorThread\":\"{deployParameters.isolateEmulatorThread}\",\"virtioInterface\":\"{deployParameters.virtioInterface}\",\"userData\":\"{deployParameters.userData}\",\"adminUsername\":\"{deployParameters.adminUsername}\",\"bootMethod\":\"{deployParameters.bootMethod}\",\"placementHints\":\"{deployParameters.placementHints}\"}",
},
},
Name = "testTemplateRole",
},
},
NfviType = "AzureCore",
},
NetworkFunctionType = "VirtualNetworkFunction",
},
PublisherName = "TestPublisher",
ResourceGroupName = "rg",
});
});
package main
import (
hybridnetwork "github.com/pulumi/pulumi-azure-native-sdk/hybridnetwork/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hybridnetwork.NewNetworkFunctionDefinitionVersion(ctx, "networkFunctionDefinitionVersion", &hybridnetwork.NetworkFunctionDefinitionVersionArgs{
Location: pulumi.String("eastus"),
NetworkFunctionDefinitionGroupName: pulumi.String("TestNetworkFunctionDefinitionGroupName"),
NetworkFunctionDefinitionVersionName: pulumi.String("1.0.0"),
Properties: &hybridnetwork.VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs{
DeployParameters: pulumi.String("{\"virtualMachineName\":{\"type\":\"string\"},\"cpuCores\":{\"type\":\"int\"},\"memorySizeGB\":{\"type\":\"int\"},\"cloudServicesNetworkAttachment\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]},\"networkAttachments\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]}},\"storageProfile\":{\"type\":\"object\",\"properties\":{\"osDisk\":{\"type\":\"object\",\"properties\":{\"createOption\":{\"type\":\"string\"},\"deleteOption\":{\"type\":\"string\"},\"diskSizeGB\":{\"type\":\"integer\"}},\"required\":[\"diskSizeGB\"]}},\"required\":[\"osDisk\"]},\"sshPublicKeys\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"keyData\":{\"type\":\"string\"}},\"required\":[\"keyData\"]}},\"userData\":{\"type\":\"string\"},\"adminUsername\":{\"type\":\"string\"},\"bootMethod\":{\"type\":\"string\",\"default\":\"UEFI\",\"enum\":[\"UEFI\",\"BIOS\"]},\"isolateEmulatorThread\":{\"type\":\"string\"},\"virtioInterface\":{\"type\":\"string\"},\"placementHints\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hintType\":{\"type\":\"string\",\"enum\":[\"Affinity\",\"AntiAffinity\"]},\"resourceId\":{\"type\":\"string\"},\"schedulingExecution\":{\"type\":\"string\",\"enum\":[\"Soft\",\"Hard\"]},\"scope\":{\"type\":\"string\"}},\"required\":[\"hintType\",\"schedulingExecution\",\"resourceId\",\"scope\"]}}}"),
Description: pulumi.String("test NFDV for AzureCore"),
NetworkFunctionTemplate: hybridnetwork.AzureCoreNetworkFunctionTemplate{
NetworkFunctionApplications: []interface{}{
hybridnetwork.AzureCoreNetworkFunctionVhdApplication{
ArtifactProfile: hybridnetwork.AzureCoreVhdImageArtifactProfile{
ArtifactStore: hybridnetwork.ReferencedResource{
Id: "/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore",
},
VhdArtifactProfile: hybridnetwork.VhdImageArtifactProfile{
VhdName: "test-image",
VhdVersion: "1-0-0",
},
},
ArtifactType: "VhdImageFile",
DependsOnProfile: hybridnetwork.DependsOnProfile{
InstallDependsOn: []interface{}{},
UninstallDependsOn: []interface{}{},
UpdateDependsOn: []interface{}{},
},
DeployParametersMappingRuleProfile: hybridnetwork.AzureCoreVhdImageDeployMappingRuleProfile{
ApplicationEnablement: hybridnetwork.ApplicationEnablementUnknown,
VhdImageMappingRuleProfile: hybridnetwork.VhdImageMappingRuleProfile{
UserConfiguration: "",
},
},
Name: "testImageRole",
},
hybridnetwork.AzureCoreNetworkFunctionArmTemplateApplication{
ArtifactProfile: hybridnetwork.AzureCoreArmTemplateArtifactProfile{
ArtifactStore: hybridnetwork.ReferencedResource{
Id: "/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore",
},
TemplateArtifactProfile: hybridnetwork.ArmTemplateArtifactProfile{
TemplateName: "test-template",
TemplateVersion: "1.0.0",
},
},
ArtifactType: "ArmTemplate",
DependsOnProfile: hybridnetwork.DependsOnProfile{
InstallDependsOn: []string{
"testImageRole",
},
UninstallDependsOn: []string{
"testImageRole",
},
UpdateDependsOn: []string{
"testImageRole",
},
},
DeployParametersMappingRuleProfile: hybridnetwork.AzureCoreArmTemplateDeployMappingRuleProfile{
ApplicationEnablement: hybridnetwork.ApplicationEnablementUnknown,
TemplateMappingRuleProfile: hybridnetwork.ArmTemplateMappingRuleProfile{
TemplateParameters: "{\"virtualMachineName\":\"{deployParameters.virtualMachineName}\",\"cpuCores\":\"{deployParameters.cpuCores}\",\"memorySizeGB\":\"{deployParameters.memorySizeGB}\",\"cloudServicesNetworkAttachment\":\"{deployParameters.cloudServicesNetworkAttachment}\",\"networkAttachments\":\"{deployParameters.networkAttachments}\",\"sshPublicKeys\":\"{deployParameters.sshPublicKeys}\",\"storageProfile\":\"{deployParameters.storageProfile}\",\"isolateEmulatorThread\":\"{deployParameters.isolateEmulatorThread}\",\"virtioInterface\":\"{deployParameters.virtioInterface}\",\"userData\":\"{deployParameters.userData}\",\"adminUsername\":\"{deployParameters.adminUsername}\",\"bootMethod\":\"{deployParameters.bootMethod}\",\"placementHints\":\"{deployParameters.placementHints}\"}",
},
},
Name: "testTemplateRole",
},
},
NfviType: "AzureCore",
},
NetworkFunctionType: pulumi.String("VirtualNetworkFunction"),
},
PublisherName: pulumi.String("TestPublisher"),
ResourceGroupName: pulumi.String("rg"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersion;
import com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var networkFunctionDefinitionVersion = new NetworkFunctionDefinitionVersion("networkFunctionDefinitionVersion", NetworkFunctionDefinitionVersionArgs.builder()
.location("eastus")
.networkFunctionDefinitionGroupName("TestNetworkFunctionDefinitionGroupName")
.networkFunctionDefinitionVersionName("1.0.0")
.properties(VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs.builder()
.deployParameters("{\"virtualMachineName\":{\"type\":\"string\"},\"cpuCores\":{\"type\":\"int\"},\"memorySizeGB\":{\"type\":\"int\"},\"cloudServicesNetworkAttachment\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]},\"networkAttachments\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]}},\"storageProfile\":{\"type\":\"object\",\"properties\":{\"osDisk\":{\"type\":\"object\",\"properties\":{\"createOption\":{\"type\":\"string\"},\"deleteOption\":{\"type\":\"string\"},\"diskSizeGB\":{\"type\":\"integer\"}},\"required\":[\"diskSizeGB\"]}},\"required\":[\"osDisk\"]},\"sshPublicKeys\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"keyData\":{\"type\":\"string\"}},\"required\":[\"keyData\"]}},\"userData\":{\"type\":\"string\"},\"adminUsername\":{\"type\":\"string\"},\"bootMethod\":{\"type\":\"string\",\"default\":\"UEFI\",\"enum\":[\"UEFI\",\"BIOS\"]},\"isolateEmulatorThread\":{\"type\":\"string\"},\"virtioInterface\":{\"type\":\"string\"},\"placementHints\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hintType\":{\"type\":\"string\",\"enum\":[\"Affinity\",\"AntiAffinity\"]},\"resourceId\":{\"type\":\"string\"},\"schedulingExecution\":{\"type\":\"string\",\"enum\":[\"Soft\",\"Hard\"]},\"scope\":{\"type\":\"string\"}},\"required\":[\"hintType\",\"schedulingExecution\",\"resourceId\",\"scope\"]}}}")
.description("test NFDV for AzureCore")
.networkFunctionTemplate(AzureCoreNetworkFunctionTemplateArgs.builder()
.networkFunctionApplications(
AzureCoreNetworkFunctionArmTemplateApplicationArgs.builder()
.artifactProfile(AzureCoreArmTemplateArtifactProfileArgs.builder()
.artifactStore(ReferencedResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore")
.build())
.vhdArtifactProfile(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.build())
.artifactType("VhdImageFile")
.dependsOnProfile(DependsOnProfileArgs.builder()
.installDependsOn()
.uninstallDependsOn()
.updateDependsOn()
.build())
.deployParametersMappingRuleProfile(AzureCoreArmTemplateDeployMappingRuleProfileArgs.builder()
.applicationEnablement("Unknown")
.vhdImageMappingRuleProfile(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.build())
.name("testImageRole")
.build(),
AzureCoreNetworkFunctionArmTemplateApplicationArgs.builder()
.artifactProfile(AzureCoreArmTemplateArtifactProfileArgs.builder()
.artifactStore(ReferencedResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore")
.build())
.templateArtifactProfile(ArmTemplateArtifactProfileArgs.builder()
.templateName("test-template")
.templateVersion("1.0.0")
.build())
.build())
.artifactType("ArmTemplate")
.dependsOnProfile(DependsOnProfileArgs.builder()
.installDependsOn("testImageRole")
.uninstallDependsOn("testImageRole")
.updateDependsOn("testImageRole")
.build())
.deployParametersMappingRuleProfile(AzureCoreArmTemplateDeployMappingRuleProfileArgs.builder()
.applicationEnablement("Unknown")
.templateMappingRuleProfile(ArmTemplateMappingRuleProfileArgs.builder()
.templateParameters("{\"virtualMachineName\":\"{deployParameters.virtualMachineName}\",\"cpuCores\":\"{deployParameters.cpuCores}\",\"memorySizeGB\":\"{deployParameters.memorySizeGB}\",\"cloudServicesNetworkAttachment\":\"{deployParameters.cloudServicesNetworkAttachment}\",\"networkAttachments\":\"{deployParameters.networkAttachments}\",\"sshPublicKeys\":\"{deployParameters.sshPublicKeys}\",\"storageProfile\":\"{deployParameters.storageProfile}\",\"isolateEmulatorThread\":\"{deployParameters.isolateEmulatorThread}\",\"virtioInterface\":\"{deployParameters.virtioInterface}\",\"userData\":\"{deployParameters.userData}\",\"adminUsername\":\"{deployParameters.adminUsername}\",\"bootMethod\":\"{deployParameters.bootMethod}\",\"placementHints\":\"{deployParameters.placementHints}\"}")
.build())
.build())
.name("testTemplateRole")
.build())
.nfviType("AzureCore")
.build())
.networkFunctionType("VirtualNetworkFunction")
.build())
.publisherName("TestPublisher")
.resourceGroupName("rg")
.build());
}
}

Create or update a network function definition version resource for AzureOperatorNexus VNF

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var networkFunctionDefinitionVersion = new AzureNative.HybridNetwork.NetworkFunctionDefinitionVersion("networkFunctionDefinitionVersion", new()
{
Location = "eastus",
NetworkFunctionDefinitionGroupName = "TestNetworkFunctionDefinitionGroupName",
NetworkFunctionDefinitionVersionName = "1.0.0",
Properties = new AzureNative.HybridNetwork.Inputs.VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs
{
DeployParameters = "{\"virtualMachineName\":{\"type\":\"string\"},\"extendedLocationName\":{\"type\":\"string\"},\"cpuCores\":{\"type\":\"int\"},\"memorySizeGB\":{\"type\":\"int\"},\"cloudServicesNetworkAttachment\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]},\"networkAttachments\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]}},\"storageProfile\":{\"type\":\"object\",\"properties\":{\"osDisk\":{\"type\":\"object\",\"properties\":{\"createOption\":{\"type\":\"string\"},\"deleteOption\":{\"type\":\"string\"},\"diskSizeGB\":{\"type\":\"integer\"}},\"required\":[\"diskSizeGB\"]}},\"required\":[\"osDisk\"]},\"sshPublicKeys\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"keyData\":{\"type\":\"string\"}},\"required\":[\"keyData\"]}},\"userData\":{\"type\":\"string\"},\"adminUsername\":{\"type\":\"string\"},\"bootMethod\":{\"type\":\"string\",\"default\":\"UEFI\",\"enum\":[\"UEFI\",\"BIOS\"]},\"isolateEmulatorThread\":{\"type\":\"string\"},\"virtioInterface\":{\"type\":\"string\"},\"placementHints\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hintType\":{\"type\":\"string\",\"enum\":[\"Affinity\",\"AntiAffinity\"]},\"resourceId\":{\"type\":\"string\"},\"schedulingExecution\":{\"type\":\"string\",\"enum\":[\"Soft\",\"Hard\"]},\"scope\":{\"type\":\"string\"}},\"required\":[\"hintType\",\"schedulingExecution\",\"resourceId\",\"scope\"]}}}",
Description = "test NFDV for AzureOperatorNexus",
NetworkFunctionTemplate = new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusNetworkFunctionTemplateArgs
{
NetworkFunctionApplications =
{
new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusNetworkFunctionImageApplicationArgs
{
ArtifactProfile = new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusImageArtifactProfileArgs
{
ArtifactStore = new AzureNative.HybridNetwork.Inputs.ReferencedResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore",
},
ImageArtifactProfile = new AzureNative.HybridNetwork.Inputs.ImageArtifactProfileArgs
{
ImageName = "test-image",
ImageVersion = "1.0.0",
},
},
ArtifactType = "ImageFile",
DependsOnProfile = new AzureNative.HybridNetwork.Inputs.DependsOnProfileArgs
{
InstallDependsOn = new() { },
UninstallDependsOn = new() { },
UpdateDependsOn = new() { },
},
DeployParametersMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusImageDeployMappingRuleProfileArgs
{
ApplicationEnablement = AzureNative.HybridNetwork.ApplicationEnablement.Unknown,
ImageMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.ImageMappingRuleProfileArgs
{
UserConfiguration = "",
},
},
Name = "testImageRole",
},
new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusNetworkFunctionArmTemplateApplicationArgs
{
ArtifactProfile = new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusArmTemplateArtifactProfileArgs
{
ArtifactStore = new AzureNative.HybridNetwork.Inputs.ReferencedResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore",
},
TemplateArtifactProfile = new AzureNative.HybridNetwork.Inputs.ArmTemplateArtifactProfileArgs
{
TemplateName = "test-template",
TemplateVersion = "1.0.0",
},
},
ArtifactType = "ArmTemplate",
DependsOnProfile = new AzureNative.HybridNetwork.Inputs.DependsOnProfileArgs
{
InstallDependsOn = new[]
{
"testImageRole",
},
UninstallDependsOn = new[]
{
"testImageRole",
},
UpdateDependsOn = new[]
{
"testImageRole",
},
},
DeployParametersMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusArmTemplateDeployMappingRuleProfileArgs
{
ApplicationEnablement = AzureNative.HybridNetwork.ApplicationEnablement.Unknown,
TemplateMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.ArmTemplateMappingRuleProfileArgs
{
TemplateParameters = "{\"virtualMachineName\":\"{deployParameters.virtualMachineName}\",\"extendedLocationName\":\"{deployParameters.extendedLocationName}\",\"cpuCores\":\"{deployParameters.cpuCores}\",\"memorySizeGB\":\"{deployParameters.memorySizeGB}\",\"cloudServicesNetworkAttachment\":\"{deployParameters.cloudServicesNetworkAttachment}\",\"networkAttachments\":\"{deployParameters.networkAttachments}\",\"sshPublicKeys\":\"{deployParameters.sshPublicKeys}\",\"storageProfile\":\"{deployParameters.storageProfile}\",\"isolateEmulatorThread\":\"{deployParameters.isolateEmulatorThread}\",\"virtioInterface\":\"{deployParameters.virtioInterface}\",\"userData\":\"{deployParameters.userData}\",\"adminUsername\":\"{deployParameters.adminUsername}\",\"bootMethod\":\"{deployParameters.bootMethod}\",\"placementHints\":\"{deployParameters.placementHints}\"}",
},
},
Name = "testTemplateRole",
},
},
NfviType = "AzureOperatorNexus",
},
NetworkFunctionType = "VirtualNetworkFunction",
},
PublisherName = "TestPublisher",
ResourceGroupName = "rg",
});
});
package main
import (
hybridnetwork "github.com/pulumi/pulumi-azure-native-sdk/hybridnetwork/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := hybridnetwork.NewNetworkFunctionDefinitionVersion(ctx, "networkFunctionDefinitionVersion", &hybridnetwork.NetworkFunctionDefinitionVersionArgs{
Location: pulumi.String("eastus"),
NetworkFunctionDefinitionGroupName: pulumi.String("TestNetworkFunctionDefinitionGroupName"),
NetworkFunctionDefinitionVersionName: pulumi.String("1.0.0"),
Properties: &hybridnetwork.VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs{
DeployParameters: pulumi.String("{\"virtualMachineName\":{\"type\":\"string\"},\"extendedLocationName\":{\"type\":\"string\"},\"cpuCores\":{\"type\":\"int\"},\"memorySizeGB\":{\"type\":\"int\"},\"cloudServicesNetworkAttachment\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]},\"networkAttachments\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]}},\"storageProfile\":{\"type\":\"object\",\"properties\":{\"osDisk\":{\"type\":\"object\",\"properties\":{\"createOption\":{\"type\":\"string\"},\"deleteOption\":{\"type\":\"string\"},\"diskSizeGB\":{\"type\":\"integer\"}},\"required\":[\"diskSizeGB\"]}},\"required\":[\"osDisk\"]},\"sshPublicKeys\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"keyData\":{\"type\":\"string\"}},\"required\":[\"keyData\"]}},\"userData\":{\"type\":\"string\"},\"adminUsername\":{\"type\":\"string\"},\"bootMethod\":{\"type\":\"string\",\"default\":\"UEFI\",\"enum\":[\"UEFI\",\"BIOS\"]},\"isolateEmulatorThread\":{\"type\":\"string\"},\"virtioInterface\":{\"type\":\"string\"},\"placementHints\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hintType\":{\"type\":\"string\",\"enum\":[\"Affinity\",\"AntiAffinity\"]},\"resourceId\":{\"type\":\"string\"},\"schedulingExecution\":{\"type\":\"string\",\"enum\":[\"Soft\",\"Hard\"]},\"scope\":{\"type\":\"string\"}},\"required\":[\"hintType\",\"schedulingExecution\",\"resourceId\",\"scope\"]}}}"),
Description: pulumi.String("test NFDV for AzureOperatorNexus"),
NetworkFunctionTemplate: hybridnetwork.AzureOperatorNexusNetworkFunctionTemplate{
NetworkFunctionApplications: []interface{}{
hybridnetwork.AzureOperatorNexusNetworkFunctionImageApplication{
ArtifactProfile: hybridnetwork.AzureOperatorNexusImageArtifactProfile{
ArtifactStore: hybridnetwork.ReferencedResource{
Id: "/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore",
},
ImageArtifactProfile: hybridnetwork.ImageArtifactProfile{
ImageName: "test-image",
ImageVersion: "1.0.0",
},
},
ArtifactType: "ImageFile",
DependsOnProfile: hybridnetwork.DependsOnProfile{
InstallDependsOn: []interface{}{},
UninstallDependsOn: []interface{}{},
UpdateDependsOn: []interface{}{},
},
DeployParametersMappingRuleProfile: hybridnetwork.AzureOperatorNexusImageDeployMappingRuleProfile{
ApplicationEnablement: hybridnetwork.ApplicationEnablementUnknown,
ImageMappingRuleProfile: hybridnetwork.ImageMappingRuleProfile{
UserConfiguration: "",
},
},
Name: "testImageRole",
},
hybridnetwork.AzureOperatorNexusNetworkFunctionArmTemplateApplication{
ArtifactProfile: hybridnetwork.AzureOperatorNexusArmTemplateArtifactProfile{
ArtifactStore: hybridnetwork.ReferencedResource{
Id: "/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore",
},
TemplateArtifactProfile: hybridnetwork.ArmTemplateArtifactProfile{
TemplateName: "test-template",
TemplateVersion: "1.0.0",
},
},
ArtifactType: "ArmTemplate",
DependsOnProfile: hybridnetwork.DependsOnProfile{
InstallDependsOn: []string{
"testImageRole",
},
UninstallDependsOn: []string{
"testImageRole",
},
UpdateDependsOn: []string{
"testImageRole",
},
},
DeployParametersMappingRuleProfile: hybridnetwork.AzureOperatorNexusArmTemplateDeployMappingRuleProfile{
ApplicationEnablement: hybridnetwork.ApplicationEnablementUnknown,
TemplateMappingRuleProfile: hybridnetwork.ArmTemplateMappingRuleProfile{
TemplateParameters: "{\"virtualMachineName\":\"{deployParameters.virtualMachineName}\",\"extendedLocationName\":\"{deployParameters.extendedLocationName}\",\"cpuCores\":\"{deployParameters.cpuCores}\",\"memorySizeGB\":\"{deployParameters.memorySizeGB}\",\"cloudServicesNetworkAttachment\":\"{deployParameters.cloudServicesNetworkAttachment}\",\"networkAttachments\":\"{deployParameters.networkAttachments}\",\"sshPublicKeys\":\"{deployParameters.sshPublicKeys}\",\"storageProfile\":\"{deployParameters.storageProfile}\",\"isolateEmulatorThread\":\"{deployParameters.isolateEmulatorThread}\",\"virtioInterface\":\"{deployParameters.virtioInterface}\",\"userData\":\"{deployParameters.userData}\",\"adminUsername\":\"{deployParameters.adminUsername}\",\"bootMethod\":\"{deployParameters.bootMethod}\",\"placementHints\":\"{deployParameters.placementHints}\"}",
},
},
Name: "testTemplateRole",
},
},
NfviType: "AzureOperatorNexus",
},
NetworkFunctionType: pulumi.String("VirtualNetworkFunction"),
},
PublisherName: pulumi.String("TestPublisher"),
ResourceGroupName: pulumi.String("rg"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersion;
import com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var networkFunctionDefinitionVersion = new NetworkFunctionDefinitionVersion("networkFunctionDefinitionVersion", NetworkFunctionDefinitionVersionArgs.builder()
.location("eastus")
.networkFunctionDefinitionGroupName("TestNetworkFunctionDefinitionGroupName")
.networkFunctionDefinitionVersionName("1.0.0")
.properties(VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs.builder()
.deployParameters("{\"virtualMachineName\":{\"type\":\"string\"},\"extendedLocationName\":{\"type\":\"string\"},\"cpuCores\":{\"type\":\"int\"},\"memorySizeGB\":{\"type\":\"int\"},\"cloudServicesNetworkAttachment\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]},\"networkAttachments\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]}},\"storageProfile\":{\"type\":\"object\",\"properties\":{\"osDisk\":{\"type\":\"object\",\"properties\":{\"createOption\":{\"type\":\"string\"},\"deleteOption\":{\"type\":\"string\"},\"diskSizeGB\":{\"type\":\"integer\"}},\"required\":[\"diskSizeGB\"]}},\"required\":[\"osDisk\"]},\"sshPublicKeys\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"keyData\":{\"type\":\"string\"}},\"required\":[\"keyData\"]}},\"userData\":{\"type\":\"string\"},\"adminUsername\":{\"type\":\"string\"},\"bootMethod\":{\"type\":\"string\",\"default\":\"UEFI\",\"enum\":[\"UEFI\",\"BIOS\"]},\"isolateEmulatorThread\":{\"type\":\"string\"},\"virtioInterface\":{\"type\":\"string\"},\"placementHints\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hintType\":{\"type\":\"string\",\"enum\":[\"Affinity\",\"AntiAffinity\"]},\"resourceId\":{\"type\":\"string\"},\"schedulingExecution\":{\"type\":\"string\",\"enum\":[\"Soft\",\"Hard\"]},\"scope\":{\"type\":\"string\"}},\"required\":[\"hintType\",\"schedulingExecution\",\"resourceId\",\"scope\"]}}}")
.description("test NFDV for AzureOperatorNexus")
.networkFunctionTemplate(AzureOperatorNexusNetworkFunctionTemplateArgs.builder()
.networkFunctionApplications(
AzureOperatorNexusNetworkFunctionArmTemplateApplicationArgs.builder()
.artifactProfile(AzureOperatorNexusArmTemplateArtifactProfileArgs.builder()
.artifactStore(ReferencedResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore")
.build())
.imageArtifactProfile(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.build())
.artifactType("ImageFile")
.dependsOnProfile(DependsOnProfileArgs.builder()
.installDependsOn()
.uninstallDependsOn()
.updateDependsOn()
.build())
.deployParametersMappingRuleProfile(AzureOperatorNexusArmTemplateDeployMappingRuleProfileArgs.builder()
.applicationEnablement("Unknown")
.imageMappingRuleProfile(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.build())
.name("testImageRole")
.build(),
AzureOperatorNexusNetworkFunctionArmTemplateApplicationArgs.builder()
.artifactProfile(AzureOperatorNexusArmTemplateArtifactProfileArgs.builder()
.artifactStore(ReferencedResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore")
.build())
.templateArtifactProfile(ArmTemplateArtifactProfileArgs.builder()
.templateName("test-template")
.templateVersion("1.0.0")
.build())
.build())
.artifactType("ArmTemplate")
.dependsOnProfile(DependsOnProfileArgs.builder()
.installDependsOn("testImageRole")
.uninstallDependsOn("testImageRole")
.updateDependsOn("testImageRole")
.build())
.deployParametersMappingRuleProfile(AzureOperatorNexusArmTemplateDeployMappingRuleProfileArgs.builder()
.applicationEnablement("Unknown")
.templateMappingRuleProfile(ArmTemplateMappingRuleProfileArgs.builder()
.templateParameters("{\"virtualMachineName\":\"{deployParameters.virtualMachineName}\",\"extendedLocationName\":\"{deployParameters.extendedLocationName}\",\"cpuCores\":\"{deployParameters.cpuCores}\",\"memorySizeGB\":\"{deployParameters.memorySizeGB}\",\"cloudServicesNetworkAttachment\":\"{deployParameters.cloudServicesNetworkAttachment}\",\"networkAttachments\":\"{deployParameters.networkAttachments}\",\"sshPublicKeys\":\"{deployParameters.sshPublicKeys}\",\"storageProfile\":\"{deployParameters.storageProfile}\",\"isolateEmulatorThread\":\"{deployParameters.isolateEmulatorThread}\",\"virtioInterface\":\"{deployParameters.virtioInterface}\",\"userData\":\"{deployParameters.userData}\",\"adminUsername\":\"{deployParameters.adminUsername}\",\"bootMethod\":\"{deployParameters.bootMethod}\",\"placementHints\":\"{deployParameters.placementHints}\"}")
.build())
.build())
.name("testTemplateRole")
.build())
.nfviType("AzureOperatorNexus")
.build())
.networkFunctionType("VirtualNetworkFunction")
.build())
.publisherName("TestPublisher")
.resourceGroupName("rg")
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:hybridnetwork:NetworkFunctionDefinitionVersion TestVersion /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridNetwork/publishers/{publisherName}/networkFunctionDefinitionGroups/{networkFunctionDefinitionGroupName}/networkFunctionDefinitionVersions/{networkFunctionDefinitionVersionName}

Constructors

Link copied to clipboard
constructor(location: Output<String>? = null, networkFunctionDefinitionGroupName: Output<String>? = null, networkFunctionDefinitionVersionName: Output<String>? = null, properties: Output<Either<ContainerizedNetworkFunctionDefinitionVersionArgs, VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs>>? = null, publisherName: Output<String>? = null, resourceGroupName: Output<String>? = null, tags: Output<Map<String, String>>? = null)

Properties

Link copied to clipboard
val location: Output<String>? = null

The geo-location where the resource lives

Link copied to clipboard

The name of the network function definition group.

Link copied to clipboard

The name of the network function definition version. The name should conform to the SemVer 2.0.0 specification: https://semver.org/spec/v2.0.0.html.

Link copied to clipboard

Network function definition version properties.

Link copied to clipboard
val publisherName: Output<String>? = null

The name of the publisher.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group. The name is case insensitive.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Resource tags.

Functions

Link copied to clipboard
open override fun toJava(): NetworkFunctionDefinitionVersionArgs