VolumeGroupSapHanaArgs

data class VolumeGroupSapHanaArgs(val accountName: Output<String>? = null, val applicationIdentifier: Output<String>? = null, val groupDescription: Output<String>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val resourceGroupName: Output<String>? = null, val volumes: Output<List<VolumeGroupSapHanaVolumeArgs>>? = null) : ConvertibleToJava<VolumeGroupSapHanaArgs>

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.RandomString;
import com.pulumi.random.RandomStringArgs;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.inputs.SubnetDelegationArgs;
import com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;
import com.pulumi.azure.proximity.PlacementGroup;
import com.pulumi.azure.proximity.PlacementGroupArgs;
import com.pulumi.azure.compute.AvailabilitySet;
import com.pulumi.azure.compute.AvailabilitySetArgs;
import com.pulumi.azure.network.NetworkInterface;
import com.pulumi.azure.network.NetworkInterfaceArgs;
import com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;
import com.pulumi.azure.compute.LinuxVirtualMachine;
import com.pulumi.azure.compute.LinuxVirtualMachineArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;
import com.pulumi.azure.netapp.Account;
import com.pulumi.azure.netapp.AccountArgs;
import com.pulumi.azure.netapp.Pool;
import com.pulumi.azure.netapp.PoolArgs;
import com.pulumi.azure.netapp.VolumeGroupSapHana;
import com.pulumi.azure.netapp.VolumeGroupSapHanaArgs;
import com.pulumi.azure.netapp.inputs.VolumeGroupSapHanaVolumeArgs;
import com.pulumi.resources.CustomResourceOptions;
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 exampleRandomString = new RandomString("exampleRandomString", RandomStringArgs.builder()
.length(12)
.special(true)
.build());
final var adminUsername = "exampleadmin";
final var adminPassword = exampleRandomString.result();
var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location(var_.location())
.build());
var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.addressSpaces("10.6.0.0/16")
.build());
var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.6.2.0/24")
.delegations(SubnetDelegationArgs.builder()
.name("testdelegation")
.serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()
.name("Microsoft.Netapp/volumes")
.actions(
"Microsoft.Network/networkinterfaces/*",
"Microsoft.Network/virtualNetworks/subnets/join/action")
.build())
.build())
.build());
var example1 = new Subnet("example1", SubnetArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.6.1.0/24")
.build());
var examplePlacementGroup = new PlacementGroup("examplePlacementGroup", PlacementGroupArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.build());
var exampleAvailabilitySet = new AvailabilitySet("exampleAvailabilitySet", AvailabilitySetArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.proximityPlacementGroupId(examplePlacementGroup.id())
.build());
var exampleNetworkInterface = new NetworkInterface("exampleNetworkInterface", NetworkInterfaceArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()
.name("internal")
.subnetId(example1.id())
.privateIpAddressAllocation("Dynamic")
.build())
.build());
var exampleLinuxVirtualMachine = new LinuxVirtualMachine("exampleLinuxVirtualMachine", LinuxVirtualMachineArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.size("Standard_M8ms")
.adminUsername(adminUsername)
.adminPassword(adminPassword)
.disablePasswordAuthentication(false)
.proximityPlacementGroupId(examplePlacementGroup.id())
.availabilitySetId(exampleAvailabilitySet.id())
.networkInterfaceIds(exampleNetworkInterface.id())
.sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()
.publisher("Canonical")
.offer("UbuntuServer")
.sku("18.04-LTS")
.version("latest")
.build())
.osDisk(LinuxVirtualMachineOsDiskArgs.builder()
.storageAccountType("Standard_LRS")
.caching("ReadWrite")
.build())
.build());
var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.build(), CustomResourceOptions.builder()
.dependsOn(
exampleSubnet,
example1)
.build());
var examplePool = new Pool("examplePool", PoolArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.accountName(exampleAccount.name())
.serviceLevel("Standard")
.sizeInTb(8)
.qosType("Manual")
.build());
var exampleVolumeGroupSapHana = new VolumeGroupSapHana("exampleVolumeGroupSapHana", VolumeGroupSapHanaArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.accountName(exampleAccount.name())
.groupDescription("Test volume group")
.applicationIdentifier("TST")
.volumes(
VolumeGroupSapHanaVolumeArgs.builder()
.name(String.format("%s-netapp-volume-1", var_.prefix()))
.volumePath("my-unique-file-path-1")
.serviceLevel("Standard")
.capacityPoolId(examplePool.id())
.subnetId(exampleSubnet.id())
.proximityPlacementGroupId(examplePlacementGroup.id())
.volumeSpecName("data")
.storageQuotaInGb(1024)
.throughputInMibps(24)
.protocols("NFSv4.1")
.securityStyle("unix")
.snapshotDirectoryVisible(false)
.exportPolicyRules(VolumeGroupSapHanaVolumeExportPolicyRuleArgs.builder()
.ruleIndex(1)
.allowedClients("0.0.0.0/0")
.nfsv3Enabled(false)
.nfsv41Enabled(true)
.unixReadOnly(false)
.unixReadWrite(true)
.rootAccessEnabled(false)
.build())
.tags(Map.of("foo", "bar"))
.build(),
VolumeGroupSapHanaVolumeArgs.builder()
.name(String.format("%s-netapp-volume-2", var_.prefix()))
.volumePath("my-unique-file-path-2")
.serviceLevel("Standard")
.capacityPoolId(examplePool.id())
.subnetId(exampleSubnet.id())
.proximityPlacementGroupId(examplePlacementGroup.id())
.volumeSpecName("log")
.storageQuotaInGb(1024)
.throughputInMibps(24)
.protocols("NFSv4.1")
.securityStyle("unix")
.snapshotDirectoryVisible(false)
.exportPolicyRules(VolumeGroupSapHanaVolumeExportPolicyRuleArgs.builder()
.ruleIndex(1)
.allowedClients("0.0.0.0/0")
.nfsv3Enabled(false)
.nfsv41Enabled(true)
.unixReadOnly(false)
.unixReadWrite(true)
.rootAccessEnabled(false)
.build())
.tags(Map.of("foo", "bar"))
.build(),
VolumeGroupSapHanaVolumeArgs.builder()
.name(String.format("%s-netapp-volume-3", var_.prefix()))
.volumePath("my-unique-file-path-3")
.serviceLevel("Standard")
.capacityPoolId(examplePool.id())
.subnetId(exampleSubnet.id())
.proximityPlacementGroupId(examplePlacementGroup.id())
.volumeSpecName("shared")
.storageQuotaInGb(1024)
.throughputInMibps(24)
.protocols("NFSv4.1")
.securityStyle("unix")
.snapshotDirectoryVisible(false)
.exportPolicyRules(VolumeGroupSapHanaVolumeExportPolicyRuleArgs.builder()
.ruleIndex(1)
.allowedClients("0.0.0.0/0")
.nfsv3Enabled(false)
.nfsv41Enabled(true)
.unixReadOnly(false)
.unixReadWrite(true)
.rootAccessEnabled(false)
.build())
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(
exampleLinuxVirtualMachine,
examplePlacementGroup)
.build());
}
}

Import

Application Volume Groups can be imported using the resource id, e.g.

$ pulumi import azure:netapp/volumeGroupSapHana:VolumeGroupSapHana example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mytest-rg/providers/Microsoft.NetApp/netAppAccounts/netapp-account-test/volumeGroups/netapp-volumegroup-test

Constructors

Link copied to clipboard
fun VolumeGroupSapHanaArgs(accountName: Output<String>? = null, applicationIdentifier: Output<String>? = null, groupDescription: Output<String>? = null, location: Output<String>? = null, name: Output<String>? = null, resourceGroupName: Output<String>? = null, volumes: Output<List<VolumeGroupSapHanaVolumeArgs>>? = null)

Functions

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

Properties

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

Name of the account where the application volume group belong to. Changing this forces a new Application Volume Group to be created and data will be lost.

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

The SAP System ID, maximum 3 characters, e.g. SH9. Changing this forces a new Application Volume Group to be created and data will be lost.

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

Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.

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

The Azure Region where the Application Volume Group should exist. Changing this forces a new Application Volume Group to be created and data will be lost.

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

The name which should be used for this Application Volume Group. Changing this forces a new Application Volume Group to be created and data will be lost.

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

The name of the Resource Group where the Application Volume Group should exist. Changing this forces a new Application Volume Group to be created and data will be lost.

Link copied to clipboard

One or more volume blocks as defined below. */