import * as pulumi from "@pulumi/pulumi"; /** * Destination address translation. When the transit IP and port are accessed, the private NAT gateway replaces the destination address and port in the request with the private IP and port of the cloud server, then forwards the request. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcenginecc from "@volcengine/pulumi-volcenginecc"; * * const natGatewayDnatentryDemo = new volcenginecc.natgateway.Dnatentry("NatGatewayDnatentryDemo", { * dnatEntryName: "NatGatewayDnatentryDemo", * protocol: "udp", * internalIp: "192.168.xxx.53", * internalPort: "20-25", * externalIp: "115.190.xxx.9", * externalPort: "25-30", * natGatewayId: "ngw-2pc28yhdpbx8g227qo1sxxxxx", * portType: "specified", * }); * ``` * * ## Import * * ```sh * $ pulumi import volcenginecc:natgateway/dnatentry:Dnatentry example "dnat_entry_id" * ``` */ export declare class Dnatentry extends pulumi.CustomResource { /** * Get an existing Dnatentry 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?: DnatentryState, opts?: pulumi.CustomResourceOptions): Dnatentry; /** * Returns true if the given object is an instance of Dnatentry. 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 Dnatentry; /** * ID of the DNAT rule. */ readonly dnatEntryId: pulumi.Output; /** * Name of the DNAT rule. */ readonly dnatEntryName: pulumi.Output; /** * IP address used by the NAT gateway for network address translation. If the NAT gateway is a public NAT gateway, enter its bound public IP address. If the NAT gateway is a private NAT gateway, enter its transit IP address. */ readonly externalIp: pulumi.Output; /** * Port or port range that receives requests from the public network. */ readonly externalPort: pulumi.Output; /** * Private IP address of the cloud server instance. */ readonly internalIp: pulumi.Output; /** * Port or port range of the private IP address of the cloud server instance. */ readonly internalPort: pulumi.Output; /** * ID of the NAT gateway to which the DNAT rule belongs. */ readonly natGatewayId: pulumi.Output; /** * Port type of the DNAT rule. specified: Specified port. any: Any port, i.e., IP mapping. */ readonly portType: pulumi.Output; /** * Protocol type. tcp: Forwards TCP protocol packets. udp: Forwards UDP protocol packets. */ readonly protocol: pulumi.Output; /** * Status of the DNAT rule. Creating: Creating. Deleting: Deleting. Available: Available. */ readonly status: pulumi.Output; /** * Create a Dnatentry 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: DnatentryArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Dnatentry resources. */ export interface DnatentryState { /** * ID of the DNAT rule. */ dnatEntryId?: pulumi.Input; /** * Name of the DNAT rule. */ dnatEntryName?: pulumi.Input; /** * IP address used by the NAT gateway for network address translation. If the NAT gateway is a public NAT gateway, enter its bound public IP address. If the NAT gateway is a private NAT gateway, enter its transit IP address. */ externalIp?: pulumi.Input; /** * Port or port range that receives requests from the public network. */ externalPort?: pulumi.Input; /** * Private IP address of the cloud server instance. */ internalIp?: pulumi.Input; /** * Port or port range of the private IP address of the cloud server instance. */ internalPort?: pulumi.Input; /** * ID of the NAT gateway to which the DNAT rule belongs. */ natGatewayId?: pulumi.Input; /** * Port type of the DNAT rule. specified: Specified port. any: Any port, i.e., IP mapping. */ portType?: pulumi.Input; /** * Protocol type. tcp: Forwards TCP protocol packets. udp: Forwards UDP protocol packets. */ protocol?: pulumi.Input; /** * Status of the DNAT rule. Creating: Creating. Deleting: Deleting. Available: Available. */ status?: pulumi.Input; } /** * The set of arguments for constructing a Dnatentry resource. */ export interface DnatentryArgs { /** * Name of the DNAT rule. */ dnatEntryName?: pulumi.Input; /** * IP address used by the NAT gateway for network address translation. If the NAT gateway is a public NAT gateway, enter its bound public IP address. If the NAT gateway is a private NAT gateway, enter its transit IP address. */ externalIp: pulumi.Input; /** * Port or port range that receives requests from the public network. */ externalPort: pulumi.Input; /** * Private IP address of the cloud server instance. */ internalIp: pulumi.Input; /** * Port or port range of the private IP address of the cloud server instance. */ internalPort: pulumi.Input; /** * ID of the NAT gateway to which the DNAT rule belongs. */ natGatewayId: pulumi.Input; /** * Port type of the DNAT rule. specified: Specified port. any: Any port, i.e., IP mapping. */ portType?: pulumi.Input; /** * Protocol type. tcp: Forwards TCP protocol packets. udp: Forwards UDP protocol packets. */ protocol: pulumi.Input; }