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. Azure REST API version: 2023-09-01.

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 = "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 = "waitValue",
},
UpgradeOptions = new AzureNative.HybridNetwork.Inputs.HelmUpgradeOptionsArgs
{
Atomic = "true",
Timeout = "30",
Wait = "waitValue",
},
},
ReleaseName = "{deployParameters.releaseName}",
ReleaseNamespace = "{deployParameters.namesapce}",
Values = "",
},
},
Name = "fedrbac",
},
},
NfviType = "AzureArcKubernetes",
},
NetworkFunctionType = "ContainerizedNetworkFunction",
},
PublisherName = "TestPublisher",
ResourceGroupName = "rg",
});
});
package main
import (
"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.ContainerizedNetworkFunctionDefinitionVersion{
DeployParameters: "{\"type\":\"object\",\"properties\":{\"releaseName\":{\"type\":\"string\"},\"namespace\":{\"type\":\"string\"}}}",
NetworkFunctionTemplate: hybridnetwork.AzureArcKubernetesNetworkFunctionTemplate{
NetworkFunctionApplications: []hybridnetwork.AzureArcKubernetesHelmApplication{
{
ArtifactProfile: {
ArtifactStore: {
Id: "/subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore",
},
HelmArtifactProfile: {
HelmPackageName: "fed-rbac",
HelmPackageVersionRange: "~2.1.3",
ImagePullSecretsValuesPaths: []string{
"global.imagePullSecrets",
},
RegistryValuesPaths: []string{
"global.registry.docker.repoPath",
},
},
},
ArtifactType: "HelmPackage",
DependsOnProfile: {
InstallDependsOn: []interface{}{},
UninstallDependsOn: []interface{}{},
UpdateDependsOn: []interface{}{},
},
DeployParametersMappingRuleProfile: {
ApplicationEnablement: "Enabled",
HelmMappingRuleProfile: {
HelmPackageVersion: "2.1.3",
Options: {
InstallOptions: {
Atomic: "true",
Timeout: "30",
Wait: "waitValue",
},
UpgradeOptions: {
Atomic: "true",
Timeout: "30",
Wait: "waitValue",
},
},
ReleaseName: "{deployParameters.releaseName}",
ReleaseNamespace: "{deployParameters.namesapce}",
Values: "",
},
},
Name: "fedrbac",
},
},
NfviType: "AzureArcKubernetes",
},
NetworkFunctionType: "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(Map.ofEntries(
Map.entry("deployParameters", "{\"type\":\"object\",\"properties\":{\"releaseName\":{\"type\":\"string\"},\"namespace\":{\"type\":\"string\"}}}"),
Map.entry("networkFunctionTemplate", Map.ofEntries(
Map.entry("networkFunctionApplications", Map.ofEntries(
Map.entry("artifactProfile", Map.ofEntries(
Map.entry("artifactStore", Map.of("id", "/subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore")),
Map.entry("helmArtifactProfile", Map.ofEntries(
Map.entry("helmPackageName", "fed-rbac"),
Map.entry("helmPackageVersionRange", "~2.1.3"),
Map.entry("imagePullSecretsValuesPaths", "global.imagePullSecrets"),
Map.entry("registryValuesPaths", "global.registry.docker.repoPath")
))
)),
Map.entry("artifactType", "HelmPackage"),
Map.entry("dependsOnProfile", Map.ofEntries(
Map.entry("installDependsOn", ),
Map.entry("uninstallDependsOn", ),
Map.entry("updateDependsOn", )
)),
Map.entry("deployParametersMappingRuleProfile", Map.ofEntries(
Map.entry("applicationEnablement", "Enabled"),
Map.entry("helmMappingRuleProfile", Map.ofEntries(
Map.entry("helmPackageVersion", "2.1.3"),
Map.entry("options", Map.ofEntries(
Map.entry("installOptions", Map.ofEntries(
Map.entry("atomic", "true"),
Map.entry("timeout", "30"),
Map.entry("wait", "waitValue")
)),
Map.entry("upgradeOptions", Map.ofEntries(
Map.entry("atomic", "true"),
Map.entry("timeout", "30"),
Map.entry("wait", "waitValue")
))
)),
Map.entry("releaseName", "{deployParameters.releaseName}"),
Map.entry("releaseNamespace", "{deployParameters.namesapce}"),
Map.entry("values", "")
))
)),
Map.entry("name", "fedrbac")
)),
Map.entry("nfviType", "AzureArcKubernetes")
)),
Map.entry("networkFunctionType", "ContainerizedNetworkFunction")
))
.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 = "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 = "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 (
"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.VirtualNetworkFunctionNetworkFunctionDefinitionVersion{
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: 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: "Unknown",
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: "Unknown",
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: "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(Map.ofEntries(
Map.entry("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\"]}}}"),
Map.entry("description", "test NFDV for AzureCore"),
Map.entry("networkFunctionTemplate", Map.ofEntries(
Map.entry("networkFunctionApplications",
Map.ofEntries(
Map.entry("artifactProfile", Map.ofEntries(
Map.entry("artifactStore", Map.of("id", "/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore")),
Map.entry("vhdArtifactProfile", Map.ofEntries(
Map.entry("vhdName", "test-image"),
Map.entry("vhdVersion", "1-0-0")
))
)),
Map.entry("artifactType", "VhdImageFile"),
Map.entry("dependsOnProfile", Map.ofEntries(
Map.entry("installDependsOn", ),
Map.entry("uninstallDependsOn", ),
Map.entry("updateDependsOn", )
)),
Map.entry("deployParametersMappingRuleProfile", Map.ofEntries(
Map.entry("applicationEnablement", "Unknown"),
Map.entry("vhdImageMappingRuleProfile", Map.of("userConfiguration", ""))
)),
Map.entry("name", "testImageRole")
),
Map.ofEntries(
Map.entry("artifactProfile", Map.ofEntries(
Map.entry("artifactStore", Map.of("id", "/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore")),
Map.entry("templateArtifactProfile", Map.ofEntries(
Map.entry("templateName", "test-template"),
Map.entry("templateVersion", "1.0.0")
))
)),
Map.entry("artifactType", "ArmTemplate"),
Map.entry("dependsOnProfile", Map.ofEntries(
Map.entry("installDependsOn", "testImageRole"),
Map.entry("uninstallDependsOn", "testImageRole"),
Map.entry("updateDependsOn", "testImageRole")
)),
Map.entry("deployParametersMappingRuleProfile", Map.ofEntries(
Map.entry("applicationEnablement", "Unknown"),
Map.entry("templateMappingRuleProfile", Map.of("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}\"}"))
)),
Map.entry("name", "testTemplateRole")
)),
Map.entry("nfviType", "AzureCore")
)),
Map.entry("networkFunctionType", "VirtualNetworkFunction")
))
.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 = "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 = "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 (
"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.VirtualNetworkFunctionNetworkFunctionDefinitionVersion{
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: 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: "Unknown",
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: "Unknown",
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: "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(Map.ofEntries(
Map.entry("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\"]}}}"),
Map.entry("description", "test NFDV for AzureOperatorNexus"),
Map.entry("networkFunctionTemplate", Map.ofEntries(
Map.entry("networkFunctionApplications",
Map.ofEntries(
Map.entry("artifactProfile", Map.ofEntries(
Map.entry("artifactStore", Map.of("id", "/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore")),
Map.entry("imageArtifactProfile", Map.ofEntries(
Map.entry("imageName", "test-image"),
Map.entry("imageVersion", "1.0.0")
))
)),
Map.entry("artifactType", "ImageFile"),
Map.entry("dependsOnProfile", Map.ofEntries(
Map.entry("installDependsOn", ),
Map.entry("uninstallDependsOn", ),
Map.entry("updateDependsOn", )
)),
Map.entry("deployParametersMappingRuleProfile", Map.ofEntries(
Map.entry("applicationEnablement", "Unknown"),
Map.entry("imageMappingRuleProfile", Map.of("userConfiguration", ""))
)),
Map.entry("name", "testImageRole")
),
Map.ofEntries(
Map.entry("artifactProfile", Map.ofEntries(
Map.entry("artifactStore", Map.of("id", "/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore")),
Map.entry("templateArtifactProfile", Map.ofEntries(
Map.entry("templateName", "test-template"),
Map.entry("templateVersion", "1.0.0")
))
)),
Map.entry("artifactType", "ArmTemplate"),
Map.entry("dependsOnProfile", Map.ofEntries(
Map.entry("installDependsOn", "testImageRole"),
Map.entry("uninstallDependsOn", "testImageRole"),
Map.entry("updateDependsOn", "testImageRole")
)),
Map.entry("deployParametersMappingRuleProfile", Map.ofEntries(
Map.entry("applicationEnablement", "Unknown"),
Map.entry("templateMappingRuleProfile", Map.of("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}\"}"))
)),
Map.entry("name", "testTemplateRole")
)),
Map.entry("nfviType", "AzureOperatorNexus")
)),
Map.entry("networkFunctionType", "VirtualNetworkFunction")
))
.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
fun NetworkFunctionDefinitionVersionArgs(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)

Functions

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

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.