import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Get a forwarding rule within GCE from its name.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_forwarding_rule = gcp.compute.getForwardingRule({
 *     name: "forwarding-rule-us-east1",
 * });
 * ```
 */
export declare function getForwardingRule(args: GetForwardingRuleArgs, opts?: pulumi.InvokeOptions): Promise<GetForwardingRuleResult>;
/**
 * A collection of arguments for invoking getForwardingRule.
 */
export interface GetForwardingRuleArgs {
    /**
     * The name of the forwarding rule.
     *
     *
     * - - -
     */
    name: string;
    /**
     * The project in which the resource belongs. If it
     * is not provided, the provider project is used.
     */
    project?: string;
    /**
     * The region in which the resource belongs. If it
     * is not provided, the project region is used.
     */
    region?: string;
}
/**
 * A collection of values returned by getForwardingRule.
 */
export interface GetForwardingRuleResult {
    readonly allPorts: boolean;
    readonly allowGlobalAccess: boolean;
    readonly allowPscGlobalAccess: boolean;
    readonly backendService: string;
    readonly baseForwardingRule: string;
    readonly creationTimestamp: string;
    readonly description: string;
    readonly effectiveLabels: {
        [key: string]: string;
    };
    readonly forwardingRuleId: number;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly ipAddress: string;
    readonly ipCollection: string;
    readonly ipProtocol: string;
    readonly ipVersion: string;
    readonly isMirroringCollector: boolean;
    readonly labelFingerprint: string;
    readonly labels: {
        [key: string]: string;
    };
    readonly loadBalancingScheme: string;
    readonly name: string;
    readonly network: string;
    readonly networkTier: string;
    readonly noAutomateDnsZone: boolean;
    readonly portRange: string;
    readonly ports: string[];
    readonly project?: string;
    readonly pscConnectionId: string;
    readonly pscConnectionStatus: string;
    readonly pulumiLabels: {
        [key: string]: string;
    };
    readonly recreateClosedPsc: boolean;
    readonly region?: string;
    readonly selfLink: string;
    readonly serviceDirectoryRegistrations: outputs.compute.GetForwardingRuleServiceDirectoryRegistration[];
    readonly serviceLabel: string;
    readonly serviceName: string;
    readonly sourceIpRanges: string[];
    readonly subnetwork: string;
    readonly target: string;
}
/**
 * Get a forwarding rule within GCE from its name.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_forwarding_rule = gcp.compute.getForwardingRule({
 *     name: "forwarding-rule-us-east1",
 * });
 * ```
 */
export declare function getForwardingRuleOutput(args: GetForwardingRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetForwardingRuleResult>;
/**
 * A collection of arguments for invoking getForwardingRule.
 */
export interface GetForwardingRuleOutputArgs {
    /**
     * The name of the forwarding rule.
     *
     *
     * - - -
     */
    name: pulumi.Input<string>;
    /**
     * The project in which the resource belongs. If it
     * is not provided, the provider project is used.
     */
    project?: pulumi.Input<string>;
    /**
     * The region in which the resource belongs. If it
     * is not provided, the project region is used.
     */
    region?: pulumi.Input<string>;
}
