import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * To get more information about Google Compute Security Policy, see:
 *
 * * [API documentation](https://cloud.google.com/compute/docs/reference/rest/beta/securityPolicies)
 * * How-to Guides
 *     * [Official Documentation](https://cloud.google.com/armor/docs/configure-security-policies)
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const sp1 = gcp.compute.getSecurityPolicy({
 *     name: "my-policy",
 *     project: "my-project",
 * });
 * const sp2 = gcp.compute.getSecurityPolicy({
 *     selfLink: "https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy",
 * });
 * ```
 */
export declare function getSecurityPolicy(args?: GetSecurityPolicyArgs, opts?: pulumi.InvokeOptions): Promise<GetSecurityPolicyResult>;
/**
 * A collection of arguments for invoking getSecurityPolicy.
 */
export interface GetSecurityPolicyArgs {
    /**
     * The name of the security policy. Provide either this or a `selfLink`.
     */
    name?: string;
    /**
     * The project in which the resource belongs. If it is not provided, the provider project is used.
     */
    project?: string;
    /**
     * The selfLink of the security policy. Provide either this or a `name`
     */
    selfLink?: string;
}
/**
 * A collection of values returned by getSecurityPolicy.
 */
export interface GetSecurityPolicyResult {
    readonly adaptiveProtectionConfigs: outputs.compute.GetSecurityPolicyAdaptiveProtectionConfig[];
    readonly advancedOptionsConfigs: outputs.compute.GetSecurityPolicyAdvancedOptionsConfig[];
    readonly description: string;
    readonly fingerprint: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly name?: string;
    readonly project?: string;
    readonly recaptchaOptionsConfigs: outputs.compute.GetSecurityPolicyRecaptchaOptionsConfig[];
    readonly rules: outputs.compute.GetSecurityPolicyRule[];
    readonly selfLink?: string;
    readonly type: string;
}
/**
 * To get more information about Google Compute Security Policy, see:
 *
 * * [API documentation](https://cloud.google.com/compute/docs/reference/rest/beta/securityPolicies)
 * * How-to Guides
 *     * [Official Documentation](https://cloud.google.com/armor/docs/configure-security-policies)
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const sp1 = gcp.compute.getSecurityPolicy({
 *     name: "my-policy",
 *     project: "my-project",
 * });
 * const sp2 = gcp.compute.getSecurityPolicy({
 *     selfLink: "https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy",
 * });
 * ```
 */
export declare function getSecurityPolicyOutput(args?: GetSecurityPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSecurityPolicyResult>;
/**
 * A collection of arguments for invoking getSecurityPolicy.
 */
export interface GetSecurityPolicyOutputArgs {
    /**
     * The name of the security policy. Provide either this or a `selfLink`.
     */
    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 selfLink of the security policy. Provide either this or a `name`
     */
    selfLink?: pulumi.Input<string>;
}
