@equinix-labs/pulumi-equinix
Version:
A Pulumi package for creating and managing equinix cloud resources.
163 lines (162 loc) • 5.8 kB
TypeScript
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>[]>;
}