We recommend using Azure Native.
azure.netapp.VolumeGroupSapHana
Explore with Pulumi AI
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,
}, {
dependsOn: [
exampleSubnet,
example1,
],
});
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,
}],
},
],
}, {
dependsOn: [
exampleLinuxVirtualMachine,
examplePlacementGroup,
],
});
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=[{
"name": "testdelegation",
"service_delegation": {
"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=[{
"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={
"publisher": "Canonical",
"offer": "0001-com-ubuntu-server-jammy",
"sku": "22_04-lts",
"version": "latest",
},
os_disk={
"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,
opts = pulumi.ResourceOptions(depends_on=[
example_subnet,
example1,
]))
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=[
{
"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": [{
"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",
},
},
{
"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": [{
"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",
},
},
{
"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": [{
"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,
}],
},
],
opts = pulumi.ResourceOptions(depends_on=[
example_linux_virtual_machine,
example_placement_group,
]))
package main
import (
"fmt"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/netapp"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v6/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.Sprintf("%v-resources", prefix),
Location: pulumi.Any(location),
})
if err != nil {
return err
}
exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
Name: pulumi.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.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.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.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.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.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
}
exampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, "example", &compute.LinuxVirtualMachineArgs{
Name: pulumi.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.Sprintf("%v-netapp-account", prefix),
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
}, pulumi.DependsOn([]pulumi.Resource{
exampleSubnet,
example1,
}))
if err != nil {
return err
}
examplePool, err := netapp.NewPool(ctx, "example", &netapp.PoolArgs{
Name: pulumi.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.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.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.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.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),
},
},
},
},
}, pulumi.DependsOn([]pulumi.Resource{
exampleLinuxVirtualMachine,
examplePlacementGroup,
}))
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,
}, new CustomResourceOptions
{
DependsOn =
{
exampleSubnet,
example1,
},
});
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,
},
},
},
},
}, new CustomResourceOptions
{
DependsOn =
{
exampleLinuxVirtualMachine,
examplePlacementGroup,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.RandomString;
import com.pulumi.random.RandomStringArgs;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.inputs.SubnetDelegationArgs;
import com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;
import com.pulumi.azure.proximity.PlacementGroup;
import com.pulumi.azure.proximity.PlacementGroupArgs;
import com.pulumi.azure.compute.AvailabilitySet;
import com.pulumi.azure.compute.AvailabilitySetArgs;
import com.pulumi.azure.network.NetworkInterface;
import com.pulumi.azure.network.NetworkInterfaceArgs;
import com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;
import com.pulumi.azure.compute.LinuxVirtualMachine;
import com.pulumi.azure.compute.LinuxVirtualMachineArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;
import com.pulumi.azure.netapp.Account;
import com.pulumi.azure.netapp.AccountArgs;
import com.pulumi.azure.netapp.Pool;
import com.pulumi.azure.netapp.PoolArgs;
import com.pulumi.azure.netapp.VolumeGroupSapHana;
import com.pulumi.azure.netapp.VolumeGroupSapHanaArgs;
import com.pulumi.azure.netapp.inputs.VolumeGroupSapHanaVolumeArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var 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(), CustomResourceOptions.builder()
.dependsOn(
exampleSubnet,
example1)
.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(), CustomResourceOptions.builder()
.dependsOn(
exampleLinuxVirtualMachine,
examplePlacementGroup)
.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}
options:
dependson:
- ${exampleSubnet}
- ${example1}
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
options:
dependson:
- ${exampleLinuxVirtualMachine}
- ${examplePlacementGroup}
variables:
adminUsername: exampleadmin
adminPassword: ${example.result}
Create VolumeGroupSapHana Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new VolumeGroupSapHana(name: string, args: VolumeGroupSapHanaArgs, opts?: CustomResourceOptions);
@overload
def VolumeGroupSapHana(resource_name: str,
args: VolumeGroupSapHanaArgs,
opts: Optional[ResourceOptions] = None)
@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,
resource_group_name: Optional[str] = None,
volumes: Optional[Sequence[VolumeGroupSapHanaVolumeArgs]] = None,
location: Optional[str] = None,
name: Optional[str] = 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.
Parameters
- 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.
Constructor example
The following reference example uses placeholder values for all input properties.
var volumeGroupSapHanaResource = new Azure.NetApp.VolumeGroupSapHana("volumeGroupSapHanaResource", new()
{
AccountName = "string",
ApplicationIdentifier = "string",
GroupDescription = "string",
ResourceGroupName = "string",
Volumes = new[]
{
new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeArgs
{
StorageQuotaInGb = 0,
VolumeSpecName = "string",
VolumePath = "string",
ExportPolicyRules = new[]
{
new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeExportPolicyRuleArgs
{
AllowedClients = "string",
Nfsv3Enabled = false,
Nfsv41Enabled = false,
RuleIndex = 0,
RootAccessEnabled = false,
UnixReadOnly = false,
UnixReadWrite = false,
},
},
CapacityPoolId = "string",
ThroughputInMibps = 0,
Name = "string",
Protocols = "string",
SubnetId = "string",
SecurityStyle = "string",
ServiceLevel = "string",
SnapshotDirectoryVisible = false,
Id = "string",
ProximityPlacementGroupId = "string",
Tags =
{
{ "string", "string" },
},
MountIpAddresses = new[]
{
"string",
},
DataProtectionSnapshotPolicy = new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicyArgs
{
SnapshotPolicyId = "string",
},
DataProtectionReplication = new Azure.NetApp.Inputs.VolumeGroupSapHanaVolumeDataProtectionReplicationArgs
{
RemoteVolumeLocation = "string",
RemoteVolumeResourceId = "string",
ReplicationFrequency = "string",
EndpointType = "string",
},
},
},
Location = "string",
Name = "string",
});
example, err := netapp.NewVolumeGroupSapHana(ctx, "volumeGroupSapHanaResource", &netapp.VolumeGroupSapHanaArgs{
AccountName: pulumi.String("string"),
ApplicationIdentifier: pulumi.String("string"),
GroupDescription: pulumi.String("string"),
ResourceGroupName: pulumi.String("string"),
Volumes: netapp.VolumeGroupSapHanaVolumeArray{
&netapp.VolumeGroupSapHanaVolumeArgs{
StorageQuotaInGb: pulumi.Int(0),
VolumeSpecName: pulumi.String("string"),
VolumePath: pulumi.String("string"),
ExportPolicyRules: netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArray{
&netapp.VolumeGroupSapHanaVolumeExportPolicyRuleArgs{
AllowedClients: pulumi.String("string"),
Nfsv3Enabled: pulumi.Bool(false),
Nfsv41Enabled: pulumi.Bool(false),
RuleIndex: pulumi.Int(0),
RootAccessEnabled: pulumi.Bool(false),
UnixReadOnly: pulumi.Bool(false),
UnixReadWrite: pulumi.Bool(false),
},
},
CapacityPoolId: pulumi.String("string"),
ThroughputInMibps: pulumi.Float64(0),
Name: pulumi.String("string"),
Protocols: pulumi.String("string"),
SubnetId: pulumi.String("string"),
SecurityStyle: pulumi.String("string"),
ServiceLevel: pulumi.String("string"),
SnapshotDirectoryVisible: pulumi.Bool(false),
Id: pulumi.String("string"),
ProximityPlacementGroupId: pulumi.String("string"),
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
MountIpAddresses: pulumi.StringArray{
pulumi.String("string"),
},
DataProtectionSnapshotPolicy: &netapp.VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicyArgs{
SnapshotPolicyId: pulumi.String("string"),
},
DataProtectionReplication: &netapp.VolumeGroupSapHanaVolumeDataProtectionReplicationArgs{
RemoteVolumeLocation: pulumi.String("string"),
RemoteVolumeResourceId: pulumi.String("string"),
ReplicationFrequency: pulumi.String("string"),
EndpointType: pulumi.String("string"),
},
},
},
Location: pulumi.String("string"),
Name: pulumi.String("string"),
})
var volumeGroupSapHanaResource = new VolumeGroupSapHana("volumeGroupSapHanaResource", VolumeGroupSapHanaArgs.builder()
.accountName("string")
.applicationIdentifier("string")
.groupDescription("string")
.resourceGroupName("string")
.volumes(VolumeGroupSapHanaVolumeArgs.builder()
.storageQuotaInGb(0)
.volumeSpecName("string")
.volumePath("string")
.exportPolicyRules(VolumeGroupSapHanaVolumeExportPolicyRuleArgs.builder()
.allowedClients("string")
.nfsv3Enabled(false)
.nfsv41Enabled(false)
.ruleIndex(0)
.rootAccessEnabled(false)
.unixReadOnly(false)
.unixReadWrite(false)
.build())
.capacityPoolId("string")
.throughputInMibps(0)
.name("string")
.protocols("string")
.subnetId("string")
.securityStyle("string")
.serviceLevel("string")
.snapshotDirectoryVisible(false)
.id("string")
.proximityPlacementGroupId("string")
.tags(Map.of("string", "string"))
.mountIpAddresses("string")
.dataProtectionSnapshotPolicy(VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicyArgs.builder()
.snapshotPolicyId("string")
.build())
.dataProtectionReplication(VolumeGroupSapHanaVolumeDataProtectionReplicationArgs.builder()
.remoteVolumeLocation("string")
.remoteVolumeResourceId("string")
.replicationFrequency("string")
.endpointType("string")
.build())
.build())
.location("string")
.name("string")
.build());
volume_group_sap_hana_resource = azure.netapp.VolumeGroupSapHana("volumeGroupSapHanaResource",
account_name="string",
application_identifier="string",
group_description="string",
resource_group_name="string",
volumes=[{
"storage_quota_in_gb": 0,
"volume_spec_name": "string",
"volume_path": "string",
"export_policy_rules": [{
"allowed_clients": "string",
"nfsv3_enabled": False,
"nfsv41_enabled": False,
"rule_index": 0,
"root_access_enabled": False,
"unix_read_only": False,
"unix_read_write": False,
}],
"capacity_pool_id": "string",
"throughput_in_mibps": 0,
"name": "string",
"protocols": "string",
"subnet_id": "string",
"security_style": "string",
"service_level": "string",
"snapshot_directory_visible": False,
"id": "string",
"proximity_placement_group_id": "string",
"tags": {
"string": "string",
},
"mount_ip_addresses": ["string"],
"data_protection_snapshot_policy": {
"snapshot_policy_id": "string",
},
"data_protection_replication": {
"remote_volume_location": "string",
"remote_volume_resource_id": "string",
"replication_frequency": "string",
"endpoint_type": "string",
},
}],
location="string",
name="string")
const volumeGroupSapHanaResource = new azure.netapp.VolumeGroupSapHana("volumeGroupSapHanaResource", {
accountName: "string",
applicationIdentifier: "string",
groupDescription: "string",
resourceGroupName: "string",
volumes: [{
storageQuotaInGb: 0,
volumeSpecName: "string",
volumePath: "string",
exportPolicyRules: [{
allowedClients: "string",
nfsv3Enabled: false,
nfsv41Enabled: false,
ruleIndex: 0,
rootAccessEnabled: false,
unixReadOnly: false,
unixReadWrite: false,
}],
capacityPoolId: "string",
throughputInMibps: 0,
name: "string",
protocols: "string",
subnetId: "string",
securityStyle: "string",
serviceLevel: "string",
snapshotDirectoryVisible: false,
id: "string",
proximityPlacementGroupId: "string",
tags: {
string: "string",
},
mountIpAddresses: ["string"],
dataProtectionSnapshotPolicy: {
snapshotPolicyId: "string",
},
dataProtectionReplication: {
remoteVolumeLocation: "string",
remoteVolumeResourceId: "string",
replicationFrequency: "string",
endpointType: "string",
},
}],
location: "string",
name: "string",
});
type: azure:netapp:VolumeGroupSapHana
properties:
accountName: string
applicationIdentifier: string
groupDescription: string
location: string
name: string
resourceGroupName: string
volumes:
- capacityPoolId: string
dataProtectionReplication:
endpointType: string
remoteVolumeLocation: string
remoteVolumeResourceId: string
replicationFrequency: string
dataProtectionSnapshotPolicy:
snapshotPolicyId: string
exportPolicyRules:
- allowedClients: string
nfsv3Enabled: false
nfsv41Enabled: false
rootAccessEnabled: false
ruleIndex: 0
unixReadOnly: false
unixReadWrite: false
id: string
mountIpAddresses:
- string
name: string
protocols: string
proximityPlacementGroupId: string
securityStyle: string
serviceLevel: string
snapshotDirectoryVisible: false
storageQuotaInGb: 0
subnetId: string
tags:
string: string
throughputInMibps: 0
volumePath: string
volumeSpecName: string
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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The VolumeGroupSapHana resource accepts the following input properties:
- Account
Name 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.
- Application
Identifier 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. - Group
Description string - Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
- Resource
Group stringName - 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<Volume
Group Sap Hana Volume> - 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 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.
- Application
Identifier 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. - Group
Description string - Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
- Resource
Group stringName - 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
[]Volume
Group Sap Hana Volume Args - 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 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.
- application
Identifier 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. - group
Description String - Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
- resource
Group StringName - 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<Volume
Group Sap Hana Volume> - 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 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.
- application
Identifier 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. - group
Description string - Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
- resource
Group stringName - 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
Volume
Group Sap Hana Volume[] - 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_ strname - 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[Volume
Group Sap Hana Volume Args] - 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.
- account
Name 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.
- application
Identifier 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. - group
Description String - Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost.
- resource
Group StringName - 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.
- Account
Name 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.
- Application
Identifier 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. - Group
Description 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.
- Resource
Group stringName - 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<Volume
Group Sap Hana Volume> - One or more
volume
blocks as defined below.
- Account
Name 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.
- Application
Identifier 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. - Group
Description 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.
- Resource
Group stringName - 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
[]Volume
Group Sap Hana Volume Args - One or more
volume
blocks as defined below.
- account
Name 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.
- application
Identifier 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. - group
Description 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.
- resource
Group StringName - 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<Volume
Group Sap Hana Volume> - One or more
volume
blocks as defined below.
- account
Name 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.
- application
Identifier 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. - group
Description 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.
- resource
Group stringName - 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
Volume
Group Sap Hana Volume[] - 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_ strname - 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[Volume
Group Sap Hana Volume Args] - One or more
volume
blocks as defined below.
- account
Name 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.
- application
Identifier 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. - group
Description 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.
- resource
Group StringName - 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
- Capacity
Pool stringId - The ID of the Capacity Pool. Changing this forces a new Application Volume Group to be created and data will be lost.
- Export
Policy List<VolumeRules Group Sap Hana Volume Export Policy Rule> - 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
orNFSv4.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 string - Volume security style. Possible values are
ntfs
andunix
. Changing this forces a new Application Volume Group to be created and data will be lost. - Service
Level string - Volume security style. Possible values are
Premium
,Standard
andUltra
. Changing this forces a new Application Volume Group to be created and data will be lost. - Snapshot
Directory boolVisible - 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 intIn Gb - The maximum Storage Quota allowed for a file system in Gigabytes.
- Subnet
Id 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. - Throughput
In doubleMibps - Throughput of this volume in Mibps.
- Volume
Path string - 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 stringName - Volume specification name. Possible values are
data
,log
,shared
,data-backup
andlog-backup
. Changing this forces a new Application Volume Group to be created and data will be lost. - Data
Protection VolumeReplication Group Sap Hana Volume Data Protection Replication - 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 VolumeSnapshot Policy Group Sap Hana Volume Data Protection Snapshot Policy - A
data_protection_snapshot_policy
block as defined below. - Id string
- The ID of the Application Volume Group.
- Mount
Ip List<string>Addresses - Proximity
Placement stringGroup Id - 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.
- Dictionary<string, string>
- A mapping of tags which should be assigned to the Application Volume Group.
- Capacity
Pool stringId - The ID of the Capacity Pool. Changing this forces a new Application Volume Group to be created and data will be lost.
- Export
Policy []VolumeRules Group Sap Hana Volume Export Policy Rule - 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
orNFSv4.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 string - Volume security style. Possible values are
ntfs
andunix
. Changing this forces a new Application Volume Group to be created and data will be lost. - Service
Level string - Volume security style. Possible values are
Premium
,Standard
andUltra
. Changing this forces a new Application Volume Group to be created and data will be lost. - Snapshot
Directory boolVisible - 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 intIn Gb - The maximum Storage Quota allowed for a file system in Gigabytes.
- Subnet
Id 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. - Throughput
In float64Mibps - Throughput of this volume in Mibps.
- Volume
Path string - 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 stringName - Volume specification name. Possible values are
data
,log
,shared
,data-backup
andlog-backup
. Changing this forces a new Application Volume Group to be created and data will be lost. - Data
Protection VolumeReplication Group Sap Hana Volume Data Protection Replication - 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 VolumeSnapshot Policy Group Sap Hana Volume Data Protection Snapshot Policy - A
data_protection_snapshot_policy
block as defined below. - Id string
- The ID of the Application Volume Group.
- Mount
Ip []stringAddresses - Proximity
Placement stringGroup Id - 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.
- map[string]string
- A mapping of tags which should be assigned to the Application Volume Group.
- capacity
Pool StringId - The ID of the Capacity Pool. Changing this forces a new Application Volume Group to be created and data will be lost.
- export
Policy List<VolumeRules Group Sap Hana Volume Export Policy Rule> - 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
orNFSv4.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 String - Volume security style. Possible values are
ntfs
andunix
. Changing this forces a new Application Volume Group to be created and data will be lost. - service
Level String - Volume security style. Possible values are
Premium
,Standard
andUltra
. Changing this forces a new Application Volume Group to be created and data will be lost. - snapshot
Directory BooleanVisible - 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 IntegerIn Gb - The maximum Storage Quota allowed for a file system in Gigabytes.
- subnet
Id 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. - throughput
In DoubleMibps - Throughput of this volume in Mibps.
- volume
Path String - 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 StringName - Volume specification name. Possible values are
data
,log
,shared
,data-backup
andlog-backup
. Changing this forces a new Application Volume Group to be created and data will be lost. - data
Protection VolumeReplication Group Sap Hana Volume Data Protection Replication - 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 VolumeSnapshot Policy Group Sap Hana Volume Data Protection Snapshot Policy - A
data_protection_snapshot_policy
block as defined below. - id String
- The ID of the Application Volume Group.
- mount
Ip List<String>Addresses - proximity
Placement StringGroup Id - 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.
- Map<String,String>
- A mapping of tags which should be assigned to the Application Volume Group.
- capacity
Pool stringId - The ID of the Capacity Pool. Changing this forces a new Application Volume Group to be created and data will be lost.
- export
Policy VolumeRules Group Sap Hana Volume Export Policy Rule[] - 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
orNFSv4.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 string - Volume security style. Possible values are
ntfs
andunix
. Changing this forces a new Application Volume Group to be created and data will be lost. - service
Level string - Volume security style. Possible values are
Premium
,Standard
andUltra
. Changing this forces a new Application Volume Group to be created and data will be lost. - snapshot
Directory booleanVisible - 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 numberIn Gb - The maximum Storage Quota allowed for a file system in Gigabytes.
- subnet
Id 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. - throughput
In numberMibps - Throughput of this volume in Mibps.
- volume
Path string - 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 stringName - Volume specification name. Possible values are
data
,log
,shared
,data-backup
andlog-backup
. Changing this forces a new Application Volume Group to be created and data will be lost. - data
Protection VolumeReplication Group Sap Hana Volume Data Protection Replication - 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 VolumeSnapshot Policy Group Sap Hana Volume Data Protection Snapshot Policy - A
data_protection_snapshot_policy
block as defined below. - id string
- The ID of the Application Volume Group.
- mount
Ip string[]Addresses - proximity
Placement stringGroup Id - 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.
- {[key: string]: string}
- A mapping of tags which should be assigned to the Application Volume Group.
- capacity_
pool_ strid - The ID of the Capacity Pool. Changing this forces a new Application Volume Group to be created and data will be lost.
- export_
policy_ Sequence[Volumerules Group Sap Hana Volume Export Policy Rule] - 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
orNFSv4.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
andunix
. 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
andUltra
. Changing this forces a new Application Volume Group to be created and data will be lost. - snapshot_
directory_ boolvisible - 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_ intin_ gb - 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_ floatmibps - 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_ strname - Volume specification name. Possible values are
data
,log
,shared
,data-backup
andlog-backup
. Changing this forces a new Application Volume Group to be created and data will be lost. - data_
protection_ Volumereplication Group Sap Hana Volume Data Protection Replication - 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_ Volumesnapshot_ policy Group Sap Hana Volume Data Protection Snapshot Policy - A
data_protection_snapshot_policy
block as defined below. - id str
- The ID of the Application Volume Group.
- mount_
ip_ Sequence[str]addresses - proximity_
placement_ strgroup_ id - 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.
- Mapping[str, str]
- A mapping of tags which should be assigned to the Application Volume Group.
- capacity
Pool StringId - The ID of the Capacity Pool. Changing this forces a new Application Volume Group to be created and data will be lost.
- export
Policy List<Property Map>Rules - 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
orNFSv4.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 String - Volume security style. Possible values are
ntfs
andunix
. Changing this forces a new Application Volume Group to be created and data will be lost. - service
Level String - Volume security style. Possible values are
Premium
,Standard
andUltra
. Changing this forces a new Application Volume Group to be created and data will be lost. - snapshot
Directory BooleanVisible - 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 NumberIn Gb - The maximum Storage Quota allowed for a file system in Gigabytes.
- subnet
Id 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. - throughput
In NumberMibps - Throughput of this volume in Mibps.
- volume
Path String - 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 StringName - Volume specification name. Possible values are
data
,log
,shared
,data-backup
andlog-backup
. Changing this forces a new Application Volume Group to be created and data will be lost. - data
Protection Property MapReplication - 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 Property MapSnapshot Policy - A
data_protection_snapshot_policy
block as defined below. - id String
- The ID of the Application Volume Group.
- mount
Ip List<String>Addresses - proximity
Placement StringGroup Id - 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.
- Map<String>
- A mapping of tags which should be assigned to the Application Volume Group.
VolumeGroupSapHanaVolumeDataProtectionReplication, VolumeGroupSapHanaVolumeDataProtectionReplicationArgs
- Remote
Volume stringLocation - Location of the primary volume.
- Remote
Volume stringResource Id - Resource ID of the primary volume.
- Replication
Frequency string - eplication frequency. Possible values are
10minutes
,daily
andhourly
. - Endpoint
Type string - The endpoint type. Possible values are
dst
andsrc
. Defaults todst
.
- Remote
Volume stringLocation - Location of the primary volume.
- Remote
Volume stringResource Id - Resource ID of the primary volume.
- Replication
Frequency string - eplication frequency. Possible values are
10minutes
,daily
andhourly
. - Endpoint
Type string - The endpoint type. Possible values are
dst
andsrc
. Defaults todst
.
- remote
Volume StringLocation - Location of the primary volume.
- remote
Volume StringResource Id - Resource ID of the primary volume.
- replication
Frequency String - eplication frequency. Possible values are
10minutes
,daily
andhourly
. - endpoint
Type String - The endpoint type. Possible values are
dst
andsrc
. Defaults todst
.
- remote
Volume stringLocation - Location of the primary volume.
- remote
Volume stringResource Id - Resource ID of the primary volume.
- replication
Frequency string - eplication frequency. Possible values are
10minutes
,daily
andhourly
. - endpoint
Type string - The endpoint type. Possible values are
dst
andsrc
. Defaults todst
.
- remote_
volume_ strlocation - Location of the primary volume.
- remote_
volume_ strresource_ id - Resource ID of the primary volume.
- replication_
frequency str - eplication frequency. Possible values are
10minutes
,daily
andhourly
. - endpoint_
type str - The endpoint type. Possible values are
dst
andsrc
. Defaults todst
.
- remote
Volume StringLocation - Location of the primary volume.
- remote
Volume StringResource Id - Resource ID of the primary volume.
- replication
Frequency String - eplication frequency. Possible values are
10minutes
,daily
andhourly
. - endpoint
Type String - The endpoint type. Possible values are
dst
andsrc
. Defaults todst
.
VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicy, VolumeGroupSapHanaVolumeDataProtectionSnapshotPolicyArgs
- Snapshot
Policy stringId - Resource ID of the snapshot policy to apply to the volume.
- Snapshot
Policy stringId - Resource ID of the snapshot policy to apply to the volume.
- snapshot
Policy StringId - Resource ID of the snapshot policy to apply to the volume.
- snapshot
Policy stringId - Resource ID of the snapshot policy to apply to the volume.
- snapshot_
policy_ strid - Resource ID of the snapshot policy to apply to the volume.
- snapshot
Policy StringId - Resource ID of the snapshot policy to apply to the volume.
VolumeGroupSapHanaVolumeExportPolicyRule, VolumeGroupSapHanaVolumeExportPolicyRuleArgs
- Allowed
Clients 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.
- Rule
Index int - The index number of the rule, must start at 1 and maximum 5.
- Root
Access boolEnabled - Is root access permitted to this volume? Defaults to
true
. - Unix
Read boolOnly - Is the file system on unix read only? Defaults to `false.
- Unix
Read boolWrite - Is the file system on unix read and write? Defaults to
true
.
- Allowed
Clients 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.
- Rule
Index int - The index number of the rule, must start at 1 and maximum 5.
- Root
Access boolEnabled - Is root access permitted to this volume? Defaults to
true
. - Unix
Read boolOnly - Is the file system on unix read only? Defaults to `false.
- Unix
Read boolWrite - Is the file system on unix read and write? Defaults to
true
.
- allowed
Clients 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.
- rule
Index Integer - The index number of the rule, must start at 1 and maximum 5.
- root
Access BooleanEnabled - Is root access permitted to this volume? Defaults to
true
. - unix
Read BooleanOnly - Is the file system on unix read only? Defaults to `false.
- unix
Read BooleanWrite - Is the file system on unix read and write? Defaults to
true
.
- allowed
Clients 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.
- rule
Index number - The index number of the rule, must start at 1 and maximum 5.
- root
Access booleanEnabled - Is root access permitted to this volume? Defaults to
true
. - unix
Read booleanOnly - Is the file system on unix read only? Defaults to `false.
- unix
Read booleanWrite - 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_ boolenabled - Is root access permitted to this volume? Defaults to
true
. - unix_
read_ boolonly - Is the file system on unix read only? Defaults to `false.
- unix_
read_ boolwrite - Is the file system on unix read and write? Defaults to
true
.
- allowed
Clients 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.
- rule
Index Number - The index number of the rule, must start at 1 and maximum 5.
- root
Access BooleanEnabled - Is root access permitted to this volume? Defaults to
true
. - unix
Read BooleanOnly - Is the file system on unix read only? Defaults to `false.
- unix
Read BooleanWrite - 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
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
azurerm
Terraform Provider.