import * as pulumi from "@pulumi/pulumi";
/**
 * A SemanticGovernancePolicyEngine (SGPE) is the managed, runtime evaluation
 * infrastructure for Semantic Governance Policies (SGP): the natural-language
 * constraints that govern an AI agent's tool calls. It is a project-level,
 * regional singleton, so each project has at most one engine per region.
 *
 * Provisioning the engine sets up managed Private Service Connect (PSC)
 * networking in your VPC and a policy decision point that the Agent Gateway
 * consults at runtime to allow or deny an agent's proposed tool calls. The
 * Semantic Governance Policies themselves, and the Agent Gateway integration
 * that routes agent traffic through the engine, are configured separately and
 * are not managed by this resource.
 *
 * Reading an uninitialized or deprovisioned engine returns the singleton
 * with state INACTIVE rather than reporting it as absent.
 *
 * > **Warning:** This resource is in beta, and should be used with the terraform-provider-google-beta provider.
 * See Provider Versions for more details on beta resources.
 *
 * To get more information about SemanticGovernancePolicyEngine, see:
 * * How-to Guides
 *     * [Semantic governance overview](https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/policies/semantic-governance-overview)
 *
 * ## Example Usage
 *
 * ### Vertex Ai Semantic Governance Policy Engine Basic
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const sgpe = new gcp.vertex.AiSemanticGovernancePolicyEngine("sgpe", {region: "us-central1"});
 * ```
 *
 * ## Import
 *
 * SemanticGovernancePolicyEngine can be imported using any of these accepted formats:
 *
 * * `projects/{{project}}/locations/{{region}}/semanticGovernancePolicyEngine`
 * * `{{project}}/{{region}}`
 * * `{{region}}`
 *
 * When using the `pulumi import` command, SemanticGovernancePolicyEngine can be imported using one of the formats above. For example:
 *
 * ```sh
 * $ pulumi import gcp:vertex/aiSemanticGovernancePolicyEngine:AiSemanticGovernancePolicyEngine default projects/{{project}}/locations/{{region}}/semanticGovernancePolicyEngine
 * $ pulumi import gcp:vertex/aiSemanticGovernancePolicyEngine:AiSemanticGovernancePolicyEngine default {{project}}/{{region}}
 * $ pulumi import gcp:vertex/aiSemanticGovernancePolicyEngine:AiSemanticGovernancePolicyEngine default {{region}}
 * ```
 */
export declare class AiSemanticGovernancePolicyEngine extends pulumi.CustomResource {
    /**
     * Get an existing AiSemanticGovernancePolicyEngine 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?: AiSemanticGovernancePolicyEngineState, opts?: pulumi.CustomResourceOptions): AiSemanticGovernancePolicyEngine;
    /**
     * Returns true if the given object is an instance of AiSemanticGovernancePolicyEngine.  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 AiSemanticGovernancePolicyEngine;
    /**
     * The time the SemanticGovernancePolicyEngine was created, in RFC3339
     * UTC "Zulu" format.
     */
    readonly createTime: pulumi.Output<string>;
    /**
     * Whether Terraform will be prevented from destroying the resource. Defaults to DELETE.
     * When a 'terraform destroy' or 'pulumi up' would delete the resource,
     * the command will fail if this field is set to "PREVENT" in Terraform state.
     * When set to "ABANDON", the command will remove the resource from Terraform
     * management without updating or deleting the resource in the API.
     * When set to "DELETE", deleting the resource is allowed.
     */
    readonly deletionPolicy: pulumi.Output<string>;
    /**
     * The IP address allocated for the SGPE's managed PSC endpoint.
     */
    readonly ipAddress: pulumi.Output<string>;
    /**
     * The resource name of the SemanticGovernancePolicyEngine, in the form
     * 'projects/{project}/locations/{region}/semanticGovernancePolicyEngine'.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The ID of the project in which the resource belongs.
     * If it is not provided, the provider project is used.
     */
    readonly project: pulumi.Output<string>;
    /**
     * The Private Service Connect forwarding rule URI for the SGPE's
     * managed endpoint.
     */
    readonly pscForwardingRule: pulumi.Output<string>;
    /**
     * The Private Service Connect service attachment URI for the SGPE's
     * managed endpoint.
     */
    readonly pscServiceAttachment: pulumi.Output<string>;
    /**
     * The region of the SemanticGovernancePolicyEngine, e.g. 'us-central1'.
     */
    readonly region: pulumi.Output<string>;
    /**
     * The current state of the SemanticGovernancePolicyEngine. One of:
     * STATE_UNSPECIFIED, PROVISIONING, ACTIVE, FAILED, DEPROVISIONING,
     * INACTIVE. `FAILED` indicates provisioning did not succeed; recover by
     * destroying the resource (deprovision) or re-applying (re-provision).
     */
    readonly state: pulumi.Output<string>;
    /**
     * The time the SemanticGovernancePolicyEngine was last updated, in
     * RFC3339 UTC "Zulu" format.
     */
    readonly updateTime: pulumi.Output<string>;
    /**
     * Create a AiSemanticGovernancePolicyEngine 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?: AiSemanticGovernancePolicyEngineArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering AiSemanticGovernancePolicyEngine resources.
 */
export interface AiSemanticGovernancePolicyEngineState {
    /**
     * The time the SemanticGovernancePolicyEngine was created, in RFC3339
     * UTC "Zulu" format.
     */
    createTime?: pulumi.Input<string | undefined>;
    /**
     * Whether Terraform will be prevented from destroying the resource. Defaults to DELETE.
     * When a 'terraform destroy' or 'pulumi up' would delete the resource,
     * the command will fail if this field is set to "PREVENT" in Terraform state.
     * When set to "ABANDON", the command will remove the resource from Terraform
     * management without updating or deleting the resource in the API.
     * When set to "DELETE", deleting the resource is allowed.
     */
    deletionPolicy?: pulumi.Input<string | undefined>;
    /**
     * The IP address allocated for the SGPE's managed PSC endpoint.
     */
    ipAddress?: pulumi.Input<string | undefined>;
    /**
     * The resource name of the SemanticGovernancePolicyEngine, in the form
     * 'projects/{project}/locations/{region}/semanticGovernancePolicyEngine'.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The ID of the project in which the resource belongs.
     * If it is not provided, the provider project is used.
     */
    project?: pulumi.Input<string | undefined>;
    /**
     * The Private Service Connect forwarding rule URI for the SGPE's
     * managed endpoint.
     */
    pscForwardingRule?: pulumi.Input<string | undefined>;
    /**
     * The Private Service Connect service attachment URI for the SGPE's
     * managed endpoint.
     */
    pscServiceAttachment?: pulumi.Input<string | undefined>;
    /**
     * The region of the SemanticGovernancePolicyEngine, e.g. 'us-central1'.
     */
    region?: pulumi.Input<string | undefined>;
    /**
     * The current state of the SemanticGovernancePolicyEngine. One of:
     * STATE_UNSPECIFIED, PROVISIONING, ACTIVE, FAILED, DEPROVISIONING,
     * INACTIVE. `FAILED` indicates provisioning did not succeed; recover by
     * destroying the resource (deprovision) or re-applying (re-provision).
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * The time the SemanticGovernancePolicyEngine was last updated, in
     * RFC3339 UTC "Zulu" format.
     */
    updateTime?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a AiSemanticGovernancePolicyEngine resource.
 */
export interface AiSemanticGovernancePolicyEngineArgs {
    /**
     * Whether Terraform will be prevented from destroying the resource. Defaults to DELETE.
     * When a 'terraform destroy' or 'pulumi up' would delete the resource,
     * the command will fail if this field is set to "PREVENT" in Terraform state.
     * When set to "ABANDON", the command will remove the resource from Terraform
     * management without updating or deleting the resource in the API.
     * When set to "DELETE", deleting the resource is allowed.
     */
    deletionPolicy?: pulumi.Input<string | undefined>;
    /**
     * The ID of the project in which the resource belongs.
     * If it is not provided, the provider project is used.
     */
    project?: pulumi.Input<string | undefined>;
    /**
     * The region of the SemanticGovernancePolicyEngine, e.g. 'us-central1'.
     */
    region?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=aiSemanticGovernancePolicyEngine.d.ts.map