Class PublicVirtualInterface


  • public class PublicVirtualInterface
    extends com.pulumi.resources.CustomResource
    Provides a Direct Connect public virtual interface resource. ## Example Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.directconnect.PublicVirtualInterface;
     import com.pulumi.aws.directconnect.PublicVirtualInterfaceArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var foo = new PublicVirtualInterface("foo", PublicVirtualInterfaceArgs.builder()
                 .connectionId("dxcon-zzzzzzzz")
                 .name("vif-foo")
                 .vlan(4094)
                 .addressFamily("ipv4")
                 .bgpAsn(65352)
                 .customerAddress("175.45.176.1/30")
                 .amazonAddress("175.45.176.2/30")
                 .routeFilterPrefixes(            
                     "210.52.109.0/24",
                     "175.45.176.0/22")
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import Direct Connect public virtual interfaces using the VIF `id`. For example: ```sh $ pulumi import aws:directconnect/publicVirtualInterface:PublicVirtualInterface test dxvif-33cc44dd ``` > **Note:** When a virtual interface uses an ASN in the `bgpAsn` range (`1` to `2147483646`), AWS returns the value in both the `asn` and `asnLong` API fields, so import always populates `bgpAsn` rather than `bgpAsnLong`. If the virtual interface was originally created with `bgpAsnLong` set to a value in that range, update your configuration to use `bgpAsn` after import to avoid a difference. Virtual interfaces using a 4-byte ASN (greater than `2147483646`) import into `bgpAsnLong` as expected.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.pulumi.core.Output<java.lang.String> addressFamily()  
      com.pulumi.core.Output<java.lang.String> amazonAddress()  
      com.pulumi.core.Output<java.lang.String> amazonSideAsn()  
      com.pulumi.core.Output<java.lang.String> arn()  
      com.pulumi.core.Output<java.lang.String> awsDevice()  
      com.pulumi.core.Output<java.lang.Integer> bgpAsn()  
      com.pulumi.core.Output<java.lang.String> bgpAuthKey()  
      com.pulumi.core.Output<java.lang.String> connectionId()  
      com.pulumi.core.Output<java.lang.String> customerAddress()  
      static PublicVirtualInterface get​(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, PublicVirtualInterfaceState state, com.pulumi.resources.CustomResourceOptions options)
      Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
      com.pulumi.core.Output<java.lang.String> name()  
      com.pulumi.core.Output<java.lang.String> rateLimit()  
      com.pulumi.core.Output<java.lang.String> region()  
      com.pulumi.core.Output<java.util.List<java.lang.String>> routeFilterPrefixes()  
      com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()  
      com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()  
      com.pulumi.core.Output<java.lang.Integer> vlan()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, id, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn, pulumiChildResources, pulumiResourceName, pulumiResourceType, urn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PublicVirtualInterface

        public PublicVirtualInterface​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • PublicVirtualInterface

        public PublicVirtualInterface​(java.lang.String name,
                                      PublicVirtualInterfaceArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • PublicVirtualInterface

        public PublicVirtualInterface​(java.lang.String name,
                                      PublicVirtualInterfaceArgs args,
                                      @Nullable
                                      com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • addressFamily

        public com.pulumi.core.Output<java.lang.String> addressFamily()
        Returns:
        The address family for the BGP peer. ` ipv4 ` or `ipv6`.
      • amazonAddress

        public com.pulumi.core.Output<java.lang.String> amazonAddress()
        Returns:
        The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
      • amazonSideAsn

        public com.pulumi.core.Output<java.lang.String> amazonSideAsn()
      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        The ARN of the virtual interface.
      • awsDevice

        public com.pulumi.core.Output<java.lang.String> awsDevice()
        Returns:
        The Direct Connect endpoint on which the virtual interface terminates.
      • bgpAsn

        public com.pulumi.core.Output<java.lang.Integer> bgpAsn()
        Returns:
        BGP autonomous system number as an integer between `1` and `2147483646`. For larger values, use `bgpAsnLong`. Exactly one of `bgpAsn` or `bgpAsnLong` must be specified.
      • bgpAuthKey

        public com.pulumi.core.Output<java.lang.String> bgpAuthKey()
        Returns:
        The authentication key for BGP configuration.
      • connectionId

        public com.pulumi.core.Output<java.lang.String> connectionId()
        Returns:
        The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
      • customerAddress

        public com.pulumi.core.Output<java.lang.String> customerAddress()
        Returns:
        The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        The name for the virtual interface.
      • rateLimit

        public com.pulumi.core.Output<java.lang.String> rateLimit()
        Returns:
        Maximum bandwidth allocation for the virtual interface, restricting the bandwidth it can use on the parent connection. Specify a supported bandwidth value without a space (for example, `50Mbps`, `1Gbps`, or `10Gbps`); the value cannot exceed the bandwidth of the parent connection or link aggregation group (LAG), and supported values range up to `1.6Tbps`. See the [VIF Rate Limiters documentation](https://docs.aws.amazon.com/directconnect/latest/UserGuide/vif-rate-limiters.html) for the full list of supported values. Rate Limiters are supported only on Direct Connect dedicated connections (including LAGs); they are not supported on hosted connections.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        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.
      • routeFilterPrefixes

        public com.pulumi.core.Output<java.util.List<java.lang.String>> routeFilterPrefixes()
        Returns:
        A list of routes to be advertised to the AWS network in this region.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        A 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.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • vlan

        public com.pulumi.core.Output<java.lang.Integer> vlan()
        Returns:
        The VLAN ID.
      • get

        public static PublicVirtualInterface get​(java.lang.String name,
                                                 com.pulumi.core.Output<java.lang.String> id,
                                                 @Nullable
                                                 PublicVirtualInterfaceState state,
                                                 @Nullable
                                                 com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.