import * as pulumi from "@pulumi/pulumi";
/**
 * Gets information about a VPC ingress rule.
 *
 * An ingress routing rule routes incoming traffic from a peered VPC to a specific private IP address within a destination VPC's Private Network.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Retrieve a VPC ingress rule by filters
 * const byPn = scaleway.network.getIngressRule({
 *     nexthopPrivateNetworkId: "fr-par/11111111-1111-1111-1111-111111111111",
 * });
 * ```
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Retrieve a VPC ingress rule by its ID
 * const byId = scaleway.network.getIngressRule({
 *     ingressRuleId: "fr-par/11111111-1111-1111-1111-111111111111",
 * });
 * ```
 */
export declare function getIngressRule(args?: GetIngressRuleArgs, opts?: pulumi.InvokeOptions): Promise<GetIngressRuleResult>;
/**
 * A collection of arguments for invoking getIngressRule.
 */
export interface GetIngressRuleArgs {
    /**
     * The ID of the VPC ingress rule. Conflicts with all filter arguments below.
     *
     * The following arguments can be used to look up a VPC ingress rule via the list API. They all conflict with `ingressRuleId`:
     */
    ingressRuleId?: string;
    /**
     * Only ingress rules with the matching IP version will be returned.
     */
    isIpv6?: boolean;
    /**
     * The nexthop private network ID to filter for.
     */
    nexthopPrivateNetworkId?: string;
    /**
     * The nexthop resource IP to filter for.
     */
    nexthopResourceIp?: string;
    /**
     * `region`) The region in which the ingress rule exists.
     */
    region?: string;
    /**
     * List of tags to filter for.
     */
    tags?: string[];
    /**
     * The VPC ID to filter for.
     */
    vpcId?: string;
}
/**
 * A collection of values returned by getIngressRule.
 */
export interface GetIngressRuleResult {
    readonly createdAt: string;
    readonly description: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly ingressRuleId?: string;
    readonly isIpv6: boolean;
    readonly nexthopPrivateNetworkId?: string;
    readonly nexthopResourceIp?: string;
    readonly region?: string;
    readonly source: string;
    readonly tags?: string[];
    readonly updatedAt: string;
    readonly vpcId?: string;
}
/**
 * Gets information about a VPC ingress rule.
 *
 * An ingress routing rule routes incoming traffic from a peered VPC to a specific private IP address within a destination VPC's Private Network.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Retrieve a VPC ingress rule by filters
 * const byPn = scaleway.network.getIngressRule({
 *     nexthopPrivateNetworkId: "fr-par/11111111-1111-1111-1111-111111111111",
 * });
 * ```
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Retrieve a VPC ingress rule by its ID
 * const byId = scaleway.network.getIngressRule({
 *     ingressRuleId: "fr-par/11111111-1111-1111-1111-111111111111",
 * });
 * ```
 */
export declare function getIngressRuleOutput(args?: GetIngressRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetIngressRuleResult>;
/**
 * A collection of arguments for invoking getIngressRule.
 */
export interface GetIngressRuleOutputArgs {
    /**
     * The ID of the VPC ingress rule. Conflicts with all filter arguments below.
     *
     * The following arguments can be used to look up a VPC ingress rule via the list API. They all conflict with `ingressRuleId`:
     */
    ingressRuleId?: pulumi.Input<string | undefined>;
    /**
     * Only ingress rules with the matching IP version will be returned.
     */
    isIpv6?: pulumi.Input<boolean | undefined>;
    /**
     * The nexthop private network ID to filter for.
     */
    nexthopPrivateNetworkId?: pulumi.Input<string | undefined>;
    /**
     * The nexthop resource IP to filter for.
     */
    nexthopResourceIp?: pulumi.Input<string | undefined>;
    /**
     * `region`) The region in which the ingress rule exists.
     */
    region?: pulumi.Input<string | undefined>;
    /**
     * List of tags to filter for.
     */
    tags?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The VPC ID to filter for.
     */
    vpcId?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getIngressRule.d.ts.map