import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * A network interface is a virtual network interface. In a private network, it serves as a network interface attached to cloud servers, load balancers, and other cloud resources. Each network interface has a primary private IP address. You can manually assign multiple auxiliary private IP addresses if needed. * * ## Import * * ```sh * $ pulumi import volcenginecc:vpc/eni:Eni example "network_interface_id" * ``` */ export declare class Eni extends pulumi.CustomResource { /** * Get an existing Eni 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?: EniState, opts?: pulumi.CustomResourceOptions): Eni; /** * Returns true if the given object is an instance of Eni. 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 Eni; /** * NIC owner ID */ readonly accountId: pulumi.Output; /** * NIC creation time */ readonly createdTime: pulumi.Output; /** * Enable release with cloud server instance deletion. true to enable, false to disable */ readonly deleteOnTermination: pulumi.Output; /** * Description for the auxiliary network interface. Length limit: 0–255 characters. Must start with a letter, Chinese character, or number. Allowed characters include English comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). If not specified, defaults to an empty string. */ readonly description: pulumi.Output; /** * ID of the instance bound to the NIC. If the NIC is not attached or the ServiceManaged parameter is true, InstanceId returns empty */ readonly instanceId: pulumi.Output; /** * Number of private IPv6 addresses assigned to the network interface. When this parameter is specified, the system automatically assigns the corresponding number of available private IPv6 addresses from the subnet to which the network interface belongs. Cannot be used together with IPv6Sets during creation. */ readonly ipv6AddressCount: pulumi.Output; /** * IPv6 address list of the network interface, for example [2408::153:3921:XX:XX:7b12:1c5f, 2408:4008:2cf:XX:XX:dd1e:2a22:5ddf]. */ readonly ipv6Sets: pulumi.Output; /** * MAC address of the network interface. */ readonly macAddress: pulumi.Output; /** * Network interface ID. */ readonly networkInterfaceId: pulumi.Output; /** * NIC name. Length must be between 1 and 128 characters, starting with a letter, Chinese character, or number. Can include periods (.), underscores (_), and hyphens (-). If not specified, defaults to the ID of the secondary NIC */ readonly networkInterfaceName: pulumi.Output; /** * Enable source/destination address check for the NIC. When enabled, the system automatically blocks traffic whose source or destination address does not match the current NIC. true to enable, false to disable (default) */ readonly portSecurityEnabled: pulumi.Output; /** * Primary private IPv4 address of the network interface. Address modification is not supported, but you can modify the public IP. If specified, it must be an available private IPv4 address in the corresponding subnet. If not specified, an available private IPv4 address will be automatically assigned from the corresponding subnet. For example: 192.XX.XX.10. */ readonly primaryIpAddress: pulumi.Output; readonly privateIpSets: pulumi.Output; /** * Name of the project to which the NIC belongs */ readonly projectName: pulumi.Output; /** * Number of auxiliary private IPv4 addresses automatically assigned to the auxiliary network interface. Value range: 1–49. Cannot be used together with PrivateIpSets during creation. */ readonly secondaryPrivateIpAddressCount: pulumi.Output; /** * ID of one or more security groups joined by the auxiliary network interface. */ readonly securityGroupIds: pulumi.Output; /** * Indicates whether this is an official service network interface. true for yes, false for no. */ readonly serviceManaged: pulumi.Output; /** * Binding status of the network interface. Creating: In progress. Available: Not attached. Attaching: In progress. InUse: Attached. Detaching: In progress. Deleting: In progress. */ readonly status: pulumi.Output; /** * ID of the subnet where the auxiliary network interface resides. */ readonly subnetId: pulumi.Output; readonly tags: pulumi.Output; /** * NIC type. primary: primary NIC, secondary: secondary NIC */ readonly type: pulumi.Output; /** * NIC update time */ readonly updatedTime: pulumi.Output; /** * ID of the VPC to which the network interface belongs. */ readonly vpcId: pulumi.Output; /** * Name of the VPC to which the NIC belongs */ readonly vpcName: pulumi.Output; /** * ID of the availability zone to which the network interface belongs. */ readonly zoneId: pulumi.Output; /** * Create a Eni 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?: EniArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Eni resources. */ export interface EniState { /** * NIC owner ID */ accountId?: pulumi.Input; /** * NIC creation time */ createdTime?: pulumi.Input; /** * Enable release with cloud server instance deletion. true to enable, false to disable */ deleteOnTermination?: pulumi.Input; /** * Description for the auxiliary network interface. Length limit: 0–255 characters. Must start with a letter, Chinese character, or number. Allowed characters include English comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). If not specified, defaults to an empty string. */ description?: pulumi.Input; /** * ID of the instance bound to the NIC. If the NIC is not attached or the ServiceManaged parameter is true, InstanceId returns empty */ instanceId?: pulumi.Input; /** * Number of private IPv6 addresses assigned to the network interface. When this parameter is specified, the system automatically assigns the corresponding number of available private IPv6 addresses from the subnet to which the network interface belongs. Cannot be used together with IPv6Sets during creation. */ ipv6AddressCount?: pulumi.Input; /** * IPv6 address list of the network interface, for example [2408::153:3921:XX:XX:7b12:1c5f, 2408:4008:2cf:XX:XX:dd1e:2a22:5ddf]. */ ipv6Sets?: pulumi.Input[]>; /** * MAC address of the network interface. */ macAddress?: pulumi.Input; /** * Network interface ID. */ networkInterfaceId?: pulumi.Input; /** * NIC name. Length must be between 1 and 128 characters, starting with a letter, Chinese character, or number. Can include periods (.), underscores (_), and hyphens (-). If not specified, defaults to the ID of the secondary NIC */ networkInterfaceName?: pulumi.Input; /** * Enable source/destination address check for the NIC. When enabled, the system automatically blocks traffic whose source or destination address does not match the current NIC. true to enable, false to disable (default) */ portSecurityEnabled?: pulumi.Input; /** * Primary private IPv4 address of the network interface. Address modification is not supported, but you can modify the public IP. If specified, it must be an available private IPv4 address in the corresponding subnet. If not specified, an available private IPv4 address will be automatically assigned from the corresponding subnet. For example: 192.XX.XX.10. */ primaryIpAddress?: pulumi.Input; privateIpSets?: pulumi.Input[]>; /** * Name of the project to which the NIC belongs */ projectName?: pulumi.Input; /** * Number of auxiliary private IPv4 addresses automatically assigned to the auxiliary network interface. Value range: 1–49. Cannot be used together with PrivateIpSets during creation. */ secondaryPrivateIpAddressCount?: pulumi.Input; /** * ID of one or more security groups joined by the auxiliary network interface. */ securityGroupIds?: pulumi.Input[]>; /** * Indicates whether this is an official service network interface. true for yes, false for no. */ serviceManaged?: pulumi.Input; /** * Binding status of the network interface. Creating: In progress. Available: Not attached. Attaching: In progress. InUse: Attached. Detaching: In progress. Deleting: In progress. */ status?: pulumi.Input; /** * ID of the subnet where the auxiliary network interface resides. */ subnetId?: pulumi.Input; tags?: pulumi.Input[]>; /** * NIC type. primary: primary NIC, secondary: secondary NIC */ type?: pulumi.Input; /** * NIC update time */ updatedTime?: pulumi.Input; /** * ID of the VPC to which the network interface belongs. */ vpcId?: pulumi.Input; /** * Name of the VPC to which the NIC belongs */ vpcName?: pulumi.Input; /** * ID of the availability zone to which the network interface belongs. */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a Eni resource. */ export interface EniArgs { /** * Enable release with cloud server instance deletion. true to enable, false to disable */ deleteOnTermination?: pulumi.Input; /** * Description for the auxiliary network interface. Length limit: 0–255 characters. Must start with a letter, Chinese character, or number. Allowed characters include English comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). If not specified, defaults to an empty string. */ description?: pulumi.Input; /** * ID of the instance bound to the NIC. If the NIC is not attached or the ServiceManaged parameter is true, InstanceId returns empty */ instanceId?: pulumi.Input; /** * Number of private IPv6 addresses assigned to the network interface. When this parameter is specified, the system automatically assigns the corresponding number of available private IPv6 addresses from the subnet to which the network interface belongs. Cannot be used together with IPv6Sets during creation. */ ipv6AddressCount?: pulumi.Input; /** * IPv6 address list of the network interface, for example [2408::153:3921:XX:XX:7b12:1c5f, 2408:4008:2cf:XX:XX:dd1e:2a22:5ddf]. */ ipv6Sets?: pulumi.Input[]>; /** * NIC name. Length must be between 1 and 128 characters, starting with a letter, Chinese character, or number. Can include periods (.), underscores (_), and hyphens (-). If not specified, defaults to the ID of the secondary NIC */ networkInterfaceName?: pulumi.Input; /** * Enable source/destination address check for the NIC. When enabled, the system automatically blocks traffic whose source or destination address does not match the current NIC. true to enable, false to disable (default) */ portSecurityEnabled?: pulumi.Input; /** * Primary private IPv4 address of the network interface. Address modification is not supported, but you can modify the public IP. If specified, it must be an available private IPv4 address in the corresponding subnet. If not specified, an available private IPv4 address will be automatically assigned from the corresponding subnet. For example: 192.XX.XX.10. */ primaryIpAddress?: pulumi.Input; privateIpSets?: pulumi.Input[]>; /** * Name of the project to which the NIC belongs */ projectName?: pulumi.Input; /** * Number of auxiliary private IPv4 addresses automatically assigned to the auxiliary network interface. Value range: 1–49. Cannot be used together with PrivateIpSets during creation. */ secondaryPrivateIpAddressCount?: pulumi.Input; /** * ID of one or more security groups joined by the auxiliary network interface. */ securityGroupIds?: pulumi.Input[]>; /** * ID of the subnet where the auxiliary network interface resides. */ subnetId?: pulumi.Input; tags?: pulumi.Input[]>; }