Mount Target Args
data class MountTargetArgs(val accessGroupName: Output<String>? = null, val dualStack: Output<Boolean>? = null, val fileSystemId: Output<String>? = null, val networkType: Output<String>? = null, val securityGroupId: Output<String>? = null, val status: Output<String>? = null, val vpcId: Output<String>? = null, val vswitchId: Output<String>? = null) : ConvertibleToJava<MountTargetArgs>
Provides a Network Attached Storage (NAS) Mount Target resource. File system mount point. For information about Network Attached Storage (NAS) Mount Target and how to use it, see What is Mount Target.
NOTE: Available since v1.34.0.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const _default = alicloud.nas.getZones({
fileSystemType: "extreme",
});
const countSize = _default.then(_default => _default.zones).length;
const zoneId = Promise.all([_default, countSize]).then(([_default, countSize]) => _default.zones[countSize - 1].zoneId);
const example = new alicloud.vpc.Network("example", {
vpcName: "terraform-example",
cidrBlock: "172.17.3.0/24",
});
const exampleSwitch = new alicloud.vpc.Switch("example", {
vswitchName: example.vpcName,
cidrBlock: example.cidrBlock,
vpcId: example.id,
zoneId: zoneId,
});
const exampleFileSystem = new alicloud.nas.FileSystem("example", {
protocolType: "NFS",
storageType: "advance",
fileSystemType: "extreme",
capacity: 100,
zoneId: zoneId,
});
const exampleAccessGroup = new alicloud.nas.AccessGroup("example", {
accessGroupName: "access_group_xxx",
accessGroupType: "Vpc",
description: "test_access_group",
fileSystemType: "extreme",
});
const exampleMountTarget = new alicloud.nas.MountTarget("example", {
fileSystemId: exampleFileSystem.id,
accessGroupName: exampleAccessGroup.accessGroupName,
vswitchId: exampleSwitch.id,
vpcId: example.id,
networkType: exampleAccessGroup.accessGroupType,
});
Content copied to clipboard
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.nas.get_zones(file_system_type="extreme")
count_size = len(default.zones)
zone_id = default.zones[count_size - 1].zone_id
example = alicloud.vpc.Network("example",
vpc_name="terraform-example",
cidr_block="172.17.3.0/24")
example_switch = alicloud.vpc.Switch("example",
vswitch_name=example.vpc_name,
cidr_block=example.cidr_block,
vpc_id=example.id,
zone_id=zone_id)
example_file_system = alicloud.nas.FileSystem("example",
protocol_type="NFS",
storage_type="advance",
file_system_type="extreme",
capacity=100,
zone_id=zone_id)
example_access_group = alicloud.nas.AccessGroup("example",
access_group_name="access_group_xxx",
access_group_type="Vpc",
description="test_access_group",
file_system_type="extreme")
example_mount_target = alicloud.nas.MountTarget("example",
file_system_id=example_file_system.id,
access_group_name=example_access_group.access_group_name,
vswitch_id=example_switch.id,
vpc_id=example.id,
network_type=example_access_group.access_group_type)
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var @default = AliCloud.Nas.GetZones.Invoke(new()
{
FileSystemType = "extreme",
});
var countSize = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones)).Length;
var zoneId = Output.Tuple(@default, countSize).Apply(values =>
{
var @default = values.Item1;
var countSize = values.Item2;
return @default.Apply(getZonesResult => getZonesResult.Zones)[countSize - 1].ZoneId;
});
var example = new AliCloud.Vpc.Network("example", new()
{
VpcName = "terraform-example",
CidrBlock = "172.17.3.0/24",
});
var exampleSwitch = new AliCloud.Vpc.Switch("example", new()
{
VswitchName = example.VpcName,
CidrBlock = example.CidrBlock,
VpcId = example.Id,
ZoneId = zoneId,
});
var exampleFileSystem = new AliCloud.Nas.FileSystem("example", new()
{
ProtocolType = "NFS",
StorageType = "advance",
FileSystemType = "extreme",
Capacity = 100,
ZoneId = zoneId,
});
var exampleAccessGroup = new AliCloud.Nas.AccessGroup("example", new()
{
AccessGroupName = "access_group_xxx",
AccessGroupType = "Vpc",
Description = "test_access_group",
FileSystemType = "extreme",
});
var exampleMountTarget = new AliCloud.Nas.MountTarget("example", new()
{
FileSystemId = exampleFileSystem.Id,
AccessGroupName = exampleAccessGroup.AccessGroupName,
VswitchId = exampleSwitch.Id,
VpcId = example.Id,
NetworkType = exampleAccessGroup.AccessGroupType,
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := nas.GetZones(ctx, &nas.GetZonesArgs{
FileSystemType: pulumi.StringRef("extreme"),
}, nil)
if err != nil {
return err
}
countSize := len(_default.Zones)
zoneId := _default.Zones[countSize-1].ZoneId
example, err := vpc.NewNetwork(ctx, "example", &vpc.NetworkArgs{
VpcName: pulumi.String("terraform-example"),
CidrBlock: pulumi.String("172.17.3.0/24"),
})
if err != nil {
return err
}
exampleSwitch, err := vpc.NewSwitch(ctx, "example", &vpc.SwitchArgs{
VswitchName: example.VpcName,
CidrBlock: example.CidrBlock,
VpcId: example.ID(),
ZoneId: pulumi.String(zoneId),
})
if err != nil {
return err
}
exampleFileSystem, err := nas.NewFileSystem(ctx, "example", &nas.FileSystemArgs{
ProtocolType: pulumi.String("NFS"),
StorageType: pulumi.String("advance"),
FileSystemType: pulumi.String("extreme"),
Capacity: pulumi.Int(100),
ZoneId: pulumi.String(zoneId),
})
if err != nil {
return err
}
exampleAccessGroup, err := nas.NewAccessGroup(ctx, "example", &nas.AccessGroupArgs{
AccessGroupName: pulumi.String("access_group_xxx"),
AccessGroupType: pulumi.String("Vpc"),
Description: pulumi.String("test_access_group"),
FileSystemType: pulumi.String("extreme"),
})
if err != nil {
return err
}
_, err = nas.NewMountTarget(ctx, "example", &nas.MountTargetArgs{
FileSystemId: exampleFileSystem.ID(),
AccessGroupName: exampleAccessGroup.AccessGroupName,
VswitchId: exampleSwitch.ID(),
VpcId: example.ID(),
NetworkType: exampleAccessGroup.AccessGroupType,
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.nas.NasFunctions;
import com.pulumi.alicloud.nas.inputs.GetZonesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.nas.FileSystem;
import com.pulumi.alicloud.nas.FileSystemArgs;
import com.pulumi.alicloud.nas.AccessGroup;
import com.pulumi.alicloud.nas.AccessGroupArgs;
import com.pulumi.alicloud.nas.MountTarget;
import com.pulumi.alicloud.nas.MountTargetArgs;
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) {
final var default = NasFunctions.getZones(GetZonesArgs.builder()
.fileSystemType("extreme")
.build());
final var countSize = default_.zones().length();
final var zoneId = default_.zones()[countSize - 1].zoneId();
var example = new Network("example", NetworkArgs.builder()
.vpcName("terraform-example")
.cidrBlock("172.17.3.0/24")
.build());
var exampleSwitch = new Switch("exampleSwitch", SwitchArgs.builder()
.vswitchName(example.vpcName())
.cidrBlock(example.cidrBlock())
.vpcId(example.id())
.zoneId(zoneId)
.build());
var exampleFileSystem = new FileSystem("exampleFileSystem", FileSystemArgs.builder()
.protocolType("NFS")
.storageType("advance")
.fileSystemType("extreme")
.capacity("100")
.zoneId(zoneId)
.build());
var exampleAccessGroup = new AccessGroup("exampleAccessGroup", AccessGroupArgs.builder()
.accessGroupName("access_group_xxx")
.accessGroupType("Vpc")
.description("test_access_group")
.fileSystemType("extreme")
.build());
var exampleMountTarget = new MountTarget("exampleMountTarget", MountTargetArgs.builder()
.fileSystemId(exampleFileSystem.id())
.accessGroupName(exampleAccessGroup.accessGroupName())
.vswitchId(exampleSwitch.id())
.vpcId(example.id())
.networkType(exampleAccessGroup.accessGroupType())
.build());
}
}
Content copied to clipboard
Import
Network Attached Storage (NAS) Mount Target can be imported using the id, e.g.
$ pulumi import alicloud:nas/mountTarget:MountTarget example <file_system_id>:<mount_target_domain>
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(accessGroupName: Output<String>? = null, dualStack: Output<Boolean>? = null, fileSystemId: Output<String>? = null, networkType: Output<String>? = null, securityGroupId: Output<String>? = null, status: Output<String>? = null, vpcId: Output<String>? = null, vswitchId: Output<String>? = null)