import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Model Armor floor settings define rules that dictate minimum requirements for all Model Armor templates created at a specific point in the Google Cloud resource hierarchy (that is, at an organization, folder, or project level). If there are
 * multiple floor settings that conflict with each other, the settings lower in the resource hierarchy take precedence
 * For more information, checkout https://cloud.google.com/security-command-center/docs/model_armor_floor_settings
 *
 * ## Example Usage
 *
 * ### Modelarmor Floorsetting Basic
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const floorsetting_basic = new gcp.modelarmor.Floorsetting("floorsetting-basic", {
 *     parent: "projects/my-project-name",
 *     location: "global",
 *     filterConfig: {},
 * });
 * ```
 * ### Modelarmor Floorsetting Filter Config
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const floorsetting_filter_config = new gcp.modelarmor.Floorsetting("floorsetting-filter-config", {
 *     location: "global",
 *     parent: "project/my-project-name",
 *     filterConfig: {
 *         raiSettings: {
 *             raiFilters: [{
 *                 filterType: "DANGEROUS",
 *                 confidenceLevel: "MEDIUM_AND_ABOVE",
 *             }],
 *         },
 *         sdpSettings: {
 *             basicConfig: {
 *                 filterEnforcement: "ENABLED",
 *             },
 *         },
 *         piAndJailbreakFilterSettings: {
 *             filterEnforcement: "ENABLED",
 *             confidenceLevel: "HIGH",
 *         },
 *         maliciousUriFilterSettings: {
 *             filterEnforcement: "ENABLED",
 *         },
 *     },
 *     enableFloorSettingEnforcement: true,
 * });
 * ```
 * ### Modelarmor Floorsetting Ai Platform Metadata
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const floorsetting_integrated_metadata = new gcp.modelarmor.Floorsetting("floorsetting-integrated-metadata", {
 *     location: "global",
 *     parent: "projects/my-project-name",
 *     filterConfig: {},
 *     enableFloorSettingEnforcement: false,
 *     aiPlatformFloorSetting: {
 *         inspectOnly: true,
 *         enableCloudLogging: true,
 *     },
 *     floorSettingMetadata: {
 *         multiLanguageDetection: {
 *             enableMultiLanguageDetection: false,
 *         },
 *     },
 * });
 * ```
 *
 * ## Import
 *
 * Floorsetting can be imported using any of these accepted formats:
 *
 * * `{{parent}}/locations/{{location}}/floorSetting`
 * * `{{parent}}/{{location}}`
 *
 * When using the `pulumi import` command, Floorsetting can be imported using one of the formats above. For example:
 *
 * ```sh
 * $ pulumi import gcp:modelarmor/floorsetting:Floorsetting default {{parent}}/locations/{{location}}/floorSetting
 * $ pulumi import gcp:modelarmor/floorsetting:Floorsetting default {{parent}}/{{location}}
 * ```
 */
export declare class Floorsetting extends pulumi.CustomResource {
    /**
     * Get an existing Floorsetting 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?: FloorsettingState, opts?: pulumi.CustomResourceOptions): Floorsetting;
    /**
     * Returns true if the given object is an instance of Floorsetting.  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 Floorsetting;
    /**
     * AI Platform floor setting.
     * Structure is documented below.
     */
    readonly aiPlatformFloorSetting: pulumi.Output<outputs.modelarmor.FloorsettingAiPlatformFloorSetting | undefined>;
    /**
     * [Output only] Create timestamp
     */
    readonly createTime: pulumi.Output<string>;
    /**
     * Floor Settings enforcement status.
     */
    readonly enableFloorSettingEnforcement: pulumi.Output<boolean | undefined>;
    /**
     * Filters configuration.
     * Structure is documented below.
     */
    readonly filterConfig: pulumi.Output<outputs.modelarmor.FloorsettingFilterConfig>;
    /**
     * Metadata to enable multi language detection via floor setting.
     * Structure is documented below.
     */
    readonly floorSettingMetadata: pulumi.Output<outputs.modelarmor.FloorsettingFloorSettingMetadata | undefined>;
    /**
     * Google MCP Server floor setting.
     * Structure is documented below.
     */
    readonly googleMcpServerFloorSetting: pulumi.Output<outputs.modelarmor.FloorsettingGoogleMcpServerFloorSetting | undefined>;
    /**
     * List of integrated services for which the floor setting is applicable.
     */
    readonly integratedServices: pulumi.Output<string[] | undefined>;
    /**
     * Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
     */
    readonly location: pulumi.Output<string>;
    /**
     * Identifier. The resource name.
     */
    readonly name: pulumi.Output<string>;
    /**
     * Will be any one of these:
     * * `projects/{project}`
     * * `folders/{folder}`
     * * `organizations/{organizationId}`
     */
    readonly parent: pulumi.Output<string>;
    /**
     * [Output only] Update timestamp
     */
    readonly updateTime: pulumi.Output<string>;
    /**
     * Create a Floorsetting 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: FloorsettingArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Floorsetting resources.
 */
export interface FloorsettingState {
    /**
     * AI Platform floor setting.
     * Structure is documented below.
     */
    aiPlatformFloorSetting?: pulumi.Input<inputs.modelarmor.FloorsettingAiPlatformFloorSetting | undefined>;
    /**
     * [Output only] Create timestamp
     */
    createTime?: pulumi.Input<string | undefined>;
    /**
     * Floor Settings enforcement status.
     */
    enableFloorSettingEnforcement?: pulumi.Input<boolean | undefined>;
    /**
     * Filters configuration.
     * Structure is documented below.
     */
    filterConfig?: pulumi.Input<inputs.modelarmor.FloorsettingFilterConfig | undefined>;
    /**
     * Metadata to enable multi language detection via floor setting.
     * Structure is documented below.
     */
    floorSettingMetadata?: pulumi.Input<inputs.modelarmor.FloorsettingFloorSettingMetadata | undefined>;
    /**
     * Google MCP Server floor setting.
     * Structure is documented below.
     */
    googleMcpServerFloorSetting?: pulumi.Input<inputs.modelarmor.FloorsettingGoogleMcpServerFloorSetting | undefined>;
    /**
     * List of integrated services for which the floor setting is applicable.
     */
    integratedServices?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
     */
    location?: pulumi.Input<string | undefined>;
    /**
     * Identifier. The resource name.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Will be any one of these:
     * * `projects/{project}`
     * * `folders/{folder}`
     * * `organizations/{organizationId}`
     */
    parent?: pulumi.Input<string | undefined>;
    /**
     * [Output only] Update timestamp
     */
    updateTime?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a Floorsetting resource.
 */
export interface FloorsettingArgs {
    /**
     * AI Platform floor setting.
     * Structure is documented below.
     */
    aiPlatformFloorSetting?: pulumi.Input<inputs.modelarmor.FloorsettingAiPlatformFloorSetting | undefined>;
    /**
     * Floor Settings enforcement status.
     */
    enableFloorSettingEnforcement?: pulumi.Input<boolean | undefined>;
    /**
     * Filters configuration.
     * Structure is documented below.
     */
    filterConfig: pulumi.Input<inputs.modelarmor.FloorsettingFilterConfig>;
    /**
     * Metadata to enable multi language detection via floor setting.
     * Structure is documented below.
     */
    floorSettingMetadata?: pulumi.Input<inputs.modelarmor.FloorsettingFloorSettingMetadata | undefined>;
    /**
     * Google MCP Server floor setting.
     * Structure is documented below.
     */
    googleMcpServerFloorSetting?: pulumi.Input<inputs.modelarmor.FloorsettingGoogleMcpServerFloorSetting | undefined>;
    /**
     * List of integrated services for which the floor setting is applicable.
     */
    integratedServices?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
     */
    location: pulumi.Input<string>;
    /**
     * Will be any one of these:
     * * `projects/{project}`
     * * `folders/{folder}`
     * * `organizations/{organizationId}`
     */
    parent: pulumi.Input<string>;
}
//# sourceMappingURL=floorsetting.d.ts.map