All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azure.netapp.VolumeGroupSapHana Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azure.netapp;

import com.pulumi.azure.Utilities;
import com.pulumi.azure.netapp.VolumeGroupSapHanaArgs;
import com.pulumi.azure.netapp.inputs.VolumeGroupSapHanaState;
import com.pulumi.azure.netapp.outputs.VolumeGroupSapHanaVolume;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.String;
import java.util.List;
import javax.annotation.Nullable;

/**
 * ## Example Usage
 * 
 * <!--Start PulumiCodeChooser -->
 * 
 * {@code
 * 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());
 * 
 *     }
 * }
 * }
 * 
* <!--End PulumiCodeChooser --> * * ## Import * * Application Volume Groups can be imported using the `resource id`, e.g. * * ```sh * $ 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 * ``` * */ @ResourceType(type="azure:netapp/volumeGroupSapHana:VolumeGroupSapHana") public class VolumeGroupSapHana extends com.pulumi.resources.CustomResource { /** * 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. * */ @Export(name="accountName", refs={String.class}, tree="[0]") private Output accountName; /** * @return 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. * */ public Output accountName() { return this.accountName; } /** * 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. * */ @Export(name="applicationIdentifier", refs={String.class}, tree="[0]") private Output applicationIdentifier; /** * @return 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. * */ public Output applicationIdentifier() { return this.applicationIdentifier; } /** * Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost. * */ @Export(name="groupDescription", refs={String.class}, tree="[0]") private Output groupDescription; /** * @return Volume group description. Changing this forces a new Application Volume Group to be created and data will be lost. * */ public Output groupDescription() { return this.groupDescription; } /** * 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. * */ @Export(name="location", refs={String.class}, tree="[0]") private Output location; /** * @return 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. * */ public Output location() { return this.location; } /** * 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. * */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** * @return 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. * */ public Output name() { return this.name; } /** * 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. * */ @Export(name="resourceGroupName", refs={String.class}, tree="[0]") private Output resourceGroupName; /** * @return 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. * */ public Output resourceGroupName() { return this.resourceGroupName; } /** * One or more `volume` blocks as defined below. * */ @Export(name="volumes", refs={List.class,VolumeGroupSapHanaVolume.class}, tree="[0,1]") private Output> volumes; /** * @return One or more `volume` blocks as defined below. * */ public Output> volumes() { return this.volumes; } /** * * @param name The _unique_ name of the resulting resource. */ public VolumeGroupSapHana(java.lang.String name) { this(name, VolumeGroupSapHanaArgs.Empty); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ public VolumeGroupSapHana(java.lang.String name, VolumeGroupSapHanaArgs args) { this(name, args, null); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ public VolumeGroupSapHana(java.lang.String name, VolumeGroupSapHanaArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("azure:netapp/volumeGroupSapHana:VolumeGroupSapHana", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } private VolumeGroupSapHana(java.lang.String name, Output id, @Nullable VolumeGroupSapHanaState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("azure:netapp/volumeGroupSapHana:VolumeGroupSapHana", name, state, makeResourceOptions(options, id), false); } private static VolumeGroupSapHanaArgs makeArgs(VolumeGroupSapHanaArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } return args == null ? VolumeGroupSapHanaArgs.Empty : args; } private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } /** * Get an existing Host resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state * @param options Optional settings to control the behavior of the CustomResource. */ public static VolumeGroupSapHana get(java.lang.String name, Output id, @Nullable VolumeGroupSapHanaState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new VolumeGroupSapHana(name, id, state, options); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy