import * as pulumi from "@pulumi/pulumi";
/**
 * Organization security policies are used to control incoming/outgoing traffic.
 *
 * To get more information about OrganizationSecurityPolicy, see:
 *
 * * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/organizationSecurityPolicies)
 * * How-to Guides
 *     * [Creating a firewall policy](https://cloud.google.com/vpc/docs/using-firewall-policies#create-policy)
 *
 * ## Example Usage
 *
 * ### Organization Security Policy Basic
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const policy = new gcp.compute.OrganizationSecurityPolicy("policy", {
 *     shortName: "my-short-name",
 *     parent: "organizations/123456789",
 *     type: "CLOUD_ARMOR",
 * });
 * ```
 *
 * ## Import
 *
 * OrganizationSecurityPolicy can be imported using any of these accepted formats:
 *
 * * `locations/global/securityPolicies/{{policy_id}}`
 *
 * * `{{policy_id}}`
 *
 * When using the `pulumi import` command, OrganizationSecurityPolicy can be imported using one of the formats above. For example:
 *
 * ```sh
 * $ pulumi import gcp:compute/organizationSecurityPolicy:OrganizationSecurityPolicy default locations/global/securityPolicies/{{policy_id}}
 * ```
 *
 * ```sh
 * $ pulumi import gcp:compute/organizationSecurityPolicy:OrganizationSecurityPolicy default {{policy_id}}
 * ```
 */
export declare class OrganizationSecurityPolicy extends pulumi.CustomResource {
    /**
     * Get an existing OrganizationSecurityPolicy resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: OrganizationSecurityPolicyState, opts?: pulumi.CustomResourceOptions): OrganizationSecurityPolicy;
    /**
     * Returns true if the given object is an instance of OrganizationSecurityPolicy.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is OrganizationSecurityPolicy;
    /**
     * A textual description for the organization security policy.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * User-provided name of the organization security policy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL.
     */
    readonly displayName: pulumi.Output<string | undefined>;
    /**
     * Fingerprint of this resource. This field is used internally during
     * updates of this resource.
     */
    readonly fingerprint: pulumi.Output<string>;
    /**
     * The parent of this OrganizationSecurityPolicy in the Cloud Resource Hierarchy.
     * Format: organizations/{organization_id} or folders/{folder_id}
     */
    readonly parent: pulumi.Output<string>;
    /**
     * The unique identifier for the resource. This identifier is defined by the server.
     */
    readonly policyId: pulumi.Output<string>;
    /**
     * User-provided name of the organization security policy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is CLOUD_ARMOR.
     */
    readonly shortName: pulumi.Output<string | undefined>;
    /**
     * The type indicates the intended use of the security policy. This field can be set only at resource creation time.
     * **NOTE** : 'FIREWALL' type is deprecated and will be removed in a future major release. Please use 'google_compute_firewall_policy' instead."
     * Possible values are: `FIREWALL`, `CLOUD_ARMOR`, `CLOUD_ARMOR_EDGE`, `CLOUD_ARMOR_INTERNAL_SERVICE`, `CLOUD_ARMOR_NETWORK`.
     */
    readonly type: pulumi.Output<string>;
    /**
     * Create a OrganizationSecurityPolicy resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: OrganizationSecurityPolicyArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering OrganizationSecurityPolicy resources.
 */
export interface OrganizationSecurityPolicyState {
    /**
     * A textual description for the organization security policy.
     */
    description?: pulumi.Input<string>;
    /**
     * User-provided name of the organization security policy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL.
     */
    displayName?: pulumi.Input<string>;
    /**
     * Fingerprint of this resource. This field is used internally during
     * updates of this resource.
     */
    fingerprint?: pulumi.Input<string>;
    /**
     * The parent of this OrganizationSecurityPolicy in the Cloud Resource Hierarchy.
     * Format: organizations/{organization_id} or folders/{folder_id}
     */
    parent?: pulumi.Input<string>;
    /**
     * The unique identifier for the resource. This identifier is defined by the server.
     */
    policyId?: pulumi.Input<string>;
    /**
     * User-provided name of the organization security policy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is CLOUD_ARMOR.
     */
    shortName?: pulumi.Input<string>;
    /**
     * The type indicates the intended use of the security policy. This field can be set only at resource creation time.
     * **NOTE** : 'FIREWALL' type is deprecated and will be removed in a future major release. Please use 'google_compute_firewall_policy' instead."
     * Possible values are: `FIREWALL`, `CLOUD_ARMOR`, `CLOUD_ARMOR_EDGE`, `CLOUD_ARMOR_INTERNAL_SERVICE`, `CLOUD_ARMOR_NETWORK`.
     */
    type?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a OrganizationSecurityPolicy resource.
 */
export interface OrganizationSecurityPolicyArgs {
    /**
     * A textual description for the organization security policy.
     */
    description?: pulumi.Input<string>;
    /**
     * User-provided name of the organization security policy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL.
     */
    displayName?: pulumi.Input<string>;
    /**
     * The parent of this OrganizationSecurityPolicy in the Cloud Resource Hierarchy.
     * Format: organizations/{organization_id} or folders/{folder_id}
     */
    parent: pulumi.Input<string>;
    /**
     * User-provided name of the organization security policy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is CLOUD_ARMOR.
     */
    shortName?: pulumi.Input<string>;
    /**
     * The type indicates the intended use of the security policy. This field can be set only at resource creation time.
     * **NOTE** : 'FIREWALL' type is deprecated and will be removed in a future major release. Please use 'google_compute_firewall_policy' instead."
     * Possible values are: `FIREWALL`, `CLOUD_ARMOR`, `CLOUD_ARMOR_EDGE`, `CLOUD_ARMOR_INTERNAL_SERVICE`, `CLOUD_ARMOR_NETWORK`.
     */
    type?: pulumi.Input<string>;
}
