import * as pulumi from "@pulumi/pulumi"; /** * Provides a Direct Connect private virtual interface resource. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const foo = new aws.directconnect.PrivateVirtualInterface("foo", { * connectionId: "dxcon-zzzzzzzz", * name: "vif-foo", * vlan: 4094, * addressFamily: "ipv4", * bgpAsn: 65352, * }); * ``` * * ## Import * * Using `pulumi import`, import Direct Connect private virtual interfaces using the VIF `id`. For example: * * ```sh * $ pulumi import aws:directconnect/privateVirtualInterface:PrivateVirtualInterface 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 PrivateVirtualInterface extends pulumi.CustomResource { /** * Get an existing PrivateVirtualInterface 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?: PrivateVirtualInterfaceState, opts?: pulumi.CustomResourceOptions): PrivateVirtualInterface; /** * Returns true if the given object is an instance of PrivateVirtualInterface. 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 PrivateVirtualInterface; /** * 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; /** * BGP autonomous system number as an asplain decimal string between `1` and `4294967294`. This argument also accepts values in the `bgpAsn` range. Exactly one of `bgpAsn` or `bgpAsnLong` must be specified. */ readonly bgpAsnLong: 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 ID of the Direct Connect gateway to which to connect the virtual interface. */ readonly dxGatewayId: pulumi.Output; /** * Indicates whether jumbo frames (9001 MTU) are supported. */ readonly jumboFrameCapable: pulumi.Output; /** * The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. * The MTU of a virtual private interface can be either `1500` or `9001` (jumbo frames). Default is `1500`. */ readonly mtu: pulumi.Output; /** * The name for the virtual interface. */ readonly name: pulumi.Output; /** * The number of inbound IPv4 route prefixes to allocate to the virtual interface. Valid values are `0` to `1000`. If not specified, AWS applies the default allocation of `100`. */ readonly prefixPoolAllocatedCountIpv4: pulumi.Output; /** * The number of inbound IPv6 route prefixes to allocate to the virtual interface. Valid values are `0` to `1000`. If not specified, AWS applies the default allocation of `100`. */ readonly prefixPoolAllocatedCountIpv6: 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; /** * Indicates whether to enable or disable SiteLink. */ readonly sitelinkEnabled: 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; /** * The ID of the virtual private gateway to which to connect the virtual interface. */ readonly vpnGatewayId: pulumi.Output; /** * Create a PrivateVirtualInterface 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: PrivateVirtualInterfaceArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering PrivateVirtualInterface resources. */ export interface PrivateVirtualInterfaceState { /** * 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; /** * BGP autonomous system number as an asplain decimal string between `1` and `4294967294`. This argument also accepts values in the `bgpAsn` range. Exactly one of `bgpAsn` or `bgpAsnLong` must be specified. */ bgpAsnLong?: 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 ID of the Direct Connect gateway to which to connect the virtual interface. */ dxGatewayId?: pulumi.Input; /** * Indicates whether jumbo frames (9001 MTU) are supported. */ jumboFrameCapable?: pulumi.Input; /** * The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. * The MTU of a virtual private interface can be either `1500` or `9001` (jumbo frames). Default is `1500`. */ mtu?: pulumi.Input; /** * The name for the virtual interface. */ name?: pulumi.Input; /** * The number of inbound IPv4 route prefixes to allocate to the virtual interface. Valid values are `0` to `1000`. If not specified, AWS applies the default allocation of `100`. */ prefixPoolAllocatedCountIpv4?: pulumi.Input; /** * The number of inbound IPv6 route prefixes to allocate to the virtual interface. Valid values are `0` to `1000`. If not specified, AWS applies the default allocation of `100`. */ prefixPoolAllocatedCountIpv6?: 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; /** * Indicates whether to enable or disable SiteLink. */ sitelinkEnabled?: 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>; /** * 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 ID of the virtual private gateway to which to connect the virtual interface. */ vpnGatewayId?: pulumi.Input; } /** * The set of arguments for constructing a PrivateVirtualInterface resource. */ export interface PrivateVirtualInterfaceArgs { /** * 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; /** * BGP autonomous system number as an asplain decimal string between `1` and `4294967294`. This argument also accepts values in the `bgpAsn` range. Exactly one of `bgpAsn` or `bgpAsnLong` must be specified. */ bgpAsnLong?: 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 ID of the Direct Connect gateway to which to connect the virtual interface. */ dxGatewayId?: pulumi.Input; /** * The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. * The MTU of a virtual private interface can be either `1500` or `9001` (jumbo frames). Default is `1500`. */ mtu?: pulumi.Input; /** * The name for the virtual interface. */ name?: pulumi.Input; /** * The number of inbound IPv4 route prefixes to allocate to the virtual interface. Valid values are `0` to `1000`. If not specified, AWS applies the default allocation of `100`. */ prefixPoolAllocatedCountIpv4?: pulumi.Input; /** * The number of inbound IPv6 route prefixes to allocate to the virtual interface. Valid values are `0` to `1000`. If not specified, AWS applies the default allocation of `100`. */ prefixPoolAllocatedCountIpv6?: 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; /** * Indicates whether to enable or disable SiteLink. */ sitelinkEnabled?: 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; /** * The ID of the virtual private gateway to which to connect the virtual interface. */ vpnGatewayId?: pulumi.Input; } //# sourceMappingURL=privateVirtualInterface.d.ts.map