1. Packages
  2. Azure Classic
  3. API Docs
  4. netapp
  5. VolumeGroupSapHana

We recommend using Azure Native.

Azure Classic v5.70.0 published on Wednesday, Mar 27, 2024 by Pulumi

azure.netapp.VolumeGroupSapHana

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.70.0 published on Wednesday, Mar 27, 2024 by Pulumi

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    import * as random from "@pulumi/random";
    
    const example = new random.RandomString("example", {
        length: 12,
        special: true,
    });
    const adminUsername = "exampleadmin";
    const adminPassword = example.result;
    const exampleResourceGroup = new azure.core.ResourceGroup("example", {
        name: `${prefix}-resources`,
        location: location,
    });
    const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", {
        name: `${prefix}-vnet`,
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        addressSpaces: ["10.6.0.0/16"],
    });
    const exampleSubnet = new azure.network.Subnet("example", {
        name: `${prefix}-delegated-subnet`,
        resourceGroupName: exampleResourceGroup.name,
        virtualNetworkName: exampleVirtualNetwork.name,
        addressPrefixes: ["10.6.2.0/24"],
        delegations: [{
            name: "testdelegation",
            serviceDelegation: {
                name: "Microsoft.Netapp/volumes",
                actions: [
                    "Microsoft.Network/networkinterfaces/*",
                    "Microsoft.Network/virtualNetworks/subnets/join/action",
                ],
            },
        }],
    });
    const example1 = new azure.network.Subnet("example1", {
        name: `${prefix}-hosts-subnet`,
        resourceGroupName: exampleResourceGroup.name,
        virtualNetworkName: exampleVirtualNetwork.name,
        addressPrefixes: ["10.6.1.0/24"],
    });
    const examplePlacementGroup = new azure.proximity.PlacementGroup("example", {
        name: `${prefix}-ppg`,
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
    });
    const exampleAvailabilitySet = new azure.compute.AvailabilitySet("example", {
        name: `${prefix}-avset`,
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        proximityPlacementGroupId: examplePlacementGroup.id,
    });
    const exampleNetworkInterface = new azure.network.NetworkInterface("example", {
        name: `${prefix}-nic`,
        resourceGroupName: exampleResourceGroup.name,
        location: exampleResourceGroup.location,
        ipConfigurations: [{
            name: "internal",
            subnetId: example1.id,
            privateIpAddressAllocation: "Dynamic",
        }],
    });
    const exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine("example", {
        name: `${prefix}-vm`,
        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: {
            publisher: "Canonical",
            offer: "0001-com-ubuntu-server-jammy",
            sku: "22_04-lts",
            version: "latest",
        },
        osDisk: {
            storageAccountType: "Standard_LRS",
            caching: "ReadWrite",
        },
    });
    const exampleAccount = new azure.netapp.Account("example", {
        name: `${prefix}-netapp-account`,
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
    });
    const examplePool = new azure.netapp.Pool("example", {
        name: `${prefix}-netapp-pool`,
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        accountName: exampleAccount.name,
        serviceLevel: "Standard",
        sizeInTb: 8,
        qosType: "Manual",
    });
    const exampleVolumeGroupSapHana = new azure.netapp.VolumeGroupSapHana("example", {
        name: `${prefix}-netapp-volumegroup`,
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        accountName: exampleAccount.name,
        groupDescription: "Test volume group",
        applicationIdentifier: "TST",
        volumes: [
            {
                name: `${prefix}-netapp-volume-1`,
                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: [{
                    ruleIndex: 1,
                    allowedClients: "0.0.0.0/0",
                    nfsv3Enabled: false,
                    nfsv41Enabled: true,
                    unixReadOnly: false,
                    unixReadWrite: true,
                    rootAccessEnabled: false,
                }],
                tags: {
                    foo: "bar",
                },
            },
            {
                name: `${prefix}-netapp-volume-2`,
                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: [{
                    ruleIndex: 1,
                    allowedClients: "0.0.0.0/0",
                    nfsv3Enabled: false,
                    nfsv41Enabled: true,
                    unixReadOnly: false,
                    unixReadWrite: true,
                    rootAccessEnabled: false,
                }],
                tags: {
                    foo: "bar",
                },
            },
            {
                name: `${prefix}-netapp-volume-3`,
                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: [{
                    ruleIndex: 1,
                    allowedClients: "0.0.0.0/0",
                    nfsv3Enabled: false,
                    nfsv41Enabled: true,
                    unixReadOnly: false,
                    unixReadWrite: true,
                    rootAccessEnabled: false,
                }],
            },
        ],
    });
    
    import pulumi
    import pulumi_azure as azure
    import pulumi_random as random
    
    example = random.RandomString("example",
        length=12,
        special=True)
    admin_username = "exampleadmin"
    admin_password = example.result
    example_resource_group = azure.core.ResourceGroup("example",
        name=f"{prefix}-resources",
        location=location)
    example_virtual_network = azure.network.VirtualNetwork("example",
        name=f"{prefix}-vnet",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        address_spaces=["10.6.0.0/16"])
    example_subnet = azure.network.Subnet("example",
        name=f"{prefix}-delegated-subnet",
        resource_group_name=example_resource_group.name,
        virtual_network_name=example_virtual_network.name,
        address_prefixes=["10.6.2.0/24"],
        delegations=[azure.network.SubnetDelegationArgs(
            name="testdelegation",
            service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(
                name="Microsoft.Netapp/volumes",
                actions=[
                    "Microsoft.Network/networkinterfaces/*",
                    "Microsoft.Network/virtualNetworks/subnets/join/action",
                ],
            ),
        )])
    example1 = azure.network.Subnet("example1",
        name=f"{prefix}-hosts-subnet",
        resource_group_name=example_resource_group.name,
        virtual_network_name=example_virtual_network.name,
        address_prefixes=["10.6.1.0/24"])
    example_placement_group = azure.proximity.PlacementGroup("example",
        name=f"{prefix}-ppg",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name)
    example_availability_set = azure.compute.AvailabilitySet("example",
        name=f"{prefix}-avset",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        proximity_placement_group_id=example_placement_group.id)
    example_network_interface = azure.network.NetworkInterface("example",
        name=f"{prefix}-nic",
        resource_group_name=example_resource_group.name,
        location=example_resource_group.location,
        ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(
            name="internal",
            subnet_id=example1.id,
            private_ip_address_allocation="Dynamic",
        )])
    example_linux_virtual_machine = azure.compute.LinuxVirtualMachine("example",
        name=f"{prefix}-vm",
        resource_group_name=example_resource_group.name,
        location=example_resource_group.location,
        size="Standard_M8ms",
        admin_username=admin_username,
        admin_password=admin_password,
        disable_password_authentication=False,
        proximity_placement_group_id=example_placement_group.id,
        availability_set_id=example_availability_set.id,
        network_interface_ids=[example_network_interface.id],
        source_image_reference=azure.compute.LinuxVirtualMachineSourceImageReferenceArgs(
            publisher="Canonical",
            offer="0001-com-ubuntu-server-jammy",
            sku="22_04-lts",
            version="latest",
        ),
        os_disk=azure.compute.LinuxVirtualMachineOsDiskArgs(
            storage_account_type="Standard_LRS",
            caching="ReadWrite",
        ))
    example_account = azure.netapp.Account("example",
        name=f"{prefix}-netapp-account",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name)
    example_pool = azure.netapp.Pool("example",
        name=f"{prefix}-netapp-pool",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        account_name=example_account.name,
        service_level="Standard",
        size_in_tb=8,
        qos_type="Manual")
    example_volume_group_sap_hana = azure.netapp.VolumeGroupSapHana("example",
        name=f"{prefix}-netapp-volumegroup",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        account_name=example_account.name,
        group_description="Test volume group",
        application_identifier="TST",
        volumes=[
            azure.netapp.VolumeGroupSapHanaVolumeArgs(
                name=f"{prefix}-netapp-volume-1",
                volume_path="my-unique-file-path-1",
                service_level="Standard",
                capacity_pool_id=example_pool.id,
                subnet_id=example_subnet.id,
                proximity_placement_group_id=example_placement_group.id,
                volume_spec_name="data",
                storage_quota_in_gb=1024,
                throughput_in_mibps=24,
                protocols="NFSv4.1",
                security_style="unix",
                snapshot_directory_visible=False,
                export_policy_rules=[azure.netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArgs(
                    rule_index=1,
                    allowed_clients="0.0.0.0/0",
                    nfsv3_enabled=False,
                    nfsv41_enabled=True,
                    unix_read_only=False,
                    unix_read_write=True,
                    root_access_enabled=False,
                )],
                tags={
                    "foo": "bar",
                },
            ),
            azure.netapp.VolumeGroupSapHanaVolumeArgs(
                name=f"{prefix}-netapp-volume-2",
                volume_path="my-unique-file-path-2",
                service_level="Standard",
                capacity_pool_id=example_pool.id,
                subnet_id=example_subnet.id,
                proximity_placement_group_id=example_placement_group.id,
                volume_spec_name="log",
                storage_quota_in_gb=1024,
                throughput_in_mibps=24,
                protocols="NFSv4.1",
                security_style="unix",
                snapshot_directory_visible=False,
                export_policy_rules=[azure.netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArgs(
                    rule_index=1,
                    allowed_clients="0.0.0.0/0",
                    nfsv3_enabled=False,
                    nfsv41_enabled=True,
                    unix_read_only=False,
                    unix_read_write=True,
                    root_access_enabled=False,
                )],
                tags={
                    "foo": "bar",
                },
            ),
            azure.netapp.VolumeGroupSapHanaVolumeArgs(
                name=f"{prefix}-netapp-volume-3",
                volume_path="my-unique-file-path-3",
                service_level="Standard",
                capacity_pool_id=example_pool.id,
                subnet_id=example_subnet.id,
                proximity_placement_group_id=example_placement_group.id,
                volume_spec_name="shared",
                storage_quota_in_gb=1024,
                throughput_in_mibps=24,
                protocols="NFSv4.1",
                security_style="unix",
                snapshot_directory_visible=False,
                export_policy_rules=[azure.netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArgs(
                    rule_index=1,
                    allowed_clients="0.0.0.0/0",
                    nfsv3_enabled=False,
                    nfsv41_enabled=True,
                    unix_read_only=False,
                    unix_read_write=True,
                    root_access_enabled=False,
                )],
            ),
        ])
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/netapp"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/proximity"
    	"github.com/pulumi/pulumi-random/sdk/v4/go/random"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := random.NewRandomString(ctx, "example", &random.RandomStringArgs{
    			Length:  pulumi.Int(12),
    			Special: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		adminUsername := "exampleadmin"
    		adminPassword := example.Result
    		exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String(fmt.Sprintf("%v-resources", prefix)),
    			Location: pulumi.Any(location),
    		})
    		if err != nil {
    			return err
    		}
    		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
    			Name:              pulumi.String(fmt.Sprintf("%v-vnet", prefix)),
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			AddressSpaces: pulumi.StringArray{
    				pulumi.String("10.6.0.0/16"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
    			Name:               pulumi.String(fmt.Sprintf("%v-delegated-subnet", prefix)),
    			ResourceGroupName:  exampleResourceGroup.Name,
    			VirtualNetworkName: exampleVirtualNetwork.Name,
    			AddressPrefixes: pulumi.StringArray{
    				pulumi.String("10.6.2.0/24"),
    			},
    			Delegations: network.SubnetDelegationArray{
    				&network.SubnetDelegationArgs{
    					Name: pulumi.String("testdelegation"),
    					ServiceDelegation: &network.SubnetDelegationServiceDelegationArgs{
    						Name: pulumi.String("Microsoft.Netapp/volumes"),
    						Actions: pulumi.StringArray{
    							pulumi.String("Microsoft.Network/networkinterfaces/*"),
    							pulumi.String("Microsoft.Network/virtualNetworks/subnets/join/action"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		example1, err := network.NewSubnet(ctx, "example1", &network.SubnetArgs{
    			Name:               pulumi.String(fmt.Sprintf("%v-hosts-subnet", prefix)),
    			ResourceGroupName:  exampleResourceGroup.Name,
    			VirtualNetworkName: exampleVirtualNetwork.Name,
    			AddressPrefixes: pulumi.StringArray{
    				pulumi.String("10.6.1.0/24"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		examplePlacementGroup, err := proximity.NewPlacementGroup(ctx, "example", &proximity.PlacementGroupArgs{
    			Name:              pulumi.String(fmt.Sprintf("%v-ppg", prefix)),
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    		})
    		if err != nil {
    			return err
    		}
    		exampleAvailabilitySet, err := compute.NewAvailabilitySet(ctx, "example", &compute.AvailabilitySetArgs{
    			Name:                      pulumi.String(fmt.Sprintf("%v-avset", prefix)),
    			Location:                  exampleResourceGroup.Location,
    			ResourceGroupName:         exampleResourceGroup.Name,
    			ProximityPlacementGroupId: examplePlacementGroup.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		exampleNetworkInterface, err := network.NewNetworkInterface(ctx, "example", &network.NetworkInterfaceArgs{
    			Name:              pulumi.String(fmt.Sprintf("%v-nic", prefix)),
    			ResourceGroupName: exampleResourceGroup.Name,
    			Location:          exampleResourceGroup.Location,
    			IpConfigurations: network.NetworkInterfaceIpConfigurationArray{
    				&network.NetworkInterfaceIpConfigurationArgs{
    					Name:                       pulumi.String("internal"),
    					SubnetId:                   example1.ID(),
    					PrivateIpAddressAllocation: pulumi.String("Dynamic"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = compute.NewLinuxVirtualMachine(ctx, "example", &compute.LinuxVirtualMachineArgs{
    			Name:                          pulumi.String(fmt.Sprintf("%v-vm", prefix)),
    			ResourceGroupName:             exampleResourceGroup.Name,
    			Location:                      exampleResourceGroup.Location,
    			Size:                          pulumi.String("Standard_M8ms"),
    			AdminUsername:                 pulumi.String(adminUsername),
    			AdminPassword:                 pulumi.String(adminPassword),
    			DisablePasswordAuthentication: pulumi.Bool(false),
    			ProximityPlacementGroupId:     examplePlacementGroup.ID(),
    			AvailabilitySetId:             exampleAvailabilitySet.ID(),
    			NetworkInterfaceIds: pulumi.StringArray{
    				exampleNetworkInterface.ID(),
    			},
    			SourceImageReference: &compute.LinuxVirtualMachineSourceImageReferenceArgs{
    				Publisher: pulumi.String("Canonical"),
    				Offer:     pulumi.String("0001-com-ubuntu-server-jammy"),
    				Sku:       pulumi.String("22_04-lts"),
    				Version:   pulumi.String("latest"),
    			},
    			OsDisk: &compute.LinuxVirtualMachineOsDiskArgs{
    				StorageAccountType: pulumi.String("Standard_LRS"),
    				Caching:            pulumi.String("ReadWrite"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleAccount, err := netapp.NewAccount(ctx, "example", &netapp.AccountArgs{
    			Name:              pulumi.String(fmt.Sprintf("%v-netapp-account", prefix)),
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    		})
    		if err != nil {
    			return err
    		}
    		examplePool, err := netapp.NewPool(ctx, "example", &netapp.PoolArgs{
    			Name:              pulumi.String(fmt.Sprintf("%v-netapp-pool", prefix)),
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			AccountName:       exampleAccount.Name,
    			ServiceLevel:      pulumi.String("Standard"),
    			SizeInTb:          pulumi.Int(8),
    			QosType:           pulumi.String("Manual"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = netapp.NewVolumeGroupSapHana(ctx, "example", &netapp.VolumeGroupSapHanaArgs{
    			Name:                  pulumi.String(fmt.Sprintf("%v-netapp-volumegroup", prefix)),
    			Location:              exampleResourceGroup.Location,
    			ResourceGroupName:     exampleResourceGroup.Name,
    			AccountName:           exampleAccount.Name,
    			GroupDescription:      pulumi.String("Test volume group"),
    			ApplicationIdentifier: pulumi.String("TST"),
    			Volumes: netapp.VolumeGroupSapHanaVolumeArray{
    				&netapp.VolumeGroupSapHanaVolumeArgs{
    					Name:                      pulumi.String(fmt.Sprintf("%v-netapp-volume-1", prefix)),
    					VolumePath:                pulumi.String("my-unique-file-path-1"),
    					ServiceLevel:              pulumi.String("Standard"),
    					CapacityPoolId:            examplePool.ID(),
    					SubnetId:                  exampleSubnet.ID(),
    					ProximityPlacementGroupId: examplePlacementGroup.ID(),
    					VolumeSpecName:            pulumi.String("data"),
    					StorageQuotaInGb:          pulumi.Int(1024),
    					ThroughputInMibps:         pulumi.Float64(24),
    					Protocols:                 pulumi.String("NFSv4.1"),
    					SecurityStyle:             pulumi.String("unix"),
    					SnapshotDirectoryVisible:  pulumi.Bool(false),
    					ExportPolicyRules: netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArray{
    						&netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArgs{
    							RuleIndex:         pulumi.Int(1),
    							AllowedClients:    pulumi.String("0.0.0.0/0"),
    							Nfsv3Enabled:      pulumi.Bool(false),
    							Nfsv41Enabled:     pulumi.Bool(true),
    							UnixReadOnly:      pulumi.Bool(false),
    							UnixReadWrite:     pulumi.Bool(true),
    							RootAccessEnabled: pulumi.Bool(false),
    						},
    					},
    					Tags: pulumi.StringMap{
    						"foo": pulumi.String("bar"),
    					},
    				},
    				&netapp.VolumeGroupSapHanaVolumeArgs{
    					Name:                      pulumi.String(fmt.Sprintf("%v-netapp-volume-2", prefix)),
    					VolumePath:                pulumi.String("my-unique-file-path-2"),
    					ServiceLevel:              pulumi.String("Standard"),
    					CapacityPoolId:            examplePool.ID(),
    					SubnetId:                  exampleSubnet.ID(),
    					ProximityPlacementGroupId: examplePlacementGroup.ID(),
    					VolumeSpecName:            pulumi.String("log"),
    					StorageQuotaInGb:          pulumi.Int(1024),
    					ThroughputInMibps:         pulumi.Float64(24),
    					Protocols:                 pulumi.String("NFSv4.1"),
    					SecurityStyle:             pulumi.String("unix"),
    					SnapshotDirectoryVisible:  pulumi.Bool(false),
    					ExportPolicyRules: netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArray{
    						&netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArgs{
    							RuleIndex:         pulumi.Int(1),
    							AllowedClients:    pulumi.String("0.0.0.0/0"),
    							Nfsv3Enabled:      pulumi.Bool(false),
    							Nfsv41Enabled:     pulumi.Bool(true),
    							UnixReadOnly:      pulumi.Bool(false),
    							UnixReadWrite:     pulumi.Bool(true),
    							RootAccessEnabled: pulumi.Bool(false),
    						},
    					},
    					Tags: pulumi.StringMap{
    						"foo": pulumi.String("bar"),
    					},
    				},
    				&netapp.VolumeGroupSapHanaVolumeArgs{
    					Name:                      pulumi.String(fmt.Sprintf("%v-netapp-volume-3", prefix)),
    					VolumePath:                pulumi.String("my-unique-file-path-3"),
    					ServiceLevel:              pulumi.String("Standard"),
    					CapacityPoolId:            examplePool.ID(),
    					SubnetId:                  exampleSubnet.ID(),
    					ProximityPlacementGroupId: examplePlacementGroup.ID(),
    					VolumeSpecName:            pulumi.String("shared"),
    					StorageQuotaInGb:          pulumi.Int(1024),
    					ThroughputInMibps:         pulumi.Float64(24),
    					Protocols:                 pulumi.String("NFSv4.1"),
    					SecurityStyle:             pulumi.String("unix"),
    					SnapshotDirectoryVisible:  pulumi.Bool(false),
    					ExportPolicyRules: netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArray{
    						&netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArgs{
    							RuleIndex:         pulumi.Int(1),
    							AllowedClients:    pulumi.String("0.0.0.0/0"),
    							Nfsv3Enabled:      pulumi.Bool(false),
    							Nfsv41Enabled:     pulumi.Bool(true),
    							UnixReadOnly:      pulumi.Bool(false),
    							UnixReadWrite:     pulumi.Bool(true),
    							RootAccessEnabled: pulumi.Bool(false),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    using Random = Pulumi.Random;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Random.RandomString("example", new()
        {
            Length = 12,
            Special = true,
        });
    
        var adminUsername = "exampleadmin";
    
        var adminPassword = example.Result;
    
        var exampleResourceGroup = new Azure.Core.ResourceGroup("example", new()
        {
            Name = $"{prefix}-resources",
            Location = location,
        });
    
        var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
        {
            Name = $"{prefix}-vnet",
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            AddressSpaces = new[]
            {
                "10.6.0.0/16",
            },
        });
    
        var exampleSubnet = new Azure.Network.Subnet("example", new()
        {
            Name = $"{prefix}-delegated-subnet",
            ResourceGroupName = exampleResourceGroup.Name,
            VirtualNetworkName = exampleVirtualNetwork.Name,
            AddressPrefixes = new[]
            {
                "10.6.2.0/24",
            },
            Delegations = new[]
            {
                new Azure.Network.Inputs.SubnetDelegationArgs
                {
                    Name = "testdelegation",
                    ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs
                    {
                        Name = "Microsoft.Netapp/volumes",
                        Actions = new[]
                        {
                            "Microsoft.Network/networkinterfaces/*",
                            "Microsoft.Network/virtualNetworks/subnets/join/action",
                        },
                    },
                },
            },
        });
    
        var example1 = new Azure.Network.Subnet("example1", new()
        {
            Name = $"{prefix}-hosts-subnet",
            ResourceGroupName = exampleResourceGroup.Name,
            VirtualNetworkName = exampleVirtualNetwork.Name,
            AddressPrefixes = new[]
            {
                "10.6.1.0/24",
            },
        });
    
        var examplePlacementGroup = new Azure.Proximity.PlacementGroup("example", new()
        {
            Name = $"{prefix}-ppg",
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
        });
    
        var exampleAvailabilitySet = new Azure.Compute.AvailabilitySet("example", new()
        {
            Name = $"{prefix}-avset",
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            ProximityPlacementGroupId = examplePlacementGroup.Id,
        });
    
        var exampleNetworkInterface = new Azure.Network.NetworkInterface("example", new()
        {
            Name = $"{prefix}-nic",
            ResourceGroupName = exampleResourceGroup.Name,
            Location = exampleResourceGroup.Location,
            IpConfigurations = new[]
            {
                new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs
                {
                    Name = "internal",
                    SubnetId = example1.Id,
                    PrivateIpAddressAllocation = "Dynamic",
                },
            },
        });
    
        var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine("example", new()
        {
            Name = $"{prefix}-vm",
            ResourceGroupName = exampleResourceGroup.Name,
            Location = exampleResourceGroup.Location,
            Size = "Standard_M8ms",
            AdminUsername = adminUsername,
            AdminPassword = adminPassword,
            DisablePasswordAuthentication = false,
            ProximityPlacementGroupId = examplePlacementGroup.Id,
            AvailabilitySetId = exampleAvailabilitySet.Id,
            NetworkInterfaceIds = new[]
            {
                exampleNetworkInterface.Id,
            },
            SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs
            {
                Publisher = "Canonical",
                Offer = "0001-com-ubuntu-server-jammy",
                Sku = "22_04-lts",
                Version = "latest",
            },
            OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs
            {
                StorageAccountType = "Standard_LRS",
                Caching = "ReadWrite",
            },
        });
    
        var exampleAccount = new Azure.NetApp.Account("example", new()
        {
            Name = $"{prefix}-netapp-account",
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
        });
    
        var examplePool = new Azure.NetApp.Pool("example", new()
        {
            Name = $"{prefix}-netapp-pool",
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            AccountName = exampleAccount.Name,
            ServiceLevel = "Standard",
            SizeInTb = 8,
            QosType = "Manual",
        });
    
        var exampleVolumeGroupSapHana = new Azure.NetApp.VolumeGroupSapHana("example", new()
        {
            Name = $"{prefix}-netapp-volumegroup",
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            AccountName = exampleAccount.Name,
            GroupDescription = "Test volume group",
            ApplicationIdentifier = "TST",
            Volumes = new[]
            {
                new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeArgs
                {
                    Name = $"{prefix}-netapp-volume-1",
                    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 = new[]
                    {
                        new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeExportPolicyRuleArgs
                        {
                            RuleIndex = 1,
                            AllowedClients = "0.0.0.0/0",
                            Nfsv3Enabled = false,
                            Nfsv41Enabled = true,
                            UnixReadOnly = false,
                            UnixReadWrite = true,
                            RootAccessEnabled = false,
                        },
                    },
                    Tags = 
                    {
                        { "foo", "bar" },
                    },
                },
                new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeArgs
                {
                    Name = $"{prefix}-netapp-volume-2",
                    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 = new[]
                    {
                        new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeExportPolicyRuleArgs
                        {
                            RuleIndex = 1,
                            AllowedClients = "0.0.0.0/0",
                            Nfsv3Enabled = false,
                            Nfsv41Enabled = true,
                            UnixReadOnly = false,
                            UnixReadWrite = true,
                            RootAccessEnabled = false,
                        },
                    },
                    Tags = 
                    {
                        { "foo", "bar" },
                    },
                },
                new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeArgs
                {
                    Name = $"{prefix}-netapp-volume-3",
                    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 = new[]
                    {
                        new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeExportPolicyRuleArgs
                        {
                            RuleIndex = 1,
                            AllowedClients = "0.0.0.0/0",
                            Nfsv3Enabled = false,
                            Nfsv41Enabled = true,
                            UnixReadOnly = false,
                            UnixReadWrite = true,
                            RootAccessEnabled = false,
                        },
                    },
                },
            },
        });
    
    });
    
    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 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 example = new RandomString("example", RandomStringArgs.builder()        
                .length(12)
                .special(true)
                .build());
    
            final var adminUsername = "exampleadmin";
    
            final var adminPassword = example.result();
    
            var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()        
                .name(String.format("%s-resources", prefix))
                .location(location)
                .build());
    
            var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()        
                .name(String.format("%s-vnet", prefix))
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .addressSpaces("10.6.0.0/16")
                .build());
    
            var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()        
                .name(String.format("%s-delegated-subnet", prefix))
                .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()        
                .name(String.format("%s-hosts-subnet", prefix))
                .resourceGroupName(exampleResourceGroup.name())
                .virtualNetworkName(exampleVirtualNetwork.name())
                .addressPrefixes("10.6.1.0/24")
                .build());
    
            var examplePlacementGroup = new PlacementGroup("examplePlacementGroup", PlacementGroupArgs.builder()        
                .name(String.format("%s-ppg", prefix))
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .build());
    
            var exampleAvailabilitySet = new AvailabilitySet("exampleAvailabilitySet", AvailabilitySetArgs.builder()        
                .name(String.format("%s-avset", prefix))
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .proximityPlacementGroupId(examplePlacementGroup.id())
                .build());
    
            var exampleNetworkInterface = new NetworkInterface("exampleNetworkInterface", NetworkInterfaceArgs.builder()        
                .name(String.format("%s-nic", prefix))
                .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()        
                .name(String.format("%s-vm", prefix))
                .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("0001-com-ubuntu-server-jammy")
                    .sku("22_04-lts")
                    .version("latest")
                    .build())
                .osDisk(LinuxVirtualMachineOsDiskArgs.builder()
                    .storageAccountType("Standard_LRS")
                    .caching("ReadWrite")
                    .build())
                .build());
    
            var exampleAccount = new Account("exampleAccount", AccountArgs.builder()        
                .name(String.format("%s-netapp-account", prefix))
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .build());
    
            var examplePool = new Pool("examplePool", PoolArgs.builder()        
                .name(String.format("%s-netapp-pool", prefix))
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .accountName(exampleAccount.name())
                .serviceLevel("Standard")
                .sizeInTb(8)
                .qosType("Manual")
                .build());
    
            var exampleVolumeGroupSapHana = new VolumeGroupSapHana("exampleVolumeGroupSapHana", VolumeGroupSapHanaArgs.builder()        
                .name(String.format("%s-netapp-volumegroup", prefix))
                .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", 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", 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", 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());
    
        }
    }
    
    resources:
      example:
        type: random:RandomString
        properties:
          length: 12
          special: true
      exampleResourceGroup:
        type: azure:core:ResourceGroup
        name: example
        properties:
          name: ${prefix}-resources
          location: ${location}
      exampleVirtualNetwork:
        type: azure:network:VirtualNetwork
        name: example
        properties:
          name: ${prefix}-vnet
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          addressSpaces:
            - 10.6.0.0/16
      exampleSubnet:
        type: azure:network:Subnet
        name: example
        properties:
          name: ${prefix}-delegated-subnet
          resourceGroupName: ${exampleResourceGroup.name}
          virtualNetworkName: ${exampleVirtualNetwork.name}
          addressPrefixes:
            - 10.6.2.0/24
          delegations:
            - name: testdelegation
              serviceDelegation:
                name: Microsoft.Netapp/volumes
                actions:
                  - Microsoft.Network/networkinterfaces/*
                  - Microsoft.Network/virtualNetworks/subnets/join/action
      example1:
        type: azure:network:Subnet
        properties:
          name: ${prefix}-hosts-subnet
          resourceGroupName: ${exampleResourceGroup.name}
          virtualNetworkName: ${exampleVirtualNetwork.name}
          addressPrefixes:
            - 10.6.1.0/24
      examplePlacementGroup:
        type: azure:proximity:PlacementGroup
        name: example
        properties:
          name: ${prefix}-ppg
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
      exampleAvailabilitySet:
        type: azure:compute:AvailabilitySet
        name: example
        properties:
          name: ${prefix}-avset
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          proximityPlacementGroupId: ${examplePlacementGroup.id}
      exampleNetworkInterface:
        type: azure:network:NetworkInterface
        name: example
        properties:
          name: ${prefix}-nic
          resourceGroupName: ${exampleResourceGroup.name}
          location: ${exampleResourceGroup.location}
          ipConfigurations:
            - name: internal
              subnetId: ${example1.id}
              privateIpAddressAllocation: Dynamic
      exampleLinuxVirtualMachine:
        type: azure:compute:LinuxVirtualMachine
        name: example
        properties:
          name: ${prefix}-vm
          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:
            publisher: Canonical
            offer: 0001-com-ubuntu-server-jammy
            sku: 22_04-lts
            version: latest
          osDisk:
            storageAccountType: Standard_LRS
            caching: ReadWrite
      exampleAccount:
        type: azure:netapp:Account
        name: example
        properties:
          name: ${prefix}-netapp-account
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
      examplePool:
        type: azure:netapp:Pool
        name: example
        properties:
          name: ${prefix}-netapp-pool
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          accountName: ${exampleAccount.name}
          serviceLevel: Standard
          sizeInTb: 8
          qosType: Manual
      exampleVolumeGroupSapHana:
        type: azure:netapp:VolumeGroupSapHana
        name: example
        properties:
          name: ${prefix}-netapp-volumegroup
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          accountName: ${exampleAccount.name}
          groupDescription: Test volume group
          applicationIdentifier: TST
          volumes:
            - name: ${prefix}-netapp-volume-1
              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:
                - ruleIndex: 1
                  allowedClients: 0.0.0.0/0
                  nfsv3Enabled: false
                  nfsv41Enabled: true
                  unixReadOnly: false
                  unixReadWrite: true
                  rootAccessEnabled: false
              tags:
                foo: bar
            - name: ${prefix}-netapp-volume-2
              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:
                - ruleIndex: 1
                  allowedClients: 0.0.0.0/0
                  nfsv3Enabled: false
                  nfsv41Enabled: true
                  unixReadOnly: false
                  unixReadWrite: true
                  rootAccessEnabled: false
              tags:
                foo: bar
            - name: ${prefix}-netapp-volume-3
              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:
                - ruleIndex: 1
                  allowedClients: 0.0.0.0/0
                  nfsv3Enabled: false
                  nfsv41Enabled: true
                  unixReadOnly: false
                  unixReadWrite: true
                  rootAccessEnabled: false
    variables:
      adminUsername: exampleadmin
      adminPassword: ${example.result}
    

    Create VolumeGroupSapHana Resource

    new VolumeGroupSapHana(name: string, args: VolumeGroupSapHanaArgs, opts?: CustomResourceOptions);
    @overload
    def VolumeGroupSapHana(resource_name: str,
                           opts: Optional[ResourceOptions] = None,
                           account_name: Optional[str] = None,
                           application_identifier: Optional[str] = None,
                           group_description: Optional[str] = None,
                           location: Optional[str] = None,
                           name: Optional[str] = None,
                           resource_group_name: Optional[str] = None,
                           volumes: Optional[Sequence[VolumeGroupSapHanaVolumeArgs]] = None)
    @overload
    def VolumeGroupSapHana(resource_name: str,
                           args: VolumeGroupSapHanaArgs,
                           opts: Optional[ResourceOptions] = None)
    func NewVolumeGroupSapHana(ctx *Context, name string, args VolumeGroupSapHanaArgs, opts ...ResourceOption) (*VolumeGroupSapHana, error)
    public VolumeGroupSapHana(string name, VolumeGroupSapHanaArgs args, CustomResourceOptions? opts = null)
    public VolumeGroupSapHana(String name, VolumeGroupSapHanaArgs args)
    public VolumeGroupSapHana(String name, VolumeGroupSapHanaArgs args, CustomResourceOptions options)
    
    type: azure:netapp:VolumeGroupSapHana
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args VolumeGroupSapHanaArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args VolumeGroupSapHanaArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args VolumeGroupSapHanaArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VolumeGroupSapHanaArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VolumeGroupSapHanaArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    VolumeGroupSapHana Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The VolumeGroupSapHana resource accepts the following input properties:

    AccountName string
    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.
    ApplicationIdentifier string
    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.
    GroupDescription string
    Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
    ResourceGroupName string
    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.
    Volumes List<VolumeGroupSapHanaVolume>
    One or more volume blocks as defined below.
    Location string
    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.
    Name string
    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.
    AccountName string
    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.
    ApplicationIdentifier string
    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.
    GroupDescription string
    Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
    ResourceGroupName string
    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.
    Volumes []VolumeGroupSapHanaVolumeArgs
    One or more volume blocks as defined below.
    Location string
    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.
    Name string
    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.
    accountName String
    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.
    applicationIdentifier String
    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.
    groupDescription String
    Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
    resourceGroupName String
    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.
    volumes List<VolumeGroupSapHanaVolume>
    One or more volume blocks as defined below.
    location String
    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.
    name String
    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.
    accountName string
    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.
    applicationIdentifier string
    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.
    groupDescription string
    Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
    resourceGroupName string
    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.
    volumes VolumeGroupSapHanaVolume[]
    One or more volume blocks as defined below.
    location string
    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.
    name string
    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.
    account_name str
    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.
    application_identifier str
    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.
    group_description str
    Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
    resource_group_name str
    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.
    volumes Sequence[VolumeGroupSapHanaVolumeArgs]
    One or more volume blocks as defined below.
    location str
    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.
    name str
    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.
    accountName String
    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.
    applicationIdentifier String
    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.
    groupDescription String
    Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
    resourceGroupName String
    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.
    volumes List<Property Map>
    One or more volume blocks as defined below.
    location String
    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.
    name String
    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.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the VolumeGroupSapHana resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing VolumeGroupSapHana Resource

    Get an existing VolumeGroupSapHana resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: VolumeGroupSapHanaState, opts?: CustomResourceOptions): VolumeGroupSapHana
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            account_name: Optional[str] = None,
            application_identifier: Optional[str] = None,
            group_description: Optional[str] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            resource_group_name: Optional[str] = None,
            volumes: Optional[Sequence[VolumeGroupSapHanaVolumeArgs]] = None) -> VolumeGroupSapHana
    func GetVolumeGroupSapHana(ctx *Context, name string, id IDInput, state *VolumeGroupSapHanaState, opts ...ResourceOption) (*VolumeGroupSapHana, error)
    public static VolumeGroupSapHana Get(string name, Input<string> id, VolumeGroupSapHanaState? state, CustomResourceOptions? opts = null)
    public static VolumeGroupSapHana get(String name, Output<String> id, VolumeGroupSapHanaState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AccountName string
    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.
    ApplicationIdentifier string
    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.
    GroupDescription string
    Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
    Location string
    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.
    Name string
    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.
    ResourceGroupName string
    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.
    Volumes List<VolumeGroupSapHanaVolume>
    One or more volume blocks as defined below.
    AccountName string
    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.
    ApplicationIdentifier string
    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.
    GroupDescription string
    Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
    Location string
    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.
    Name string
    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.
    ResourceGroupName string
    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.
    Volumes []VolumeGroupSapHanaVolumeArgs
    One or more volume blocks as defined below.
    accountName String
    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.
    applicationIdentifier String
    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.
    groupDescription String
    Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
    location String
    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.
    name String
    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.
    resourceGroupName String
    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.
    volumes List<VolumeGroupSapHanaVolume>
    One or more volume blocks as defined below.
    accountName string
    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.
    applicationIdentifier string
    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.
    groupDescription string
    Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
    location string
    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.
    name string
    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.
    resourceGroupName string
    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.
    volumes VolumeGroupSapHanaVolume[]
    One or more volume blocks as defined below.
    account_name str
    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.
    application_identifier str
    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.
    group_description str
    Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
    location str
    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.
    name str
    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.
    resource_group_name str
    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.
    volumes Sequence[VolumeGroupSapHanaVolumeArgs]
    One or more volume blocks as defined below.
    accountName String
    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.
    applicationIdentifier String
    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.
    groupDescription String
    Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
    location String
    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.
    name String
    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.
    resourceGroupName String
    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.
    volumes List<Property Map>
    One or more volume blocks as defined below.

    Supporting Types

    VolumeGroupSapHanaVolume, VolumeGroupSapHanaVolumeArgs

    CapacityPoolId string
    The ID of the Capacity Pool. Changing this forces a new Application Volume Group to be created and data will be lost.
    ExportPolicyRules List<VolumeGroupSapHanaVolumeExportPolicyRule>
    One or more export_policy_rule blocks as defined below.
    Name string
    The name which should be used for this volume. Changing this forces a new Application Volume Group to be created and data will be lost.
    Protocols string
    The target volume protocol expressed as a list. Changing this forces a new Application Volume Group to be created and data will be lost. Supported values for Application Volume Group include NFSv3 or NFSv4.1, multi-protocol is not supported and there are certain rules on which protocol is supporteed per volume spec, please check Configure application volume groups for the SAP HANA REST API document for details.
    SecurityStyle string
    Volume security style. Possible values are ntfs and unix. Changing this forces a new Application Volume Group to be created and data will be lost.
    ServiceLevel string
    Volume security style. Possible values are Premium, Standard and Ultra. Changing this forces a new Application Volume Group to be created and data will be lost.
    SnapshotDirectoryVisible bool
    Specifies whether the .snapshot (NFS clients) path of a volume is visible. Changing this forces a new Application Volume Group to be created and data will be lost.
    StorageQuotaInGb int
    The maximum Storage Quota allowed for a file system in Gigabytes.
    SubnetId string
    The ID of the Subnet the NetApp Volume resides in, which must have the Microsoft.NetApp/volumes delegation. Changing this forces a new Application Volume Group to be created and data will be lost.
    ThroughputInMibps double
    Throughput of this volume in Mibps.
    VolumePath string
    A unique file path for the volume. Changing this forces a new Application Volume Group to be created and data will be lost.
    VolumeSpecName string
    Volume specification name. Possible values are data, log, shared, data-backup and log-backup. Changing this forces a new Application Volume Group to be created and data will be lost.
    DataProtectionReplication VolumeGroupSapHanaVolumeDataProtectionReplication
    A data_protection_replication block as defined below. Changing this forces a new Application Volume Group to be created and data will be lost.
    DataProtectionSnapshotPolicy VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy
    A data_protection_snapshot_policy block as defined below.
    Id string
    The ID of the Application Volume Group.
    MountIpAddresses List<string>
    ProximityPlacementGroupId string
    The ID of the proximity placement group. Changing this forces a new Application Volume Group to be created and data will be lost. For SAP-HANA application, it is required to have PPG enabled so Azure NetApp Files can pin the volumes next to your compute resources, please check Requirements and considerations for application volume group for SAP HANA for details and other requirements.
    Tags Dictionary<string, string>
    A mapping of tags which should be assigned to the Application Volume Group.
    CapacityPoolId string
    The ID of the Capacity Pool. Changing this forces a new Application Volume Group to be created and data will be lost.
    ExportPolicyRules []VolumeGroupSapHanaVolumeExportPolicyRule
    One or more export_policy_rule blocks as defined below.
    Name string
    The name which should be used for this volume. Changing this forces a new Application Volume Group to be created and data will be lost.
    Protocols string
    The target volume protocol expressed as a list. Changing this forces a new Application Volume Group to be created and data will be lost. Supported values for Application Volume Group include NFSv3 or NFSv4.1, multi-protocol is not supported and there are certain rules on which protocol is supporteed per volume spec, please check Configure application volume groups for the SAP HANA REST API document for details.
    SecurityStyle string
    Volume security style. Possible values are ntfs and unix. Changing this forces a new Application Volume Group to be created and data will be lost.
    ServiceLevel string
    Volume security style. Possible values are Premium, Standard and Ultra. Changing this forces a new Application Volume Group to be created and data will be lost.
    SnapshotDirectoryVisible bool
    Specifies whether the .snapshot (NFS clients) path of a volume is visible. Changing this forces a new Application Volume Group to be created and data will be lost.
    StorageQuotaInGb int
    The maximum Storage Quota allowed for a file system in Gigabytes.
    SubnetId string
    The ID of the Subnet the NetApp Volume resides in, which must have the Microsoft.NetApp/volumes delegation. Changing this forces a new Application Volume Group to be created and data will be lost.
    ThroughputInMibps float64
    Throughput of this volume in Mibps.
    VolumePath string
    A unique file path for the volume. Changing this forces a new Application Volume Group to be created and data will be lost.
    VolumeSpecName string
    Volume specification name. Possible values are data, log, shared, data-backup and log-backup. Changing this forces a new Application Volume Group to be created and data will be lost.
    DataProtectionReplication VolumeGroupSapHanaVolumeDataProtectionReplication
    A data_protection_replication block as defined below. Changing this forces a new Application Volume Group to be created and data will be lost.
    DataProtectionSnapshotPolicy VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy
    A data_protection_snapshot_policy block as defined below.
    Id string
    The ID of the Application Volume Group.
    MountIpAddresses []string
    ProximityPlacementGroupId string
    The ID of the proximity placement group. Changing this forces a new Application Volume Group to be created and data will be lost. For SAP-HANA application, it is required to have PPG enabled so Azure NetApp Files can pin the volumes next to your compute resources, please check Requirements and considerations for application volume group for SAP HANA for details and other requirements.
    Tags map[string]string
    A mapping of tags which should be assigned to the Application Volume Group.
    capacityPoolId String
    The ID of the Capacity Pool. Changing this forces a new Application Volume Group to be created and data will be lost.
    exportPolicyRules List<VolumeGroupSapHanaVolumeExportPolicyRule>
    One or more export_policy_rule blocks as defined below.
    name String
    The name which should be used for this volume. Changing this forces a new Application Volume Group to be created and data will be lost.
    protocols String
    The target volume protocol expressed as a list. Changing this forces a new Application Volume Group to be created and data will be lost. Supported values for Application Volume Group include NFSv3 or NFSv4.1, multi-protocol is not supported and there are certain rules on which protocol is supporteed per volume spec, please check Configure application volume groups for the SAP HANA REST API document for details.
    securityStyle String
    Volume security style. Possible values are ntfs and unix. Changing this forces a new Application Volume Group to be created and data will be lost.
    serviceLevel String
    Volume security style. Possible values are Premium, Standard and Ultra. Changing this forces a new Application Volume Group to be created and data will be lost.
    snapshotDirectoryVisible Boolean
    Specifies whether the .snapshot (NFS clients) path of a volume is visible. Changing this forces a new Application Volume Group to be created and data will be lost.
    storageQuotaInGb Integer
    The maximum Storage Quota allowed for a file system in Gigabytes.
    subnetId String
    The ID of the Subnet the NetApp Volume resides in, which must have the Microsoft.NetApp/volumes delegation. Changing this forces a new Application Volume Group to be created and data will be lost.
    throughputInMibps Double
    Throughput of this volume in Mibps.
    volumePath String
    A unique file path for the volume. Changing this forces a new Application Volume Group to be created and data will be lost.
    volumeSpecName String
    Volume specification name. Possible values are data, log, shared, data-backup and log-backup. Changing this forces a new Application Volume Group to be created and data will be lost.
    dataProtectionReplication VolumeGroupSapHanaVolumeDataProtectionReplication
    A data_protection_replication block as defined below. Changing this forces a new Application Volume Group to be created and data will be lost.
    dataProtectionSnapshotPolicy VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy
    A data_protection_snapshot_policy block as defined below.
    id String
    The ID of the Application Volume Group.
    mountIpAddresses List<String>
    proximityPlacementGroupId String
    The ID of the proximity placement group. Changing this forces a new Application Volume Group to be created and data will be lost. For SAP-HANA application, it is required to have PPG enabled so Azure NetApp Files can pin the volumes next to your compute resources, please check Requirements and considerations for application volume group for SAP HANA for details and other requirements.
    tags Map<String,String>
    A mapping of tags which should be assigned to the Application Volume Group.
    capacityPoolId string
    The ID of the Capacity Pool. Changing this forces a new Application Volume Group to be created and data will be lost.
    exportPolicyRules VolumeGroupSapHanaVolumeExportPolicyRule[]
    One or more export_policy_rule blocks as defined below.
    name string
    The name which should be used for this volume. Changing this forces a new Application Volume Group to be created and data will be lost.
    protocols string
    The target volume protocol expressed as a list. Changing this forces a new Application Volume Group to be created and data will be lost. Supported values for Application Volume Group include NFSv3 or NFSv4.1, multi-protocol is not supported and there are certain rules on which protocol is supporteed per volume spec, please check Configure application volume groups for the SAP HANA REST API document for details.
    securityStyle string
    Volume security style. Possible values are ntfs and unix. Changing this forces a new Application Volume Group to be created and data will be lost.
    serviceLevel string
    Volume security style. Possible values are Premium, Standard and Ultra. Changing this forces a new Application Volume Group to be created and data will be lost.
    snapshotDirectoryVisible boolean
    Specifies whether the .snapshot (NFS clients) path of a volume is visible. Changing this forces a new Application Volume Group to be created and data will be lost.
    storageQuotaInGb number
    The maximum Storage Quota allowed for a file system in Gigabytes.
    subnetId string
    The ID of the Subnet the NetApp Volume resides in, which must have the Microsoft.NetApp/volumes delegation. Changing this forces a new Application Volume Group to be created and data will be lost.
    throughputInMibps number
    Throughput of this volume in Mibps.
    volumePath string
    A unique file path for the volume. Changing this forces a new Application Volume Group to be created and data will be lost.
    volumeSpecName string
    Volume specification name. Possible values are data, log, shared, data-backup and log-backup. Changing this forces a new Application Volume Group to be created and data will be lost.
    dataProtectionReplication VolumeGroupSapHanaVolumeDataProtectionReplication
    A data_protection_replication block as defined below. Changing this forces a new Application Volume Group to be created and data will be lost.
    dataProtectionSnapshotPolicy VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy
    A data_protection_snapshot_policy block as defined below.
    id string
    The ID of the Application Volume Group.
    mountIpAddresses string[]
    proximityPlacementGroupId string
    The ID of the proximity placement group. Changing this forces a new Application Volume Group to be created and data will be lost. For SAP-HANA application, it is required to have PPG enabled so Azure NetApp Files can pin the volumes next to your compute resources, please check Requirements and considerations for application volume group for SAP HANA for details and other requirements.
    tags {[key: string]: string}
    A mapping of tags which should be assigned to the Application Volume Group.
    capacity_pool_id str
    The ID of the Capacity Pool. Changing this forces a new Application Volume Group to be created and data will be lost.
    export_policy_rules Sequence[VolumeGroupSapHanaVolumeExportPolicyRule]
    One or more export_policy_rule blocks as defined below.
    name str
    The name which should be used for this volume. Changing this forces a new Application Volume Group to be created and data will be lost.
    protocols str
    The target volume protocol expressed as a list. Changing this forces a new Application Volume Group to be created and data will be lost. Supported values for Application Volume Group include NFSv3 or NFSv4.1, multi-protocol is not supported and there are certain rules on which protocol is supporteed per volume spec, please check Configure application volume groups for the SAP HANA REST API document for details.
    security_style str
    Volume security style. Possible values are ntfs and unix. Changing this forces a new Application Volume Group to be created and data will be lost.
    service_level str
    Volume security style. Possible values are Premium, Standard and Ultra. Changing this forces a new Application Volume Group to be created and data will be lost.
    snapshot_directory_visible bool
    Specifies whether the .snapshot (NFS clients) path of a volume is visible. Changing this forces a new Application Volume Group to be created and data will be lost.
    storage_quota_in_gb int
    The maximum Storage Quota allowed for a file system in Gigabytes.
    subnet_id str
    The ID of the Subnet the NetApp Volume resides in, which must have the Microsoft.NetApp/volumes delegation. Changing this forces a new Application Volume Group to be created and data will be lost.
    throughput_in_mibps float
    Throughput of this volume in Mibps.
    volume_path str
    A unique file path for the volume. Changing this forces a new Application Volume Group to be created and data will be lost.
    volume_spec_name str
    Volume specification name. Possible values are data, log, shared, data-backup and log-backup. Changing this forces a new Application Volume Group to be created and data will be lost.
    data_protection_replication VolumeGroupSapHanaVolumeDataProtectionReplication
    A data_protection_replication block as defined below. Changing this forces a new Application Volume Group to be created and data will be lost.
    data_protection_snapshot_policy VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy
    A data_protection_snapshot_policy block as defined below.
    id str
    The ID of the Application Volume Group.
    mount_ip_addresses Sequence[str]
    proximity_placement_group_id str
    The ID of the proximity placement group. Changing this forces a new Application Volume Group to be created and data will be lost. For SAP-HANA application, it is required to have PPG enabled so Azure NetApp Files can pin the volumes next to your compute resources, please check Requirements and considerations for application volume group for SAP HANA for details and other requirements.
    tags Mapping[str, str]
    A mapping of tags which should be assigned to the Application Volume Group.
    capacityPoolId String
    The ID of the Capacity Pool. Changing this forces a new Application Volume Group to be created and data will be lost.
    exportPolicyRules List<Property Map>
    One or more export_policy_rule blocks as defined below.
    name String
    The name which should be used for this volume. Changing this forces a new Application Volume Group to be created and data will be lost.
    protocols String
    The target volume protocol expressed as a list. Changing this forces a new Application Volume Group to be created and data will be lost. Supported values for Application Volume Group include NFSv3 or NFSv4.1, multi-protocol is not supported and there are certain rules on which protocol is supporteed per volume spec, please check Configure application volume groups for the SAP HANA REST API document for details.
    securityStyle String
    Volume security style. Possible values are ntfs and unix. Changing this forces a new Application Volume Group to be created and data will be lost.
    serviceLevel String
    Volume security style. Possible values are Premium, Standard and Ultra. Changing this forces a new Application Volume Group to be created and data will be lost.
    snapshotDirectoryVisible Boolean
    Specifies whether the .snapshot (NFS clients) path of a volume is visible. Changing this forces a new Application Volume Group to be created and data will be lost.
    storageQuotaInGb Number
    The maximum Storage Quota allowed for a file system in Gigabytes.
    subnetId String
    The ID of the Subnet the NetApp Volume resides in, which must have the Microsoft.NetApp/volumes delegation. Changing this forces a new Application Volume Group to be created and data will be lost.
    throughputInMibps Number
    Throughput of this volume in Mibps.
    volumePath String
    A unique file path for the volume. Changing this forces a new Application Volume Group to be created and data will be lost.
    volumeSpecName String
    Volume specification name. Possible values are data, log, shared, data-backup and log-backup. Changing this forces a new Application Volume Group to be created and data will be lost.
    dataProtectionReplication Property Map
    A data_protection_replication block as defined below. Changing this forces a new Application Volume Group to be created and data will be lost.
    dataProtectionSnapshotPolicy Property Map
    A data_protection_snapshot_policy block as defined below.
    id String
    The ID of the Application Volume Group.
    mountIpAddresses List<String>
    proximityPlacementGroupId String
    The ID of the proximity placement group. Changing this forces a new Application Volume Group to be created and data will be lost. For SAP-HANA application, it is required to have PPG enabled so Azure NetApp Files can pin the volumes next to your compute resources, please check Requirements and considerations for application volume group for SAP HANA for details and other requirements.
    tags Map<String>
    A mapping of tags which should be assigned to the Application Volume Group.

    VolumeGroupSapHanaVolumeDataProtectionReplication, VolumeGroupSapHanaVolumeDataProtectionReplicationArgs

    RemoteVolumeLocation string
    Location of the primary volume.
    RemoteVolumeResourceId string
    Resource ID of the primary volume.
    ReplicationFrequency string
    eplication frequency. Possible values are 10minutes, daily and hourly.
    EndpointType string
    The endpoint type. Possible values are dst and src. Defaults to dst.
    RemoteVolumeLocation string
    Location of the primary volume.
    RemoteVolumeResourceId string
    Resource ID of the primary volume.
    ReplicationFrequency string
    eplication frequency. Possible values are 10minutes, daily and hourly.
    EndpointType string
    The endpoint type. Possible values are dst and src. Defaults to dst.
    remoteVolumeLocation String
    Location of the primary volume.
    remoteVolumeResourceId String
    Resource ID of the primary volume.
    replicationFrequency String
    eplication frequency. Possible values are 10minutes, daily and hourly.
    endpointType String
    The endpoint type. Possible values are dst and src. Defaults to dst.
    remoteVolumeLocation string
    Location of the primary volume.
    remoteVolumeResourceId string
    Resource ID of the primary volume.
    replicationFrequency string
    eplication frequency. Possible values are 10minutes, daily and hourly.
    endpointType string
    The endpoint type. Possible values are dst and src. Defaults to dst.
    remote_volume_location str
    Location of the primary volume.
    remote_volume_resource_id str
    Resource ID of the primary volume.
    replication_frequency str
    eplication frequency. Possible values are 10minutes, daily and hourly.
    endpoint_type str
    The endpoint type. Possible values are dst and src. Defaults to dst.
    remoteVolumeLocation String
    Location of the primary volume.
    remoteVolumeResourceId String
    Resource ID of the primary volume.
    replicationFrequency String
    eplication frequency. Possible values are 10minutes, daily and hourly.
    endpointType String
    The endpoint type. Possible values are dst and src. Defaults to dst.

    VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy, VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicyArgs

    SnapshotPolicyId string
    Resource ID of the snapshot policy to apply to the volume.
    SnapshotPolicyId string
    Resource ID of the snapshot policy to apply to the volume.
    snapshotPolicyId String
    Resource ID of the snapshot policy to apply to the volume.
    snapshotPolicyId string
    Resource ID of the snapshot policy to apply to the volume.
    snapshot_policy_id str
    Resource ID of the snapshot policy to apply to the volume.
    snapshotPolicyId String
    Resource ID of the snapshot policy to apply to the volume.

    VolumeGroupSapHanaVolumeExportPolicyRule, VolumeGroupSapHanaVolumeExportPolicyRuleArgs

    AllowedClients string
    A comma-sperated list of allowed client IPv4 addresses.
    Nfsv3Enabled bool
    Enables NFSv3. Please note that this cannot be enabled if volume has NFSv4.1 as its protocol.
    Nfsv41Enabled bool
    Enables NFSv4.1. Please note that this cannot be enabled if volume has NFSv3 as its protocol.
    RuleIndex int
    The index number of the rule, must start at 1 and maximum 5.
    RootAccessEnabled bool
    Is root access permitted to this volume? Defaults to true.
    UnixReadOnly bool
    Is the file system on unix read only? Defaults to `false.
    UnixReadWrite bool
    Is the file system on unix read and write? Defaults to true.
    AllowedClients string
    A comma-sperated list of allowed client IPv4 addresses.
    Nfsv3Enabled bool
    Enables NFSv3. Please note that this cannot be enabled if volume has NFSv4.1 as its protocol.
    Nfsv41Enabled bool
    Enables NFSv4.1. Please note that this cannot be enabled if volume has NFSv3 as its protocol.
    RuleIndex int
    The index number of the rule, must start at 1 and maximum 5.
    RootAccessEnabled bool
    Is root access permitted to this volume? Defaults to true.
    UnixReadOnly bool
    Is the file system on unix read only? Defaults to `false.
    UnixReadWrite bool
    Is the file system on unix read and write? Defaults to true.
    allowedClients String
    A comma-sperated list of allowed client IPv4 addresses.
    nfsv3Enabled Boolean
    Enables NFSv3. Please note that this cannot be enabled if volume has NFSv4.1 as its protocol.
    nfsv41Enabled Boolean
    Enables NFSv4.1. Please note that this cannot be enabled if volume has NFSv3 as its protocol.
    ruleIndex Integer
    The index number of the rule, must start at 1 and maximum 5.
    rootAccessEnabled Boolean
    Is root access permitted to this volume? Defaults to true.
    unixReadOnly Boolean
    Is the file system on unix read only? Defaults to `false.
    unixReadWrite Boolean
    Is the file system on unix read and write? Defaults to true.
    allowedClients string
    A comma-sperated list of allowed client IPv4 addresses.
    nfsv3Enabled boolean
    Enables NFSv3. Please note that this cannot be enabled if volume has NFSv4.1 as its protocol.
    nfsv41Enabled boolean
    Enables NFSv4.1. Please note that this cannot be enabled if volume has NFSv3 as its protocol.
    ruleIndex number
    The index number of the rule, must start at 1 and maximum 5.
    rootAccessEnabled boolean
    Is root access permitted to this volume? Defaults to true.
    unixReadOnly boolean
    Is the file system on unix read only? Defaults to `false.
    unixReadWrite boolean
    Is the file system on unix read and write? Defaults to true.
    allowed_clients str
    A comma-sperated list of allowed client IPv4 addresses.
    nfsv3_enabled bool
    Enables NFSv3. Please note that this cannot be enabled if volume has NFSv4.1 as its protocol.
    nfsv41_enabled bool
    Enables NFSv4.1. Please note that this cannot be enabled if volume has NFSv3 as its protocol.
    rule_index int
    The index number of the rule, must start at 1 and maximum 5.
    root_access_enabled bool
    Is root access permitted to this volume? Defaults to true.
    unix_read_only bool
    Is the file system on unix read only? Defaults to `false.
    unix_read_write bool
    Is the file system on unix read and write? Defaults to true.
    allowedClients String
    A comma-sperated list of allowed client IPv4 addresses.
    nfsv3Enabled Boolean
    Enables NFSv3. Please note that this cannot be enabled if volume has NFSv4.1 as its protocol.
    nfsv41Enabled Boolean
    Enables NFSv4.1. Please note that this cannot be enabled if volume has NFSv3 as its protocol.
    ruleIndex Number
    The index number of the rule, must start at 1 and maximum 5.
    rootAccessEnabled Boolean
    Is root access permitted to this volume? Defaults to true.
    unixReadOnly Boolean
    Is the file system on unix read only? Defaults to `false.
    unixReadWrite Boolean
    Is the file system on unix read and write? Defaults to true.

    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
    

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Azure Classic v5.70.0 published on Wednesday, Mar 27, 2024 by Pulumi