1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. vertex
  5. AiReasoningEngine
Google Cloud v9.4.0 published on Tuesday, Nov 4, 2025 by Pulumi

gcp.vertex.AiReasoningEngine

Start a Neo task
Explain and create a gcp.vertex.AiReasoningEngine resource
gcp logo
Google Cloud v9.4.0 published on Tuesday, Nov 4, 2025 by Pulumi

    ReasoningEngine provides a customizable runtime for models to determine which actions to take and in which order.

    To get more information about ReasoningEngine, see:

    Example Usage

    Vertex Ai Reasoning Engine Full

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    import * as time from "@pulumiverse/time";
    
    const classMethods = [{
        apiMode: "async",
        description: null,
        name: "async_query",
        parameters: {
            type: "object",
            required: [],
            properties: {},
        },
    }];
    const secret = new gcp.secretmanager.Secret("secret", {
        secretId: "secret",
        replication: {
            auto: {},
        },
    });
    const secretVersion = new gcp.secretmanager.SecretVersion("secret_version", {
        secret: secret.id,
        secretData: "test",
    });
    const serviceAccount = new gcp.serviceaccount.Account("service_account", {accountId: "sa"});
    const secretAccess = new gcp.secretmanager.SecretIamMember("secret_access", {
        secretId: secret.id,
        role: "roles/secretmanager.secretAccessor",
        member: serviceAccount.member,
    });
    const project = gcp.organizations.getProject({});
    const saIamObjectViewer = new gcp.projects.IAMMember("sa_iam_object_viewer", {
        role: "roles/storage.objectViewer",
        project: project.then(project => project.id),
        member: serviceAccount.member,
    });
    const saIamAiPlatformUser = new gcp.projects.IAMMember("sa_iam_ai_platform_user", {
        role: "roles/aiplatform.user",
        project: project.then(project => project.id),
        member: serviceAccount.member,
    });
    const saIamViewer = new gcp.projects.IAMMember("sa_iam_viewer", {
        role: "roles/viewer",
        project: project.then(project => project.id),
        member: serviceAccount.member,
    });
    // Ensure we wait enough time for IAM permissions to be propagated
    const wait5Minutes = new time.Sleep("wait_5_minutes", {createDuration: "5m"}, {
        dependsOn: [
            saIamAiPlatformUser,
            saIamObjectViewer,
            saIamViewer,
            secretAccess,
            secretVersion,
        ],
    });
    const bucket = new gcp.storage.Bucket("bucket", {
        name: "reasoning-engine",
        location: "us-central1",
        uniformBucketLevelAccess: true,
        forceDestroy: true,
    });
    const bucketObjRequirementsTxt = new gcp.storage.BucketObject("bucket_obj_requirements_txt", {
        name: "requirements.txt",
        bucket: bucket.id,
        source: new pulumi.asset.FileAsset("./test-fixtures/requirements_adk.txt"),
    });
    const bucketObjPickle = new gcp.storage.BucketObject("bucket_obj_pickle", {
        name: "code.pkl",
        bucket: bucket.id,
        source: new pulumi.asset.FileAsset("./test-fixtures/pickle_adk.pkl"),
    });
    const bucketObjDependenciesTarGz = new gcp.storage.BucketObject("bucket_obj_dependencies_tar_gz", {
        name: "dependencies.tar.gz",
        bucket: bucket.id,
        source: new pulumi.asset.FileAsset("./test-fixtures/dependencies_adk.tar.gz"),
    });
    const reasoningEngine = new gcp.vertex.AiReasoningEngine("reasoning_engine", {
        displayName: "reasoning-engine",
        description: "A basic reasoning engine",
        region: "us-central1",
        encryptionSpec: {
            kmsKeyName: "example-key",
        },
        spec: {
            agentFramework: "google-adk",
            classMethods: JSON.stringify(classMethods),
            serviceAccount: serviceAccount.email,
            deploymentSpec: {
                envs: [
                    {
                        name: "var_1",
                        value: "value_2",
                    },
                    {
                        name: "var_2",
                        value: "value_2",
                    },
                ],
                secretEnvs: [
                    {
                        name: "secret_var_1",
                        secretRef: {
                            secret: secret.secretId,
                            version: "latest",
                        },
                    },
                    {
                        name: "secret_var_2",
                        secretRef: {
                            secret: secret.secretId,
                            version: "latest",
                        },
                    },
                ],
            },
            packageSpec: {
                dependencyFilesGcsUri: pulumi.interpolate`${bucket.url}/${bucketObjDependenciesTarGz.name}`,
                pickleObjectGcsUri: pulumi.interpolate`${bucket.url}/${bucketObjPickle.name}`,
                pythonVersion: "3.11",
                requirementsGcsUri: pulumi.interpolate`${bucket.url}/${bucketObjRequirementsTxt.name}`,
            },
        },
    }, {
        dependsOn: [wait5Minutes],
    });
    
    import pulumi
    import json
    import pulumi_gcp as gcp
    import pulumiverse_time as time
    
    class_methods = [{
        "apiMode": "async",
        "description": None,
        "name": "async_query",
        "parameters": {
            "type": "object",
            "required": [],
            "properties": {},
        },
    }]
    secret = gcp.secretmanager.Secret("secret",
        secret_id="secret",
        replication={
            "auto": {},
        })
    secret_version = gcp.secretmanager.SecretVersion("secret_version",
        secret=secret.id,
        secret_data="test")
    service_account = gcp.serviceaccount.Account("service_account", account_id="sa")
    secret_access = gcp.secretmanager.SecretIamMember("secret_access",
        secret_id=secret.id,
        role="roles/secretmanager.secretAccessor",
        member=service_account.member)
    project = gcp.organizations.get_project()
    sa_iam_object_viewer = gcp.projects.IAMMember("sa_iam_object_viewer",
        role="roles/storage.objectViewer",
        project=project.id,
        member=service_account.member)
    sa_iam_ai_platform_user = gcp.projects.IAMMember("sa_iam_ai_platform_user",
        role="roles/aiplatform.user",
        project=project.id,
        member=service_account.member)
    sa_iam_viewer = gcp.projects.IAMMember("sa_iam_viewer",
        role="roles/viewer",
        project=project.id,
        member=service_account.member)
    # Ensure we wait enough time for IAM permissions to be propagated
    wait5_minutes = time.Sleep("wait_5_minutes", create_duration="5m",
    opts = pulumi.ResourceOptions(depends_on=[
            sa_iam_ai_platform_user,
            sa_iam_object_viewer,
            sa_iam_viewer,
            secret_access,
            secret_version,
        ]))
    bucket = gcp.storage.Bucket("bucket",
        name="reasoning-engine",
        location="us-central1",
        uniform_bucket_level_access=True,
        force_destroy=True)
    bucket_obj_requirements_txt = gcp.storage.BucketObject("bucket_obj_requirements_txt",
        name="requirements.txt",
        bucket=bucket.id,
        source=pulumi.FileAsset("./test-fixtures/requirements_adk.txt"))
    bucket_obj_pickle = gcp.storage.BucketObject("bucket_obj_pickle",
        name="code.pkl",
        bucket=bucket.id,
        source=pulumi.FileAsset("./test-fixtures/pickle_adk.pkl"))
    bucket_obj_dependencies_tar_gz = gcp.storage.BucketObject("bucket_obj_dependencies_tar_gz",
        name="dependencies.tar.gz",
        bucket=bucket.id,
        source=pulumi.FileAsset("./test-fixtures/dependencies_adk.tar.gz"))
    reasoning_engine = gcp.vertex.AiReasoningEngine("reasoning_engine",
        display_name="reasoning-engine",
        description="A basic reasoning engine",
        region="us-central1",
        encryption_spec={
            "kms_key_name": "example-key",
        },
        spec={
            "agent_framework": "google-adk",
            "class_methods": json.dumps(class_methods),
            "service_account": service_account.email,
            "deployment_spec": {
                "envs": [
                    {
                        "name": "var_1",
                        "value": "value_2",
                    },
                    {
                        "name": "var_2",
                        "value": "value_2",
                    },
                ],
                "secret_envs": [
                    {
                        "name": "secret_var_1",
                        "secret_ref": {
                            "secret": secret.secret_id,
                            "version": "latest",
                        },
                    },
                    {
                        "name": "secret_var_2",
                        "secret_ref": {
                            "secret": secret.secret_id,
                            "version": "latest",
                        },
                    },
                ],
            },
            "package_spec": {
                "dependency_files_gcs_uri": pulumi.Output.all(
                    url=bucket.url,
                    name=bucket_obj_dependencies_tar_gz.name
    ).apply(lambda resolved_outputs: f"{resolved_outputs['url']}/{resolved_outputs['name']}")
    ,
                "pickle_object_gcs_uri": pulumi.Output.all(
                    url=bucket.url,
                    name=bucket_obj_pickle.name
    ).apply(lambda resolved_outputs: f"{resolved_outputs['url']}/{resolved_outputs['name']}")
    ,
                "python_version": "3.11",
                "requirements_gcs_uri": pulumi.Output.all(
                    url=bucket.url,
                    name=bucket_obj_requirements_txt.name
    ).apply(lambda resolved_outputs: f"{resolved_outputs['url']}/{resolved_outputs['name']}")
    ,
            },
        },
        opts = pulumi.ResourceOptions(depends_on=[wait5_minutes]))
    
    package main
    
    import (
    	"encoding/json"
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/organizations"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/projects"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/secretmanager"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/serviceaccount"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/storage"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/vertex"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-time/sdk/go/time"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		classMethods := []map[string]interface{}{
    			map[string]interface{}{
    				"apiMode":     "async",
    				"description": nil,
    				"name":        "async_query",
    				"parameters": map[string]interface{}{
    					"type":       "object",
    					"required":   []interface{}{},
    					"properties": map[string]interface{}{},
    				},
    			},
    		}
    		secret, err := secretmanager.NewSecret(ctx, "secret", &secretmanager.SecretArgs{
    			SecretId: pulumi.String("secret"),
    			Replication: &secretmanager.SecretReplicationArgs{
    				Auto: &secretmanager.SecretReplicationAutoArgs{},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		secretVersion, err := secretmanager.NewSecretVersion(ctx, "secret_version", &secretmanager.SecretVersionArgs{
    			Secret:     secret.ID(),
    			SecretData: pulumi.String("test"),
    		})
    		if err != nil {
    			return err
    		}
    		serviceAccount, err := serviceaccount.NewAccount(ctx, "service_account", &serviceaccount.AccountArgs{
    			AccountId: pulumi.String("sa"),
    		})
    		if err != nil {
    			return err
    		}
    		secretAccess, err := secretmanager.NewSecretIamMember(ctx, "secret_access", &secretmanager.SecretIamMemberArgs{
    			SecretId: secret.ID(),
    			Role:     pulumi.String("roles/secretmanager.secretAccessor"),
    			Member:   serviceAccount.Member,
    		})
    		if err != nil {
    			return err
    		}
    		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		saIamObjectViewer, err := projects.NewIAMMember(ctx, "sa_iam_object_viewer", &projects.IAMMemberArgs{
    			Role:    pulumi.String("roles/storage.objectViewer"),
    			Project: pulumi.String(project.Id),
    			Member:  serviceAccount.Member,
    		})
    		if err != nil {
    			return err
    		}
    		saIamAiPlatformUser, err := projects.NewIAMMember(ctx, "sa_iam_ai_platform_user", &projects.IAMMemberArgs{
    			Role:    pulumi.String("roles/aiplatform.user"),
    			Project: pulumi.String(project.Id),
    			Member:  serviceAccount.Member,
    		})
    		if err != nil {
    			return err
    		}
    		saIamViewer, err := projects.NewIAMMember(ctx, "sa_iam_viewer", &projects.IAMMemberArgs{
    			Role:    pulumi.String("roles/viewer"),
    			Project: pulumi.String(project.Id),
    			Member:  serviceAccount.Member,
    		})
    		if err != nil {
    			return err
    		}
    		// Ensure we wait enough time for IAM permissions to be propagated
    		wait5Minutes, err := time.NewSleep(ctx, "wait_5_minutes", &time.SleepArgs{
    			CreateDuration: pulumi.String("5m"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			saIamAiPlatformUser,
    			saIamObjectViewer,
    			saIamViewer,
    			secretAccess,
    			secretVersion,
    		}))
    		if err != nil {
    			return err
    		}
    		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
    			Name:                     pulumi.String("reasoning-engine"),
    			Location:                 pulumi.String("us-central1"),
    			UniformBucketLevelAccess: pulumi.Bool(true),
    			ForceDestroy:             pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		bucketObjRequirementsTxt, err := storage.NewBucketObject(ctx, "bucket_obj_requirements_txt", &storage.BucketObjectArgs{
    			Name:   pulumi.String("requirements.txt"),
    			Bucket: bucket.ID(),
    			Source: pulumi.NewFileAsset("./test-fixtures/requirements_adk.txt"),
    		})
    		if err != nil {
    			return err
    		}
    		bucketObjPickle, err := storage.NewBucketObject(ctx, "bucket_obj_pickle", &storage.BucketObjectArgs{
    			Name:   pulumi.String("code.pkl"),
    			Bucket: bucket.ID(),
    			Source: pulumi.NewFileAsset("./test-fixtures/pickle_adk.pkl"),
    		})
    		if err != nil {
    			return err
    		}
    		bucketObjDependenciesTarGz, err := storage.NewBucketObject(ctx, "bucket_obj_dependencies_tar_gz", &storage.BucketObjectArgs{
    			Name:   pulumi.String("dependencies.tar.gz"),
    			Bucket: bucket.ID(),
    			Source: pulumi.NewFileAsset("./test-fixtures/dependencies_adk.tar.gz"),
    		})
    		if err != nil {
    			return err
    		}
    		tmpJSON0, err := json.Marshal(classMethods)
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		_, err = vertex.NewAiReasoningEngine(ctx, "reasoning_engine", &vertex.AiReasoningEngineArgs{
    			DisplayName: pulumi.String("reasoning-engine"),
    			Description: pulumi.String("A basic reasoning engine"),
    			Region:      pulumi.String("us-central1"),
    			EncryptionSpec: &vertex.AiReasoningEngineEncryptionSpecArgs{
    				KmsKeyName: pulumi.String("example-key"),
    			},
    			Spec: &vertex.AiReasoningEngineSpecArgs{
    				AgentFramework: pulumi.String("google-adk"),
    				ClassMethods:   pulumi.String(json0),
    				ServiceAccount: serviceAccount.Email,
    				DeploymentSpec: &vertex.AiReasoningEngineSpecDeploymentSpecArgs{
    					Envs: vertex.AiReasoningEngineSpecDeploymentSpecEnvArray{
    						&vertex.AiReasoningEngineSpecDeploymentSpecEnvArgs{
    							Name:  pulumi.String("var_1"),
    							Value: pulumi.String("value_2"),
    						},
    						&vertex.AiReasoningEngineSpecDeploymentSpecEnvArgs{
    							Name:  pulumi.String("var_2"),
    							Value: pulumi.String("value_2"),
    						},
    					},
    					SecretEnvs: vertex.AiReasoningEngineSpecDeploymentSpecSecretEnvArray{
    						&vertex.AiReasoningEngineSpecDeploymentSpecSecretEnvArgs{
    							Name: pulumi.String("secret_var_1"),
    							SecretRef: &vertex.AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRefArgs{
    								Secret:  secret.SecretId,
    								Version: pulumi.String("latest"),
    							},
    						},
    						&vertex.AiReasoningEngineSpecDeploymentSpecSecretEnvArgs{
    							Name: pulumi.String("secret_var_2"),
    							SecretRef: &vertex.AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRefArgs{
    								Secret:  secret.SecretId,
    								Version: pulumi.String("latest"),
    							},
    						},
    					},
    				},
    				PackageSpec: &vertex.AiReasoningEngineSpecPackageSpecArgs{
    					DependencyFilesGcsUri: pulumi.All(bucket.Url, bucketObjDependenciesTarGz.Name).ApplyT(func(_args []interface{}) (string, error) {
    						url := _args[0].(string)
    						name := _args[1].(string)
    						return fmt.Sprintf("%v/%v", url, name), nil
    					}).(pulumi.StringOutput),
    					PickleObjectGcsUri: pulumi.All(bucket.Url, bucketObjPickle.Name).ApplyT(func(_args []interface{}) (string, error) {
    						url := _args[0].(string)
    						name := _args[1].(string)
    						return fmt.Sprintf("%v/%v", url, name), nil
    					}).(pulumi.StringOutput),
    					PythonVersion: pulumi.String("3.11"),
    					RequirementsGcsUri: pulumi.All(bucket.Url, bucketObjRequirementsTxt.Name).ApplyT(func(_args []interface{}) (string, error) {
    						url := _args[0].(string)
    						name := _args[1].(string)
    						return fmt.Sprintf("%v/%v", url, name), nil
    					}).(pulumi.StringOutput),
    				},
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			wait5Minutes,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using System.Text.Json;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    using Time = Pulumiverse.Time;
    
    return await Deployment.RunAsync(() => 
    {
        var classMethods = new[]
        {
            
            {
                { "apiMode", "async" },
                { "description", null },
                { "name", "async_query" },
                { "parameters", 
                {
                    { "type", "object" },
                    { "required", new[] {} },
                    { "properties", null },
                } },
            },
        };
    
        var secret = new Gcp.SecretManager.Secret("secret", new()
        {
            SecretId = "secret",
            Replication = new Gcp.SecretManager.Inputs.SecretReplicationArgs
            {
                Auto = null,
            },
        });
    
        var secretVersion = new Gcp.SecretManager.SecretVersion("secret_version", new()
        {
            Secret = secret.Id,
            SecretData = "test",
        });
    
        var serviceAccount = new Gcp.ServiceAccount.Account("service_account", new()
        {
            AccountId = "sa",
        });
    
        var secretAccess = new Gcp.SecretManager.SecretIamMember("secret_access", new()
        {
            SecretId = secret.Id,
            Role = "roles/secretmanager.secretAccessor",
            Member = serviceAccount.Member,
        });
    
        var project = Gcp.Organizations.GetProject.Invoke();
    
        var saIamObjectViewer = new Gcp.Projects.IAMMember("sa_iam_object_viewer", new()
        {
            Role = "roles/storage.objectViewer",
            Project = project.Apply(getProjectResult => getProjectResult.Id),
            Member = serviceAccount.Member,
        });
    
        var saIamAiPlatformUser = new Gcp.Projects.IAMMember("sa_iam_ai_platform_user", new()
        {
            Role = "roles/aiplatform.user",
            Project = project.Apply(getProjectResult => getProjectResult.Id),
            Member = serviceAccount.Member,
        });
    
        var saIamViewer = new Gcp.Projects.IAMMember("sa_iam_viewer", new()
        {
            Role = "roles/viewer",
            Project = project.Apply(getProjectResult => getProjectResult.Id),
            Member = serviceAccount.Member,
        });
    
        // Ensure we wait enough time for IAM permissions to be propagated
        var wait5Minutes = new Time.Sleep("wait_5_minutes", new()
        {
            CreateDuration = "5m",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                saIamAiPlatformUser,
                saIamObjectViewer,
                saIamViewer,
                secretAccess,
                secretVersion,
            },
        });
    
        var bucket = new Gcp.Storage.Bucket("bucket", new()
        {
            Name = "reasoning-engine",
            Location = "us-central1",
            UniformBucketLevelAccess = true,
            ForceDestroy = true,
        });
    
        var bucketObjRequirementsTxt = new Gcp.Storage.BucketObject("bucket_obj_requirements_txt", new()
        {
            Name = "requirements.txt",
            Bucket = bucket.Id,
            Source = new FileAsset("./test-fixtures/requirements_adk.txt"),
        });
    
        var bucketObjPickle = new Gcp.Storage.BucketObject("bucket_obj_pickle", new()
        {
            Name = "code.pkl",
            Bucket = bucket.Id,
            Source = new FileAsset("./test-fixtures/pickle_adk.pkl"),
        });
    
        var bucketObjDependenciesTarGz = new Gcp.Storage.BucketObject("bucket_obj_dependencies_tar_gz", new()
        {
            Name = "dependencies.tar.gz",
            Bucket = bucket.Id,
            Source = new FileAsset("./test-fixtures/dependencies_adk.tar.gz"),
        });
    
        var reasoningEngine = new Gcp.Vertex.AiReasoningEngine("reasoning_engine", new()
        {
            DisplayName = "reasoning-engine",
            Description = "A basic reasoning engine",
            Region = "us-central1",
            EncryptionSpec = new Gcp.Vertex.Inputs.AiReasoningEngineEncryptionSpecArgs
            {
                KmsKeyName = "example-key",
            },
            Spec = new Gcp.Vertex.Inputs.AiReasoningEngineSpecArgs
            {
                AgentFramework = "google-adk",
                ClassMethods = JsonSerializer.Serialize(classMethods),
                ServiceAccount = serviceAccount.Email,
                DeploymentSpec = new Gcp.Vertex.Inputs.AiReasoningEngineSpecDeploymentSpecArgs
                {
                    Envs = new[]
                    {
                        new Gcp.Vertex.Inputs.AiReasoningEngineSpecDeploymentSpecEnvArgs
                        {
                            Name = "var_1",
                            Value = "value_2",
                        },
                        new Gcp.Vertex.Inputs.AiReasoningEngineSpecDeploymentSpecEnvArgs
                        {
                            Name = "var_2",
                            Value = "value_2",
                        },
                    },
                    SecretEnvs = new[]
                    {
                        new Gcp.Vertex.Inputs.AiReasoningEngineSpecDeploymentSpecSecretEnvArgs
                        {
                            Name = "secret_var_1",
                            SecretRef = new Gcp.Vertex.Inputs.AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRefArgs
                            {
                                Secret = secret.SecretId,
                                Version = "latest",
                            },
                        },
                        new Gcp.Vertex.Inputs.AiReasoningEngineSpecDeploymentSpecSecretEnvArgs
                        {
                            Name = "secret_var_2",
                            SecretRef = new Gcp.Vertex.Inputs.AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRefArgs
                            {
                                Secret = secret.SecretId,
                                Version = "latest",
                            },
                        },
                    },
                },
                PackageSpec = new Gcp.Vertex.Inputs.AiReasoningEngineSpecPackageSpecArgs
                {
                    DependencyFilesGcsUri = Output.Tuple(bucket.Url, bucketObjDependenciesTarGz.Name).Apply(values =>
                    {
                        var url = values.Item1;
                        var name = values.Item2;
                        return $"{url}/{name}";
                    }),
                    PickleObjectGcsUri = Output.Tuple(bucket.Url, bucketObjPickle.Name).Apply(values =>
                    {
                        var url = values.Item1;
                        var name = values.Item2;
                        return $"{url}/{name}";
                    }),
                    PythonVersion = "3.11",
                    RequirementsGcsUri = Output.Tuple(bucket.Url, bucketObjRequirementsTxt.Name).Apply(values =>
                    {
                        var url = values.Item1;
                        var name = values.Item2;
                        return $"{url}/{name}";
                    }),
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                wait5Minutes,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.secretmanager.Secret;
    import com.pulumi.gcp.secretmanager.SecretArgs;
    import com.pulumi.gcp.secretmanager.inputs.SecretReplicationArgs;
    import com.pulumi.gcp.secretmanager.inputs.SecretReplicationAutoArgs;
    import com.pulumi.gcp.secretmanager.SecretVersion;
    import com.pulumi.gcp.secretmanager.SecretVersionArgs;
    import com.pulumi.gcp.serviceaccount.Account;
    import com.pulumi.gcp.serviceaccount.AccountArgs;
    import com.pulumi.gcp.secretmanager.SecretIamMember;
    import com.pulumi.gcp.secretmanager.SecretIamMemberArgs;
    import com.pulumi.gcp.organizations.OrganizationsFunctions;
    import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
    import com.pulumi.gcp.projects.IAMMember;
    import com.pulumi.gcp.projects.IAMMemberArgs;
    import com.pulumiverse.time.Sleep;
    import com.pulumiverse.time.SleepArgs;
    import com.pulumi.gcp.storage.Bucket;
    import com.pulumi.gcp.storage.BucketArgs;
    import com.pulumi.gcp.storage.BucketObject;
    import com.pulumi.gcp.storage.BucketObjectArgs;
    import com.pulumi.gcp.vertex.AiReasoningEngine;
    import com.pulumi.gcp.vertex.AiReasoningEngineArgs;
    import com.pulumi.gcp.vertex.inputs.AiReasoningEngineEncryptionSpecArgs;
    import com.pulumi.gcp.vertex.inputs.AiReasoningEngineSpecArgs;
    import com.pulumi.gcp.vertex.inputs.AiReasoningEngineSpecDeploymentSpecArgs;
    import com.pulumi.gcp.vertex.inputs.AiReasoningEngineSpecPackageSpecArgs;
    import com.pulumi.asset.FileAsset;
    import static com.pulumi.codegen.internal.Serialization.*;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var classMethods = List.of(Map.ofEntries(
                Map.entry("apiMode", "async"),
                Map.entry("description", null),
                Map.entry("name", "async_query"),
                Map.entry("parameters", Map.ofEntries(
                    Map.entry("type", "object"),
                    Map.entry("required", List.of()),
                    Map.entry("properties", Map.ofEntries(
                    ))
                ))
            ));
    
            var secret = new Secret("secret", SecretArgs.builder()
                .secretId("secret")
                .replication(SecretReplicationArgs.builder()
                    .auto(SecretReplicationAutoArgs.builder()
                        .build())
                    .build())
                .build());
    
            var secretVersion = new SecretVersion("secretVersion", SecretVersionArgs.builder()
                .secret(secret.id())
                .secretData("test")
                .build());
    
            var serviceAccount = new Account("serviceAccount", AccountArgs.builder()
                .accountId("sa")
                .build());
    
            var secretAccess = new SecretIamMember("secretAccess", SecretIamMemberArgs.builder()
                .secretId(secret.id())
                .role("roles/secretmanager.secretAccessor")
                .member(serviceAccount.member())
                .build());
    
            final var project = OrganizationsFunctions.getProject(GetProjectArgs.builder()
                .build());
    
            var saIamObjectViewer = new IAMMember("saIamObjectViewer", IAMMemberArgs.builder()
                .role("roles/storage.objectViewer")
                .project(project.id())
                .member(serviceAccount.member())
                .build());
    
            var saIamAiPlatformUser = new IAMMember("saIamAiPlatformUser", IAMMemberArgs.builder()
                .role("roles/aiplatform.user")
                .project(project.id())
                .member(serviceAccount.member())
                .build());
    
            var saIamViewer = new IAMMember("saIamViewer", IAMMemberArgs.builder()
                .role("roles/viewer")
                .project(project.id())
                .member(serviceAccount.member())
                .build());
    
            // Ensure we wait enough time for IAM permissions to be propagated
            var wait5Minutes = new Sleep("wait5Minutes", SleepArgs.builder()
                .createDuration("5m")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        saIamAiPlatformUser,
                        saIamObjectViewer,
                        saIamViewer,
                        secretAccess,
                        secretVersion)
                    .build());
    
            var bucket = new Bucket("bucket", BucketArgs.builder()
                .name("reasoning-engine")
                .location("us-central1")
                .uniformBucketLevelAccess(true)
                .forceDestroy(true)
                .build());
    
            var bucketObjRequirementsTxt = new BucketObject("bucketObjRequirementsTxt", BucketObjectArgs.builder()
                .name("requirements.txt")
                .bucket(bucket.id())
                .source(new FileAsset("./test-fixtures/requirements_adk.txt"))
                .build());
    
            var bucketObjPickle = new BucketObject("bucketObjPickle", BucketObjectArgs.builder()
                .name("code.pkl")
                .bucket(bucket.id())
                .source(new FileAsset("./test-fixtures/pickle_adk.pkl"))
                .build());
    
            var bucketObjDependenciesTarGz = new BucketObject("bucketObjDependenciesTarGz", BucketObjectArgs.builder()
                .name("dependencies.tar.gz")
                .bucket(bucket.id())
                .source(new FileAsset("./test-fixtures/dependencies_adk.tar.gz"))
                .build());
    
            var reasoningEngine = new AiReasoningEngine("reasoningEngine", AiReasoningEngineArgs.builder()
                .displayName("reasoning-engine")
                .description("A basic reasoning engine")
                .region("us-central1")
                .encryptionSpec(AiReasoningEngineEncryptionSpecArgs.builder()
                    .kmsKeyName("example-key")
                    .build())
                .spec(AiReasoningEngineSpecArgs.builder()
                    .agentFramework("google-adk")
                    .classMethods(serializeJson(
                        classMethods))
                    .serviceAccount(serviceAccount.email())
                    .deploymentSpec(AiReasoningEngineSpecDeploymentSpecArgs.builder()
                        .envs(                    
                            AiReasoningEngineSpecDeploymentSpecEnvArgs.builder()
                                .name("var_1")
                                .value("value_2")
                                .build(),
                            AiReasoningEngineSpecDeploymentSpecEnvArgs.builder()
                                .name("var_2")
                                .value("value_2")
                                .build())
                        .secretEnvs(                    
                            AiReasoningEngineSpecDeploymentSpecSecretEnvArgs.builder()
                                .name("secret_var_1")
                                .secretRef(AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRefArgs.builder()
                                    .secret(secret.secretId())
                                    .version("latest")
                                    .build())
                                .build(),
                            AiReasoningEngineSpecDeploymentSpecSecretEnvArgs.builder()
                                .name("secret_var_2")
                                .secretRef(AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRefArgs.builder()
                                    .secret(secret.secretId())
                                    .version("latest")
                                    .build())
                                .build())
                        .build())
                    .packageSpec(AiReasoningEngineSpecPackageSpecArgs.builder()
                        .dependencyFilesGcsUri(Output.tuple(bucket.url(), bucketObjDependenciesTarGz.name()).applyValue(values -> {
                            var url = values.t1;
                            var name = values.t2;
                            return String.format("%s/%s", url,name);
                        }))
                        .pickleObjectGcsUri(Output.tuple(bucket.url(), bucketObjPickle.name()).applyValue(values -> {
                            var url = values.t1;
                            var name = values.t2;
                            return String.format("%s/%s", url,name);
                        }))
                        .pythonVersion("3.11")
                        .requirementsGcsUri(Output.tuple(bucket.url(), bucketObjRequirementsTxt.name()).applyValue(values -> {
                            var url = values.t1;
                            var name = values.t2;
                            return String.format("%s/%s", url,name);
                        }))
                        .build())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(wait5Minutes)
                    .build());
    
        }
    }
    
    resources:
      reasoningEngine:
        type: gcp:vertex:AiReasoningEngine
        name: reasoning_engine
        properties:
          displayName: reasoning-engine
          description: A basic reasoning engine
          region: us-central1
          encryptionSpec:
            kmsKeyName: example-key
          spec:
            agentFramework: google-adk
            classMethods:
              fn::toJSON: ${classMethods}
            serviceAccount: ${serviceAccount.email}
            deploymentSpec:
              envs:
                - name: var_1
                  value: value_2
                - name: var_2
                  value: value_2
              secretEnvs:
                - name: secret_var_1
                  secretRef:
                    secret: ${secret.secretId}
                    version: latest
                - name: secret_var_2
                  secretRef:
                    secret: ${secret.secretId}
                    version: latest
            packageSpec:
              dependencyFilesGcsUri: ${bucket.url}/${bucketObjDependenciesTarGz.name}
              pickleObjectGcsUri: ${bucket.url}/${bucketObjPickle.name}
              pythonVersion: '3.11'
              requirementsGcsUri: ${bucket.url}/${bucketObjRequirementsTxt.name}
        options:
          dependsOn:
            - ${wait5Minutes}
      # Ensure we wait enough time for IAM permissions to be propagated
      wait5Minutes:
        type: time:Sleep
        name: wait_5_minutes
        properties:
          createDuration: 5m
        options:
          dependsOn:
            - ${saIamAiPlatformUser}
            - ${saIamObjectViewer}
            - ${saIamViewer}
            - ${secretAccess}
            - ${secretVersion}
      secretVersion:
        type: gcp:secretmanager:SecretVersion
        name: secret_version
        properties:
          secret: ${secret.id}
          secretData: test
      secret:
        type: gcp:secretmanager:Secret
        properties:
          secretId: secret
          replication:
            auto: {}
      secretAccess:
        type: gcp:secretmanager:SecretIamMember
        name: secret_access
        properties:
          secretId: ${secret.id}
          role: roles/secretmanager.secretAccessor
          member: ${serviceAccount.member}
      bucket:
        type: gcp:storage:Bucket
        properties:
          name: reasoning-engine
          location: us-central1
          uniformBucketLevelAccess: true
          forceDestroy: true
      bucketObjRequirementsTxt:
        type: gcp:storage:BucketObject
        name: bucket_obj_requirements_txt
        properties:
          name: requirements.txt
          bucket: ${bucket.id}
          source:
            fn::FileAsset: ./test-fixtures/requirements_adk.txt
      bucketObjPickle:
        type: gcp:storage:BucketObject
        name: bucket_obj_pickle
        properties:
          name: code.pkl
          bucket: ${bucket.id}
          source:
            fn::FileAsset: ./test-fixtures/pickle_adk.pkl
      bucketObjDependenciesTarGz:
        type: gcp:storage:BucketObject
        name: bucket_obj_dependencies_tar_gz
        properties:
          name: dependencies.tar.gz
          bucket: ${bucket.id}
          source:
            fn::FileAsset: ./test-fixtures/dependencies_adk.tar.gz
      serviceAccount:
        type: gcp:serviceaccount:Account
        name: service_account
        properties:
          accountId: sa
      saIamObjectViewer:
        type: gcp:projects:IAMMember
        name: sa_iam_object_viewer
        properties:
          role: roles/storage.objectViewer
          project: ${project.id}
          member: ${serviceAccount.member}
      saIamAiPlatformUser:
        type: gcp:projects:IAMMember
        name: sa_iam_ai_platform_user
        properties:
          role: roles/aiplatform.user
          project: ${project.id}
          member: ${serviceAccount.member}
      saIamViewer:
        type: gcp:projects:IAMMember
        name: sa_iam_viewer
        properties:
          role: roles/viewer
          project: ${project.id}
          member: ${serviceAccount.member}
    variables:
      classMethods:
        - apiMode: async
          description: null
          name: async_query
          parameters:
            type: object
            required: []
            properties: {}
      project:
        fn::invoke:
          function: gcp:organizations:getProject
          arguments: {}
    

    Create AiReasoningEngine Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new AiReasoningEngine(name: string, args: AiReasoningEngineArgs, opts?: CustomResourceOptions);
    @overload
    def AiReasoningEngine(resource_name: str,
                          args: AiReasoningEngineArgs,
                          opts: Optional[ResourceOptions] = None)
    
    @overload
    def AiReasoningEngine(resource_name: str,
                          opts: Optional[ResourceOptions] = None,
                          display_name: Optional[str] = None,
                          description: Optional[str] = None,
                          encryption_spec: Optional[AiReasoningEngineEncryptionSpecArgs] = None,
                          project: Optional[str] = None,
                          region: Optional[str] = None,
                          spec: Optional[AiReasoningEngineSpecArgs] = None)
    func NewAiReasoningEngine(ctx *Context, name string, args AiReasoningEngineArgs, opts ...ResourceOption) (*AiReasoningEngine, error)
    public AiReasoningEngine(string name, AiReasoningEngineArgs args, CustomResourceOptions? opts = null)
    public AiReasoningEngine(String name, AiReasoningEngineArgs args)
    public AiReasoningEngine(String name, AiReasoningEngineArgs args, CustomResourceOptions options)
    
    type: gcp:vertex:AiReasoningEngine
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args AiReasoningEngineArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args AiReasoningEngineArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args AiReasoningEngineArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AiReasoningEngineArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AiReasoningEngineArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var aiReasoningEngineResource = new Gcp.Vertex.AiReasoningEngine("aiReasoningEngineResource", new()
    {
        DisplayName = "string",
        Description = "string",
        EncryptionSpec = new Gcp.Vertex.Inputs.AiReasoningEngineEncryptionSpecArgs
        {
            KmsKeyName = "string",
        },
        Project = "string",
        Region = "string",
        Spec = new Gcp.Vertex.Inputs.AiReasoningEngineSpecArgs
        {
            AgentFramework = "string",
            ClassMethods = "string",
            DeploymentSpec = new Gcp.Vertex.Inputs.AiReasoningEngineSpecDeploymentSpecArgs
            {
                Envs = new[]
                {
                    new Gcp.Vertex.Inputs.AiReasoningEngineSpecDeploymentSpecEnvArgs
                    {
                        Name = "string",
                        Value = "string",
                    },
                },
                SecretEnvs = new[]
                {
                    new Gcp.Vertex.Inputs.AiReasoningEngineSpecDeploymentSpecSecretEnvArgs
                    {
                        Name = "string",
                        SecretRef = new Gcp.Vertex.Inputs.AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRefArgs
                        {
                            Secret = "string",
                            Version = "string",
                        },
                    },
                },
            },
            PackageSpec = new Gcp.Vertex.Inputs.AiReasoningEngineSpecPackageSpecArgs
            {
                DependencyFilesGcsUri = "string",
                PickleObjectGcsUri = "string",
                PythonVersion = "string",
                RequirementsGcsUri = "string",
            },
            ServiceAccount = "string",
        },
    });
    
    example, err := vertex.NewAiReasoningEngine(ctx, "aiReasoningEngineResource", &vertex.AiReasoningEngineArgs{
    	DisplayName: pulumi.String("string"),
    	Description: pulumi.String("string"),
    	EncryptionSpec: &vertex.AiReasoningEngineEncryptionSpecArgs{
    		KmsKeyName: pulumi.String("string"),
    	},
    	Project: pulumi.String("string"),
    	Region:  pulumi.String("string"),
    	Spec: &vertex.AiReasoningEngineSpecArgs{
    		AgentFramework: pulumi.String("string"),
    		ClassMethods:   pulumi.String("string"),
    		DeploymentSpec: &vertex.AiReasoningEngineSpecDeploymentSpecArgs{
    			Envs: vertex.AiReasoningEngineSpecDeploymentSpecEnvArray{
    				&vertex.AiReasoningEngineSpecDeploymentSpecEnvArgs{
    					Name:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			SecretEnvs: vertex.AiReasoningEngineSpecDeploymentSpecSecretEnvArray{
    				&vertex.AiReasoningEngineSpecDeploymentSpecSecretEnvArgs{
    					Name: pulumi.String("string"),
    					SecretRef: &vertex.AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRefArgs{
    						Secret:  pulumi.String("string"),
    						Version: pulumi.String("string"),
    					},
    				},
    			},
    		},
    		PackageSpec: &vertex.AiReasoningEngineSpecPackageSpecArgs{
    			DependencyFilesGcsUri: pulumi.String("string"),
    			PickleObjectGcsUri:    pulumi.String("string"),
    			PythonVersion:         pulumi.String("string"),
    			RequirementsGcsUri:    pulumi.String("string"),
    		},
    		ServiceAccount: pulumi.String("string"),
    	},
    })
    
    var aiReasoningEngineResource = new AiReasoningEngine("aiReasoningEngineResource", AiReasoningEngineArgs.builder()
        .displayName("string")
        .description("string")
        .encryptionSpec(AiReasoningEngineEncryptionSpecArgs.builder()
            .kmsKeyName("string")
            .build())
        .project("string")
        .region("string")
        .spec(AiReasoningEngineSpecArgs.builder()
            .agentFramework("string")
            .classMethods("string")
            .deploymentSpec(AiReasoningEngineSpecDeploymentSpecArgs.builder()
                .envs(AiReasoningEngineSpecDeploymentSpecEnvArgs.builder()
                    .name("string")
                    .value("string")
                    .build())
                .secretEnvs(AiReasoningEngineSpecDeploymentSpecSecretEnvArgs.builder()
                    .name("string")
                    .secretRef(AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRefArgs.builder()
                        .secret("string")
                        .version("string")
                        .build())
                    .build())
                .build())
            .packageSpec(AiReasoningEngineSpecPackageSpecArgs.builder()
                .dependencyFilesGcsUri("string")
                .pickleObjectGcsUri("string")
                .pythonVersion("string")
                .requirementsGcsUri("string")
                .build())
            .serviceAccount("string")
            .build())
        .build());
    
    ai_reasoning_engine_resource = gcp.vertex.AiReasoningEngine("aiReasoningEngineResource",
        display_name="string",
        description="string",
        encryption_spec={
            "kms_key_name": "string",
        },
        project="string",
        region="string",
        spec={
            "agent_framework": "string",
            "class_methods": "string",
            "deployment_spec": {
                "envs": [{
                    "name": "string",
                    "value": "string",
                }],
                "secret_envs": [{
                    "name": "string",
                    "secret_ref": {
                        "secret": "string",
                        "version": "string",
                    },
                }],
            },
            "package_spec": {
                "dependency_files_gcs_uri": "string",
                "pickle_object_gcs_uri": "string",
                "python_version": "string",
                "requirements_gcs_uri": "string",
            },
            "service_account": "string",
        })
    
    const aiReasoningEngineResource = new gcp.vertex.AiReasoningEngine("aiReasoningEngineResource", {
        displayName: "string",
        description: "string",
        encryptionSpec: {
            kmsKeyName: "string",
        },
        project: "string",
        region: "string",
        spec: {
            agentFramework: "string",
            classMethods: "string",
            deploymentSpec: {
                envs: [{
                    name: "string",
                    value: "string",
                }],
                secretEnvs: [{
                    name: "string",
                    secretRef: {
                        secret: "string",
                        version: "string",
                    },
                }],
            },
            packageSpec: {
                dependencyFilesGcsUri: "string",
                pickleObjectGcsUri: "string",
                pythonVersion: "string",
                requirementsGcsUri: "string",
            },
            serviceAccount: "string",
        },
    });
    
    type: gcp:vertex:AiReasoningEngine
    properties:
        description: string
        displayName: string
        encryptionSpec:
            kmsKeyName: string
        project: string
        region: string
        spec:
            agentFramework: string
            classMethods: string
            deploymentSpec:
                envs:
                    - name: string
                      value: string
                secretEnvs:
                    - name: string
                      secretRef:
                        secret: string
                        version: string
            packageSpec:
                dependencyFilesGcsUri: string
                pickleObjectGcsUri: string
                pythonVersion: string
                requirementsGcsUri: string
            serviceAccount: string
    

    AiReasoningEngine Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The AiReasoningEngine resource accepts the following input properties:

    DisplayName string
    The display name of the ReasoningEngine.
    Description string
    The description of the ReasoningEngine.
    EncryptionSpec AiReasoningEngineEncryptionSpec
    Optional. Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key. Structure is documented below.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    The region of the reasoning engine. eg us-central1
    Spec AiReasoningEngineSpec
    Optional. Configurations of the ReasoningEngine. Structure is documented below.
    DisplayName string
    The display name of the ReasoningEngine.
    Description string
    The description of the ReasoningEngine.
    EncryptionSpec AiReasoningEngineEncryptionSpecArgs
    Optional. Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key. Structure is documented below.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    The region of the reasoning engine. eg us-central1
    Spec AiReasoningEngineSpecArgs
    Optional. Configurations of the ReasoningEngine. Structure is documented below.
    displayName String
    The display name of the ReasoningEngine.
    description String
    The description of the ReasoningEngine.
    encryptionSpec AiReasoningEngineEncryptionSpec
    Optional. Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key. Structure is documented below.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    The region of the reasoning engine. eg us-central1
    spec AiReasoningEngineSpec
    Optional. Configurations of the ReasoningEngine. Structure is documented below.
    displayName string
    The display name of the ReasoningEngine.
    description string
    The description of the ReasoningEngine.
    encryptionSpec AiReasoningEngineEncryptionSpec
    Optional. Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key. Structure is documented below.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region string
    The region of the reasoning engine. eg us-central1
    spec AiReasoningEngineSpec
    Optional. Configurations of the ReasoningEngine. Structure is documented below.
    display_name str
    The display name of the ReasoningEngine.
    description str
    The description of the ReasoningEngine.
    encryption_spec AiReasoningEngineEncryptionSpecArgs
    Optional. Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key. Structure is documented below.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region str
    The region of the reasoning engine. eg us-central1
    spec AiReasoningEngineSpecArgs
    Optional. Configurations of the ReasoningEngine. Structure is documented below.
    displayName String
    The display name of the ReasoningEngine.
    description String
    The description of the ReasoningEngine.
    encryptionSpec Property Map
    Optional. Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key. Structure is documented below.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    The region of the reasoning engine. eg us-central1
    spec Property Map
    Optional. Configurations of the ReasoningEngine. Structure is documented below.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the AiReasoningEngine resource produces the following output properties:

    CreateTime string
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The generated name of the ReasoningEngine, in the format 'projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine}'
    UpdateTime string
    The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    CreateTime string
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The generated name of the ReasoningEngine, in the format 'projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine}'
    UpdateTime string
    The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    createTime String
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The generated name of the ReasoningEngine, in the format 'projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine}'
    updateTime String
    The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    createTime string
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The generated name of the ReasoningEngine, in the format 'projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine}'
    updateTime string
    The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    create_time str
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    The generated name of the ReasoningEngine, in the format 'projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine}'
    update_time str
    The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    createTime String
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The generated name of the ReasoningEngine, in the format 'projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine}'
    updateTime String
    The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.

    Look up Existing AiReasoningEngine Resource

    Get an existing AiReasoningEngine resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: AiReasoningEngineState, opts?: CustomResourceOptions): AiReasoningEngine
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            create_time: Optional[str] = None,
            description: Optional[str] = None,
            display_name: Optional[str] = None,
            encryption_spec: Optional[AiReasoningEngineEncryptionSpecArgs] = None,
            name: Optional[str] = None,
            project: Optional[str] = None,
            region: Optional[str] = None,
            spec: Optional[AiReasoningEngineSpecArgs] = None,
            update_time: Optional[str] = None) -> AiReasoningEngine
    func GetAiReasoningEngine(ctx *Context, name string, id IDInput, state *AiReasoningEngineState, opts ...ResourceOption) (*AiReasoningEngine, error)
    public static AiReasoningEngine Get(string name, Input<string> id, AiReasoningEngineState? state, CustomResourceOptions? opts = null)
    public static AiReasoningEngine get(String name, Output<String> id, AiReasoningEngineState state, CustomResourceOptions options)
    resources:  _:    type: gcp:vertex:AiReasoningEngine    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CreateTime string
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    Description string
    The description of the ReasoningEngine.
    DisplayName string
    The display name of the ReasoningEngine.
    EncryptionSpec AiReasoningEngineEncryptionSpec
    Optional. Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key. Structure is documented below.
    Name string
    The generated name of the ReasoningEngine, in the format 'projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine}'
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    The region of the reasoning engine. eg us-central1
    Spec AiReasoningEngineSpec
    Optional. Configurations of the ReasoningEngine. Structure is documented below.
    UpdateTime string
    The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    CreateTime string
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    Description string
    The description of the ReasoningEngine.
    DisplayName string
    The display name of the ReasoningEngine.
    EncryptionSpec AiReasoningEngineEncryptionSpecArgs
    Optional. Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key. Structure is documented below.
    Name string
    The generated name of the ReasoningEngine, in the format 'projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine}'
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Region string
    The region of the reasoning engine. eg us-central1
    Spec AiReasoningEngineSpecArgs
    Optional. Configurations of the ReasoningEngine. Structure is documented below.
    UpdateTime string
    The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    createTime String
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    description String
    The description of the ReasoningEngine.
    displayName String
    The display name of the ReasoningEngine.
    encryptionSpec AiReasoningEngineEncryptionSpec
    Optional. Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key. Structure is documented below.
    name String
    The generated name of the ReasoningEngine, in the format 'projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine}'
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    The region of the reasoning engine. eg us-central1
    spec AiReasoningEngineSpec
    Optional. Configurations of the ReasoningEngine. Structure is documented below.
    updateTime String
    The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    createTime string
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    description string
    The description of the ReasoningEngine.
    displayName string
    The display name of the ReasoningEngine.
    encryptionSpec AiReasoningEngineEncryptionSpec
    Optional. Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key. Structure is documented below.
    name string
    The generated name of the ReasoningEngine, in the format 'projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine}'
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region string
    The region of the reasoning engine. eg us-central1
    spec AiReasoningEngineSpec
    Optional. Configurations of the ReasoningEngine. Structure is documented below.
    updateTime string
    The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    create_time str
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    description str
    The description of the ReasoningEngine.
    display_name str
    The display name of the ReasoningEngine.
    encryption_spec AiReasoningEngineEncryptionSpecArgs
    Optional. Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key. Structure is documented below.
    name str
    The generated name of the ReasoningEngine, in the format 'projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine}'
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region str
    The region of the reasoning engine. eg us-central1
    spec AiReasoningEngineSpecArgs
    Optional. Configurations of the ReasoningEngine. Structure is documented below.
    update_time str
    The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    createTime String
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    description String
    The description of the ReasoningEngine.
    displayName String
    The display name of the ReasoningEngine.
    encryptionSpec Property Map
    Optional. Customer-managed encryption key spec for a ReasoningEngine. If set, this ReasoningEngine and all sub-resources of this ReasoningEngine will be secured by this key. Structure is documented below.
    name String
    The generated name of the ReasoningEngine, in the format 'projects/{project}/locations/{location}/reasoningEngines/{reasoningEngine}'
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    region String
    The region of the reasoning engine. eg us-central1
    spec Property Map
    Optional. Configurations of the ReasoningEngine. Structure is documented below.
    updateTime String
    The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.

    Supporting Types

    AiReasoningEngineEncryptionSpec, AiReasoningEngineEncryptionSpecArgs

    KmsKeyName string
    Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.
    KmsKeyName string
    Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.
    kmsKeyName String
    Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.
    kmsKeyName string
    Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.
    kms_key_name str
    Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.
    kmsKeyName String
    Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.

    AiReasoningEngineSpec, AiReasoningEngineSpecArgs

    AgentFramework string
    Optional. The OSS agent framework used to develop the agent.
    ClassMethods string
    Optional. Declarations for object class methods in OpenAPI specification format.
    DeploymentSpec AiReasoningEngineSpecDeploymentSpec
    Optional. The specification of a Reasoning Engine deployment. Structure is documented below.
    PackageSpec AiReasoningEngineSpecPackageSpec
    Optional. User provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image through deploymentSpec.first_party_image_override, but keeping the field_behavior to avoid introducing breaking changes. Structure is documented below.
    ServiceAccount string
    Optional. The service account that the Reasoning Engine artifact runs as. It should have "roles/storage.objectViewer" for reading the user project's Cloud Storage and "roles/aiplatform.user" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine service Agent in the project will be used.
    AgentFramework string
    Optional. The OSS agent framework used to develop the agent.
    ClassMethods string
    Optional. Declarations for object class methods in OpenAPI specification format.
    DeploymentSpec AiReasoningEngineSpecDeploymentSpec
    Optional. The specification of a Reasoning Engine deployment. Structure is documented below.
    PackageSpec AiReasoningEngineSpecPackageSpec
    Optional. User provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image through deploymentSpec.first_party_image_override, but keeping the field_behavior to avoid introducing breaking changes. Structure is documented below.
    ServiceAccount string
    Optional. The service account that the Reasoning Engine artifact runs as. It should have "roles/storage.objectViewer" for reading the user project's Cloud Storage and "roles/aiplatform.user" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine service Agent in the project will be used.
    agentFramework String
    Optional. The OSS agent framework used to develop the agent.
    classMethods String
    Optional. Declarations for object class methods in OpenAPI specification format.
    deploymentSpec AiReasoningEngineSpecDeploymentSpec
    Optional. The specification of a Reasoning Engine deployment. Structure is documented below.
    packageSpec AiReasoningEngineSpecPackageSpec
    Optional. User provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image through deploymentSpec.first_party_image_override, but keeping the field_behavior to avoid introducing breaking changes. Structure is documented below.
    serviceAccount String
    Optional. The service account that the Reasoning Engine artifact runs as. It should have "roles/storage.objectViewer" for reading the user project's Cloud Storage and "roles/aiplatform.user" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine service Agent in the project will be used.
    agentFramework string
    Optional. The OSS agent framework used to develop the agent.
    classMethods string
    Optional. Declarations for object class methods in OpenAPI specification format.
    deploymentSpec AiReasoningEngineSpecDeploymentSpec
    Optional. The specification of a Reasoning Engine deployment. Structure is documented below.
    packageSpec AiReasoningEngineSpecPackageSpec
    Optional. User provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image through deploymentSpec.first_party_image_override, but keeping the field_behavior to avoid introducing breaking changes. Structure is documented below.
    serviceAccount string
    Optional. The service account that the Reasoning Engine artifact runs as. It should have "roles/storage.objectViewer" for reading the user project's Cloud Storage and "roles/aiplatform.user" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine service Agent in the project will be used.
    agent_framework str
    Optional. The OSS agent framework used to develop the agent.
    class_methods str
    Optional. Declarations for object class methods in OpenAPI specification format.
    deployment_spec AiReasoningEngineSpecDeploymentSpec
    Optional. The specification of a Reasoning Engine deployment. Structure is documented below.
    package_spec AiReasoningEngineSpecPackageSpec
    Optional. User provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image through deploymentSpec.first_party_image_override, but keeping the field_behavior to avoid introducing breaking changes. Structure is documented below.
    service_account str
    Optional. The service account that the Reasoning Engine artifact runs as. It should have "roles/storage.objectViewer" for reading the user project's Cloud Storage and "roles/aiplatform.user" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine service Agent in the project will be used.
    agentFramework String
    Optional. The OSS agent framework used to develop the agent.
    classMethods String
    Optional. Declarations for object class methods in OpenAPI specification format.
    deploymentSpec Property Map
    Optional. The specification of a Reasoning Engine deployment. Structure is documented below.
    packageSpec Property Map
    Optional. User provided package spec of the ReasoningEngine. Ignored when users directly specify a deployment image through deploymentSpec.first_party_image_override, but keeping the field_behavior to avoid introducing breaking changes. Structure is documented below.
    serviceAccount String
    Optional. The service account that the Reasoning Engine artifact runs as. It should have "roles/storage.objectViewer" for reading the user project's Cloud Storage and "roles/aiplatform.user" for using Vertex extensions. If not specified, the Vertex AI Reasoning Engine service Agent in the project will be used.

    AiReasoningEngineSpecDeploymentSpec, AiReasoningEngineSpecDeploymentSpecArgs

    Envs List<AiReasoningEngineSpecDeploymentSpecEnv>
    Optional. Environment variables to be set with the Reasoning Engine deployment. Structure is documented below.
    SecretEnvs List<AiReasoningEngineSpecDeploymentSpecSecretEnv>
    Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine service Agent. Structure is documented below.
    Envs []AiReasoningEngineSpecDeploymentSpecEnv
    Optional. Environment variables to be set with the Reasoning Engine deployment. Structure is documented below.
    SecretEnvs []AiReasoningEngineSpecDeploymentSpecSecretEnv
    Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine service Agent. Structure is documented below.
    envs List<AiReasoningEngineSpecDeploymentSpecEnv>
    Optional. Environment variables to be set with the Reasoning Engine deployment. Structure is documented below.
    secretEnvs List<AiReasoningEngineSpecDeploymentSpecSecretEnv>
    Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine service Agent. Structure is documented below.
    envs AiReasoningEngineSpecDeploymentSpecEnv[]
    Optional. Environment variables to be set with the Reasoning Engine deployment. Structure is documented below.
    secretEnvs AiReasoningEngineSpecDeploymentSpecSecretEnv[]
    Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine service Agent. Structure is documented below.
    envs Sequence[AiReasoningEngineSpecDeploymentSpecEnv]
    Optional. Environment variables to be set with the Reasoning Engine deployment. Structure is documented below.
    secret_envs Sequence[AiReasoningEngineSpecDeploymentSpecSecretEnv]
    Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine service Agent. Structure is documented below.
    envs List<Property Map>
    Optional. Environment variables to be set with the Reasoning Engine deployment. Structure is documented below.
    secretEnvs List<Property Map>
    Optional. Environment variables where the value is a secret in Cloud Secret Manager. To use this feature, add 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) to AI Platform Reasoning Engine service Agent. Structure is documented below.

    AiReasoningEngineSpecDeploymentSpecEnv, AiReasoningEngineSpecDeploymentSpecEnvArgs

    Name string
    The name of the environment variable. Must be a valid C identifier.
    Value string
    Variables that reference a $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.
    Name string
    The name of the environment variable. Must be a valid C identifier.
    Value string
    Variables that reference a $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.
    name String
    The name of the environment variable. Must be a valid C identifier.
    value String
    Variables that reference a $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.
    name string
    The name of the environment variable. Must be a valid C identifier.
    value string
    Variables that reference a $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.
    name str
    The name of the environment variable. Must be a valid C identifier.
    value str
    Variables that reference a $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.
    name String
    The name of the environment variable. Must be a valid C identifier.
    value String
    Variables that reference a $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.

    AiReasoningEngineSpecDeploymentSpecSecretEnv, AiReasoningEngineSpecDeploymentSpecSecretEnvArgs

    Name string
    The name of the environment variable. Must be a valid C identifier.
    SecretRef AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRef
    Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable. Structure is documented below.
    Name string
    The name of the environment variable. Must be a valid C identifier.
    SecretRef AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRef
    Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable. Structure is documented below.
    name String
    The name of the environment variable. Must be a valid C identifier.
    secretRef AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRef
    Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable. Structure is documented below.
    name string
    The name of the environment variable. Must be a valid C identifier.
    secretRef AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRef
    Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable. Structure is documented below.
    name str
    The name of the environment variable. Must be a valid C identifier.
    secret_ref AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRef
    Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable. Structure is documented below.
    name String
    The name of the environment variable. Must be a valid C identifier.
    secretRef Property Map
    Reference to a secret stored in the Cloud Secret Manager that will provide the value for this environment variable. Structure is documented below.

    AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRef, AiReasoningEngineSpecDeploymentSpecSecretEnvSecretRefArgs

    Secret string
    The name of the secret in Cloud Secret Manager. Format: {secret_name}.
    Version string
    The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias.
    Secret string
    The name of the secret in Cloud Secret Manager. Format: {secret_name}.
    Version string
    The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias.
    secret String
    The name of the secret in Cloud Secret Manager. Format: {secret_name}.
    version String
    The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias.
    secret string
    The name of the secret in Cloud Secret Manager. Format: {secret_name}.
    version string
    The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias.
    secret str
    The name of the secret in Cloud Secret Manager. Format: {secret_name}.
    version str
    The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias.
    secret String
    The name of the secret in Cloud Secret Manager. Format: {secret_name}.
    version String
    The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias.

    AiReasoningEngineSpecPackageSpec, AiReasoningEngineSpecPackageSpecArgs

    DependencyFilesGcsUri string
    Optional. The Cloud Storage URI of the dependency files in tar.gz format.
    PickleObjectGcsUri string
    Optional. The Cloud Storage URI of the pickled python object.
    PythonVersion string
    Optional. The Python version.
    RequirementsGcsUri string
    Optional. The Cloud Storage URI of the requirements.txt file
    DependencyFilesGcsUri string
    Optional. The Cloud Storage URI of the dependency files in tar.gz format.
    PickleObjectGcsUri string
    Optional. The Cloud Storage URI of the pickled python object.
    PythonVersion string
    Optional. The Python version.
    RequirementsGcsUri string
    Optional. The Cloud Storage URI of the requirements.txt file
    dependencyFilesGcsUri String
    Optional. The Cloud Storage URI of the dependency files in tar.gz format.
    pickleObjectGcsUri String
    Optional. The Cloud Storage URI of the pickled python object.
    pythonVersion String
    Optional. The Python version.
    requirementsGcsUri String
    Optional. The Cloud Storage URI of the requirements.txt file
    dependencyFilesGcsUri string
    Optional. The Cloud Storage URI of the dependency files in tar.gz format.
    pickleObjectGcsUri string
    Optional. The Cloud Storage URI of the pickled python object.
    pythonVersion string
    Optional. The Python version.
    requirementsGcsUri string
    Optional. The Cloud Storage URI of the requirements.txt file
    dependency_files_gcs_uri str
    Optional. The Cloud Storage URI of the dependency files in tar.gz format.
    pickle_object_gcs_uri str
    Optional. The Cloud Storage URI of the pickled python object.
    python_version str
    Optional. The Python version.
    requirements_gcs_uri str
    Optional. The Cloud Storage URI of the requirements.txt file
    dependencyFilesGcsUri String
    Optional. The Cloud Storage URI of the dependency files in tar.gz format.
    pickleObjectGcsUri String
    Optional. The Cloud Storage URI of the pickled python object.
    pythonVersion String
    Optional. The Python version.
    requirementsGcsUri String
    Optional. The Cloud Storage URI of the requirements.txt file

    Import

    ReasoningEngine can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{region}}/reasoningEngines/{{name}}

    • {{project}}/{{region}}/{{name}}

    • {{region}}/{{name}}

    • {{name}}

    When using the pulumi import command, ReasoningEngine can be imported using one of the formats above. For example:

    $ pulumi import gcp:vertex/aiReasoningEngine:AiReasoningEngine default projects/{{project}}/locations/{{region}}/reasoningEngines/{{name}}
    
    $ pulumi import gcp:vertex/aiReasoningEngine:AiReasoningEngine default {{project}}/{{region}}/{{name}}
    
    $ pulumi import gcp:vertex/aiReasoningEngine:AiReasoningEngine default {{region}}/{{name}}
    
    $ pulumi import gcp:vertex/aiReasoningEngine:AiReasoningEngine default {{name}}
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud v9.4.0 published on Tuesday, Nov 4, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate