import * as pulumi from "@pulumi/pulumi"; /** * Allocated from the subnet associated with the private NAT gateway for IP address translation. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcenginecc from "@volcengine/pulumi-volcenginecc"; * * const natGatewayNatIpDemo = new volcenginecc.natgateway.NatIp("NatGatewayNatIpDemo", { * natGatewayId: "ngw-2hgk22kpfp5a874wjohxxxxx", * natIpDescription: "NatGatewayNatIpDemo description", * natIpName: "NatGatewayNatIpDemo", * natIp: "192.168.xxx.xx", * }); * ``` * * ## Import * * ```sh * $ pulumi import volcenginecc:natgateway/natIp:NatIp example "nat_ip_id" * ``` */ export declare class NatIp extends pulumi.CustomResource { /** * Get an existing NatIp 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?: NatIpState, opts?: pulumi.CustomResourceOptions): NatIp; /** * Returns true if the given object is an instance of NatIp. 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 NatIp; /** * Whether this is the default transit IP. true: Yes. false: No. */ readonly isDefault: pulumi.Output; /** * Private NAT gateway ID. */ readonly natGatewayId: pulumi.Output; /** * Transit IP address. If not specified, the system automatically randomly assigns an available IP address from the subnet of the private NAT gateway. */ readonly natIp: pulumi.Output; /** * Description of the transit IP. Length limit: 0–255 characters. If not specified, defaults to an empty string. Must start with a letter, Chinese character, or number. Can include English comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). */ readonly natIpDescription: pulumi.Output; /** * Transit IP ID. */ readonly natIpId: pulumi.Output; /** * Name of the transit IP. Length limit: 1–128 characters. Must start with a letter, Chinese character, or number; can include period (.), underscore (_), and hyphen (-). If not specified, defaults to the transit IP ID. */ readonly natIpName: pulumi.Output; /** * Status of the transit IP. Creating: Being created. Available: Available. Deleting: Being deleted. Deleted: Deleted. */ readonly status: pulumi.Output; /** * Usage status of the transit IP. Idle: Not used. UsedBySnat: Used by SNAT rule. UsedByDnat: Used by DNAT rule. UsedByNat: Used by both SNAT and DNAT rules. */ readonly usingStatus: pulumi.Output; /** * Create a NatIp 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: NatIpArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering NatIp resources. */ export interface NatIpState { /** * Whether this is the default transit IP. true: Yes. false: No. */ isDefault?: pulumi.Input; /** * Private NAT gateway ID. */ natGatewayId?: pulumi.Input; /** * Transit IP address. If not specified, the system automatically randomly assigns an available IP address from the subnet of the private NAT gateway. */ natIp?: pulumi.Input; /** * Description of the transit IP. Length limit: 0–255 characters. If not specified, defaults to an empty string. Must start with a letter, Chinese character, or number. Can include English comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). */ natIpDescription?: pulumi.Input; /** * Transit IP ID. */ natIpId?: pulumi.Input; /** * Name of the transit IP. Length limit: 1–128 characters. Must start with a letter, Chinese character, or number; can include period (.), underscore (_), and hyphen (-). If not specified, defaults to the transit IP ID. */ natIpName?: pulumi.Input; /** * Status of the transit IP. Creating: Being created. Available: Available. Deleting: Being deleted. Deleted: Deleted. */ status?: pulumi.Input; /** * Usage status of the transit IP. Idle: Not used. UsedBySnat: Used by SNAT rule. UsedByDnat: Used by DNAT rule. UsedByNat: Used by both SNAT and DNAT rules. */ usingStatus?: pulumi.Input; } /** * The set of arguments for constructing a NatIp resource. */ export interface NatIpArgs { /** * Private NAT gateway ID. */ natGatewayId: pulumi.Input; /** * Transit IP address. If not specified, the system automatically randomly assigns an available IP address from the subnet of the private NAT gateway. */ natIp?: pulumi.Input; /** * Description of the transit IP. Length limit: 0–255 characters. If not specified, defaults to an empty string. Must start with a letter, Chinese character, or number. Can include English comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). */ natIpDescription?: pulumi.Input; /** * Name of the transit IP. Length limit: 1–128 characters. Must start with a letter, Chinese character, or number; can include period (.), underscore (_), and hyphen (-). If not specified, defaults to the transit IP ID. */ natIpName?: pulumi.Input; }