SnatEntryArgs

data class SnatEntryArgs(val snatEntryName: Output<String>? = null, val snatIp: Output<String>? = null, val snatTableId: Output<String>? = null, val sourceCidr: Output<String>? = null, val sourceVswitchId: Output<String>? = null) : ConvertibleToJava<SnatEntryArgs>

Provides a snat resource.

NOTE: Available since v1.119.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.vpc.NatGateway;
import com.pulumi.alicloud.vpc.NatGatewayArgs;
import com.pulumi.alicloud.ecs.EipAddress;
import com.pulumi.alicloud.ecs.EipAddressArgs;
import com.pulumi.alicloud.ecs.EipAssociation;
import com.pulumi.alicloud.ecs.EipAssociationArgs;
import com.pulumi.alicloud.vpc.SnatEntry;
import com.pulumi.alicloud.vpc.SnatEntryArgs;
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("tf_example");
final var defaultZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.vpcName(name)
.cidrBlock("172.16.0.0/12")
.build());
var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
.vpcId(defaultNetwork.id())
.cidrBlock("172.16.0.0/21")
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.vswitchName(name)
.build());
var defaultNatGateway = new NatGateway("defaultNatGateway", NatGatewayArgs.builder()
.vpcId(defaultNetwork.id())
.natGatewayName(name)
.paymentType("PayAsYouGo")
.vswitchId(defaultSwitch.id())
.natType("Enhanced")
.build());
var defaultEipAddress = new EipAddress("defaultEipAddress", EipAddressArgs.builder()
.addressName(name)
.build());
var defaultEipAssociation = new EipAssociation("defaultEipAssociation", EipAssociationArgs.builder()
.allocationId(defaultEipAddress.id())
.instanceId(defaultNatGateway.id())
.build());
var defaultSnatEntry = new SnatEntry("defaultSnatEntry", SnatEntryArgs.builder()
.snatTableId(defaultNatGateway.snatTableIds())
.sourceVswitchId(defaultSwitch.id())
.snatIp(defaultEipAddress.ipAddress())
.build());
}
}

Import

Snat Entry can be imported using the id, e.g.

$ pulumi import alicloud:vpc/snatEntry:SnatEntry foo stb-1aece3:snat-232ce2

Constructors

Link copied to clipboard
fun SnatEntryArgs(snatEntryName: Output<String>? = null, snatIp: Output<String>? = null, snatTableId: Output<String>? = null, sourceCidr: Output<String>? = null, sourceVswitchId: Output<String>? = null)

Functions

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

Properties

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

The name of snat entry.

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

The SNAT ip address, the ip must along bandwidth package public ip which alicloud.vpc.NatGateway argument bandwidth_packages.

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

The value can get from alicloud.vpc.NatGateway Attributes "snat_table_ids".

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

The private network segment of Ecs. This parameter and the source_vswitch_id parameter are mutually exclusive and cannot appear at the same time.

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

The vswitch ID.