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());
}
}
Content copied to clipboard
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.
name Regex
A regex string to filter results by the resource name.
output File
snat Entry Name
The name of snat entry.
snat Ip
The public IP of the Snat Entry.
snat Table Id
The ID of the Snat table.
source Cidr
The source CIDR block of the Snat Entry.
source Vswitch Id
The source vswitch ID.
status
The status of the Snat Entry. Valid values: Available
, Deleting
and Pending
.
suspend fun getSnatEntries(argument: suspend GetSnatEntriesPlainArgsBuilder.() -> Unit): GetSnatEntriesResult
Return
A collection of values returned by getSnatEntries.
See also
Parameters
argument
Builder for com.pulumi.alicloud.vpc.kotlin.inputs.GetSnatEntriesPlainArgs.