get Snat Entries
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
A collection of arguments for invoking getSnatEntries.
Return
A collection of values returned by getSnatEntries.
See also
Parameters
A list of Snat Entries IDs.
A regex string to filter results by the resource name.
File name where to save data source results (after running pulumi preview
).
The name of snat entry.
The public IP of the Snat Entry.
The ID of the Snat table.
The source CIDR block of the Snat Entry.
The source vswitch ID.
The status of the Snat Entry. Valid values: Available
, Deleting
and Pending
.
Return
A collection of values returned by getSnatEntries.
See also
Parameters
Builder for com.pulumi.alicloud.vpc.kotlin.inputs.GetSnatEntriesPlainArgs.