UNPKG

@equinix-labs/pulumi-equinix

Version:

A Pulumi package for creating and managing equinix cloud resources.

182 lines (181 loc) 8.23 kB
import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * Fabric V4 API compatible data resource that allow user to fetch routing protocol for a given UUID * * API documentation can be found here - https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#routing-protocols * * Additional documentation: * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/connections/FCR-connect-azureQC.htm#ConfigureRoutingDetailsintheFabricPortal * * API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#routing-protocols * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/pulumi-equinix"; * * const routingProtocolDataName = equinix.fabric.getRoutingProtocol({ * connectionUuid: "<uuid_of_connection_routing_protocol_is_applied_to>", * uuid: "<uuid_of_routing_protocol>", * }); * export const id = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.id); * export const name = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.name); * export const type = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.type); * export const directIpv4 = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.directIpv4?.equinixIfaceIp); * export const directIpv6 = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.directIpv6?.equinixIfaceIp); * export const bgpIpv4CustomerPeerIp = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.bgpIpv4?.customerPeerIp); * export const bgpIpv4EquinixPeerIp = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.bgpIpv4?.equinixPeerIp); * export const bgpIpv4Enabled = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.bgpIpv4?.enabled); * export const bgpIpv6CustomerPeerIp = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.bgpIpv6?.customerPeerIp); * export const bgpIpv6EquinixPeerIp = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.bgpIpv6?.equinixPeerIp); * export const bgpIpv6Enabled = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.bgpIpv6?.enabled); * export const customerAsn = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.customerAsn); * ``` */ export declare function getRoutingProtocol(args: GetRoutingProtocolArgs, opts?: pulumi.InvokeOptions): Promise<GetRoutingProtocolResult>; /** * A collection of arguments for invoking getRoutingProtocol. */ export interface GetRoutingProtocolArgs { /** * Connection URI associated with Routing Protocol */ connectionUuid: string; /** * Equinix-assigned routing protocol identifier */ uuid: string; } /** * A collection of values returned by getRoutingProtocol. */ export interface GetRoutingProtocolResult { /** * Enable AS number override */ readonly asOverrideEnabled: boolean; /** * Bidirectional Forwarding Detection */ readonly bfd: outputs.fabric.GetRoutingProtocolBfd; /** * BGP authorization key */ readonly bgpAuthKey: string; /** * Routing Protocol BGP IPv4 */ readonly bgpIpv4: outputs.fabric.GetRoutingProtocolBgpIpv4; /** * Routing Protocol BGP IPv6 */ readonly bgpIpv6: outputs.fabric.GetRoutingProtocolBgpIpv6; /** * Captures Routing Protocol lifecycle change information */ readonly changeLogs: outputs.fabric.GetRoutingProtocolChangeLog[]; /** * Routing Protocol configuration Changes */ readonly changes: outputs.fabric.GetRoutingProtocolChange[]; /** * Connection URI associated with Routing Protocol */ readonly connectionUuid: string; /** * Customer-provided ASN */ readonly customerAsn: number; /** * Customer-provided Fabric Routing Protocol description */ readonly description: string; /** * Routing Protocol Direct IPv4 */ readonly directIpv4: outputs.fabric.GetRoutingProtocolDirectIpv4; /** * Routing Protocol Direct IPv6 */ readonly directIpv6: outputs.fabric.GetRoutingProtocolDirectIpv6; /** * Equinix ASN */ readonly equinixAsn: number; /** * Routing Protocol URI information */ readonly href: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * Routing Protocol name. An alpha-numeric 24 characters string which can include only hyphens and underscores */ readonly name: string; /** * Routing Protocol type-specific operational data */ readonly operations: outputs.fabric.GetRoutingProtocolOperation[]; /** * Routing Protocol overall state */ readonly state: string; /** * Defines the routing protocol type like BGP or DIRECT */ readonly type: string; /** * Equinix-assigned routing protocol identifier */ readonly uuid: string; } /** * Fabric V4 API compatible data resource that allow user to fetch routing protocol for a given UUID * * API documentation can be found here - https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#routing-protocols * * Additional documentation: * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/connections/FCR-connect-azureQC.htm#ConfigureRoutingDetailsintheFabricPortal * * API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#routing-protocols * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/pulumi-equinix"; * * const routingProtocolDataName = equinix.fabric.getRoutingProtocol({ * connectionUuid: "<uuid_of_connection_routing_protocol_is_applied_to>", * uuid: "<uuid_of_routing_protocol>", * }); * export const id = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.id); * export const name = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.name); * export const type = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.type); * export const directIpv4 = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.directIpv4?.equinixIfaceIp); * export const directIpv6 = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.directIpv6?.equinixIfaceIp); * export const bgpIpv4CustomerPeerIp = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.bgpIpv4?.customerPeerIp); * export const bgpIpv4EquinixPeerIp = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.bgpIpv4?.equinixPeerIp); * export const bgpIpv4Enabled = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.bgpIpv4?.enabled); * export const bgpIpv6CustomerPeerIp = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.bgpIpv6?.customerPeerIp); * export const bgpIpv6EquinixPeerIp = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.bgpIpv6?.equinixPeerIp); * export const bgpIpv6Enabled = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.bgpIpv6?.enabled); * export const customerAsn = routingProtocolDataName.then(routingProtocolDataName => routingProtocolDataName.customerAsn); * ``` */ export declare function getRoutingProtocolOutput(args: GetRoutingProtocolOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRoutingProtocolResult>; /** * A collection of arguments for invoking getRoutingProtocol. */ export interface GetRoutingProtocolOutputArgs { /** * Connection URI associated with Routing Protocol */ connectionUuid: pulumi.Input<string>; /** * Equinix-assigned routing protocol identifier */ uuid: pulumi.Input<string>; }