Class NetworkInterfaceArgs.Builder

  • Enclosing class:
    NetworkInterfaceArgs

    public static final class NetworkInterfaceArgs.Builder
    extends java.lang.Object
    • Method Detail

      • attachments

        public NetworkInterfaceArgs.Builder attachments​(@Nullable
                                                        com.pulumi.core.Output<java.util.List<NetworkInterfaceAttachmentArgs>> attachments)
        Parameters:
        attachments - Configuration block to define the attachment of the ENI. See Attachment below for more details!
        Returns:
        builder
      • connectionTrackingSpecification

        public NetworkInterfaceArgs.Builder connectionTrackingSpecification​(@Nullable
                                                                            com.pulumi.core.Output<NetworkInterfaceConnectionTrackingSpecificationArgs> connectionTrackingSpecification)
        Parameters:
        connectionTrackingSpecification - Configures the [connection tracking timeouts](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) for the network interface. See Connection Tracking Specification below for more details.
        Returns:
        builder
      • connectionTrackingSpecification

        public NetworkInterfaceArgs.Builder connectionTrackingSpecification​(NetworkInterfaceConnectionTrackingSpecificationArgs connectionTrackingSpecification)
        Parameters:
        connectionTrackingSpecification - Configures the [connection tracking timeouts](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) for the network interface. See Connection Tracking Specification below for more details.
        Returns:
        builder
      • description

        public NetworkInterfaceArgs.Builder description​(@Nullable
                                                        com.pulumi.core.Output<java.lang.String> description)
        Parameters:
        description - Description for the network interface.
        Returns:
        builder
      • description

        public NetworkInterfaceArgs.Builder description​(java.lang.String description)
        Parameters:
        description - Description for the network interface.
        Returns:
        builder
      • enaSrdSpecification

        public NetworkInterfaceArgs.Builder enaSrdSpecification​(@Nullable
                                                                com.pulumi.core.Output<NetworkInterfaceEnaSrdSpecificationArgs> enaSrdSpecification)
        Parameters:
        enaSrdSpecification - Configures ENA Express for the network interface. The ENI must be attached to an instance to configure ENA Express. See ENA SRD Specification below for more details.
        Returns:
        builder
      • enaSrdSpecification

        public NetworkInterfaceArgs.Builder enaSrdSpecification​(NetworkInterfaceEnaSrdSpecificationArgs enaSrdSpecification)
        Parameters:
        enaSrdSpecification - Configures ENA Express for the network interface. The ENI must be attached to an instance to configure ENA Express. See ENA SRD Specification below for more details.
        Returns:
        builder
      • enablePrimaryIpv6

        public NetworkInterfaceArgs.Builder enablePrimaryIpv6​(@Nullable
                                                              com.pulumi.core.Output<java.lang.Boolean> enablePrimaryIpv6)
        Parameters:
        enablePrimaryIpv6 - Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.
        Returns:
        builder
      • enablePrimaryIpv6

        public NetworkInterfaceArgs.Builder enablePrimaryIpv6​(java.lang.Boolean enablePrimaryIpv6)
        Parameters:
        enablePrimaryIpv6 - Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.
        Returns:
        builder
      • interfaceType

        public NetworkInterfaceArgs.Builder interfaceType​(@Nullable
                                                          com.pulumi.core.Output<java.lang.String> interfaceType)
        Parameters:
        interfaceType - Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interfaceType` will cause the resource to be destroyed and re-created.
        Returns:
        builder
      • interfaceType

        public NetworkInterfaceArgs.Builder interfaceType​(java.lang.String interfaceType)
        Parameters:
        interfaceType - Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interfaceType` will cause the resource to be destroyed and re-created.
        Returns:
        builder
      • ipv4PrefixCount

        public NetworkInterfaceArgs.Builder ipv4PrefixCount​(@Nullable
                                                            com.pulumi.core.Output<java.lang.Integer> ipv4PrefixCount)
        Parameters:
        ipv4PrefixCount - Number of IPv4 prefixes that AWS automatically assigns to the network interface.
        Returns:
        builder
      • ipv4PrefixCount

        public NetworkInterfaceArgs.Builder ipv4PrefixCount​(java.lang.Integer ipv4PrefixCount)
        Parameters:
        ipv4PrefixCount - Number of IPv4 prefixes that AWS automatically assigns to the network interface.
        Returns:
        builder
      • ipv4Prefixes

        public NetworkInterfaceArgs.Builder ipv4Prefixes​(@Nullable
                                                         com.pulumi.core.Output<java.util.List<java.lang.String>> ipv4Prefixes)
        Parameters:
        ipv4Prefixes - One or more IPv4 prefixes assigned to the network interface.
        Returns:
        builder
      • ipv4Prefixes

        public NetworkInterfaceArgs.Builder ipv4Prefixes​(java.util.List<java.lang.String> ipv4Prefixes)
        Parameters:
        ipv4Prefixes - One or more IPv4 prefixes assigned to the network interface.
        Returns:
        builder
      • ipv4Prefixes

        public NetworkInterfaceArgs.Builder ipv4Prefixes​(java.lang.String... ipv4Prefixes)
        Parameters:
        ipv4Prefixes - One or more IPv4 prefixes assigned to the network interface.
        Returns:
        builder
      • ipv6AddressCount

        public NetworkInterfaceArgs.Builder ipv6AddressCount​(@Nullable
                                                             com.pulumi.core.Output<java.lang.Integer> ipv6AddressCount)
        Parameters:
        ipv6AddressCount - Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6Addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting.
        Returns:
        builder
      • ipv6AddressCount

        public NetworkInterfaceArgs.Builder ipv6AddressCount​(java.lang.Integer ipv6AddressCount)
        Parameters:
        ipv6AddressCount - Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6Addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting.
        Returns:
        builder
      • ipv6AddressListEnabled

        public NetworkInterfaceArgs.Builder ipv6AddressListEnabled​(@Nullable
                                                                   com.pulumi.core.Output<java.lang.Boolean> ipv6AddressListEnabled)
        Parameters:
        ipv6AddressListEnabled - Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default is `false`.
        Returns:
        builder
      • ipv6AddressListEnabled

        public NetworkInterfaceArgs.Builder ipv6AddressListEnabled​(java.lang.Boolean ipv6AddressListEnabled)
        Parameters:
        ipv6AddressListEnabled - Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default is `false`.
        Returns:
        builder
      • ipv6AddressLists

        public NetworkInterfaceArgs.Builder ipv6AddressLists​(@Nullable
                                                             com.pulumi.core.Output<java.util.List<java.lang.String>> ipv6AddressLists)
        Parameters:
        ipv6AddressLists - List of private IPs to assign to the ENI in sequential order.
        Returns:
        builder
      • ipv6AddressLists

        public NetworkInterfaceArgs.Builder ipv6AddressLists​(java.util.List<java.lang.String> ipv6AddressLists)
        Parameters:
        ipv6AddressLists - List of private IPs to assign to the ENI in sequential order.
        Returns:
        builder
      • ipv6AddressLists

        public NetworkInterfaceArgs.Builder ipv6AddressLists​(java.lang.String... ipv6AddressLists)
        Parameters:
        ipv6AddressLists - List of private IPs to assign to the ENI in sequential order.
        Returns:
        builder
      • ipv6Addresses

        public NetworkInterfaceArgs.Builder ipv6Addresses​(@Nullable
                                                          com.pulumi.core.Output<java.util.List<java.lang.String>> ipv6Addresses)
        Parameters:
        ipv6Addresses - One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying `ipv6AddressCount`.
        Returns:
        builder
      • ipv6Addresses

        public NetworkInterfaceArgs.Builder ipv6Addresses​(java.util.List<java.lang.String> ipv6Addresses)
        Parameters:
        ipv6Addresses - One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying `ipv6AddressCount`.
        Returns:
        builder
      • ipv6Addresses

        public NetworkInterfaceArgs.Builder ipv6Addresses​(java.lang.String... ipv6Addresses)
        Parameters:
        ipv6Addresses - One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying `ipv6AddressCount`.
        Returns:
        builder
      • ipv6PrefixCount

        public NetworkInterfaceArgs.Builder ipv6PrefixCount​(@Nullable
                                                            com.pulumi.core.Output<java.lang.Integer> ipv6PrefixCount)
        Parameters:
        ipv6PrefixCount - Number of IPv6 prefixes that AWS automatically assigns to the network interface.
        Returns:
        builder
      • ipv6PrefixCount

        public NetworkInterfaceArgs.Builder ipv6PrefixCount​(java.lang.Integer ipv6PrefixCount)
        Parameters:
        ipv6PrefixCount - Number of IPv6 prefixes that AWS automatically assigns to the network interface.
        Returns:
        builder
      • ipv6Prefixes

        public NetworkInterfaceArgs.Builder ipv6Prefixes​(@Nullable
                                                         com.pulumi.core.Output<java.util.List<java.lang.String>> ipv6Prefixes)
        Parameters:
        ipv6Prefixes - One or more IPv6 prefixes assigned to the network interface.
        Returns:
        builder
      • ipv6Prefixes

        public NetworkInterfaceArgs.Builder ipv6Prefixes​(java.util.List<java.lang.String> ipv6Prefixes)
        Parameters:
        ipv6Prefixes - One or more IPv6 prefixes assigned to the network interface.
        Returns:
        builder
      • ipv6Prefixes

        public NetworkInterfaceArgs.Builder ipv6Prefixes​(java.lang.String... ipv6Prefixes)
        Parameters:
        ipv6Prefixes - One or more IPv6 prefixes assigned to the network interface.
        Returns:
        builder
      • privateIpListEnabled

        public NetworkInterfaceArgs.Builder privateIpListEnabled​(@Nullable
                                                                 com.pulumi.core.Output<java.lang.Boolean> privateIpListEnabled)
        Parameters:
        privateIpListEnabled - Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default is `false`.
        Returns:
        builder
      • privateIpListEnabled

        public NetworkInterfaceArgs.Builder privateIpListEnabled​(java.lang.Boolean privateIpListEnabled)
        Parameters:
        privateIpListEnabled - Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default is `false`.
        Returns:
        builder
      • privateIpLists

        public NetworkInterfaceArgs.Builder privateIpLists​(@Nullable
                                                           com.pulumi.core.Output<java.util.List<java.lang.String>> privateIpLists)
        Parameters:
        privateIpLists - List of private IPs to assign to the ENI in sequential order. Requires setting `privateIpListEnabled` to `true`.
        Returns:
        builder
      • privateIpLists

        public NetworkInterfaceArgs.Builder privateIpLists​(java.util.List<java.lang.String> privateIpLists)
        Parameters:
        privateIpLists - List of private IPs to assign to the ENI in sequential order. Requires setting `privateIpListEnabled` to `true`.
        Returns:
        builder
      • privateIpLists

        public NetworkInterfaceArgs.Builder privateIpLists​(java.lang.String... privateIpLists)
        Parameters:
        privateIpLists - List of private IPs to assign to the ENI in sequential order. Requires setting `privateIpListEnabled` to `true`.
        Returns:
        builder
      • privateIps

        public NetworkInterfaceArgs.Builder privateIps​(@Nullable
                                                       com.pulumi.core.Output<java.util.List<java.lang.String>> privateIps)
        Parameters:
        privateIps - List of private IPs to assign to the ENI without regard to order.
        Returns:
        builder
      • privateIps

        public NetworkInterfaceArgs.Builder privateIps​(java.util.List<java.lang.String> privateIps)
        Parameters:
        privateIps - List of private IPs to assign to the ENI without regard to order.
        Returns:
        builder
      • privateIps

        public NetworkInterfaceArgs.Builder privateIps​(java.lang.String... privateIps)
        Parameters:
        privateIps - List of private IPs to assign to the ENI without regard to order.
        Returns:
        builder
      • privateIpsCount

        public NetworkInterfaceArgs.Builder privateIpsCount​(@Nullable
                                                            com.pulumi.core.Output<java.lang.Integer> privateIpsCount)
        Parameters:
        privateIpsCount - Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + `privateIpsCount`, as a primary private IP will be assigned to an ENI by default.
        Returns:
        builder
      • privateIpsCount

        public NetworkInterfaceArgs.Builder privateIpsCount​(java.lang.Integer privateIpsCount)
        Parameters:
        privateIpsCount - Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + `privateIpsCount`, as a primary private IP will be assigned to an ENI by default.
        Returns:
        builder
      • region

        public NetworkInterfaceArgs.Builder region​(@Nullable
                                                   com.pulumi.core.Output<java.lang.String> region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • region

        public NetworkInterfaceArgs.Builder region​(java.lang.String region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • securityGroups

        public NetworkInterfaceArgs.Builder securityGroups​(@Nullable
                                                           com.pulumi.core.Output<java.util.List<java.lang.String>> securityGroups)
        Parameters:
        securityGroups - List of security group IDs to assign to the ENI.
        Returns:
        builder
      • securityGroups

        public NetworkInterfaceArgs.Builder securityGroups​(java.util.List<java.lang.String> securityGroups)
        Parameters:
        securityGroups - List of security group IDs to assign to the ENI.
        Returns:
        builder
      • securityGroups

        public NetworkInterfaceArgs.Builder securityGroups​(java.lang.String... securityGroups)
        Parameters:
        securityGroups - List of security group IDs to assign to the ENI.
        Returns:
        builder
      • sourceDestCheck

        public NetworkInterfaceArgs.Builder sourceDestCheck​(@Nullable
                                                            com.pulumi.core.Output<java.lang.Boolean> sourceDestCheck)
        Parameters:
        sourceDestCheck - Whether to enable source destination checking for the ENI. Default true.
        Returns:
        builder
      • sourceDestCheck

        public NetworkInterfaceArgs.Builder sourceDestCheck​(java.lang.Boolean sourceDestCheck)
        Parameters:
        sourceDestCheck - Whether to enable source destination checking for the ENI. Default true.
        Returns:
        builder
      • subnetId

        public NetworkInterfaceArgs.Builder subnetId​(com.pulumi.core.Output<java.lang.String> subnetId)
        Parameters:
        subnetId - Subnet ID to create the ENI in. The following arguments are optional:
        Returns:
        builder
      • subnetId

        public NetworkInterfaceArgs.Builder subnetId​(java.lang.String subnetId)
        Parameters:
        subnetId - Subnet ID to create the ENI in. The following arguments are optional:
        Returns:
        builder
      • tags

        public NetworkInterfaceArgs.Builder tags​(@Nullable
                                                 com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tags)
        Parameters:
        tags - Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tags

        public NetworkInterfaceArgs.Builder tags​(java.util.Map<java.lang.String,​java.lang.String> tags)
        Parameters:
        tags - Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder