UNPKG

@pulumi/gcp

Version:

A Pulumi package for creating and managing Google Cloud Platform resources.

213 lines • 9.66 kB
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