VendorSkusArgs

data class VendorSkusArgs(val deploymentMode: Output<Either<String, SkuDeploymentMode>>? = null, val managedApplicationParameters: Output<Any>? = null, val managedApplicationTemplate: Output<Any>? = null, val networkFunctionTemplate: Output<NetworkFunctionTemplateArgs>? = null, val networkFunctionType: Output<Either<String, NetworkFunctionType>>? = null, val preview: Output<Boolean>? = null, val skuName: Output<String>? = null, val skuType: Output<Either<String, SkuType>>? = null, val vendorName: Output<String>? = null) : ConvertibleToJava<VendorSkusArgs>

Sku sub resource. Uses Azure REST API version 2022-01-01-preview. In version 2.x of the Azure Native provider, it used API version 2022-01-01-preview.

Example Usage

Create or update the sku of vendor resource

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var vendorSkus = new AzureNative.HybridNetwork.VendorSkus("vendorSkus", new()
{
DeploymentMode = AzureNative.HybridNetwork.SkuDeploymentMode.PrivateEdgeZone,
ManagedApplicationTemplate = null,
NetworkFunctionTemplate = new AzureNative.HybridNetwork.Inputs.NetworkFunctionTemplateArgs
{
NetworkFunctionRoleConfigurations = new[]
{
new AzureNative.HybridNetwork.Inputs.NetworkFunctionRoleConfigurationArgs
{
CustomProfile = new AzureNative.HybridNetwork.Inputs.CustomProfileArgs
{
MetadataConfigurationPath = "/var/logs/network.cfg",
},
NetworkInterfaces = new[]
{
new AzureNative.HybridNetwork.Inputs.NetworkInterfaceArgs
{
IpConfigurations = new[]
{
new AzureNative.HybridNetwork.Inputs.NetworkInterfaceIPConfigurationArgs
{
Gateway = "",
IpAddress = "",
IpAllocationMethod = AzureNative.HybridNetwork.IPAllocationMethod.Dynamic,
IpVersion = AzureNative.HybridNetwork.IPVersion.IPv4,
Subnet = "",
},
},
MacAddress = "",
NetworkInterfaceName = "nic1",
VmSwitchType = AzureNative.HybridNetwork.VMSwitchType.Wan,
},
new AzureNative.HybridNetwork.Inputs.NetworkInterfaceArgs
{
IpConfigurations = new[]
{
new AzureNative.HybridNetwork.Inputs.NetworkInterfaceIPConfigurationArgs
{
Gateway = "",
IpAddress = "",
IpAllocationMethod = AzureNative.HybridNetwork.IPAllocationMethod.Dynamic,
IpVersion = AzureNative.HybridNetwork.IPVersion.IPv4,
Subnet = "",
},
},
MacAddress = "",
NetworkInterfaceName = "nic2",
VmSwitchType = AzureNative.HybridNetwork.VMSwitchType.Management,
},
},
OsProfile = new AzureNative.HybridNetwork.Inputs.OsProfileArgs
{
AdminUsername = "dummyuser",
CustomData = "base-64 encoded string of custom data",
LinuxConfiguration = new AzureNative.HybridNetwork.Inputs.LinuxConfigurationArgs
{
Ssh = new AzureNative.HybridNetwork.Inputs.SshConfigurationArgs
{
PublicKeys = new[]
{
new AzureNative.HybridNetwork.Inputs.SshPublicKeyArgs
{
KeyData = "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH",
Path = "home/user/.ssh/authorized_keys",
},
},
},
},
},
RoleName = "test",
RoleType = AzureNative.HybridNetwork.NetworkFunctionRoleConfigurationType.VirtualMachine,
StorageProfile = new AzureNative.HybridNetwork.Inputs.StorageProfileArgs
{
DataDisks = new[]
{
new AzureNative.HybridNetwork.Inputs.DataDiskArgs
{
CreateOption = AzureNative.HybridNetwork.DiskCreateOptionTypes.Empty,
DiskSizeGB = 10,
Name = "DataDisk1",
},
},
ImageReference = new AzureNative.HybridNetwork.Inputs.ImageReferenceArgs
{
Offer = "UbuntuServer",
Publisher = "Canonical",
Sku = "18.04-LTS",
Version = "18.04.201804262",
},
OsDisk = new AzureNative.HybridNetwork.Inputs.OsDiskArgs
{
DiskSizeGB = 30,
Name = "vhdName",
OsType = AzureNative.HybridNetwork.OperatingSystemTypes.Linux,
Vhd = new AzureNative.HybridNetwork.Inputs.VirtualHardDiskArgs
{
Uri = "https://contoso.net/link/vnd.vhd?sp=rl&st=2020-10-08T20:38:19Z&se=2020-12-09T19:38:00Z&sv=2019-12-12&sr=b&sig=7BM2f4yOw%3D",
},
},
},
VirtualMachineSize = AzureNative.HybridNetwork.VirtualMachineSizeTypes.Standard_D3_v2,
},
},
},
NetworkFunctionType = AzureNative.HybridNetwork.NetworkFunctionType.VirtualNetworkFunction,
Preview = true,
SkuName = "TestSku",
VendorName = "TestVendor",
});
});
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.NewVendorSkus(ctx, "vendorSkus", &hybridnetwork.VendorSkusArgs{
DeploymentMode: pulumi.String(hybridnetwork.SkuDeploymentModePrivateEdgeZone),
ManagedApplicationTemplate: pulumi.Any(map[string]interface{}{}),
NetworkFunctionTemplate: &hybridnetwork.NetworkFunctionTemplateArgs{
NetworkFunctionRoleConfigurations: hybridnetwork.NetworkFunctionRoleConfigurationArray{
&hybridnetwork.NetworkFunctionRoleConfigurationArgs{
CustomProfile: &hybridnetwork.CustomProfileArgs{
MetadataConfigurationPath: pulumi.String("/var/logs/network.cfg"),
},
NetworkInterfaces: hybridnetwork.NetworkInterfaceArray{
&hybridnetwork.NetworkInterfaceArgs{
IpConfigurations: hybridnetwork.NetworkInterfaceIPConfigurationArray{
&hybridnetwork.NetworkInterfaceIPConfigurationArgs{
Gateway: pulumi.String(""),
IpAddress: pulumi.String(""),
IpAllocationMethod: pulumi.String(hybridnetwork.IPAllocationMethodDynamic),
IpVersion: pulumi.String(hybridnetwork.IPVersionIPv4),
Subnet: pulumi.String(""),
},
},
MacAddress: pulumi.String(""),
NetworkInterfaceName: pulumi.String("nic1"),
VmSwitchType: pulumi.String(hybridnetwork.VMSwitchTypeWan),
},
&hybridnetwork.NetworkInterfaceArgs{
IpConfigurations: hybridnetwork.NetworkInterfaceIPConfigurationArray{
&hybridnetwork.NetworkInterfaceIPConfigurationArgs{
Gateway: pulumi.String(""),
IpAddress: pulumi.String(""),
IpAllocationMethod: pulumi.String(hybridnetwork.IPAllocationMethodDynamic),
IpVersion: pulumi.String(hybridnetwork.IPVersionIPv4),
Subnet: pulumi.String(""),
},
},
MacAddress: pulumi.String(""),
NetworkInterfaceName: pulumi.String("nic2"),
VmSwitchType: pulumi.String(hybridnetwork.VMSwitchTypeManagement),
},
},
OsProfile: &hybridnetwork.OsProfileArgs{
AdminUsername: pulumi.String("dummyuser"),
CustomData: pulumi.String("base-64 encoded string of custom data"),
LinuxConfiguration: &hybridnetwork.LinuxConfigurationArgs{
Ssh: &hybridnetwork.SshConfigurationArgs{
PublicKeys: hybridnetwork.SshPublicKeyArray{
&hybridnetwork.SshPublicKeyArgs{
KeyData: pulumi.String("ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH"),
Path: pulumi.String("home/user/.ssh/authorized_keys"),
},
},
},
},
},
RoleName: pulumi.String("test"),
RoleType: pulumi.String(hybridnetwork.NetworkFunctionRoleConfigurationTypeVirtualMachine),
StorageProfile: &hybridnetwork.StorageProfileArgs{
DataDisks: hybridnetwork.DataDiskArray{
&hybridnetwork.DataDiskArgs{
CreateOption: pulumi.String(hybridnetwork.DiskCreateOptionTypesEmpty),
DiskSizeGB: pulumi.Int(10),
Name: pulumi.String("DataDisk1"),
},
},
ImageReference: &hybridnetwork.ImageReferenceArgs{
Offer: pulumi.String("UbuntuServer"),
Publisher: pulumi.String("Canonical"),
Sku: pulumi.String("18.04-LTS"),
Version: pulumi.String("18.04.201804262"),
},
OsDisk: &hybridnetwork.OsDiskArgs{
DiskSizeGB: pulumi.Int(30),
Name: pulumi.String("vhdName"),
OsType: pulumi.String(hybridnetwork.OperatingSystemTypesLinux),
Vhd: &hybridnetwork.VirtualHardDiskArgs{
Uri: pulumi.String("https://contoso.net/link/vnd.vhd?sp=rl&st=2020-10-08T20:38:19Z&se=2020-12-09T19:38:00Z&sv=2019-12-12&sr=b&sig=7BM2f4yOw%3D"),
},
},
},
VirtualMachineSize: pulumi.String(hybridnetwork.VirtualMachineSizeTypes_Standard_D3_v2),
},
},
},
NetworkFunctionType: pulumi.String(hybridnetwork.NetworkFunctionTypeVirtualNetworkFunction),
Preview: pulumi.Bool(true),
SkuName: pulumi.String("TestSku"),
VendorName: pulumi.String("TestVendor"),
})
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.VendorSkus;
import com.pulumi.azurenative.hybridnetwork.VendorSkusArgs;
import com.pulumi.azurenative.hybridnetwork.inputs.NetworkFunctionTemplateArgs;
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 vendorSkus = new VendorSkus("vendorSkus", VendorSkusArgs.builder()
.deploymentMode("PrivateEdgeZone")
.managedApplicationTemplate()
.networkFunctionTemplate(NetworkFunctionTemplateArgs.builder()
.networkFunctionRoleConfigurations(NetworkFunctionRoleConfigurationArgs.builder()
.customProfile(CustomProfileArgs.builder()
.metadataConfigurationPath("/var/logs/network.cfg")
.build())
.networkInterfaces(
NetworkInterfaceArgs.builder()
.ipConfigurations(NetworkInterfaceIPConfigurationArgs.builder()
.gateway("")
.ipAddress("")
.ipAllocationMethod("Dynamic")
.ipVersion("IPv4")
.subnet("")
.build())
.macAddress("")
.networkInterfaceName("nic1")
.vmSwitchType("Wan")
.build(),
NetworkInterfaceArgs.builder()
.ipConfigurations(NetworkInterfaceIPConfigurationArgs.builder()
.gateway("")
.ipAddress("")
.ipAllocationMethod("Dynamic")
.ipVersion("IPv4")
.subnet("")
.build())
.macAddress("")
.networkInterfaceName("nic2")
.vmSwitchType("Management")
.build())
.osProfile(OsProfileArgs.builder()
.adminUsername("dummyuser")
.customData("base-64 encoded string of custom data")
.linuxConfiguration(LinuxConfigurationArgs.builder()
.ssh(SshConfigurationArgs.builder()
.publicKeys(SshPublicKeyArgs.builder()
.keyData("ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH")
.path("home/user/.ssh/authorized_keys")
.build())
.build())
.build())
.build())
.roleName("test")
.roleType("VirtualMachine")
.storageProfile(StorageProfileArgs.builder()
.dataDisks(DataDiskArgs.builder()
.createOption("Empty")
.diskSizeGB(10)
.name("DataDisk1")
.build())
.imageReference(ImageReferenceArgs.builder()
.offer("UbuntuServer")
.publisher("Canonical")
.sku("18.04-LTS")
.version("18.04.201804262")
.build())
.osDisk(OsDiskArgs.builder()
.diskSizeGB(30)
.name("vhdName")
.osType("Linux")
.vhd(VirtualHardDiskArgs.builder()
.uri("https://contoso.net/link/vnd.vhd?sp=rl&st=2020-10-08T20:38:19Z&se=2020-12-09T19:38:00Z&sv=2019-12-12&sr=b&sig=7BM2f4yOw%3D")
.build())
.build())
.build())
.virtualMachineSize("Standard_D3_v2")
.build())
.build())
.networkFunctionType("VirtualNetworkFunction")
.preview(true)
.skuName("TestSku")
.vendorName("TestVendor")
.build());
}
}

Import

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

$ pulumi import azure-native:hybridnetwork:VendorSkus TestSku /subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/vendors/{vendorName}/vendorSkus/{skuName}

Constructors

Link copied to clipboard
constructor(deploymentMode: Output<Either<String, SkuDeploymentMode>>? = null, managedApplicationParameters: Output<Any>? = null, managedApplicationTemplate: Output<Any>? = null, networkFunctionTemplate: Output<NetworkFunctionTemplateArgs>? = null, networkFunctionType: Output<Either<String, NetworkFunctionType>>? = null, preview: Output<Boolean>? = null, skuName: Output<String>? = null, skuType: Output<Either<String, SkuType>>? = null, vendorName: Output<String>? = null)

Properties

Link copied to clipboard
val deploymentMode: Output<Either<String, SkuDeploymentMode>>? = null

The sku deployment mode.

Link copied to clipboard
val managedApplicationParameters: Output<Any>? = null

The parameters for the managed application to be supplied by the vendor.

Link copied to clipboard
val managedApplicationTemplate: Output<Any>? = null

The template for the managed application deployment.

Link copied to clipboard

The template definition of the network function.

Link copied to clipboard
val networkFunctionType: Output<Either<String, NetworkFunctionType>>? = null

The network function type.

Link copied to clipboard
val preview: Output<Boolean>? = null

Indicates if the vendor sku is in preview mode.

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

The name of the sku.

Link copied to clipboard
val skuType: Output<Either<String, SkuType>>? = null

The sku type.

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

The name of the vendor.

Functions

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