Ipv6InternetBandwidthArgs

data class Ipv6InternetBandwidthArgs(val bandwidth: Output<Int>? = null, val internetChargeType: Output<String>? = null, val ipv6AddressId: Output<String>? = null, val ipv6GatewayId: Output<String>? = null) : ConvertibleToJava<Ipv6InternetBandwidthArgs>

Provides a VPC Ipv6 Internet Bandwidth resource. Public network bandwidth of IPv6 address. For information about VPC Ipv6 Internet Bandwidth and how to use it, see What is Ipv6 Internet Bandwidth.

NOTE: Available since v1.143.0.

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.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.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
import com.pulumi.alicloud.ecs.inputs.GetImagesArgs;
import com.pulumi.alicloud.ecs.Instance;
import com.pulumi.alicloud.ecs.InstanceArgs;
import com.pulumi.alicloud.vpc.Ipv6Gateway;
import com.pulumi.alicloud.vpc.Ipv6GatewayArgs;
import com.pulumi.alicloud.vpc.VpcFunctions;
import com.pulumi.alicloud.vpc.inputs.GetIpv6AddressesArgs;
import com.pulumi.alicloud.vpc.Ipv6InternetBandwidth;
import com.pulumi.alicloud.vpc.Ipv6InternetBandwidthArgs;
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("terraform-example");
final var defaultZones = AlicloudFunctions.getZones();
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.vpcName(name)
.enableIpv6("true")
.cidrBlock("172.16.0.0/12")
.build());
var vsw = new Switch("vsw", SwitchArgs.builder()
.vpcId(defaultNetwork.id())
.cidrBlock("172.16.0.0/21")
.availabilityZone(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.ipv6CidrBlockMask("22")
.build());
var group = new SecurityGroup("group", SecurityGroupArgs.builder()
.description("foo")
.vpcId(defaultNetwork.id())
.build());
final var defaultInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
.availabilityZone(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.systemDiskCategory("cloud_efficiency")
.cpuCoreCount(4)
.minimumEniIpv6AddressQuantity(1)
.build());
final var defaultImages = EcsFunctions.getImages(GetImagesArgs.builder()
.nameRegex("^ubuntu_18.*64")
.mostRecent(true)
.owners("system")
.build());
var vpcInstance = new Instance("vpcInstance", InstanceArgs.builder()
.availabilityZone(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.ipv6AddressCount(1)
.instanceType(defaultInstanceTypes.applyValue(getInstanceTypesResult -> getInstanceTypesResult.instanceTypes()[0].id()))
.systemDiskCategory("cloud_efficiency")
.imageId(defaultImages.applyValue(getImagesResult -> getImagesResult.images()[0].id()))
.instanceName(name)
.vswitchId(vsw.id())
.internetMaxBandwidthOut(10)
.securityGroups(group.stream().map(element -> element.id()).collect(toList()))
.build());
var exampleIpv6Gateway = new Ipv6Gateway("exampleIpv6Gateway", Ipv6GatewayArgs.builder()
.ipv6GatewayName("example_value")
.vpcId(defaultNetwork.id())
.build());
final var defaultIpv6Addresses = VpcFunctions.getIpv6Addresses(GetIpv6AddressesArgs.builder()
.associatedInstanceId(vpcInstance.id())
.status("Available")
.build());
var exampleIpv6InternetBandwidth = new Ipv6InternetBandwidth("exampleIpv6InternetBandwidth", Ipv6InternetBandwidthArgs.builder()
.ipv6AddressId(defaultIpv6Addresses.applyValue(getIpv6AddressesResult -> getIpv6AddressesResult).applyValue(defaultIpv6Addresses -> defaultIpv6Addresses.applyValue(getIpv6AddressesResult -> getIpv6AddressesResult.addresses()[0].id())))
.ipv6GatewayId(exampleIpv6Gateway.ipv6GatewayId())
.internetChargeType("PayByBandwidth")
.bandwidth("20")
.build());
}
}

Import

VPC Ipv6 Internet Bandwidth can be imported using the id, e.g.

$ pulumi import alicloud:vpc/ipv6InternetBandwidth:Ipv6InternetBandwidth example <id>

Constructors

Link copied to clipboard
fun Ipv6InternetBandwidthArgs(bandwidth: Output<Int>? = null, internetChargeType: Output<String>? = null, ipv6AddressId: Output<String>? = null, ipv6GatewayId: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): Ipv6InternetBandwidthArgs

Properties

Link copied to clipboard
val bandwidth: Output<Int>? = null

The amount of Internet bandwidth resources of the IPv6 address, Unit: Mbit/s. Valid values: 1 to 5000. NOTE: If internet_charge_type is set to PayByTraffic, the amount of Internet bandwidth resources of the IPv6 address is limited by the specification of the IPv6 gateway. Small (default): specifies the Free edition and the Internet bandwidth is from 1 to 500 Mbit/s. Medium: specifies the Medium edition and the Internet bandwidth is from 1 to 1000 Mbit/s. Large: specifies the Large edition and the Internet bandwidth is from 1 to 2000 Mbit/s.

Link copied to clipboard
val internetChargeType: Output<String>? = null

The metering method of the Internet bandwidth resources of the IPv6 gateway. Valid values: PayByBandwidth, PayByTraffic.

Link copied to clipboard
val ipv6AddressId: Output<String>? = null

The ID of the IPv6 address instance.

Link copied to clipboard
val ipv6GatewayId: Output<String>? = null

The ID of the IPv6 gateway to which the IPv6 address belongs.