import * as pulumi from "@pulumi/pulumi"; /** * Provides a Direct Connect public virtual interface resource. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const foo = new aws.directconnect.PublicVirtualInterface("foo", { * 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", * ], * }); * ``` * * ## 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. */ export declare class PublicVirtualInterface extends pulumi.CustomResource { /** * Get an existing PublicVirtualInterface 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?: PublicVirtualInterfaceState, opts?: pulumi.CustomResourceOptions): PublicVirtualInterface; /** * Returns true if the given object is an instance of PublicVirtualInterface. 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 PublicVirtualInterface; /** * The address family for the BGP peer. ` ipv4 ` or `ipv6`. */ readonly addressFamily: pulumi.Output; /** * The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers. */ readonly amazonAddress: pulumi.Output; readonly amazonSideAsn: pulumi.Output; /** * The ARN of the virtual interface. */ readonly arn: pulumi.Output; /** * The Direct Connect endpoint on which the virtual interface terminates. */ readonly awsDevice: pulumi.Output; /** * 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. */ readonly bgpAsn: pulumi.Output; /** * The authentication key for BGP configuration. */ readonly bgpAuthKey: pulumi.Output; /** * The ID of the Direct Connect connection (or LAG) on which to create the virtual interface. */ readonly connectionId: pulumi.Output; /** * The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers. */ readonly customerAddress: pulumi.Output; /** * The name for the virtual interface. */ readonly name: pulumi.Output; /** * 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. */ readonly rateLimit: pulumi.Output; /** * 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. */ readonly region: pulumi.Output; /** * A list of routes to be advertised to the AWS network in this region. */ readonly routeFilterPrefixes: pulumi.Output; /** * 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. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ readonly tagsAll: pulumi.Output<{ [key: string]: string; }>; /** * The VLAN ID. */ readonly vlan: pulumi.Output; /** * Create a PublicVirtualInterface 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: PublicVirtualInterfaceArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering PublicVirtualInterface resources. */ export interface PublicVirtualInterfaceState { /** * The address family for the BGP peer. ` ipv4 ` or `ipv6`. */ addressFamily?: pulumi.Input; /** * The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers. */ amazonAddress?: pulumi.Input; amazonSideAsn?: pulumi.Input; /** * The ARN of the virtual interface. */ arn?: pulumi.Input; /** * The Direct Connect endpoint on which the virtual interface terminates. */ awsDevice?: pulumi.Input; /** * 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. */ bgpAsn?: pulumi.Input; /** * The authentication key for BGP configuration. */ bgpAuthKey?: pulumi.Input; /** * The ID of the Direct Connect connection (or LAG) on which to create the virtual interface. */ connectionId?: pulumi.Input; /** * The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers. */ customerAddress?: pulumi.Input; /** * The name for the virtual interface. */ name?: pulumi.Input; /** * 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. */ rateLimit?: pulumi.Input; /** * 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. */ region?: pulumi.Input; /** * A list of routes to be advertised to the AWS network in this region. */ routeFilterPrefixes?: pulumi.Input[] | undefined>; /** * 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. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The VLAN ID. */ vlan?: pulumi.Input; } /** * The set of arguments for constructing a PublicVirtualInterface resource. */ export interface PublicVirtualInterfaceArgs { /** * The address family for the BGP peer. ` ipv4 ` or `ipv6`. */ addressFamily: pulumi.Input; /** * The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers. */ amazonAddress?: pulumi.Input; /** * 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. */ bgpAsn: pulumi.Input; /** * The authentication key for BGP configuration. */ bgpAuthKey?: pulumi.Input; /** * The ID of the Direct Connect connection (or LAG) on which to create the virtual interface. */ connectionId: pulumi.Input; /** * The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers. */ customerAddress?: pulumi.Input; /** * The name for the virtual interface. */ name?: pulumi.Input; /** * 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. */ rateLimit?: pulumi.Input; /** * 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. */ region?: pulumi.Input; /** * A list of routes to be advertised to the AWS network in this region. */ routeFilterPrefixes: pulumi.Input[]>; /** * 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. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The VLAN ID. */ vlan: pulumi.Input; } //# sourceMappingURL=publicVirtualInterface.d.ts.map