getSnatEntries

This data source provides a list of Snat Entries owned by an Alibaba Cloud account.

NOTE: Available in 1.37.0+.

Example 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 com.pulumi.alicloud.vpc.VpcFunctions;
import com.pulumi.alicloud.vpc.inputs.GetSnatEntriesArgs;
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("snat-entry-example-name");
final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
var fooNetwork = new Network("fooNetwork", NetworkArgs.builder()
.cidrBlock("172.16.0.0/12")
.build());
var fooSwitch = new Switch("fooSwitch", SwitchArgs.builder()
.vpcId(fooNetwork.id())
.cidrBlock("172.16.0.0/21")
.availabilityZone(default_.zones()[0].id())
.vswitchName(name)
.build());
var fooNatGateway = new NatGateway("fooNatGateway", NatGatewayArgs.builder()
.vpcId(fooNetwork.id())
.specification("Small")
.build());
var fooEipAddress = new EipAddress("fooEipAddress", EipAddressArgs.builder()
.addressName(name)
.build());
var fooEipAssociation = new EipAssociation("fooEipAssociation", EipAssociationArgs.builder()
.allocationId(fooEipAddress.id())
.instanceId(fooNatGateway.id())
.build());
var fooSnatEntry = new SnatEntry("fooSnatEntry", SnatEntryArgs.builder()
.snatTableId(fooNatGateway.snatTableIds())
.sourceVswitchId(fooSwitch.id())
.snatIp(fooEipAddress.ipAddress())
.build());
final var fooSnatEntries = VpcFunctions.getSnatEntries(GetSnatEntriesArgs.builder()
.snatTableId(fooSnatEntry.snatTableId())
.build());
}
}

Return

A collection of values returned by getSnatEntries.

Parameters

argument

A collection of arguments for invoking getSnatEntries.


suspend fun getSnatEntries(ids: List<String>? = null, nameRegex: String? = null, outputFile: String? = null, snatEntryName: String? = null, snatIp: String? = null, snatTableId: String, sourceCidr: String? = null, sourceVswitchId: String? = null, status: String? = null): GetSnatEntriesResult

Return

A collection of values returned by getSnatEntries.

See also

Parameters

ids

A list of Snat Entries IDs.

nameRegex

A regex string to filter results by the resource name.

outputFile

File name where to save data source results (after running pulumi preview).

snatEntryName

The name of snat entry.

snatIp

The public IP of the Snat Entry.

snatTableId

The ID of the Snat table.

sourceCidr

The source CIDR block of the Snat Entry.

sourceVswitchId

The source vswitch ID.

status

The status of the Snat Entry. Valid values: Available, Deleting and Pending.


Return

A collection of values returned by getSnatEntries.

See also

Parameters

argument

Builder for com.pulumi.alicloud.vpc.kotlin.inputs.GetSnatEntriesPlainArgs.