UNPKG

@equinix-labs/pulumi-equinix

Version:

A Pulumi package for creating and managing equinix cloud resources.

163 lines (162 loc) 5.8 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Fabric V4 API compatible data resource that allow user to fetch route filter for a given search data set * * Additional Documentation: * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/FCR-route-filters.htm * * API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#route-filters * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/pulumi-equinix"; * * const rfPolicies = equinix.fabric.getRouteFilters({ * filters: [ * { * property: "/type", * operator: "=", * values: ["BGP_IPv4_PREFIX_FILTER"], * }, * { * property: "/state", * operator: "=", * values: ["PROVISIONED"], * }, * { * property: "/project/projectId", * operator: "=", * values: ["<project_id>"], * }, * ], * pagination: { * offset: 0, * limit: 5, * total: 25, * }, * sorts: [{ * direction: "ASC", * property: "/name", * }], * }); * export const firstRfUuid = rfPolicies.then(rfPolicies => rfPolicies.datas?.[0]?.uuid); * export const type = rfPolicies.then(rfPolicies => rfPolicies.datas?.[0]?.type); * export const state = rfPolicies.then(rfPolicies => rfPolicies.datas?.[0]?.state); * export const notMatchedRuleAction = rfPolicies.then(rfPolicies => rfPolicies.datas?.[0]?.notMatchedRuleAction); * export const connectionsCount = rfPolicies.then(rfPolicies => rfPolicies.datas?.[0]?.connectionsCount); * export const rulesCount = rfPolicies.then(rfPolicies => rfPolicies.datas?.[0]?.rulesCount); * ``` */ export declare function getRouteFilters(args: GetRouteFiltersArgs, opts?: pulumi.InvokeOptions): Promise<GetRouteFiltersResult>; /** * A collection of arguments for invoking getRouteFilters. */ export interface GetRouteFiltersArgs { /** * Filters for the Data Source Search Request. Maximum of 8 total filters. */ filters: inputs.fabric.GetRouteFiltersFilter[]; /** * Pagination details for the Data Source Search Request */ pagination?: inputs.fabric.GetRouteFiltersPagination; /** * Filters for the Data Source Search Request */ sorts?: inputs.fabric.GetRouteFiltersSort[]; } /** * A collection of values returned by getRouteFilters. */ export interface GetRouteFiltersResult { /** * List of Route Filters */ readonly datas: outputs.fabric.GetRouteFiltersData[]; /** * Filters for the Data Source Search Request. Maximum of 8 total filters. */ readonly filters: outputs.fabric.GetRouteFiltersFilter[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * Pagination details for the Data Source Search Request */ readonly pagination?: outputs.fabric.GetRouteFiltersPagination; /** * Filters for the Data Source Search Request */ readonly sorts?: outputs.fabric.GetRouteFiltersSort[]; } /** * Fabric V4 API compatible data resource that allow user to fetch route filter for a given search data set * * Additional Documentation: * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/FCR-route-filters.htm * * API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#route-filters * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/pulumi-equinix"; * * const rfPolicies = equinix.fabric.getRouteFilters({ * filters: [ * { * property: "/type", * operator: "=", * values: ["BGP_IPv4_PREFIX_FILTER"], * }, * { * property: "/state", * operator: "=", * values: ["PROVISIONED"], * }, * { * property: "/project/projectId", * operator: "=", * values: ["<project_id>"], * }, * ], * pagination: { * offset: 0, * limit: 5, * total: 25, * }, * sorts: [{ * direction: "ASC", * property: "/name", * }], * }); * export const firstRfUuid = rfPolicies.then(rfPolicies => rfPolicies.datas?.[0]?.uuid); * export const type = rfPolicies.then(rfPolicies => rfPolicies.datas?.[0]?.type); * export const state = rfPolicies.then(rfPolicies => rfPolicies.datas?.[0]?.state); * export const notMatchedRuleAction = rfPolicies.then(rfPolicies => rfPolicies.datas?.[0]?.notMatchedRuleAction); * export const connectionsCount = rfPolicies.then(rfPolicies => rfPolicies.datas?.[0]?.connectionsCount); * export const rulesCount = rfPolicies.then(rfPolicies => rfPolicies.datas?.[0]?.rulesCount); * ``` */ export declare function getRouteFiltersOutput(args: GetRouteFiltersOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRouteFiltersResult>; /** * A collection of arguments for invoking getRouteFilters. */ export interface GetRouteFiltersOutputArgs { /** * Filters for the Data Source Search Request. Maximum of 8 total filters. */ filters: pulumi.Input<pulumi.Input<inputs.fabric.GetRouteFiltersFilterArgs>[]>; /** * Pagination details for the Data Source Search Request */ pagination?: pulumi.Input<inputs.fabric.GetRouteFiltersPaginationArgs>; /** * Filters for the Data Source Search Request */ sorts?: pulumi.Input<pulumi.Input<inputs.fabric.GetRouteFiltersSortArgs>[]>; }