Netapp Volume Attachment Args
data class NetappVolumeAttachmentArgs(val name: Output<String>? = null, val netappVolumeId: Output<String>? = null, val vmwareClusterId: Output<String>? = null) : ConvertibleToJava<NetappVolumeAttachmentArgs>
Manages a VMware Private Cloud Netapp File Attachment.
Example Usage
NOTE : For Azure VMware private cloud, normal
pulumi up
could ignore this note. Please disable correlation request id for continuous operations in one build (like acctest). The continuous operations likeupdate
ordelete
could not be triggered when it shares the samecorrelation-id
with its previous operation.
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.PublicIp;
import com.pulumi.azure.network.PublicIpArgs;
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.network.VirtualNetworkGateway;
import com.pulumi.azure.network.VirtualNetworkGatewayArgs;
import com.pulumi.azure.network.inputs.VirtualNetworkGatewayIpConfigurationArgs;
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.Volume;
import com.pulumi.azure.netapp.VolumeArgs;
import com.pulumi.azure.netapp.inputs.VolumeExportPolicyRuleArgs;
import com.pulumi.azure.avs.PrivateCloud;
import com.pulumi.azure.avs.PrivateCloudArgs;
import com.pulumi.azure.avs.inputs.PrivateCloudManagementClusterArgs;
import com.pulumi.azure.avs.Cluster;
import com.pulumi.azure.avs.ClusterArgs;
import com.pulumi.azure.avs.ExpressRouteAuthorization;
import com.pulumi.azure.avs.ExpressRouteAuthorizationArgs;
import com.pulumi.azure.network.VirtualNetworkGatewayConnection;
import com.pulumi.azure.network.VirtualNetworkGatewayConnectionArgs;
import com.pulumi.azure.avs.NetappVolumeAttachment;
import com.pulumi.azure.avs.NetappVolumeAttachmentArgs;
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 ResourceGroup("example", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var testPublicIp = new PublicIp("testPublicIp", PublicIpArgs.builder()
.location(azurerm_resource_group.test().location())
.resourceGroupName(azurerm_resource_group.test().name())
.allocationMethod("Static")
.sku("Standard")
.build());
var testVirtualNetwork = new VirtualNetwork("testVirtualNetwork", VirtualNetworkArgs.builder()
.location(azurerm_resource_group.test().location())
.resourceGroupName(azurerm_resource_group.test().name())
.addressSpaces("10.6.0.0/16")
.build());
var netappSubnet = new Subnet("netappSubnet", SubnetArgs.builder()
.resourceGroupName(azurerm_resource_group.test().name())
.virtualNetworkName(testVirtualNetwork.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 gatewaySubnet = new Subnet("gatewaySubnet", SubnetArgs.builder()
.resourceGroupName(azurerm_resource_group.test().name())
.virtualNetworkName(testVirtualNetwork.name())
.addressPrefixes("10.6.1.0/24")
.build());
var testVirtualNetworkGateway = new VirtualNetworkGateway("testVirtualNetworkGateway", VirtualNetworkGatewayArgs.builder()
.location(azurerm_resource_group.test().location())
.resourceGroupName(azurerm_resource_group.test().name())
.type("ExpressRoute")
.sku("Standard")
.ipConfigurations(VirtualNetworkGatewayIpConfigurationArgs.builder()
.name("vnetGatewayConfig")
.publicIpAddressId(testPublicIp.id())
.subnetId(gatewaySubnet.id())
.build())
.build());
var testAccount = new Account("testAccount", AccountArgs.builder()
.location(azurerm_resource_group.test().location())
.resourceGroupName(azurerm_resource_group.test().name())
.build());
var testPool = new Pool("testPool", PoolArgs.builder()
.location(azurerm_resource_group.test().location())
.resourceGroupName(azurerm_resource_group.test().name())
.accountName(testAccount.name())
.serviceLevel("Standard")
.sizeInTb(4)
.build());
var testVolume = new Volume("testVolume", VolumeArgs.builder()
.location(azurerm_resource_group.test().location())
.resourceGroupName(azurerm_resource_group.test().name())
.accountName(testAccount.name())
.poolName(testPool.name())
.volumePath("my-unique-file-path-%d")
.serviceLevel("Standard")
.subnetId(netappSubnet.id())
.protocols("NFSv3")
.storageQuotaInGb(100)
.azureVmwareDataStoreEnabled(true)
.exportPolicyRules(VolumeExportPolicyRuleArgs.builder()
.ruleIndex(1)
.allowedClients("0.0.0.0/0")
.protocolsEnabled("NFSv3")
.unixReadOnly(false)
.unixReadWrite(true)
.rootAccessEnabled(true)
.build())
.build());
var testPrivateCloud = new PrivateCloud("testPrivateCloud", PrivateCloudArgs.builder()
.resourceGroupName(azurerm_resource_group.test().name())
.location(azurerm_resource_group.test().location())
.skuName("av36")
.managementCluster(PrivateCloudManagementClusterArgs.builder()
.size(3)
.build())
.networkSubnetCidr("192.168.48.0/22")
.build());
var testCluster = new Cluster("testCluster", ClusterArgs.builder()
.vmwareCloudId(testPrivateCloud.id())
.clusterNodeCount(3)
.skuName("av36")
.build());
var testExpressRouteAuthorization = new ExpressRouteAuthorization("testExpressRouteAuthorization", ExpressRouteAuthorizationArgs.builder()
.privateCloudId(testPrivateCloud.id())
.build());
var testVirtualNetworkGatewayConnection = new VirtualNetworkGatewayConnection("testVirtualNetworkGatewayConnection", VirtualNetworkGatewayConnectionArgs.builder()
.location(azurerm_resource_group.test().location())
.resourceGroupName(azurerm_resource_group.test().name())
.type("ExpressRoute")
.virtualNetworkGatewayId(testVirtualNetworkGateway.id())
.expressRouteCircuitId(testPrivateCloud.circuits().applyValue(circuits -> circuits[0].expressRouteId()))
.authorizationKey(testExpressRouteAuthorization.expressRouteAuthorizationKey())
.build());
var testNetappVolumeAttachment = new NetappVolumeAttachment("testNetappVolumeAttachment", NetappVolumeAttachmentArgs.builder()
.netappVolumeId(testVolume.id())
.vmwareClusterId(testCluster.id())
.build(), CustomResourceOptions.builder()
.dependsOn(testVirtualNetworkGatewayConnection)
.build());
}
}
Content copied to clipboard
Import
VMware Private Clouds Netapp File Volume Attachment can be imported using the resource id
, e.g.
$ pulumi import azure:avs/netappVolumeAttachment:NetappVolumeAttachment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/privateCloud1/clusters/Cluster1/dataStores/datastore1
Content copied to clipboard
Constructors
Link copied to clipboard
fun NetappVolumeAttachmentArgs(name: Output<String>? = null, netappVolumeId: Output<String>? = null, vmwareClusterId: Output<String>? = null)