Network Interface
DEPRECATED: This resource has been renamed to alicloud.ecs.EcsNetworkInterface from version 1.123.1. Provides an ECS Elastic Network Interface resource. For information about Elastic Network Interface and how to use it, see Elastic Network Interface. NOTE Only one of private_ips or private_ips_count can be specified when assign private IPs.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const config = new pulumi.Config();
const name = config.get("name") || "networkInterfaceName";
const vpc = new alicloud.vpc.Network("vpc", {
vpcName: name,
cidrBlock: "192.168.0.0/24",
});
const default = alicloud.getZones({
availableResourceCreation: "VSwitch",
});
const vswitch = new alicloud.vpc.Switch("vswitch", {
name: name,
cidrBlock: "192.168.0.0/24",
zoneId: _default.then(_default => _default.zones?.[0]?.id),
vpcId: vpc.id,
});
const group = new alicloud.ecs.SecurityGroup("group", {
name: name,
vpcId: vpc.id,
});
const defaultNetworkInterface = new alicloud.vpc.NetworkInterface("default", {
networkInterfaceName: name,
vswitchId: vswitch.id,
securityGroupIds: [group.id],
privateIp: "192.168.0.2",
privateIpsCount: 3,
});Content copied to clipboard
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "networkInterfaceName"
vpc = alicloud.vpc.Network("vpc",
vpc_name=name,
cidr_block="192.168.0.0/24")
default = alicloud.get_zones(available_resource_creation="VSwitch")
vswitch = alicloud.vpc.Switch("vswitch",
name=name,
cidr_block="192.168.0.0/24",
zone_id=default.zones[0].id,
vpc_id=vpc.id)
group = alicloud.ecs.SecurityGroup("group",
name=name,
vpc_id=vpc.id)
default_network_interface = alicloud.vpc.NetworkInterface("default",
network_interface_name=name,
vswitch_id=vswitch.id,
security_group_ids=[group.id],
private_ip="192.168.0.2",
private_ips_count=3)Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var name = config.Get("name") ?? "networkInterfaceName";
var vpc = new AliCloud.Vpc.Network("vpc", new()
{
VpcName = name,
CidrBlock = "192.168.0.0/24",
});
var @default = AliCloud.GetZones.Invoke(new()
{
AvailableResourceCreation = "VSwitch",
});
var vswitch = new AliCloud.Vpc.Switch("vswitch", new()
{
Name = name,
CidrBlock = "192.168.0.0/24",
ZoneId = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
VpcId = vpc.Id,
});
var @group = new AliCloud.Ecs.SecurityGroup("group", new()
{
Name = name,
VpcId = vpc.Id,
});
var defaultNetworkInterface = new AliCloud.Vpc.NetworkInterface("default", new()
{
NetworkInterfaceName = name,
VswitchId = vswitch.Id,
SecurityGroupIds = new[]
{
@group.Id,
},
PrivateIp = "192.168.0.2",
PrivateIpsCount = 3,
});
});Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
name := "networkInterfaceName"
if param := cfg.Get("name"); param != "" {
name = param
}
vpc, err := vpc.NewNetwork(ctx, "vpc", &vpc.NetworkArgs{
VpcName: pulumi.String(name),
CidrBlock: pulumi.String("192.168.0.0/24"),
})
if err != nil {
return err
}
_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
AvailableResourceCreation: pulumi.StringRef("VSwitch"),
}, nil)
if err != nil {
return err
}
vswitch, err := vpc.NewSwitch(ctx, "vswitch", &vpc.SwitchArgs{
Name: pulumi.String(name),
CidrBlock: pulumi.String("192.168.0.0/24"),
ZoneId: pulumi.String(_default.Zones[0].Id),
VpcId: vpc.ID(),
})
if err != nil {
return err
}
group, err := ecs.NewSecurityGroup(ctx, "group", &ecs.SecurityGroupArgs{
Name: pulumi.String(name),
VpcId: vpc.ID(),
})
if err != nil {
return err
}
_, err = vpc.NewNetworkInterface(ctx, "default", &vpc.NetworkInterfaceArgs{
NetworkInterfaceName: pulumi.String(name),
VswitchId: vswitch.ID(),
SecurityGroupIds: pulumi.StringArray{
group.ID(),
},
PrivateIp: pulumi.String("192.168.0.2"),
PrivateIpsCount: pulumi.Int(3),
})
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.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
import com.pulumi.alicloud.vpc.NetworkInterface;
import com.pulumi.alicloud.vpc.NetworkInterfaceArgs;
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 config = ctx.config();
final var name = config.get("name").orElse("networkInterfaceName");
var vpc = new Network("vpc", NetworkArgs.builder()
.vpcName(name)
.cidrBlock("192.168.0.0/24")
.build());
final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
var vswitch = new Switch("vswitch", SwitchArgs.builder()
.name(name)
.cidrBlock("192.168.0.0/24")
.zoneId(default_.zones()[0].id())
.vpcId(vpc.id())
.build());
var group = new SecurityGroup("group", SecurityGroupArgs.builder()
.name(name)
.vpcId(vpc.id())
.build());
var defaultNetworkInterface = new NetworkInterface("defaultNetworkInterface", NetworkInterfaceArgs.builder()
.networkInterfaceName(name)
.vswitchId(vswitch.id())
.securityGroupIds(group.id())
.privateIp("192.168.0.2")
.privateIpsCount(3)
.build());
}
}Content copied to clipboard
configuration:
name:
type: string
default: networkInterfaceName
resources:
vpc:
type: alicloud:vpc:Network
properties:
vpcName: ${name}
cidrBlock: 192.168.0.0/24
vswitch:
type: alicloud:vpc:Switch
properties:
name: ${name}
cidrBlock: 192.168.0.0/24
zoneId: ${default.zones[0].id}
vpcId: ${vpc.id}
group:
type: alicloud:ecs:SecurityGroup
properties:
name: ${name}
vpcId: ${vpc.id}
defaultNetworkInterface:
type: alicloud:vpc:NetworkInterface
name: default
properties:
networkInterfaceName: ${name}
vswitchId: ${vswitch.id}
securityGroupIds:
- ${group.id}
privateIp: 192.168.0.2
privateIpsCount: 3
variables:
default:
fn::invoke:
Function: alicloud:getZones
Arguments:
availableResourceCreation: VSwitchContent copied to clipboard
Import
ENI can be imported using the id, e.g.
$ pulumi import alicloud:vpc/networkInterface:NetworkInterface eni eni-abc1234567890000Content copied to clipboard
Properties
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard