1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. ces
  5. Example
Google Cloud v9.10.0 published on Friday, Jan 16, 2026 by Pulumi
gcp logo
Google Cloud v9.10.0 published on Friday, Jan 16, 2026 by Pulumi

    An example represents a sample conversation between the user and the agent(s).

    Example Usage

    Ces Example Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    import * as std from "@pulumi/std";
    
    const my_app = new gcp.ces.App("my-app", {
        location: "us",
        displayName: "my-app",
        appId: "app-id",
        timeZoneSettings: {
            timeZone: "America/Los_Angeles",
        },
    });
    const cesTool = new gcp.ces.Tool("ces_tool", {
        location: "us",
        app: my_app.appId,
        toolId: "tool-1",
        executionType: "SYNCHRONOUS",
        pythonFunction: {
            name: "example_function",
            pythonCode: "def example_function() -> int: return 0",
        },
    });
    const cesToolset = new gcp.ces.Toolset("ces_toolset", {
        toolsetId: "toolset-id",
        location: "us",
        app: my_app.appId,
        displayName: "Basic toolset display name",
        openApiToolset: {
            openApiSchema: `openapi: 3.0.0
    info:
        title: My Sample API
        version: 1.0.0
        description: A simple API example
    servers:
        - url: https://api.example.com/v1
    paths: {}
    `,
            ignoreUnknownFields: false,
            tlsConfig: {
                caCerts: [{
                    displayName: "example",
                    cert: "ZXhhbXBsZQ==",
                }],
            },
            serviceDirectoryConfig: {
                service: "projects/example/locations/us/namespaces/namespace/services/service",
            },
            apiAuthentication: {
                serviceAgentIdTokenAuthConfig: {},
            },
        },
    });
    const cesBaseAgent = new gcp.ces.Agent("ces_base_agent", {
        agentId: "base-agent-id",
        location: "us",
        app: my_app.appId,
        displayName: "base agent",
        instruction: "You are a helpful assistant for this example.",
        modelSettings: {
            model: "gemini-2.5-flash",
            temperature: 0.5,
        },
        llmAgent: {},
    });
    const cesChildAgent = new gcp.ces.Agent("ces_child_agent", {
        agentId: "child-agent-id",
        location: "us",
        app: my_app.appId,
        displayName: "child agent",
        instruction: "You are a helpful assistant for this example.",
        modelSettings: {
            model: "gemini-2.5-flash",
            temperature: 0.5,
        },
        llmAgent: {},
    });
    const my_example = new gcp.ces.Example("my-example", {
        location: "us",
        displayName: "my-example",
        app: my_app.name,
        exampleId: "example-id",
        description: "example description",
        entryAgent: pulumi.all([my_app.project, my_app.appId, cesBaseAgent.agentId]).apply(([project, appId, agentId]) => `projects/${project}/locations/us/apps/${appId}/agents/${agentId}`),
        messages: [{
            chunks: [
                {
                    agentTransfer: {
                        targetAgent: pulumi.all([my_app.project, my_app.appId, cesChildAgent.agentId]).apply(([project, appId, agentId]) => `projects/${project}/locations/us/apps/${appId}/agents/${agentId}`),
                    },
                },
                {
                    image: {
                        mimeType: "image/png",
                        data: std.base64encode({
                            input: "This is some fake image binary data.",
                        }).then(invoke => invoke.result),
                    },
                },
                {
                    text: "text_data",
                },
                {
                    toolCall: {
                        args: JSON.stringify({
                            arg1: "val1",
                            arg2: "val2",
                        }),
                        id: "tool_call_id",
                        tool: pulumi.interpolate`projects/${my_app.project}/locations/us/apps/${my_app.appId}/tools/${cesTool.toolId}`,
                    },
                },
                {
                    toolCall: {
                        args: JSON.stringify({
                            arg1: "val1",
                            arg2: "val2",
                        }),
                        id: "tool_call_id2",
                        toolsetTool: {
                            toolset: pulumi.interpolate`projects/${my_app.project}/locations/us/apps/${my_app.appId}/toolsets/${cesToolset.toolsetId}`,
                            toolId: "example-id",
                        },
                    },
                },
                {
                    toolResponse: {
                        id: "tool_call_id",
                        response: JSON.stringify({
                            output: "example-output",
                        }),
                        tool: pulumi.interpolate`projects/${my_app.project}/locations/us/apps/${my_app.appId}/tools/${cesTool.toolId}`,
                    },
                },
                {
                    toolResponse: {
                        id: "tool_call_id2",
                        response: JSON.stringify({
                            output: "example-output",
                        }),
                        toolsetTool: {
                            toolset: pulumi.interpolate`projects/${my_app.project}/locations/us/apps/${my_app.appId}/toolsets/${cesToolset.toolsetId}`,
                            toolId: "example-id",
                        },
                    },
                },
                {
                    updatedVariables: JSON.stringify({
                        var1: "val1",
                        var2: "val2",
                    }),
                },
            ],
            role: "agent",
        }],
    });
    
    import pulumi
    import json
    import pulumi_gcp as gcp
    import pulumi_std as std
    
    my_app = gcp.ces.App("my-app",
        location="us",
        display_name="my-app",
        app_id="app-id",
        time_zone_settings={
            "time_zone": "America/Los_Angeles",
        })
    ces_tool = gcp.ces.Tool("ces_tool",
        location="us",
        app=my_app.app_id,
        tool_id="tool-1",
        execution_type="SYNCHRONOUS",
        python_function={
            "name": "example_function",
            "python_code": "def example_function() -> int: return 0",
        })
    ces_toolset = gcp.ces.Toolset("ces_toolset",
        toolset_id="toolset-id",
        location="us",
        app=my_app.app_id,
        display_name="Basic toolset display name",
        open_api_toolset={
            "open_api_schema": """openapi: 3.0.0
    info:
        title: My Sample API
        version: 1.0.0
        description: A simple API example
    servers:
        - url: https://api.example.com/v1
    paths: {}
    """,
            "ignore_unknown_fields": False,
            "tls_config": {
                "ca_certs": [{
                    "display_name": "example",
                    "cert": "ZXhhbXBsZQ==",
                }],
            },
            "service_directory_config": {
                "service": "projects/example/locations/us/namespaces/namespace/services/service",
            },
            "api_authentication": {
                "service_agent_id_token_auth_config": {},
            },
        })
    ces_base_agent = gcp.ces.Agent("ces_base_agent",
        agent_id="base-agent-id",
        location="us",
        app=my_app.app_id,
        display_name="base agent",
        instruction="You are a helpful assistant for this example.",
        model_settings={
            "model": "gemini-2.5-flash",
            "temperature": 0.5,
        },
        llm_agent={})
    ces_child_agent = gcp.ces.Agent("ces_child_agent",
        agent_id="child-agent-id",
        location="us",
        app=my_app.app_id,
        display_name="child agent",
        instruction="You are a helpful assistant for this example.",
        model_settings={
            "model": "gemini-2.5-flash",
            "temperature": 0.5,
        },
        llm_agent={})
    my_example = gcp.ces.Example("my-example",
        location="us",
        display_name="my-example",
        app=my_app.name,
        example_id="example-id",
        description="example description",
        entry_agent=pulumi.Output.all(
            project=my_app.project,
            app_id=my_app.app_id,
            agent_id=ces_base_agent.agent_id
    ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/us/apps/{resolved_outputs['app_id']}/agents/{resolved_outputs['agent_id']}")
    ,
        messages=[{
            "chunks": [
                {
                    "agent_transfer": {
                        "target_agent": pulumi.Output.all(
                            project=my_app.project,
                            app_id=my_app.app_id,
                            agent_id=ces_child_agent.agent_id
    ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/us/apps/{resolved_outputs['app_id']}/agents/{resolved_outputs['agent_id']}")
    ,
                    },
                },
                {
                    "image": {
                        "mime_type": "image/png",
                        "data": std.base64encode(input="This is some fake image binary data.").result,
                    },
                },
                {
                    "text": "text_data",
                },
                {
                    "tool_call": {
                        "args": json.dumps({
                            "arg1": "val1",
                            "arg2": "val2",
                        }),
                        "id": "tool_call_id",
                        "tool": pulumi.Output.all(
                            project=my_app.project,
                            app_id=my_app.app_id,
                            tool_id=ces_tool.tool_id
    ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/us/apps/{resolved_outputs['app_id']}/tools/{resolved_outputs['tool_id']}")
    ,
                    },
                },
                {
                    "tool_call": {
                        "args": json.dumps({
                            "arg1": "val1",
                            "arg2": "val2",
                        }),
                        "id": "tool_call_id2",
                        "toolset_tool": {
                            "toolset": pulumi.Output.all(
                                project=my_app.project,
                                app_id=my_app.app_id,
                                toolset_id=ces_toolset.toolset_id
    ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/us/apps/{resolved_outputs['app_id']}/toolsets/{resolved_outputs['toolset_id']}")
    ,
                            "tool_id": "example-id",
                        },
                    },
                },
                {
                    "tool_response": {
                        "id": "tool_call_id",
                        "response": json.dumps({
                            "output": "example-output",
                        }),
                        "tool": pulumi.Output.all(
                            project=my_app.project,
                            app_id=my_app.app_id,
                            tool_id=ces_tool.tool_id
    ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/us/apps/{resolved_outputs['app_id']}/tools/{resolved_outputs['tool_id']}")
    ,
                    },
                },
                {
                    "tool_response": {
                        "id": "tool_call_id2",
                        "response": json.dumps({
                            "output": "example-output",
                        }),
                        "toolset_tool": {
                            "toolset": pulumi.Output.all(
                                project=my_app.project,
                                app_id=my_app.app_id,
                                toolset_id=ces_toolset.toolset_id
    ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/us/apps/{resolved_outputs['app_id']}/toolsets/{resolved_outputs['toolset_id']}")
    ,
                            "tool_id": "example-id",
                        },
                    },
                },
                {
                    "updated_variables": json.dumps({
                        "var1": "val1",
                        "var2": "val2",
                    }),
                },
            ],
            "role": "agent",
        }])
    
    package main
    
    import (
    	"encoding/json"
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/ces"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		my_app, err := ces.NewApp(ctx, "my-app", &ces.AppArgs{
    			Location:    pulumi.String("us"),
    			DisplayName: pulumi.String("my-app"),
    			AppId:       pulumi.String("app-id"),
    			TimeZoneSettings: &ces.AppTimeZoneSettingsArgs{
    				TimeZone: pulumi.String("America/Los_Angeles"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		cesTool, err := ces.NewTool(ctx, "ces_tool", &ces.ToolArgs{
    			Location:      pulumi.String("us"),
    			App:           my_app.AppId,
    			ToolId:        pulumi.String("tool-1"),
    			ExecutionType: pulumi.String("SYNCHRONOUS"),
    			PythonFunction: &ces.ToolPythonFunctionArgs{
    				Name:       pulumi.String("example_function"),
    				PythonCode: pulumi.String("def example_function() -> int: return 0"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		cesToolset, err := ces.NewToolset(ctx, "ces_toolset", &ces.ToolsetArgs{
    			ToolsetId:   pulumi.String("toolset-id"),
    			Location:    pulumi.String("us"),
    			App:         my_app.AppId,
    			DisplayName: pulumi.String("Basic toolset display name"),
    			OpenApiToolset: &ces.ToolsetOpenApiToolsetArgs{
    				OpenApiSchema: pulumi.String(`openapi: 3.0.0
    info:
        title: My Sample API
        version: 1.0.0
        description: A simple API example
    servers:
        - url: https://api.example.com/v1
    paths: {}
    `),
    				IgnoreUnknownFields: pulumi.Bool(false),
    				TlsConfig: &ces.ToolsetOpenApiToolsetTlsConfigArgs{
    					CaCerts: ces.ToolsetOpenApiToolsetTlsConfigCaCertArray{
    						&ces.ToolsetOpenApiToolsetTlsConfigCaCertArgs{
    							DisplayName: pulumi.String("example"),
    							Cert:        pulumi.String("ZXhhbXBsZQ=="),
    						},
    					},
    				},
    				ServiceDirectoryConfig: &ces.ToolsetOpenApiToolsetServiceDirectoryConfigArgs{
    					Service: pulumi.String("projects/example/locations/us/namespaces/namespace/services/service"),
    				},
    				ApiAuthentication: &ces.ToolsetOpenApiToolsetApiAuthenticationArgs{
    					ServiceAgentIdTokenAuthConfig: &ces.ToolsetOpenApiToolsetApiAuthenticationServiceAgentIdTokenAuthConfigArgs{},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		cesBaseAgent, err := ces.NewAgent(ctx, "ces_base_agent", &ces.AgentArgs{
    			AgentId:     pulumi.String("base-agent-id"),
    			Location:    pulumi.String("us"),
    			App:         my_app.AppId,
    			DisplayName: pulumi.String("base agent"),
    			Instruction: pulumi.String("You are a helpful assistant for this example."),
    			ModelSettings: &ces.AgentModelSettingsArgs{
    				Model:       pulumi.String("gemini-2.5-flash"),
    				Temperature: pulumi.Float64(0.5),
    			},
    			LlmAgent: &ces.AgentLlmAgentArgs{},
    		})
    		if err != nil {
    			return err
    		}
    		cesChildAgent, err := ces.NewAgent(ctx, "ces_child_agent", &ces.AgentArgs{
    			AgentId:     pulumi.String("child-agent-id"),
    			Location:    pulumi.String("us"),
    			App:         my_app.AppId,
    			DisplayName: pulumi.String("child agent"),
    			Instruction: pulumi.String("You are a helpful assistant for this example."),
    			ModelSettings: &ces.AgentModelSettingsArgs{
    				Model:       pulumi.String("gemini-2.5-flash"),
    				Temperature: pulumi.Float64(0.5),
    			},
    			LlmAgent: &ces.AgentLlmAgentArgs{},
    		})
    		if err != nil {
    			return err
    		}
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"arg1": "val1",
    			"arg2": "val2",
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		tmpJSON1, err := json.Marshal(map[string]interface{}{
    			"arg1": "val1",
    			"arg2": "val2",
    		})
    		if err != nil {
    			return err
    		}
    		json1 := string(tmpJSON1)
    		tmpJSON2, err := json.Marshal(map[string]interface{}{
    			"output": "example-output",
    		})
    		if err != nil {
    			return err
    		}
    		json2 := string(tmpJSON2)
    		tmpJSON3, err := json.Marshal(map[string]interface{}{
    			"output": "example-output",
    		})
    		if err != nil {
    			return err
    		}
    		json3 := string(tmpJSON3)
    		tmpJSON4, err := json.Marshal(map[string]interface{}{
    			"var1": "val1",
    			"var2": "val2",
    		})
    		if err != nil {
    			return err
    		}
    		json4 := string(tmpJSON4)
    		invokeBase64encode, err := std.Base64encode(ctx, &std.Base64encodeArgs{
    			Input: "This is some fake image binary data.",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = ces.NewExample(ctx, "my-example", &ces.ExampleArgs{
    			Location:    pulumi.String("us"),
    			DisplayName: pulumi.String("my-example"),
    			App:         my_app.Name,
    			ExampleId:   pulumi.String("example-id"),
    			Description: pulumi.String("example description"),
    			EntryAgent: pulumi.All(my_app.Project, my_app.AppId, cesBaseAgent.AgentId).ApplyT(func(_args []interface{}) (string, error) {
    				project := _args[0].(string)
    				appId := _args[1].(string)
    				agentId := _args[2].(*string)
    				return fmt.Sprintf("projects/%v/locations/us/apps/%v/agents/%v", project, appId, agentId), nil
    			}).(pulumi.StringOutput),
    			Messages: ces.ExampleMessageArray{
    				&ces.ExampleMessageArgs{
    					Chunks: ces.ExampleMessageChunkArray{
    						&ces.ExampleMessageChunkArgs{
    							AgentTransfer: &ces.ExampleMessageChunkAgentTransferArgs{
    								TargetAgent: pulumi.All(my_app.Project, my_app.AppId, cesChildAgent.AgentId).ApplyT(func(_args []interface{}) (string, error) {
    									project := _args[0].(string)
    									appId := _args[1].(string)
    									agentId := _args[2].(*string)
    									return fmt.Sprintf("projects/%v/locations/us/apps/%v/agents/%v", project, appId, agentId), nil
    								}).(pulumi.StringOutput),
    							},
    						},
    						&ces.ExampleMessageChunkArgs{
    							Image: &ces.ExampleMessageChunkImageArgs{
    								MimeType: pulumi.String("image/png"),
    								Data:     pulumi.String(invokeBase64encode.Result),
    							},
    						},
    						&ces.ExampleMessageChunkArgs{
    							Text: pulumi.String("text_data"),
    						},
    						&ces.ExampleMessageChunkArgs{
    							ToolCall: &ces.ExampleMessageChunkToolCallArgs{
    								Args: pulumi.String(json0),
    								Id:   pulumi.String("tool_call_id"),
    								Tool: pulumi.All(my_app.Project, my_app.AppId, cesTool.ToolId).ApplyT(func(_args []interface{}) (string, error) {
    									project := _args[0].(string)
    									appId := _args[1].(string)
    									toolId := _args[2].(string)
    									return fmt.Sprintf("projects/%v/locations/us/apps/%v/tools/%v", project, appId, toolId), nil
    								}).(pulumi.StringOutput),
    							},
    						},
    						&ces.ExampleMessageChunkArgs{
    							ToolCall: &ces.ExampleMessageChunkToolCallArgs{
    								Args: pulumi.String(json1),
    								Id:   pulumi.String("tool_call_id2"),
    								ToolsetTool: &ces.ExampleMessageChunkToolCallToolsetToolArgs{
    									Toolset: pulumi.All(my_app.Project, my_app.AppId, cesToolset.ToolsetId).ApplyT(func(_args []interface{}) (string, error) {
    										project := _args[0].(string)
    										appId := _args[1].(string)
    										toolsetId := _args[2].(string)
    										return fmt.Sprintf("projects/%v/locations/us/apps/%v/toolsets/%v", project, appId, toolsetId), nil
    									}).(pulumi.StringOutput),
    									ToolId: pulumi.String("example-id"),
    								},
    							},
    						},
    						&ces.ExampleMessageChunkArgs{
    							ToolResponse: &ces.ExampleMessageChunkToolResponseArgs{
    								Id:       pulumi.String("tool_call_id"),
    								Response: pulumi.String(json2),
    								Tool: pulumi.All(my_app.Project, my_app.AppId, cesTool.ToolId).ApplyT(func(_args []interface{}) (string, error) {
    									project := _args[0].(string)
    									appId := _args[1].(string)
    									toolId := _args[2].(string)
    									return fmt.Sprintf("projects/%v/locations/us/apps/%v/tools/%v", project, appId, toolId), nil
    								}).(pulumi.StringOutput),
    							},
    						},
    						&ces.ExampleMessageChunkArgs{
    							ToolResponse: &ces.ExampleMessageChunkToolResponseArgs{
    								Id:       pulumi.String("tool_call_id2"),
    								Response: pulumi.String(json3),
    								ToolsetTool: &ces.ExampleMessageChunkToolResponseToolsetToolArgs{
    									Toolset: pulumi.All(my_app.Project, my_app.AppId, cesToolset.ToolsetId).ApplyT(func(_args []interface{}) (string, error) {
    										project := _args[0].(string)
    										appId := _args[1].(string)
    										toolsetId := _args[2].(string)
    										return fmt.Sprintf("projects/%v/locations/us/apps/%v/toolsets/%v", project, appId, toolsetId), nil
    									}).(pulumi.StringOutput),
    									ToolId: pulumi.String("example-id"),
    								},
    							},
    						},
    						&ces.ExampleMessageChunkArgs{
    							UpdatedVariables: pulumi.String(json4),
    						},
    					},
    					Role: pulumi.String("agent"),
    				},
    			},
    		})
    		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 Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var my_app = new Gcp.Ces.App("my-app", new()
        {
            Location = "us",
            DisplayName = "my-app",
            AppId = "app-id",
            TimeZoneSettings = new Gcp.Ces.Inputs.AppTimeZoneSettingsArgs
            {
                TimeZone = "America/Los_Angeles",
            },
        });
    
        var cesTool = new Gcp.Ces.Tool("ces_tool", new()
        {
            Location = "us",
            App = my_app.AppId,
            ToolId = "tool-1",
            ExecutionType = "SYNCHRONOUS",
            PythonFunction = new Gcp.Ces.Inputs.ToolPythonFunctionArgs
            {
                Name = "example_function",
                PythonCode = "def example_function() -> int: return 0",
            },
        });
    
        var cesToolset = new Gcp.Ces.Toolset("ces_toolset", new()
        {
            ToolsetId = "toolset-id",
            Location = "us",
            App = my_app.AppId,
            DisplayName = "Basic toolset display name",
            OpenApiToolset = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetArgs
            {
                OpenApiSchema = @"openapi: 3.0.0
    info:
        title: My Sample API
        version: 1.0.0
        description: A simple API example
    servers:
        - url: https://api.example.com/v1
    paths: {}
    ",
                IgnoreUnknownFields = false,
                TlsConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetTlsConfigArgs
                {
                    CaCerts = new[]
                    {
                        new Gcp.Ces.Inputs.ToolsetOpenApiToolsetTlsConfigCaCertArgs
                        {
                            DisplayName = "example",
                            Cert = "ZXhhbXBsZQ==",
                        },
                    },
                },
                ServiceDirectoryConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetServiceDirectoryConfigArgs
                {
                    Service = "projects/example/locations/us/namespaces/namespace/services/service",
                },
                ApiAuthentication = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetApiAuthenticationArgs
                {
                    ServiceAgentIdTokenAuthConfig = null,
                },
            },
        });
    
        var cesBaseAgent = new Gcp.Ces.Agent("ces_base_agent", new()
        {
            AgentId = "base-agent-id",
            Location = "us",
            App = my_app.AppId,
            DisplayName = "base agent",
            Instruction = "You are a helpful assistant for this example.",
            ModelSettings = new Gcp.Ces.Inputs.AgentModelSettingsArgs
            {
                Model = "gemini-2.5-flash",
                Temperature = 0.5,
            },
            LlmAgent = null,
        });
    
        var cesChildAgent = new Gcp.Ces.Agent("ces_child_agent", new()
        {
            AgentId = "child-agent-id",
            Location = "us",
            App = my_app.AppId,
            DisplayName = "child agent",
            Instruction = "You are a helpful assistant for this example.",
            ModelSettings = new Gcp.Ces.Inputs.AgentModelSettingsArgs
            {
                Model = "gemini-2.5-flash",
                Temperature = 0.5,
            },
            LlmAgent = null,
        });
    
        var my_example = new Gcp.Ces.Example("my-example", new()
        {
            Location = "us",
            DisplayName = "my-example",
            App = my_app.Name,
            ExampleId = "example-id",
            Description = "example description",
            EntryAgent = Output.Tuple(my_app.Project, my_app.AppId, cesBaseAgent.AgentId).Apply(values =>
            {
                var project = values.Item1;
                var appId = values.Item2;
                var agentId = values.Item3;
                return $"projects/{project}/locations/us/apps/{appId}/agents/{agentId}";
            }),
            Messages = new[]
            {
                new Gcp.Ces.Inputs.ExampleMessageArgs
                {
                    Chunks = new[]
                    {
                        new Gcp.Ces.Inputs.ExampleMessageChunkArgs
                        {
                            AgentTransfer = new Gcp.Ces.Inputs.ExampleMessageChunkAgentTransferArgs
                            {
                                TargetAgent = Output.Tuple(my_app.Project, my_app.AppId, cesChildAgent.AgentId).Apply(values =>
                                {
                                    var project = values.Item1;
                                    var appId = values.Item2;
                                    var agentId = values.Item3;
                                    return $"projects/{project}/locations/us/apps/{appId}/agents/{agentId}";
                                }),
                            },
                        },
                        new Gcp.Ces.Inputs.ExampleMessageChunkArgs
                        {
                            Image = new Gcp.Ces.Inputs.ExampleMessageChunkImageArgs
                            {
                                MimeType = "image/png",
                                Data = Std.Base64encode.Invoke(new()
                                {
                                    Input = "This is some fake image binary data.",
                                }).Apply(invoke => invoke.Result),
                            },
                        },
                        new Gcp.Ces.Inputs.ExampleMessageChunkArgs
                        {
                            Text = "text_data",
                        },
                        new Gcp.Ces.Inputs.ExampleMessageChunkArgs
                        {
                            ToolCall = new Gcp.Ces.Inputs.ExampleMessageChunkToolCallArgs
                            {
                                Args = JsonSerializer.Serialize(new Dictionary<string, object?>
                                {
                                    ["arg1"] = "val1",
                                    ["arg2"] = "val2",
                                }),
                                Id = "tool_call_id",
                                Tool = Output.Tuple(my_app.Project, my_app.AppId, cesTool.ToolId).Apply(values =>
                                {
                                    var project = values.Item1;
                                    var appId = values.Item2;
                                    var toolId = values.Item3;
                                    return $"projects/{project}/locations/us/apps/{appId}/tools/{toolId}";
                                }),
                            },
                        },
                        new Gcp.Ces.Inputs.ExampleMessageChunkArgs
                        {
                            ToolCall = new Gcp.Ces.Inputs.ExampleMessageChunkToolCallArgs
                            {
                                Args = JsonSerializer.Serialize(new Dictionary<string, object?>
                                {
                                    ["arg1"] = "val1",
                                    ["arg2"] = "val2",
                                }),
                                Id = "tool_call_id2",
                                ToolsetTool = new Gcp.Ces.Inputs.ExampleMessageChunkToolCallToolsetToolArgs
                                {
                                    Toolset = Output.Tuple(my_app.Project, my_app.AppId, cesToolset.ToolsetId).Apply(values =>
                                    {
                                        var project = values.Item1;
                                        var appId = values.Item2;
                                        var toolsetId = values.Item3;
                                        return $"projects/{project}/locations/us/apps/{appId}/toolsets/{toolsetId}";
                                    }),
                                    ToolId = "example-id",
                                },
                            },
                        },
                        new Gcp.Ces.Inputs.ExampleMessageChunkArgs
                        {
                            ToolResponse = new Gcp.Ces.Inputs.ExampleMessageChunkToolResponseArgs
                            {
                                Id = "tool_call_id",
                                Response = JsonSerializer.Serialize(new Dictionary<string, object?>
                                {
                                    ["output"] = "example-output",
                                }),
                                Tool = Output.Tuple(my_app.Project, my_app.AppId, cesTool.ToolId).Apply(values =>
                                {
                                    var project = values.Item1;
                                    var appId = values.Item2;
                                    var toolId = values.Item3;
                                    return $"projects/{project}/locations/us/apps/{appId}/tools/{toolId}";
                                }),
                            },
                        },
                        new Gcp.Ces.Inputs.ExampleMessageChunkArgs
                        {
                            ToolResponse = new Gcp.Ces.Inputs.ExampleMessageChunkToolResponseArgs
                            {
                                Id = "tool_call_id2",
                                Response = JsonSerializer.Serialize(new Dictionary<string, object?>
                                {
                                    ["output"] = "example-output",
                                }),
                                ToolsetTool = new Gcp.Ces.Inputs.ExampleMessageChunkToolResponseToolsetToolArgs
                                {
                                    Toolset = Output.Tuple(my_app.Project, my_app.AppId, cesToolset.ToolsetId).Apply(values =>
                                    {
                                        var project = values.Item1;
                                        var appId = values.Item2;
                                        var toolsetId = values.Item3;
                                        return $"projects/{project}/locations/us/apps/{appId}/toolsets/{toolsetId}";
                                    }),
                                    ToolId = "example-id",
                                },
                            },
                        },
                        new Gcp.Ces.Inputs.ExampleMessageChunkArgs
                        {
                            UpdatedVariables = JsonSerializer.Serialize(new Dictionary<string, object?>
                            {
                                ["var1"] = "val1",
                                ["var2"] = "val2",
                            }),
                        },
                    },
                    Role = "agent",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.ces.App;
    import com.pulumi.gcp.ces.AppArgs;
    import com.pulumi.gcp.ces.inputs.AppTimeZoneSettingsArgs;
    import com.pulumi.gcp.ces.Tool;
    import com.pulumi.gcp.ces.ToolArgs;
    import com.pulumi.gcp.ces.inputs.ToolPythonFunctionArgs;
    import com.pulumi.gcp.ces.Toolset;
    import com.pulumi.gcp.ces.ToolsetArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetTlsConfigArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetServiceDirectoryConfigArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetApiAuthenticationArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetApiAuthenticationServiceAgentIdTokenAuthConfigArgs;
    import com.pulumi.gcp.ces.Agent;
    import com.pulumi.gcp.ces.AgentArgs;
    import com.pulumi.gcp.ces.inputs.AgentModelSettingsArgs;
    import com.pulumi.gcp.ces.inputs.AgentLlmAgentArgs;
    import com.pulumi.gcp.ces.Example;
    import com.pulumi.gcp.ces.ExampleArgs;
    import com.pulumi.gcp.ces.inputs.ExampleMessageArgs;
    import com.pulumi.std.StdFunctions;
    import com.pulumi.std.inputs.Base64encodeArgs;
    import static com.pulumi.codegen.internal.Serialization.*;
    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) {
            var my_app = new App("my-app", AppArgs.builder()
                .location("us")
                .displayName("my-app")
                .appId("app-id")
                .timeZoneSettings(AppTimeZoneSettingsArgs.builder()
                    .timeZone("America/Los_Angeles")
                    .build())
                .build());
    
            var cesTool = new Tool("cesTool", ToolArgs.builder()
                .location("us")
                .app(my_app.appId())
                .toolId("tool-1")
                .executionType("SYNCHRONOUS")
                .pythonFunction(ToolPythonFunctionArgs.builder()
                    .name("example_function")
                    .pythonCode("def example_function() -> int: return 0")
                    .build())
                .build());
    
            var cesToolset = new Toolset("cesToolset", ToolsetArgs.builder()
                .toolsetId("toolset-id")
                .location("us")
                .app(my_app.appId())
                .displayName("Basic toolset display name")
                .openApiToolset(ToolsetOpenApiToolsetArgs.builder()
                    .openApiSchema("""
    openapi: 3.0.0
    info:
        title: My Sample API
        version: 1.0.0
        description: A simple API example
    servers:
        - url: https://api.example.com/v1
    paths: {}
                    """)
                    .ignoreUnknownFields(false)
                    .tlsConfig(ToolsetOpenApiToolsetTlsConfigArgs.builder()
                        .caCerts(ToolsetOpenApiToolsetTlsConfigCaCertArgs.builder()
                            .displayName("example")
                            .cert("ZXhhbXBsZQ==")
                            .build())
                        .build())
                    .serviceDirectoryConfig(ToolsetOpenApiToolsetServiceDirectoryConfigArgs.builder()
                        .service("projects/example/locations/us/namespaces/namespace/services/service")
                        .build())
                    .apiAuthentication(ToolsetOpenApiToolsetApiAuthenticationArgs.builder()
                        .serviceAgentIdTokenAuthConfig(ToolsetOpenApiToolsetApiAuthenticationServiceAgentIdTokenAuthConfigArgs.builder()
                            .build())
                        .build())
                    .build())
                .build());
    
            var cesBaseAgent = new Agent("cesBaseAgent", AgentArgs.builder()
                .agentId("base-agent-id")
                .location("us")
                .app(my_app.appId())
                .displayName("base agent")
                .instruction("You are a helpful assistant for this example.")
                .modelSettings(AgentModelSettingsArgs.builder()
                    .model("gemini-2.5-flash")
                    .temperature(0.5)
                    .build())
                .llmAgent(AgentLlmAgentArgs.builder()
                    .build())
                .build());
    
            var cesChildAgent = new Agent("cesChildAgent", AgentArgs.builder()
                .agentId("child-agent-id")
                .location("us")
                .app(my_app.appId())
                .displayName("child agent")
                .instruction("You are a helpful assistant for this example.")
                .modelSettings(AgentModelSettingsArgs.builder()
                    .model("gemini-2.5-flash")
                    .temperature(0.5)
                    .build())
                .llmAgent(AgentLlmAgentArgs.builder()
                    .build())
                .build());
    
            var my_example = new Example("my-example", ExampleArgs.builder()
                .location("us")
                .displayName("my-example")
                .app(my_app.name())
                .exampleId("example-id")
                .description("example description")
                .entryAgent(Output.tuple(my_app.project(), my_app.appId(), cesBaseAgent.agentId()).applyValue(values -> {
                    var project = values.t1;
                    var appId = values.t2;
                    var agentId = values.t3;
                    return String.format("projects/%s/locations/us/apps/%s/agents/%s", project,appId,agentId);
                }))
                .messages(ExampleMessageArgs.builder()
                    .chunks(                
                        ExampleMessageChunkArgs.builder()
                            .agentTransfer(ExampleMessageChunkAgentTransferArgs.builder()
                                .targetAgent(Output.tuple(my_app.project(), my_app.appId(), cesChildAgent.agentId()).applyValue(values -> {
                                    var project = values.t1;
                                    var appId = values.t2;
                                    var agentId = values.t3;
                                    return String.format("projects/%s/locations/us/apps/%s/agents/%s", project,appId,agentId);
                                }))
                                .build())
                            .build(),
                        ExampleMessageChunkArgs.builder()
                            .image(ExampleMessageChunkImageArgs.builder()
                                .mimeType("image/png")
                                .data(StdFunctions.base64encode(Base64encodeArgs.builder()
                                    .input("This is some fake image binary data.")
                                    .build()).result())
                                .build())
                            .build(),
                        ExampleMessageChunkArgs.builder()
                            .text("text_data")
                            .build(),
                        ExampleMessageChunkArgs.builder()
                            .toolCall(ExampleMessageChunkToolCallArgs.builder()
                                .args(serializeJson(
                                    jsonObject(
                                        jsonProperty("arg1", "val1"),
                                        jsonProperty("arg2", "val2")
                                    )))
                                .id("tool_call_id")
                                .tool(Output.tuple(my_app.project(), my_app.appId(), cesTool.toolId()).applyValue(values -> {
                                    var project = values.t1;
                                    var appId = values.t2;
                                    var toolId = values.t3;
                                    return String.format("projects/%s/locations/us/apps/%s/tools/%s", project,appId,toolId);
                                }))
                                .build())
                            .build(),
                        ExampleMessageChunkArgs.builder()
                            .toolCall(ExampleMessageChunkToolCallArgs.builder()
                                .args(serializeJson(
                                    jsonObject(
                                        jsonProperty("arg1", "val1"),
                                        jsonProperty("arg2", "val2")
                                    )))
                                .id("tool_call_id2")
                                .toolsetTool(ExampleMessageChunkToolCallToolsetToolArgs.builder()
                                    .toolset(Output.tuple(my_app.project(), my_app.appId(), cesToolset.toolsetId()).applyValue(values -> {
                                        var project = values.t1;
                                        var appId = values.t2;
                                        var toolsetId = values.t3;
                                        return String.format("projects/%s/locations/us/apps/%s/toolsets/%s", project,appId,toolsetId);
                                    }))
                                    .toolId("example-id")
                                    .build())
                                .build())
                            .build(),
                        ExampleMessageChunkArgs.builder()
                            .toolResponse(ExampleMessageChunkToolResponseArgs.builder()
                                .id("tool_call_id")
                                .response(serializeJson(
                                    jsonObject(
                                        jsonProperty("output", "example-output")
                                    )))
                                .tool(Output.tuple(my_app.project(), my_app.appId(), cesTool.toolId()).applyValue(values -> {
                                    var project = values.t1;
                                    var appId = values.t2;
                                    var toolId = values.t3;
                                    return String.format("projects/%s/locations/us/apps/%s/tools/%s", project,appId,toolId);
                                }))
                                .build())
                            .build(),
                        ExampleMessageChunkArgs.builder()
                            .toolResponse(ExampleMessageChunkToolResponseArgs.builder()
                                .id("tool_call_id2")
                                .response(serializeJson(
                                    jsonObject(
                                        jsonProperty("output", "example-output")
                                    )))
                                .toolsetTool(ExampleMessageChunkToolResponseToolsetToolArgs.builder()
                                    .toolset(Output.tuple(my_app.project(), my_app.appId(), cesToolset.toolsetId()).applyValue(values -> {
                                        var project = values.t1;
                                        var appId = values.t2;
                                        var toolsetId = values.t3;
                                        return String.format("projects/%s/locations/us/apps/%s/toolsets/%s", project,appId,toolsetId);
                                    }))
                                    .toolId("example-id")
                                    .build())
                                .build())
                            .build(),
                        ExampleMessageChunkArgs.builder()
                            .updatedVariables(serializeJson(
                                jsonObject(
                                    jsonProperty("var1", "val1"),
                                    jsonProperty("var2", "val2")
                                )))
                            .build())
                    .role("agent")
                    .build())
                .build());
    
        }
    }
    
    resources:
      my-app:
        type: gcp:ces:App
        properties:
          location: us
          displayName: my-app
          appId: app-id
          timeZoneSettings:
            timeZone: America/Los_Angeles
      cesTool:
        type: gcp:ces:Tool
        name: ces_tool
        properties:
          location: us
          app: ${["my-app"].appId}
          toolId: tool-1
          executionType: SYNCHRONOUS
          pythonFunction:
            name: example_function
            pythonCode: 'def example_function() -> int: return 0'
      cesToolset:
        type: gcp:ces:Toolset
        name: ces_toolset
        properties:
          toolsetId: toolset-id
          location: us
          app: ${["my-app"].appId}
          displayName: Basic toolset display name
          openApiToolset:
            openApiSchema: |
              openapi: 3.0.0
              info:
                  title: My Sample API
                  version: 1.0.0
                  description: A simple API example
              servers:
                  - url: https://api.example.com/v1
              paths: {}          
            ignoreUnknownFields: false
            tlsConfig:
              caCerts:
                - displayName: example
                  cert: ZXhhbXBsZQ==
            serviceDirectoryConfig:
              service: projects/example/locations/us/namespaces/namespace/services/service
            apiAuthentication:
              serviceAgentIdTokenAuthConfig: {}
      cesBaseAgent:
        type: gcp:ces:Agent
        name: ces_base_agent
        properties:
          agentId: base-agent-id
          location: us
          app: ${["my-app"].appId}
          displayName: base agent
          instruction: You are a helpful assistant for this example.
          modelSettings:
            model: gemini-2.5-flash
            temperature: 0.5
          llmAgent: {}
      cesChildAgent:
        type: gcp:ces:Agent
        name: ces_child_agent
        properties:
          agentId: child-agent-id
          location: us
          app: ${["my-app"].appId}
          displayName: child agent
          instruction: You are a helpful assistant for this example.
          modelSettings:
            model: gemini-2.5-flash
            temperature: 0.5
          llmAgent: {}
      my-example:
        type: gcp:ces:Example
        properties:
          location: us
          displayName: my-example
          app: ${["my-app"].name}
          exampleId: example-id
          description: example description
          entryAgent: projects/${["my-app"].project}/locations/us/apps/${["my-app"].appId}/agents/${cesBaseAgent.agentId}
          messages:
            - chunks:
                - agentTransfer:
                    targetAgent: projects/${["my-app"].project}/locations/us/apps/${["my-app"].appId}/agents/${cesChildAgent.agentId}
                - image:
                    mimeType: image/png
                    data:
                      fn::invoke:
                        function: std:base64encode
                        arguments:
                          input: This is some fake image binary data.
                        return: result
                - text: text_data
                - toolCall:
                    args:
                      fn::toJSON:
                        arg1: val1
                        arg2: val2
                    id: tool_call_id
                    tool: projects/${["my-app"].project}/locations/us/apps/${["my-app"].appId}/tools/${cesTool.toolId}
                - toolCall:
                    args:
                      fn::toJSON:
                        arg1: val1
                        arg2: val2
                    id: tool_call_id2
                    toolsetTool:
                      toolset: projects/${["my-app"].project}/locations/us/apps/${["my-app"].appId}/toolsets/${cesToolset.toolsetId}
                      toolId: example-id
                - toolResponse:
                    id: tool_call_id
                    response:
                      fn::toJSON:
                        output: example-output
                    tool: projects/${["my-app"].project}/locations/us/apps/${["my-app"].appId}/tools/${cesTool.toolId}
                - toolResponse:
                    id: tool_call_id2
                    response:
                      fn::toJSON:
                        output: example-output
                    toolsetTool:
                      toolset: projects/${["my-app"].project}/locations/us/apps/${["my-app"].appId}/toolsets/${cesToolset.toolsetId}
                      toolId: example-id
                - updatedVariables:
                    fn::toJSON:
                      var1: val1
                      var2: val2
              role: agent
    

    Create Example Resource

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

    Constructor syntax

    new Example(name: string, args: ExampleArgs, opts?: CustomResourceOptions);
    @overload
    def Example(resource_name: str,
                args: ExampleArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Example(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                app: Optional[str] = None,
                display_name: Optional[str] = None,
                example_id: Optional[str] = None,
                location: Optional[str] = None,
                description: Optional[str] = None,
                entry_agent: Optional[str] = None,
                messages: Optional[Sequence[ExampleMessageArgs]] = None,
                project: Optional[str] = None)
    func NewExample(ctx *Context, name string, args ExampleArgs, opts ...ResourceOption) (*Example, error)
    public Example(string name, ExampleArgs args, CustomResourceOptions? opts = null)
    public Example(String name, ExampleArgs args)
    public Example(String name, ExampleArgs args, CustomResourceOptions options)
    
    type: gcp:ces:Example
    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 ExampleArgs
    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 ExampleArgs
    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 ExampleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ExampleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ExampleArgs
    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 exampleResource = new Gcp.Ces.Example("exampleResource", new()
    {
        App = "string",
        DisplayName = "string",
        ExampleId = "string",
        Location = "string",
        Description = "string",
        EntryAgent = "string",
        Messages = new[]
        {
            new Gcp.Ces.Inputs.ExampleMessageArgs
            {
                Chunks = new[]
                {
                    new Gcp.Ces.Inputs.ExampleMessageChunkArgs
                    {
                        AgentTransfer = new Gcp.Ces.Inputs.ExampleMessageChunkAgentTransferArgs
                        {
                            TargetAgent = "string",
                            DisplayName = "string",
                        },
                        Image = new Gcp.Ces.Inputs.ExampleMessageChunkImageArgs
                        {
                            Data = "string",
                            MimeType = "string",
                        },
                        Text = "string",
                        ToolCall = new Gcp.Ces.Inputs.ExampleMessageChunkToolCallArgs
                        {
                            Args = "string",
                            DisplayName = "string",
                            Id = "string",
                            Tool = "string",
                            ToolsetTool = new Gcp.Ces.Inputs.ExampleMessageChunkToolCallToolsetToolArgs
                            {
                                Toolset = "string",
                                ToolId = "string",
                            },
                        },
                        ToolResponse = new Gcp.Ces.Inputs.ExampleMessageChunkToolResponseArgs
                        {
                            Response = "string",
                            DisplayName = "string",
                            Id = "string",
                            Tool = "string",
                            ToolsetTool = new Gcp.Ces.Inputs.ExampleMessageChunkToolResponseToolsetToolArgs
                            {
                                Toolset = "string",
                                ToolId = "string",
                            },
                        },
                        UpdatedVariables = "string",
                    },
                },
                Role = "string",
            },
        },
        Project = "string",
    });
    
    example, err := ces.NewExample(ctx, "exampleResource", &ces.ExampleArgs{
    	App:         pulumi.String("string"),
    	DisplayName: pulumi.String("string"),
    	ExampleId:   pulumi.String("string"),
    	Location:    pulumi.String("string"),
    	Description: pulumi.String("string"),
    	EntryAgent:  pulumi.String("string"),
    	Messages: ces.ExampleMessageArray{
    		&ces.ExampleMessageArgs{
    			Chunks: ces.ExampleMessageChunkArray{
    				&ces.ExampleMessageChunkArgs{
    					AgentTransfer: &ces.ExampleMessageChunkAgentTransferArgs{
    						TargetAgent: pulumi.String("string"),
    						DisplayName: pulumi.String("string"),
    					},
    					Image: &ces.ExampleMessageChunkImageArgs{
    						Data:     pulumi.String("string"),
    						MimeType: pulumi.String("string"),
    					},
    					Text: pulumi.String("string"),
    					ToolCall: &ces.ExampleMessageChunkToolCallArgs{
    						Args:        pulumi.String("string"),
    						DisplayName: pulumi.String("string"),
    						Id:          pulumi.String("string"),
    						Tool:        pulumi.String("string"),
    						ToolsetTool: &ces.ExampleMessageChunkToolCallToolsetToolArgs{
    							Toolset: pulumi.String("string"),
    							ToolId:  pulumi.String("string"),
    						},
    					},
    					ToolResponse: &ces.ExampleMessageChunkToolResponseArgs{
    						Response:    pulumi.String("string"),
    						DisplayName: pulumi.String("string"),
    						Id:          pulumi.String("string"),
    						Tool:        pulumi.String("string"),
    						ToolsetTool: &ces.ExampleMessageChunkToolResponseToolsetToolArgs{
    							Toolset: pulumi.String("string"),
    							ToolId:  pulumi.String("string"),
    						},
    					},
    					UpdatedVariables: pulumi.String("string"),
    				},
    			},
    			Role: pulumi.String("string"),
    		},
    	},
    	Project: pulumi.String("string"),
    })
    
    var exampleResource = new Example("exampleResource", ExampleArgs.builder()
        .app("string")
        .displayName("string")
        .exampleId("string")
        .location("string")
        .description("string")
        .entryAgent("string")
        .messages(ExampleMessageArgs.builder()
            .chunks(ExampleMessageChunkArgs.builder()
                .agentTransfer(ExampleMessageChunkAgentTransferArgs.builder()
                    .targetAgent("string")
                    .displayName("string")
                    .build())
                .image(ExampleMessageChunkImageArgs.builder()
                    .data("string")
                    .mimeType("string")
                    .build())
                .text("string")
                .toolCall(ExampleMessageChunkToolCallArgs.builder()
                    .args("string")
                    .displayName("string")
                    .id("string")
                    .tool("string")
                    .toolsetTool(ExampleMessageChunkToolCallToolsetToolArgs.builder()
                        .toolset("string")
                        .toolId("string")
                        .build())
                    .build())
                .toolResponse(ExampleMessageChunkToolResponseArgs.builder()
                    .response("string")
                    .displayName("string")
                    .id("string")
                    .tool("string")
                    .toolsetTool(ExampleMessageChunkToolResponseToolsetToolArgs.builder()
                        .toolset("string")
                        .toolId("string")
                        .build())
                    .build())
                .updatedVariables("string")
                .build())
            .role("string")
            .build())
        .project("string")
        .build());
    
    example_resource = gcp.ces.Example("exampleResource",
        app="string",
        display_name="string",
        example_id="string",
        location="string",
        description="string",
        entry_agent="string",
        messages=[{
            "chunks": [{
                "agent_transfer": {
                    "target_agent": "string",
                    "display_name": "string",
                },
                "image": {
                    "data": "string",
                    "mime_type": "string",
                },
                "text": "string",
                "tool_call": {
                    "args": "string",
                    "display_name": "string",
                    "id": "string",
                    "tool": "string",
                    "toolset_tool": {
                        "toolset": "string",
                        "tool_id": "string",
                    },
                },
                "tool_response": {
                    "response": "string",
                    "display_name": "string",
                    "id": "string",
                    "tool": "string",
                    "toolset_tool": {
                        "toolset": "string",
                        "tool_id": "string",
                    },
                },
                "updated_variables": "string",
            }],
            "role": "string",
        }],
        project="string")
    
    const exampleResource = new gcp.ces.Example("exampleResource", {
        app: "string",
        displayName: "string",
        exampleId: "string",
        location: "string",
        description: "string",
        entryAgent: "string",
        messages: [{
            chunks: [{
                agentTransfer: {
                    targetAgent: "string",
                    displayName: "string",
                },
                image: {
                    data: "string",
                    mimeType: "string",
                },
                text: "string",
                toolCall: {
                    args: "string",
                    displayName: "string",
                    id: "string",
                    tool: "string",
                    toolsetTool: {
                        toolset: "string",
                        toolId: "string",
                    },
                },
                toolResponse: {
                    response: "string",
                    displayName: "string",
                    id: "string",
                    tool: "string",
                    toolsetTool: {
                        toolset: "string",
                        toolId: "string",
                    },
                },
                updatedVariables: "string",
            }],
            role: "string",
        }],
        project: "string",
    });
    
    type: gcp:ces:Example
    properties:
        app: string
        description: string
        displayName: string
        entryAgent: string
        exampleId: string
        location: string
        messages:
            - chunks:
                - agentTransfer:
                    displayName: string
                    targetAgent: string
                  image:
                    data: string
                    mimeType: string
                  text: string
                  toolCall:
                    args: string
                    displayName: string
                    id: string
                    tool: string
                    toolsetTool:
                        toolId: string
                        toolset: string
                  toolResponse:
                    displayName: string
                    id: string
                    response: string
                    tool: string
                    toolsetTool:
                        toolId: string
                        toolset: string
                  updatedVariables: string
              role: string
        project: string
    

    Example 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 Example resource accepts the following input properties:

    App string
    Resource ID segment making up resource name, defining the app the example belongs to. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    DisplayName string
    Display name of the example.
    ExampleId string
    Location string
    Resource ID segment making up resource name, defining what region the parent app is in. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    Description string
    Human-readable description of the example.
    EntryAgent string
    The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    Messages List<ExampleMessage>
    The collection of messages that make up the conversation. 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.
    App string
    Resource ID segment making up resource name, defining the app the example belongs to. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    DisplayName string
    Display name of the example.
    ExampleId string
    Location string
    Resource ID segment making up resource name, defining what region the parent app is in. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    Description string
    Human-readable description of the example.
    EntryAgent string
    The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    Messages []ExampleMessageArgs
    The collection of messages that make up the conversation. 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.
    app String
    Resource ID segment making up resource name, defining the app the example belongs to. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    displayName String
    Display name of the example.
    exampleId String
    location String
    Resource ID segment making up resource name, defining what region the parent app is in. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    description String
    Human-readable description of the example.
    entryAgent String
    The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    messages List<ExampleMessage>
    The collection of messages that make up the conversation. 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.
    app string
    Resource ID segment making up resource name, defining the app the example belongs to. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    displayName string
    Display name of the example.
    exampleId string
    location string
    Resource ID segment making up resource name, defining what region the parent app is in. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    description string
    Human-readable description of the example.
    entryAgent string
    The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    messages ExampleMessage[]
    The collection of messages that make up the conversation. 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.
    app str
    Resource ID segment making up resource name, defining the app the example belongs to. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    display_name str
    Display name of the example.
    example_id str
    location str
    Resource ID segment making up resource name, defining what region the parent app is in. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    description str
    Human-readable description of the example.
    entry_agent str
    The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    messages Sequence[ExampleMessageArgs]
    The collection of messages that make up the conversation. 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.
    app String
    Resource ID segment making up resource name, defining the app the example belongs to. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    displayName String
    Display name of the example.
    exampleId String
    location String
    Resource ID segment making up resource name, defining what region the parent app is in. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    description String
    Human-readable description of the example.
    entryAgent String
    The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    messages List<Property Map>
    The collection of messages that make up the conversation. 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.

    Outputs

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

    CreateTime string
    Timestamp when the example was created.
    Etag string
    Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    Id string
    The provider-assigned unique ID for this managed resource.
    Invalid bool
    The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.
    Name string
    Identifier. The unique identifier of the example. Format: projects/{project}/locations/{location}/apps/{app}/examples/{example}
    UpdateTime string
    Timestamp when the example was last updated.
    CreateTime string
    Timestamp when the example was created.
    Etag string
    Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    Id string
    The provider-assigned unique ID for this managed resource.
    Invalid bool
    The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.
    Name string
    Identifier. The unique identifier of the example. Format: projects/{project}/locations/{location}/apps/{app}/examples/{example}
    UpdateTime string
    Timestamp when the example was last updated.
    createTime String
    Timestamp when the example was created.
    etag String
    Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    id String
    The provider-assigned unique ID for this managed resource.
    invalid Boolean
    The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.
    name String
    Identifier. The unique identifier of the example. Format: projects/{project}/locations/{location}/apps/{app}/examples/{example}
    updateTime String
    Timestamp when the example was last updated.
    createTime string
    Timestamp when the example was created.
    etag string
    Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    id string
    The provider-assigned unique ID for this managed resource.
    invalid boolean
    The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.
    name string
    Identifier. The unique identifier of the example. Format: projects/{project}/locations/{location}/apps/{app}/examples/{example}
    updateTime string
    Timestamp when the example was last updated.
    create_time str
    Timestamp when the example was created.
    etag str
    Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    id str
    The provider-assigned unique ID for this managed resource.
    invalid bool
    The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.
    name str
    Identifier. The unique identifier of the example. Format: projects/{project}/locations/{location}/apps/{app}/examples/{example}
    update_time str
    Timestamp when the example was last updated.
    createTime String
    Timestamp when the example was created.
    etag String
    Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    id String
    The provider-assigned unique ID for this managed resource.
    invalid Boolean
    The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.
    name String
    Identifier. The unique identifier of the example. Format: projects/{project}/locations/{location}/apps/{app}/examples/{example}
    updateTime String
    Timestamp when the example was last updated.

    Look up Existing Example Resource

    Get an existing Example 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?: ExampleState, opts?: CustomResourceOptions): Example
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            app: Optional[str] = None,
            create_time: Optional[str] = None,
            description: Optional[str] = None,
            display_name: Optional[str] = None,
            entry_agent: Optional[str] = None,
            etag: Optional[str] = None,
            example_id: Optional[str] = None,
            invalid: Optional[bool] = None,
            location: Optional[str] = None,
            messages: Optional[Sequence[ExampleMessageArgs]] = None,
            name: Optional[str] = None,
            project: Optional[str] = None,
            update_time: Optional[str] = None) -> Example
    func GetExample(ctx *Context, name string, id IDInput, state *ExampleState, opts ...ResourceOption) (*Example, error)
    public static Example Get(string name, Input<string> id, ExampleState? state, CustomResourceOptions? opts = null)
    public static Example get(String name, Output<String> id, ExampleState state, CustomResourceOptions options)
    resources:  _:    type: gcp:ces:Example    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:
    App string
    Resource ID segment making up resource name, defining the app the example belongs to. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    CreateTime string
    Timestamp when the example was created.
    Description string
    Human-readable description of the example.
    DisplayName string
    Display name of the example.
    EntryAgent string
    The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    Etag string
    Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    ExampleId string
    Invalid bool
    The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.
    Location string
    Resource ID segment making up resource name, defining what region the parent app is in. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    Messages List<ExampleMessage>
    The collection of messages that make up the conversation. Structure is documented below.
    Name string
    Identifier. The unique identifier of the example. Format: projects/{project}/locations/{location}/apps/{app}/examples/{example}
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    UpdateTime string
    Timestamp when the example was last updated.
    App string
    Resource ID segment making up resource name, defining the app the example belongs to. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    CreateTime string
    Timestamp when the example was created.
    Description string
    Human-readable description of the example.
    DisplayName string
    Display name of the example.
    EntryAgent string
    The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    Etag string
    Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    ExampleId string
    Invalid bool
    The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.
    Location string
    Resource ID segment making up resource name, defining what region the parent app is in. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    Messages []ExampleMessageArgs
    The collection of messages that make up the conversation. Structure is documented below.
    Name string
    Identifier. The unique identifier of the example. Format: projects/{project}/locations/{location}/apps/{app}/examples/{example}
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    UpdateTime string
    Timestamp when the example was last updated.
    app String
    Resource ID segment making up resource name, defining the app the example belongs to. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    createTime String
    Timestamp when the example was created.
    description String
    Human-readable description of the example.
    displayName String
    Display name of the example.
    entryAgent String
    The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    etag String
    Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    exampleId String
    invalid Boolean
    The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.
    location String
    Resource ID segment making up resource name, defining what region the parent app is in. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    messages List<ExampleMessage>
    The collection of messages that make up the conversation. Structure is documented below.
    name String
    Identifier. The unique identifier of the example. Format: projects/{project}/locations/{location}/apps/{app}/examples/{example}
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    updateTime String
    Timestamp when the example was last updated.
    app string
    Resource ID segment making up resource name, defining the app the example belongs to. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    createTime string
    Timestamp when the example was created.
    description string
    Human-readable description of the example.
    displayName string
    Display name of the example.
    entryAgent string
    The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    etag string
    Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    exampleId string
    invalid boolean
    The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.
    location string
    Resource ID segment making up resource name, defining what region the parent app is in. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    messages ExampleMessage[]
    The collection of messages that make up the conversation. Structure is documented below.
    name string
    Identifier. The unique identifier of the example. Format: projects/{project}/locations/{location}/apps/{app}/examples/{example}
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    updateTime string
    Timestamp when the example was last updated.
    app str
    Resource ID segment making up resource name, defining the app the example belongs to. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    create_time str
    Timestamp when the example was created.
    description str
    Human-readable description of the example.
    display_name str
    Display name of the example.
    entry_agent str
    The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    etag str
    Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    example_id str
    invalid bool
    The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.
    location str
    Resource ID segment making up resource name, defining what region the parent app is in. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    messages Sequence[ExampleMessageArgs]
    The collection of messages that make up the conversation. Structure is documented below.
    name str
    Identifier. The unique identifier of the example. Format: projects/{project}/locations/{location}/apps/{app}/examples/{example}
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    update_time str
    Timestamp when the example was last updated.
    app String
    Resource ID segment making up resource name, defining the app the example belongs to. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    createTime String
    Timestamp when the example was created.
    description String
    Human-readable description of the example.
    displayName String
    Display name of the example.
    entryAgent String
    The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    etag String
    Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    exampleId String
    invalid Boolean
    The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.
    location String
    Resource ID segment making up resource name, defining what region the parent app is in. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    messages List<Property Map>
    The collection of messages that make up the conversation. Structure is documented below.
    name String
    Identifier. The unique identifier of the example. Format: projects/{project}/locations/{location}/apps/{app}/examples/{example}
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    updateTime String
    Timestamp when the example was last updated.

    Supporting Types

    ExampleMessage, ExampleMessageArgs

    Chunks List<ExampleMessageChunk>
    Content of the message as a series of chunks. Structure is documented below.
    Role string
    The role within the conversation, e.g., user, agent.
    Chunks []ExampleMessageChunk
    Content of the message as a series of chunks. Structure is documented below.
    Role string
    The role within the conversation, e.g., user, agent.
    chunks List<ExampleMessageChunk>
    Content of the message as a series of chunks. Structure is documented below.
    role String
    The role within the conversation, e.g., user, agent.
    chunks ExampleMessageChunk[]
    Content of the message as a series of chunks. Structure is documented below.
    role string
    The role within the conversation, e.g., user, agent.
    chunks Sequence[ExampleMessageChunk]
    Content of the message as a series of chunks. Structure is documented below.
    role str
    The role within the conversation, e.g., user, agent.
    chunks List<Property Map>
    Content of the message as a series of chunks. Structure is documented below.
    role String
    The role within the conversation, e.g., user, agent.

    ExampleMessageChunk, ExampleMessageChunkArgs

    AgentTransfer ExampleMessageChunkAgentTransfer
    Represents an event indicating the transfer of a conversation to a different agent. Structure is documented below.
    Image ExampleMessageChunkImage
    Represents an image input or output in the conversation. Structure is documented below.
    Text string
    Text data.
    ToolCall ExampleMessageChunkToolCall
    Request for the client or the agent to execute the specified tool. Structure is documented below.
    ToolResponse ExampleMessageChunkToolResponse
    The execution result of a specific tool from the client or the agent. Structure is documented below.
    UpdatedVariables string
    A struct represents variables that were updated in the conversation, keyed by variable names.
    AgentTransfer ExampleMessageChunkAgentTransfer
    Represents an event indicating the transfer of a conversation to a different agent. Structure is documented below.
    Image ExampleMessageChunkImage
    Represents an image input or output in the conversation. Structure is documented below.
    Text string
    Text data.
    ToolCall ExampleMessageChunkToolCall
    Request for the client or the agent to execute the specified tool. Structure is documented below.
    ToolResponse ExampleMessageChunkToolResponse
    The execution result of a specific tool from the client or the agent. Structure is documented below.
    UpdatedVariables string
    A struct represents variables that were updated in the conversation, keyed by variable names.
    agentTransfer ExampleMessageChunkAgentTransfer
    Represents an event indicating the transfer of a conversation to a different agent. Structure is documented below.
    image ExampleMessageChunkImage
    Represents an image input or output in the conversation. Structure is documented below.
    text String
    Text data.
    toolCall ExampleMessageChunkToolCall
    Request for the client or the agent to execute the specified tool. Structure is documented below.
    toolResponse ExampleMessageChunkToolResponse
    The execution result of a specific tool from the client or the agent. Structure is documented below.
    updatedVariables String
    A struct represents variables that were updated in the conversation, keyed by variable names.
    agentTransfer ExampleMessageChunkAgentTransfer
    Represents an event indicating the transfer of a conversation to a different agent. Structure is documented below.
    image ExampleMessageChunkImage
    Represents an image input or output in the conversation. Structure is documented below.
    text string
    Text data.
    toolCall ExampleMessageChunkToolCall
    Request for the client or the agent to execute the specified tool. Structure is documented below.
    toolResponse ExampleMessageChunkToolResponse
    The execution result of a specific tool from the client or the agent. Structure is documented below.
    updatedVariables string
    A struct represents variables that were updated in the conversation, keyed by variable names.
    agent_transfer ExampleMessageChunkAgentTransfer
    Represents an event indicating the transfer of a conversation to a different agent. Structure is documented below.
    image ExampleMessageChunkImage
    Represents an image input or output in the conversation. Structure is documented below.
    text str
    Text data.
    tool_call ExampleMessageChunkToolCall
    Request for the client or the agent to execute the specified tool. Structure is documented below.
    tool_response ExampleMessageChunkToolResponse
    The execution result of a specific tool from the client or the agent. Structure is documented below.
    updated_variables str
    A struct represents variables that were updated in the conversation, keyed by variable names.
    agentTransfer Property Map
    Represents an event indicating the transfer of a conversation to a different agent. Structure is documented below.
    image Property Map
    Represents an image input or output in the conversation. Structure is documented below.
    text String
    Text data.
    toolCall Property Map
    Request for the client or the agent to execute the specified tool. Structure is documented below.
    toolResponse Property Map
    The execution result of a specific tool from the client or the agent. Structure is documented below.
    updatedVariables String
    A struct represents variables that were updated in the conversation, keyed by variable names.

    ExampleMessageChunkAgentTransfer, ExampleMessageChunkAgentTransferArgs

    TargetAgent string
    The agent to which the conversation is being transferred. The agent will handle the conversation from this point forward. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    DisplayName string
    (Output) Display name of the agent.
    TargetAgent string
    The agent to which the conversation is being transferred. The agent will handle the conversation from this point forward. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    DisplayName string
    (Output) Display name of the agent.
    targetAgent String
    The agent to which the conversation is being transferred. The agent will handle the conversation from this point forward. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    displayName String
    (Output) Display name of the agent.
    targetAgent string
    The agent to which the conversation is being transferred. The agent will handle the conversation from this point forward. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    displayName string
    (Output) Display name of the agent.
    target_agent str
    The agent to which the conversation is being transferred. The agent will handle the conversation from this point forward. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    display_name str
    (Output) Display name of the agent.
    targetAgent String
    The agent to which the conversation is being transferred. The agent will handle the conversation from this point forward. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    displayName String
    (Output) Display name of the agent.

    ExampleMessageChunkImage, ExampleMessageChunkImageArgs

    Data string
    Raw bytes of the image.
    MimeType string
    The IANA standard MIME type of the source data. Supported image types includes:

    • image/png
    • image/jpeg
    • image/webp
    Data string
    Raw bytes of the image.
    MimeType string
    The IANA standard MIME type of the source data. Supported image types includes:

    • image/png
    • image/jpeg
    • image/webp
    data String
    Raw bytes of the image.
    mimeType String
    The IANA standard MIME type of the source data. Supported image types includes:

    • image/png
    • image/jpeg
    • image/webp
    data string
    Raw bytes of the image.
    mimeType string
    The IANA standard MIME type of the source data. Supported image types includes:

    • image/png
    • image/jpeg
    • image/webp
    data str
    Raw bytes of the image.
    mime_type str
    The IANA standard MIME type of the source data. Supported image types includes:

    • image/png
    • image/jpeg
    • image/webp
    data String
    Raw bytes of the image.
    mimeType String
    The IANA standard MIME type of the source data. Supported image types includes:

    • image/png
    • image/jpeg
    • image/webp

    ExampleMessageChunkToolCall, ExampleMessageChunkToolCallArgs

    Args string
    The input parameters and values for the tool in JSON object format.
    DisplayName string
    (Output) Display name of the tool.
    Id string
    The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse.
    Tool string
    The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}
    ToolsetTool ExampleMessageChunkToolCallToolsetTool
    A tool that is created from a toolset. Structure is documented below.
    Args string
    The input parameters and values for the tool in JSON object format.
    DisplayName string
    (Output) Display name of the tool.
    Id string
    The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse.
    Tool string
    The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}
    ToolsetTool ExampleMessageChunkToolCallToolsetTool
    A tool that is created from a toolset. Structure is documented below.
    args String
    The input parameters and values for the tool in JSON object format.
    displayName String
    (Output) Display name of the tool.
    id String
    The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse.
    tool String
    The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}
    toolsetTool ExampleMessageChunkToolCallToolsetTool
    A tool that is created from a toolset. Structure is documented below.
    args string
    The input parameters and values for the tool in JSON object format.
    displayName string
    (Output) Display name of the tool.
    id string
    The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse.
    tool string
    The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}
    toolsetTool ExampleMessageChunkToolCallToolsetTool
    A tool that is created from a toolset. Structure is documented below.
    args str
    The input parameters and values for the tool in JSON object format.
    display_name str
    (Output) Display name of the tool.
    id str
    The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse.
    tool str
    The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}
    toolset_tool ExampleMessageChunkToolCallToolsetTool
    A tool that is created from a toolset. Structure is documented below.
    args String
    The input parameters and values for the tool in JSON object format.
    displayName String
    (Output) Display name of the tool.
    id String
    The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse.
    tool String
    The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}
    toolsetTool Property Map
    A tool that is created from a toolset. Structure is documented below.

    ExampleMessageChunkToolCallToolsetTool, ExampleMessageChunkToolCallToolsetToolArgs

    Toolset string
    The resource name of the Toolset from which this tool is derived. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    ToolId string
    The tool ID to filter the tools to retrieve the schema for.
    Toolset string
    The resource name of the Toolset from which this tool is derived. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    ToolId string
    The tool ID to filter the tools to retrieve the schema for.
    toolset String
    The resource name of the Toolset from which this tool is derived. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    toolId String
    The tool ID to filter the tools to retrieve the schema for.
    toolset string
    The resource name of the Toolset from which this tool is derived. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    toolId string
    The tool ID to filter the tools to retrieve the schema for.
    toolset str
    The resource name of the Toolset from which this tool is derived. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    tool_id str
    The tool ID to filter the tools to retrieve the schema for.
    toolset String
    The resource name of the Toolset from which this tool is derived. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    toolId String
    The tool ID to filter the tools to retrieve the schema for.

    ExampleMessageChunkToolResponse, ExampleMessageChunkToolResponseArgs

    Response string
    The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result.
    DisplayName string
    (Output) Display name of the tool.
    Id string
    The matching ID of the tool call the response is for.
    Tool string
    The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}
    ToolsetTool ExampleMessageChunkToolResponseToolsetTool
    A tool that is created from a toolset. Structure is documented below.
    Response string
    The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result.
    DisplayName string
    (Output) Display name of the tool.
    Id string
    The matching ID of the tool call the response is for.
    Tool string
    The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}
    ToolsetTool ExampleMessageChunkToolResponseToolsetTool
    A tool that is created from a toolset. Structure is documented below.
    response String
    The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result.
    displayName String
    (Output) Display name of the tool.
    id String
    The matching ID of the tool call the response is for.
    tool String
    The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}
    toolsetTool ExampleMessageChunkToolResponseToolsetTool
    A tool that is created from a toolset. Structure is documented below.
    response string
    The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result.
    displayName string
    (Output) Display name of the tool.
    id string
    The matching ID of the tool call the response is for.
    tool string
    The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}
    toolsetTool ExampleMessageChunkToolResponseToolsetTool
    A tool that is created from a toolset. Structure is documented below.
    response str
    The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result.
    display_name str
    (Output) Display name of the tool.
    id str
    The matching ID of the tool call the response is for.
    tool str
    The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}
    toolset_tool ExampleMessageChunkToolResponseToolsetTool
    A tool that is created from a toolset. Structure is documented below.
    response String
    The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result.
    displayName String
    (Output) Display name of the tool.
    id String
    The matching ID of the tool call the response is for.
    tool String
    The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}
    toolsetTool Property Map
    A tool that is created from a toolset. Structure is documented below.

    ExampleMessageChunkToolResponseToolsetTool, ExampleMessageChunkToolResponseToolsetToolArgs

    Toolset string
    The resource name of the Toolset from which this tool is derived. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    ToolId string
    The tool ID to filter the tools to retrieve the schema for.
    Toolset string
    The resource name of the Toolset from which this tool is derived. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    ToolId string
    The tool ID to filter the tools to retrieve the schema for.
    toolset String
    The resource name of the Toolset from which this tool is derived. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    toolId String
    The tool ID to filter the tools to retrieve the schema for.
    toolset string
    The resource name of the Toolset from which this tool is derived. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    toolId string
    The tool ID to filter the tools to retrieve the schema for.
    toolset str
    The resource name of the Toolset from which this tool is derived. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    tool_id str
    The tool ID to filter the tools to retrieve the schema for.
    toolset String
    The resource name of the Toolset from which this tool is derived. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    toolId String
    The tool ID to filter the tools to retrieve the schema for.

    Import

    Example can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{location}}/apps/{{app}}/examples/{{name}}

    • {{project}}/{{location}}/{{app}}/{{name}}

    • {{location}}/{{app}}/{{name}}

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

    $ pulumi import gcp:ces/example:Example default projects/{{project}}/locations/{{location}}/apps/{{app}}/examples/{{name}}
    
    $ pulumi import gcp:ces/example:Example default {{project}}/{{location}}/{{app}}/{{name}}
    
    $ pulumi import gcp:ces/example:Example default {{location}}/{{app}}/{{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.10.0 published on Friday, Jan 16, 2026 by Pulumi
      Meet Neo: Your AI Platform Teammate