import * as pulumi from "@pulumi/pulumi"; /** * When multiple cloud server instances in a private network need to access the public network, you can use SNAT rules of the public NAT gateway to save public IPs and avoid exposing cloud server IPs directly to the public network for secure, convenient, and efficient access. SNAT rules support four granularities: private network, subnet, cloud server, and custom network segment. Configure flexibly based on your business needs. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcenginecc from "@volcengine/pulumi-volcenginecc"; * * const natGatewaySnatentryDemo = new volcenginecc.natgateway.Snatentry("NatGatewaySnatentryDemo", { * natGatewayId: "ngw-2pc28yhdpbx8g227qo1xxxxx", * eipId: "eip-iivdtssgbdog74o8cuxxxxx,eip-btbv1pk36g3k5h0b2vxxxxx", * snatEntryName: "test", * sourceCidr: "0.0.0.0/0", * }); * ``` * * ## Import * * ```sh * $ pulumi import volcenginecc:natgateway/snatentry:Snatentry example "snat_entry_id" * ``` */ export declare class Snatentry extends pulumi.CustomResource { /** * Get an existing Snatentry resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: SnatentryState, opts?: pulumi.CustomResourceOptions): Snatentry; /** * Returns true if the given object is an instance of Snatentry. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Snatentry; /** * IP address of the public IP associated with the SNAT rule. Returns the IP address for a single public IP. Returns IP addresses for multiple public IPs. */ readonly eipAddress: pulumi.Output; /** * ID of the public IP associated with the SNAT rule. Returns the ID for a single public IP. Returns IDs for multiple public IPs. */ readonly eipId: pulumi.Output; /** * ID of the NAT gateway associated with the SNAT rule */ readonly natGatewayId: pulumi.Output; /** * ID of the transit IP for the private NAT gateway */ readonly natIpId: pulumi.Output; /** * ID of the SNAT rule */ readonly snatEntryId: pulumi.Output; /** * Name of the SNAT rule */ readonly snatEntryName: pulumi.Output; /** * Network segment corresponding to the SNAT rule */ readonly sourceCidr: pulumi.Output; /** * Status of the SNAT rule. Creating: being created. Deleting: being deleted. Available: available. */ readonly status: pulumi.Output; /** * ID of the subnet associated with the SNAT rule */ readonly subnetId: pulumi.Output; /** * Create a Snatentry resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: SnatentryArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Snatentry resources. */ export interface SnatentryState { /** * IP address of the public IP associated with the SNAT rule. Returns the IP address for a single public IP. Returns IP addresses for multiple public IPs. */ eipAddress?: pulumi.Input; /** * ID of the public IP associated with the SNAT rule. Returns the ID for a single public IP. Returns IDs for multiple public IPs. */ eipId?: pulumi.Input; /** * ID of the NAT gateway associated with the SNAT rule */ natGatewayId?: pulumi.Input; /** * ID of the transit IP for the private NAT gateway */ natIpId?: pulumi.Input; /** * ID of the SNAT rule */ snatEntryId?: pulumi.Input; /** * Name of the SNAT rule */ snatEntryName?: pulumi.Input; /** * Network segment corresponding to the SNAT rule */ sourceCidr?: pulumi.Input; /** * Status of the SNAT rule. Creating: being created. Deleting: being deleted. Available: available. */ status?: pulumi.Input; /** * ID of the subnet associated with the SNAT rule */ subnetId?: pulumi.Input; } /** * The set of arguments for constructing a Snatentry resource. */ export interface SnatentryArgs { /** * ID of the public IP associated with the SNAT rule. Returns the ID for a single public IP. Returns IDs for multiple public IPs. */ eipId?: pulumi.Input; /** * ID of the NAT gateway associated with the SNAT rule */ natGatewayId: pulumi.Input; /** * ID of the transit IP for the private NAT gateway */ natIpId?: pulumi.Input; /** * Name of the SNAT rule */ snatEntryName?: pulumi.Input; /** * Network segment corresponding to the SNAT rule */ sourceCidr?: pulumi.Input; /** * ID of the subnet associated with the SNAT rule */ subnetId?: pulumi.Input; }