1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. ces
  5. App
Google Cloud v9.6.0 published on Wednesday, Nov 26, 2025 by Pulumi
gcp logo
Google Cloud v9.6.0 published on Wednesday, Nov 26, 2025 by Pulumi

    Description

    Example Usage

    Ces App Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    import * as std from "@pulumi/std";
    
    const project = gcp.organizations.getProject({});
    const fakePrivateKeySecret = new gcp.secretmanager.Secret("fake_private_key_secret", {
        secretId: "fake-pk-secret-app-tf1",
        replication: {
            auto: {},
        },
    });
    const fakeSecretVersion = new gcp.secretmanager.SecretVersion("fake_secret_version", {
        secret: fakePrivateKeySecret.id,
        secretData: std.file({
            input: "test-fixtures/test.key",
        }).then(invoke => invoke.result),
    });
    const privateKeyAccessor = new gcp.secretmanager.SecretIamMember("private_key_accessor", {
        project: fakePrivateKeySecret.project,
        secretId: fakePrivateKeySecret.secretId,
        role: "roles/secretmanager.secretAccessor",
        member: project.then(project => `serviceAccount:service-${project.number}@gcp-sa-ces.iam.gserviceaccount.com`),
    });
    const cesAppBasic = new gcp.ces.App("ces_app_basic", {
        appId: "app-id",
        location: "us",
        description: "Basic CES App example",
        displayName: "my-app",
        languageSettings: {
            defaultLanguageCode: "en-US",
            supportedLanguageCodes: [
                "es-ES",
                "fr-FR",
            ],
            enableMultilingualSupport: true,
            fallbackAction: "escalate",
        },
        audioProcessingConfig: {
            synthesizeSpeechConfigs: [
                {
                    languageCode: "en-US",
                    voice: "en-US-Standard-A",
                    speakingRate: 1,
                },
                {
                    languageCode: "es-ES",
                    voice: "es-ES-Standard-A",
                    speakingRate: 0.95,
                },
            ],
            bargeInConfig: {
                bargeInAwareness: true,
            },
            inactivityTimeout: "300s",
            ambientSoundConfig: {
                prebuiltAmbientSound: "room_2",
                volumeGainDb: -6,
            },
        },
        loggingSettings: {
            redactionConfig: {
                enableRedaction: true,
                inspectTemplate: "projects/fake-project/locations/us/inspectTemplates/example-inspect",
                deidentifyTemplate: "projects/fake-project/locations/us/deidentifyTemplates/example-deidentify",
            },
            audioRecordingConfig: {
                gcsBucket: "gs://fake-app-audio-recordings",
                gcsPathPrefix: "projects/fake-project/location/us/app/test-app/123/$session/123",
            },
            bigqueryExportSettings: {
                dataset: "projects/fake-project/datasets/fake_app_logs",
                enabled: false,
                project: "projects/fake-project",
            },
            cloudLoggingSettings: {
                enableCloudLogging: true,
            },
            conversationLoggingSettings: {
                disableConversationLogging: true,
            },
        },
        modelSettings: {
            model: "gemini-1.5-flash",
            temperature: 0.5,
        },
        evaluationMetricsThresholds: {
            goldenEvaluationMetricsThresholds: {
                turnLevelMetricsThresholds: {
                    semanticSimilaritySuccessThreshold: 3,
                    overallToolInvocationCorrectnessThreshold: 1,
                },
                expectationLevelMetricsThresholds: {
                    toolInvocationParameterCorrectnessThreshold: 1,
                },
            },
        },
        variableDeclarations: [{
            name: "test",
            description: "test",
            schema: {
                description: "schema description",
                type: "ARRAY",
                nullable: true,
                requireds: ["some_property"],
                enums: [
                    "VALUE_A",
                    "VALUE_B",
                ],
                ref: "#/defs/MyDefinition",
                uniqueItems: true,
                defs: JSON.stringify({
                    SimpleString: {
                        type: "STRING",
                        description: "A simple string definition",
                    },
                }),
                anyOf: JSON.stringify([{
                    type: "STRING",
                    description: "any_of option 1: string",
                }]),
                "default": JSON.stringify(false),
                prefixItems: JSON.stringify([{
                    type: "ARRAY",
                    description: "prefix item 1",
                }]),
                additionalProperties: JSON.stringify({
                    type: "BOOLEAN",
                }),
                properties: JSON.stringify({
                    name: {
                        type: "STRING",
                        description: "A name",
                    },
                }),
                items: JSON.stringify({
                    type: "ARRAY",
                    description: "An array",
                }),
            },
        }],
        globalInstruction: "You are a virtual assistant for an e-commerce platform. Be friendly and helpful.",
        guardrails: [],
        defaultChannelProfile: {
            channelType: "WEB_UI",
            disableBargeInControl: false,
            disableDtmf: true,
            personaProperty: {
                persona: "CONCISE",
            },
            profileId: "profile-id",
            webWidgetConfig: {
                modality: "CHAT_ONLY",
                theme: "LIGHT",
                webWidgetTitle: "Help Assistant",
            },
        },
        metadata: {
            deployment_env: "test",
        },
        timeZoneSettings: {
            timeZone: "America/Los_Angeles",
        },
        clientCertificateSettings: {
            tlsCertificate: std.file({
                input: "test-fixtures/cert.pem",
            }).then(invoke => invoke.result),
            privateKey: fakeSecretVersion.name,
            passphrase: "fakepassphrase",
        },
    });
    
    import pulumi
    import json
    import pulumi_gcp as gcp
    import pulumi_std as std
    
    project = gcp.organizations.get_project()
    fake_private_key_secret = gcp.secretmanager.Secret("fake_private_key_secret",
        secret_id="fake-pk-secret-app-tf1",
        replication={
            "auto": {},
        })
    fake_secret_version = gcp.secretmanager.SecretVersion("fake_secret_version",
        secret=fake_private_key_secret.id,
        secret_data=std.file(input="test-fixtures/test.key").result)
    private_key_accessor = gcp.secretmanager.SecretIamMember("private_key_accessor",
        project=fake_private_key_secret.project,
        secret_id=fake_private_key_secret.secret_id,
        role="roles/secretmanager.secretAccessor",
        member=f"serviceAccount:service-{project.number}@gcp-sa-ces.iam.gserviceaccount.com")
    ces_app_basic = gcp.ces.App("ces_app_basic",
        app_id="app-id",
        location="us",
        description="Basic CES App example",
        display_name="my-app",
        language_settings={
            "default_language_code": "en-US",
            "supported_language_codes": [
                "es-ES",
                "fr-FR",
            ],
            "enable_multilingual_support": True,
            "fallback_action": "escalate",
        },
        audio_processing_config={
            "synthesize_speech_configs": [
                {
                    "language_code": "en-US",
                    "voice": "en-US-Standard-A",
                    "speaking_rate": 1,
                },
                {
                    "language_code": "es-ES",
                    "voice": "es-ES-Standard-A",
                    "speaking_rate": 0.95,
                },
            ],
            "barge_in_config": {
                "barge_in_awareness": True,
            },
            "inactivity_timeout": "300s",
            "ambient_sound_config": {
                "prebuilt_ambient_sound": "room_2",
                "volume_gain_db": -6,
            },
        },
        logging_settings={
            "redaction_config": {
                "enable_redaction": True,
                "inspect_template": "projects/fake-project/locations/us/inspectTemplates/example-inspect",
                "deidentify_template": "projects/fake-project/locations/us/deidentifyTemplates/example-deidentify",
            },
            "audio_recording_config": {
                "gcs_bucket": "gs://fake-app-audio-recordings",
                "gcs_path_prefix": "projects/fake-project/location/us/app/test-app/123/$session/123",
            },
            "bigquery_export_settings": {
                "dataset": "projects/fake-project/datasets/fake_app_logs",
                "enabled": False,
                "project": "projects/fake-project",
            },
            "cloud_logging_settings": {
                "enable_cloud_logging": True,
            },
            "conversation_logging_settings": {
                "disable_conversation_logging": True,
            },
        },
        model_settings={
            "model": "gemini-1.5-flash",
            "temperature": 0.5,
        },
        evaluation_metrics_thresholds={
            "golden_evaluation_metrics_thresholds": {
                "turn_level_metrics_thresholds": {
                    "semantic_similarity_success_threshold": 3,
                    "overall_tool_invocation_correctness_threshold": 1,
                },
                "expectation_level_metrics_thresholds": {
                    "tool_invocation_parameter_correctness_threshold": 1,
                },
            },
        },
        variable_declarations=[{
            "name": "test",
            "description": "test",
            "schema": {
                "description": "schema description",
                "type": "ARRAY",
                "nullable": True,
                "requireds": ["some_property"],
                "enums": [
                    "VALUE_A",
                    "VALUE_B",
                ],
                "ref": "#/defs/MyDefinition",
                "unique_items": True,
                "defs": json.dumps({
                    "SimpleString": {
                        "type": "STRING",
                        "description": "A simple string definition",
                    },
                }),
                "any_of": json.dumps([{
                    "type": "STRING",
                    "description": "any_of option 1: string",
                }]),
                "default": json.dumps(False),
                "prefix_items": json.dumps([{
                    "type": "ARRAY",
                    "description": "prefix item 1",
                }]),
                "additional_properties": json.dumps({
                    "type": "BOOLEAN",
                }),
                "properties": json.dumps({
                    "name": {
                        "type": "STRING",
                        "description": "A name",
                    },
                }),
                "items": json.dumps({
                    "type": "ARRAY",
                    "description": "An array",
                }),
            },
        }],
        global_instruction="You are a virtual assistant for an e-commerce platform. Be friendly and helpful.",
        guardrails=[],
        default_channel_profile={
            "channel_type": "WEB_UI",
            "disable_barge_in_control": False,
            "disable_dtmf": True,
            "persona_property": {
                "persona": "CONCISE",
            },
            "profile_id": "profile-id",
            "web_widget_config": {
                "modality": "CHAT_ONLY",
                "theme": "LIGHT",
                "web_widget_title": "Help Assistant",
            },
        },
        metadata={
            "deployment_env": "test",
        },
        time_zone_settings={
            "time_zone": "America/Los_Angeles",
        },
        client_certificate_settings={
            "tls_certificate": std.file(input="test-fixtures/cert.pem").result,
            "private_key": fake_secret_version.name,
            "passphrase": "fakepassphrase",
        })
    
    package main
    
    import (
    	"encoding/json"
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/ces"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/organizations"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/secretmanager"
    	"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 {
    		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		fakePrivateKeySecret, err := secretmanager.NewSecret(ctx, "fake_private_key_secret", &secretmanager.SecretArgs{
    			SecretId: pulumi.String("fake-pk-secret-app-tf1"),
    			Replication: &secretmanager.SecretReplicationArgs{
    				Auto: &secretmanager.SecretReplicationAutoArgs{},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		invokeFile, err := std.File(ctx, &std.FileArgs{
    			Input: "test-fixtures/test.key",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		fakeSecretVersion, err := secretmanager.NewSecretVersion(ctx, "fake_secret_version", &secretmanager.SecretVersionArgs{
    			Secret:     fakePrivateKeySecret.ID(),
    			SecretData: pulumi.String(invokeFile.Result),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = secretmanager.NewSecretIamMember(ctx, "private_key_accessor", &secretmanager.SecretIamMemberArgs{
    			Project:  fakePrivateKeySecret.Project,
    			SecretId: fakePrivateKeySecret.SecretId,
    			Role:     pulumi.String("roles/secretmanager.secretAccessor"),
    			Member:   pulumi.Sprintf("serviceAccount:service-%v@gcp-sa-ces.iam.gserviceaccount.com", project.Number),
    		})
    		if err != nil {
    			return err
    		}
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"SimpleString": map[string]interface{}{
    				"type":        "STRING",
    				"description": "A simple string definition",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		tmpJSON1, err := json.Marshal([]map[string]interface{}{
    			map[string]interface{}{
    				"type":        "STRING",
    				"description": "any_of option 1: string",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json1 := string(tmpJSON1)
    		tmpJSON2, err := json.Marshal(false)
    		if err != nil {
    			return err
    		}
    		json2 := string(tmpJSON2)
    		tmpJSON3, err := json.Marshal([]map[string]interface{}{
    			map[string]interface{}{
    				"type":        "ARRAY",
    				"description": "prefix item 1",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json3 := string(tmpJSON3)
    		tmpJSON4, err := json.Marshal(map[string]interface{}{
    			"type": "BOOLEAN",
    		})
    		if err != nil {
    			return err
    		}
    		json4 := string(tmpJSON4)
    		tmpJSON5, err := json.Marshal(map[string]interface{}{
    			"name": map[string]interface{}{
    				"type":        "STRING",
    				"description": "A name",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json5 := string(tmpJSON5)
    		tmpJSON6, err := json.Marshal(map[string]interface{}{
    			"type":        "ARRAY",
    			"description": "An array",
    		})
    		if err != nil {
    			return err
    		}
    		json6 := string(tmpJSON6)
    		invokeFile1, err := std.File(ctx, &std.FileArgs{
    			Input: "test-fixtures/cert.pem",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = ces.NewApp(ctx, "ces_app_basic", &ces.AppArgs{
    			AppId:       pulumi.String("app-id"),
    			Location:    pulumi.String("us"),
    			Description: pulumi.String("Basic CES App example"),
    			DisplayName: pulumi.String("my-app"),
    			LanguageSettings: &ces.AppLanguageSettingsArgs{
    				DefaultLanguageCode: pulumi.String("en-US"),
    				SupportedLanguageCodes: pulumi.StringArray{
    					pulumi.String("es-ES"),
    					pulumi.String("fr-FR"),
    				},
    				EnableMultilingualSupport: pulumi.Bool(true),
    				FallbackAction:            pulumi.String("escalate"),
    			},
    			AudioProcessingConfig: &ces.AppAudioProcessingConfigArgs{
    				SynthesizeSpeechConfigs: ces.AppAudioProcessingConfigSynthesizeSpeechConfigArray{
    					&ces.AppAudioProcessingConfigSynthesizeSpeechConfigArgs{
    						LanguageCode: pulumi.String("en-US"),
    						Voice:        pulumi.String("en-US-Standard-A"),
    						SpeakingRate: pulumi.Float64(1),
    					},
    					&ces.AppAudioProcessingConfigSynthesizeSpeechConfigArgs{
    						LanguageCode: pulumi.String("es-ES"),
    						Voice:        pulumi.String("es-ES-Standard-A"),
    						SpeakingRate: pulumi.Float64(0.95),
    					},
    				},
    				BargeInConfig: &ces.AppAudioProcessingConfigBargeInConfigArgs{
    					BargeInAwareness: pulumi.Bool(true),
    				},
    				InactivityTimeout: pulumi.String("300s"),
    				AmbientSoundConfig: &ces.AppAudioProcessingConfigAmbientSoundConfigArgs{
    					PrebuiltAmbientSound: pulumi.String("room_2"),
    					VolumeGainDb:         pulumi.Float64(-6),
    				},
    			},
    			LoggingSettings: &ces.AppLoggingSettingsArgs{
    				RedactionConfig: &ces.AppLoggingSettingsRedactionConfigArgs{
    					EnableRedaction:    pulumi.Bool(true),
    					InspectTemplate:    pulumi.String("projects/fake-project/locations/us/inspectTemplates/example-inspect"),
    					DeidentifyTemplate: pulumi.String("projects/fake-project/locations/us/deidentifyTemplates/example-deidentify"),
    				},
    				AudioRecordingConfig: &ces.AppLoggingSettingsAudioRecordingConfigArgs{
    					GcsBucket:     pulumi.String("gs://fake-app-audio-recordings"),
    					GcsPathPrefix: pulumi.String("projects/fake-project/location/us/app/test-app/123/$session/123"),
    				},
    				BigqueryExportSettings: &ces.AppLoggingSettingsBigqueryExportSettingsArgs{
    					Dataset: pulumi.String("projects/fake-project/datasets/fake_app_logs"),
    					Enabled: pulumi.Bool(false),
    					Project: pulumi.String("projects/fake-project"),
    				},
    				CloudLoggingSettings: &ces.AppLoggingSettingsCloudLoggingSettingsArgs{
    					EnableCloudLogging: pulumi.Bool(true),
    				},
    				ConversationLoggingSettings: &ces.AppLoggingSettingsConversationLoggingSettingsArgs{
    					DisableConversationLogging: pulumi.Bool(true),
    				},
    			},
    			ModelSettings: &ces.AppModelSettingsArgs{
    				Model:       pulumi.String("gemini-1.5-flash"),
    				Temperature: pulumi.Float64(0.5),
    			},
    			EvaluationMetricsThresholds: &ces.AppEvaluationMetricsThresholdsArgs{
    				GoldenEvaluationMetricsThresholds: &ces.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsArgs{
    					TurnLevelMetricsThresholds: &ces.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholdsArgs{
    						SemanticSimilaritySuccessThreshold:        pulumi.Int(3),
    						OverallToolInvocationCorrectnessThreshold: pulumi.Float64(1),
    					},
    					ExpectationLevelMetricsThresholds: &ces.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholdsArgs{
    						ToolInvocationParameterCorrectnessThreshold: pulumi.Float64(1),
    					},
    				},
    			},
    			VariableDeclarations: ces.AppVariableDeclarationArray{
    				&ces.AppVariableDeclarationArgs{
    					Name:        pulumi.String("test"),
    					Description: pulumi.String("test"),
    					Schema: &ces.AppVariableDeclarationSchemaArgs{
    						Description: pulumi.String("schema description"),
    						Type:        pulumi.String("ARRAY"),
    						Nullable:    pulumi.Bool(true),
    						Requireds: pulumi.StringArray{
    							pulumi.String("some_property"),
    						},
    						Enums: pulumi.StringArray{
    							pulumi.String("VALUE_A"),
    							pulumi.String("VALUE_B"),
    						},
    						Ref:                  pulumi.String("#/defs/MyDefinition"),
    						UniqueItems:          pulumi.Bool(true),
    						Defs:                 pulumi.String(json0),
    						AnyOf:                pulumi.String(json1),
    						Default:              pulumi.String(json2),
    						PrefixItems:          pulumi.String(json3),
    						AdditionalProperties: pulumi.String(json4),
    						Properties:           pulumi.String(json5),
    						Items:                pulumi.String(json6),
    					},
    				},
    			},
    			GlobalInstruction: pulumi.String("You are a virtual assistant for an e-commerce platform. Be friendly and helpful."),
    			Guardrails:        pulumi.StringArray{},
    			DefaultChannelProfile: &ces.AppDefaultChannelProfileArgs{
    				ChannelType:           pulumi.String("WEB_UI"),
    				DisableBargeInControl: pulumi.Bool(false),
    				DisableDtmf:           pulumi.Bool(true),
    				PersonaProperty: &ces.AppDefaultChannelProfilePersonaPropertyArgs{
    					Persona: pulumi.String("CONCISE"),
    				},
    				ProfileId: pulumi.String("profile-id"),
    				WebWidgetConfig: &ces.AppDefaultChannelProfileWebWidgetConfigArgs{
    					Modality:       pulumi.String("CHAT_ONLY"),
    					Theme:          pulumi.String("LIGHT"),
    					WebWidgetTitle: pulumi.String("Help Assistant"),
    				},
    			},
    			Metadata: pulumi.StringMap{
    				"deployment_env": pulumi.String("test"),
    			},
    			TimeZoneSettings: &ces.AppTimeZoneSettingsArgs{
    				TimeZone: pulumi.String("America/Los_Angeles"),
    			},
    			ClientCertificateSettings: &ces.AppClientCertificateSettingsArgs{
    				TlsCertificate: pulumi.String(invokeFile1.Result),
    				PrivateKey:     fakeSecretVersion.Name,
    				Passphrase:     pulumi.String("fakepassphrase"),
    			},
    		})
    		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 project = Gcp.Organizations.GetProject.Invoke();
    
        var fakePrivateKeySecret = new Gcp.SecretManager.Secret("fake_private_key_secret", new()
        {
            SecretId = "fake-pk-secret-app-tf1",
            Replication = new Gcp.SecretManager.Inputs.SecretReplicationArgs
            {
                Auto = null,
            },
        });
    
        var fakeSecretVersion = new Gcp.SecretManager.SecretVersion("fake_secret_version", new()
        {
            Secret = fakePrivateKeySecret.Id,
            SecretData = Std.File.Invoke(new()
            {
                Input = "test-fixtures/test.key",
            }).Apply(invoke => invoke.Result),
        });
    
        var privateKeyAccessor = new Gcp.SecretManager.SecretIamMember("private_key_accessor", new()
        {
            Project = fakePrivateKeySecret.Project,
            SecretId = fakePrivateKeySecret.SecretId,
            Role = "roles/secretmanager.secretAccessor",
            Member = $"serviceAccount:service-{project.Apply(getProjectResult => getProjectResult.Number)}@gcp-sa-ces.iam.gserviceaccount.com",
        });
    
        var cesAppBasic = new Gcp.Ces.App("ces_app_basic", new()
        {
            AppId = "app-id",
            Location = "us",
            Description = "Basic CES App example",
            DisplayName = "my-app",
            LanguageSettings = new Gcp.Ces.Inputs.AppLanguageSettingsArgs
            {
                DefaultLanguageCode = "en-US",
                SupportedLanguageCodes = new[]
                {
                    "es-ES",
                    "fr-FR",
                },
                EnableMultilingualSupport = true,
                FallbackAction = "escalate",
            },
            AudioProcessingConfig = new Gcp.Ces.Inputs.AppAudioProcessingConfigArgs
            {
                SynthesizeSpeechConfigs = new[]
                {
                    new Gcp.Ces.Inputs.AppAudioProcessingConfigSynthesizeSpeechConfigArgs
                    {
                        LanguageCode = "en-US",
                        Voice = "en-US-Standard-A",
                        SpeakingRate = 1,
                    },
                    new Gcp.Ces.Inputs.AppAudioProcessingConfigSynthesizeSpeechConfigArgs
                    {
                        LanguageCode = "es-ES",
                        Voice = "es-ES-Standard-A",
                        SpeakingRate = 0.95,
                    },
                },
                BargeInConfig = new Gcp.Ces.Inputs.AppAudioProcessingConfigBargeInConfigArgs
                {
                    BargeInAwareness = true,
                },
                InactivityTimeout = "300s",
                AmbientSoundConfig = new Gcp.Ces.Inputs.AppAudioProcessingConfigAmbientSoundConfigArgs
                {
                    PrebuiltAmbientSound = "room_2",
                    VolumeGainDb = -6,
                },
            },
            LoggingSettings = new Gcp.Ces.Inputs.AppLoggingSettingsArgs
            {
                RedactionConfig = new Gcp.Ces.Inputs.AppLoggingSettingsRedactionConfigArgs
                {
                    EnableRedaction = true,
                    InspectTemplate = "projects/fake-project/locations/us/inspectTemplates/example-inspect",
                    DeidentifyTemplate = "projects/fake-project/locations/us/deidentifyTemplates/example-deidentify",
                },
                AudioRecordingConfig = new Gcp.Ces.Inputs.AppLoggingSettingsAudioRecordingConfigArgs
                {
                    GcsBucket = "gs://fake-app-audio-recordings",
                    GcsPathPrefix = "projects/fake-project/location/us/app/test-app/123/$session/123",
                },
                BigqueryExportSettings = new Gcp.Ces.Inputs.AppLoggingSettingsBigqueryExportSettingsArgs
                {
                    Dataset = "projects/fake-project/datasets/fake_app_logs",
                    Enabled = false,
                    Project = "projects/fake-project",
                },
                CloudLoggingSettings = new Gcp.Ces.Inputs.AppLoggingSettingsCloudLoggingSettingsArgs
                {
                    EnableCloudLogging = true,
                },
                ConversationLoggingSettings = new Gcp.Ces.Inputs.AppLoggingSettingsConversationLoggingSettingsArgs
                {
                    DisableConversationLogging = true,
                },
            },
            ModelSettings = new Gcp.Ces.Inputs.AppModelSettingsArgs
            {
                Model = "gemini-1.5-flash",
                Temperature = 0.5,
            },
            EvaluationMetricsThresholds = new Gcp.Ces.Inputs.AppEvaluationMetricsThresholdsArgs
            {
                GoldenEvaluationMetricsThresholds = new Gcp.Ces.Inputs.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsArgs
                {
                    TurnLevelMetricsThresholds = new Gcp.Ces.Inputs.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholdsArgs
                    {
                        SemanticSimilaritySuccessThreshold = 3,
                        OverallToolInvocationCorrectnessThreshold = 1,
                    },
                    ExpectationLevelMetricsThresholds = new Gcp.Ces.Inputs.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholdsArgs
                    {
                        ToolInvocationParameterCorrectnessThreshold = 1,
                    },
                },
            },
            VariableDeclarations = new[]
            {
                new Gcp.Ces.Inputs.AppVariableDeclarationArgs
                {
                    Name = "test",
                    Description = "test",
                    Schema = new Gcp.Ces.Inputs.AppVariableDeclarationSchemaArgs
                    {
                        Description = "schema description",
                        Type = "ARRAY",
                        Nullable = true,
                        Requireds = new[]
                        {
                            "some_property",
                        },
                        Enums = new[]
                        {
                            "VALUE_A",
                            "VALUE_B",
                        },
                        Ref = "#/defs/MyDefinition",
                        UniqueItems = true,
                        Defs = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["SimpleString"] = new Dictionary<string, object?>
                            {
                                ["type"] = "STRING",
                                ["description"] = "A simple string definition",
                            },
                        }),
                        AnyOf = JsonSerializer.Serialize(new[]
                        {
                            new Dictionary<string, object?>
                            {
                                ["type"] = "STRING",
                                ["description"] = "any_of option 1: string",
                            },
                        }),
                        Default = JsonSerializer.Serialize(false),
                        PrefixItems = JsonSerializer.Serialize(new[]
                        {
                            new Dictionary<string, object?>
                            {
                                ["type"] = "ARRAY",
                                ["description"] = "prefix item 1",
                            },
                        }),
                        AdditionalProperties = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["type"] = "BOOLEAN",
                        }),
                        Properties = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["name"] = new Dictionary<string, object?>
                            {
                                ["type"] = "STRING",
                                ["description"] = "A name",
                            },
                        }),
                        Items = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["type"] = "ARRAY",
                            ["description"] = "An array",
                        }),
                    },
                },
            },
            GlobalInstruction = "You are a virtual assistant for an e-commerce platform. Be friendly and helpful.",
            Guardrails = new[] {},
            DefaultChannelProfile = new Gcp.Ces.Inputs.AppDefaultChannelProfileArgs
            {
                ChannelType = "WEB_UI",
                DisableBargeInControl = false,
                DisableDtmf = true,
                PersonaProperty = new Gcp.Ces.Inputs.AppDefaultChannelProfilePersonaPropertyArgs
                {
                    Persona = "CONCISE",
                },
                ProfileId = "profile-id",
                WebWidgetConfig = new Gcp.Ces.Inputs.AppDefaultChannelProfileWebWidgetConfigArgs
                {
                    Modality = "CHAT_ONLY",
                    Theme = "LIGHT",
                    WebWidgetTitle = "Help Assistant",
                },
            },
            Metadata = 
            {
                { "deployment_env", "test" },
            },
            TimeZoneSettings = new Gcp.Ces.Inputs.AppTimeZoneSettingsArgs
            {
                TimeZone = "America/Los_Angeles",
            },
            ClientCertificateSettings = new Gcp.Ces.Inputs.AppClientCertificateSettingsArgs
            {
                TlsCertificate = Std.File.Invoke(new()
                {
                    Input = "test-fixtures/cert.pem",
                }).Apply(invoke => invoke.Result),
                PrivateKey = fakeSecretVersion.Name,
                Passphrase = "fakepassphrase",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.organizations.OrganizationsFunctions;
    import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
    import com.pulumi.gcp.secretmanager.Secret;
    import com.pulumi.gcp.secretmanager.SecretArgs;
    import com.pulumi.gcp.secretmanager.inputs.SecretReplicationArgs;
    import com.pulumi.gcp.secretmanager.inputs.SecretReplicationAutoArgs;
    import com.pulumi.gcp.secretmanager.SecretVersion;
    import com.pulumi.gcp.secretmanager.SecretVersionArgs;
    import com.pulumi.std.StdFunctions;
    import com.pulumi.std.inputs.FileArgs;
    import com.pulumi.gcp.secretmanager.SecretIamMember;
    import com.pulumi.gcp.secretmanager.SecretIamMemberArgs;
    import com.pulumi.gcp.ces.App;
    import com.pulumi.gcp.ces.AppArgs;
    import com.pulumi.gcp.ces.inputs.AppLanguageSettingsArgs;
    import com.pulumi.gcp.ces.inputs.AppAudioProcessingConfigArgs;
    import com.pulumi.gcp.ces.inputs.AppAudioProcessingConfigBargeInConfigArgs;
    import com.pulumi.gcp.ces.inputs.AppAudioProcessingConfigAmbientSoundConfigArgs;
    import com.pulumi.gcp.ces.inputs.AppLoggingSettingsArgs;
    import com.pulumi.gcp.ces.inputs.AppLoggingSettingsRedactionConfigArgs;
    import com.pulumi.gcp.ces.inputs.AppLoggingSettingsAudioRecordingConfigArgs;
    import com.pulumi.gcp.ces.inputs.AppLoggingSettingsBigqueryExportSettingsArgs;
    import com.pulumi.gcp.ces.inputs.AppLoggingSettingsCloudLoggingSettingsArgs;
    import com.pulumi.gcp.ces.inputs.AppLoggingSettingsConversationLoggingSettingsArgs;
    import com.pulumi.gcp.ces.inputs.AppModelSettingsArgs;
    import com.pulumi.gcp.ces.inputs.AppEvaluationMetricsThresholdsArgs;
    import com.pulumi.gcp.ces.inputs.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsArgs;
    import com.pulumi.gcp.ces.inputs.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholdsArgs;
    import com.pulumi.gcp.ces.inputs.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholdsArgs;
    import com.pulumi.gcp.ces.inputs.AppVariableDeclarationArgs;
    import com.pulumi.gcp.ces.inputs.AppVariableDeclarationSchemaArgs;
    import com.pulumi.gcp.ces.inputs.AppDefaultChannelProfileArgs;
    import com.pulumi.gcp.ces.inputs.AppDefaultChannelProfilePersonaPropertyArgs;
    import com.pulumi.gcp.ces.inputs.AppDefaultChannelProfileWebWidgetConfigArgs;
    import com.pulumi.gcp.ces.inputs.AppTimeZoneSettingsArgs;
    import com.pulumi.gcp.ces.inputs.AppClientCertificateSettingsArgs;
    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) {
            final var project = OrganizationsFunctions.getProject(GetProjectArgs.builder()
                .build());
    
            var fakePrivateKeySecret = new Secret("fakePrivateKeySecret", SecretArgs.builder()
                .secretId("fake-pk-secret-app-tf1")
                .replication(SecretReplicationArgs.builder()
                    .auto(SecretReplicationAutoArgs.builder()
                        .build())
                    .build())
                .build());
    
            var fakeSecretVersion = new SecretVersion("fakeSecretVersion", SecretVersionArgs.builder()
                .secret(fakePrivateKeySecret.id())
                .secretData(StdFunctions.file(FileArgs.builder()
                    .input("test-fixtures/test.key")
                    .build()).result())
                .build());
    
            var privateKeyAccessor = new SecretIamMember("privateKeyAccessor", SecretIamMemberArgs.builder()
                .project(fakePrivateKeySecret.project())
                .secretId(fakePrivateKeySecret.secretId())
                .role("roles/secretmanager.secretAccessor")
                .member(String.format("serviceAccount:service-%s@gcp-sa-ces.iam.gserviceaccount.com", project.number()))
                .build());
    
            var cesAppBasic = new App("cesAppBasic", AppArgs.builder()
                .appId("app-id")
                .location("us")
                .description("Basic CES App example")
                .displayName("my-app")
                .languageSettings(AppLanguageSettingsArgs.builder()
                    .defaultLanguageCode("en-US")
                    .supportedLanguageCodes(                
                        "es-ES",
                        "fr-FR")
                    .enableMultilingualSupport(true)
                    .fallbackAction("escalate")
                    .build())
                .audioProcessingConfig(AppAudioProcessingConfigArgs.builder()
                    .synthesizeSpeechConfigs(                
                        AppAudioProcessingConfigSynthesizeSpeechConfigArgs.builder()
                            .languageCode("en-US")
                            .voice("en-US-Standard-A")
                            .speakingRate(1.0)
                            .build(),
                        AppAudioProcessingConfigSynthesizeSpeechConfigArgs.builder()
                            .languageCode("es-ES")
                            .voice("es-ES-Standard-A")
                            .speakingRate(0.95)
                            .build())
                    .bargeInConfig(AppAudioProcessingConfigBargeInConfigArgs.builder()
                        .bargeInAwareness(true)
                        .build())
                    .inactivityTimeout("300s")
                    .ambientSoundConfig(AppAudioProcessingConfigAmbientSoundConfigArgs.builder()
                        .prebuiltAmbientSound("room_2")
                        .volumeGainDb(-6.0)
                        .build())
                    .build())
                .loggingSettings(AppLoggingSettingsArgs.builder()
                    .redactionConfig(AppLoggingSettingsRedactionConfigArgs.builder()
                        .enableRedaction(true)
                        .inspectTemplate("projects/fake-project/locations/us/inspectTemplates/example-inspect")
                        .deidentifyTemplate("projects/fake-project/locations/us/deidentifyTemplates/example-deidentify")
                        .build())
                    .audioRecordingConfig(AppLoggingSettingsAudioRecordingConfigArgs.builder()
                        .gcsBucket("gs://fake-app-audio-recordings")
                        .gcsPathPrefix("projects/fake-project/location/us/app/test-app/123/$session/123")
                        .build())
                    .bigqueryExportSettings(AppLoggingSettingsBigqueryExportSettingsArgs.builder()
                        .dataset("projects/fake-project/datasets/fake_app_logs")
                        .enabled(false)
                        .project("projects/fake-project")
                        .build())
                    .cloudLoggingSettings(AppLoggingSettingsCloudLoggingSettingsArgs.builder()
                        .enableCloudLogging(true)
                        .build())
                    .conversationLoggingSettings(AppLoggingSettingsConversationLoggingSettingsArgs.builder()
                        .disableConversationLogging(true)
                        .build())
                    .build())
                .modelSettings(AppModelSettingsArgs.builder()
                    .model("gemini-1.5-flash")
                    .temperature(0.5)
                    .build())
                .evaluationMetricsThresholds(AppEvaluationMetricsThresholdsArgs.builder()
                    .goldenEvaluationMetricsThresholds(AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsArgs.builder()
                        .turnLevelMetricsThresholds(AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholdsArgs.builder()
                            .semanticSimilaritySuccessThreshold(3)
                            .overallToolInvocationCorrectnessThreshold(1.0)
                            .build())
                        .expectationLevelMetricsThresholds(AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholdsArgs.builder()
                            .toolInvocationParameterCorrectnessThreshold(1.0)
                            .build())
                        .build())
                    .build())
                .variableDeclarations(AppVariableDeclarationArgs.builder()
                    .name("test")
                    .description("test")
                    .schema(AppVariableDeclarationSchemaArgs.builder()
                        .description("schema description")
                        .type("ARRAY")
                        .nullable(true)
                        .requireds("some_property")
                        .enums(                    
                            "VALUE_A",
                            "VALUE_B")
                        .ref("#/defs/MyDefinition")
                        .uniqueItems(true)
                        .defs(serializeJson(
                            jsonObject(
                                jsonProperty("SimpleString", jsonObject(
                                    jsonProperty("type", "STRING"),
                                    jsonProperty("description", "A simple string definition")
                                ))
                            )))
                        .anyOf(serializeJson(
                            jsonArray(jsonObject(
                                jsonProperty("type", "STRING"),
                                jsonProperty("description", "any_of option 1: string")
                            ))))
                        .default_(serializeJson(
                            false))
                        .prefixItems(serializeJson(
                            jsonArray(jsonObject(
                                jsonProperty("type", "ARRAY"),
                                jsonProperty("description", "prefix item 1")
                            ))))
                        .additionalProperties(serializeJson(
                            jsonObject(
                                jsonProperty("type", "BOOLEAN")
                            )))
                        .properties(serializeJson(
                            jsonObject(
                                jsonProperty("name", jsonObject(
                                    jsonProperty("type", "STRING"),
                                    jsonProperty("description", "A name")
                                ))
                            )))
                        .items(serializeJson(
                            jsonObject(
                                jsonProperty("type", "ARRAY"),
                                jsonProperty("description", "An array")
                            )))
                        .build())
                    .build())
                .globalInstruction("You are a virtual assistant for an e-commerce platform. Be friendly and helpful.")
                .guardrails()
                .defaultChannelProfile(AppDefaultChannelProfileArgs.builder()
                    .channelType("WEB_UI")
                    .disableBargeInControl(false)
                    .disableDtmf(true)
                    .personaProperty(AppDefaultChannelProfilePersonaPropertyArgs.builder()
                        .persona("CONCISE")
                        .build())
                    .profileId("profile-id")
                    .webWidgetConfig(AppDefaultChannelProfileWebWidgetConfigArgs.builder()
                        .modality("CHAT_ONLY")
                        .theme("LIGHT")
                        .webWidgetTitle("Help Assistant")
                        .build())
                    .build())
                .metadata(Map.of("deployment_env", "test"))
                .timeZoneSettings(AppTimeZoneSettingsArgs.builder()
                    .timeZone("America/Los_Angeles")
                    .build())
                .clientCertificateSettings(AppClientCertificateSettingsArgs.builder()
                    .tlsCertificate(StdFunctions.file(FileArgs.builder()
                        .input("test-fixtures/cert.pem")
                        .build()).result())
                    .privateKey(fakeSecretVersion.name())
                    .passphrase("fakepassphrase")
                    .build())
                .build());
    
        }
    }
    
    resources:
      fakePrivateKeySecret:
        type: gcp:secretmanager:Secret
        name: fake_private_key_secret
        properties:
          secretId: fake-pk-secret-app-tf1
          replication:
            auto: {}
      fakeSecretVersion:
        type: gcp:secretmanager:SecretVersion
        name: fake_secret_version
        properties:
          secret: ${fakePrivateKeySecret.id}
          secretData:
            fn::invoke:
              function: std:file
              arguments:
                input: test-fixtures/test.key
              return: result
      privateKeyAccessor:
        type: gcp:secretmanager:SecretIamMember
        name: private_key_accessor
        properties:
          project: ${fakePrivateKeySecret.project}
          secretId: ${fakePrivateKeySecret.secretId}
          role: roles/secretmanager.secretAccessor
          member: serviceAccount:service-${project.number}@gcp-sa-ces.iam.gserviceaccount.com
      cesAppBasic:
        type: gcp:ces:App
        name: ces_app_basic
        properties:
          appId: app-id
          location: us
          description: Basic CES App example
          displayName: my-app
          languageSettings:
            defaultLanguageCode: en-US
            supportedLanguageCodes:
              - es-ES
              - fr-FR
            enableMultilingualSupport: true
            fallbackAction: escalate
          audioProcessingConfig:
            synthesizeSpeechConfigs:
              - languageCode: en-US
                voice: en-US-Standard-A
                speakingRate: 1
              - languageCode: es-ES
                voice: es-ES-Standard-A
                speakingRate: 0.95
            bargeInConfig:
              bargeInAwareness: true
            inactivityTimeout: 300s
            ambientSoundConfig:
              prebuiltAmbientSound: room_2
              volumeGainDb: -6
          loggingSettings:
            redactionConfig:
              enableRedaction: true
              inspectTemplate: projects/fake-project/locations/us/inspectTemplates/example-inspect
              deidentifyTemplate: projects/fake-project/locations/us/deidentifyTemplates/example-deidentify
            audioRecordingConfig:
              gcsBucket: gs://fake-app-audio-recordings
              gcsPathPrefix: projects/fake-project/location/us/app/test-app/123/$session/123
            bigqueryExportSettings:
              dataset: projects/fake-project/datasets/fake_app_logs
              enabled: false
              project: projects/fake-project
            cloudLoggingSettings:
              enableCloudLogging: true
            conversationLoggingSettings:
              disableConversationLogging: true
          modelSettings:
            model: gemini-1.5-flash
            temperature: 0.5
          evaluationMetricsThresholds:
            goldenEvaluationMetricsThresholds:
              turnLevelMetricsThresholds:
                semanticSimilaritySuccessThreshold: 3
                overallToolInvocationCorrectnessThreshold: 1
              expectationLevelMetricsThresholds:
                toolInvocationParameterCorrectnessThreshold: 1
          variableDeclarations:
            - name: test
              description: test
              schema:
                description: schema description
                type: ARRAY
                nullable: true
                requireds:
                  - some_property
                enums:
                  - VALUE_A
                  - VALUE_B
                ref: '#/defs/MyDefinition'
                uniqueItems: true
                defs:
                  fn::toJSON:
                    SimpleString:
                      type: STRING
                      description: A simple string definition
                anyOf:
                  fn::toJSON:
                    - type: STRING
                      description: 'any_of option 1: string'
                default:
                  fn::toJSON: false
                prefixItems:
                  fn::toJSON:
                    - type: ARRAY
                      description: prefix item 1
                additionalProperties:
                  fn::toJSON:
                    type: BOOLEAN
                properties:
                  fn::toJSON:
                    name:
                      type: STRING
                      description: A name
                items:
                  fn::toJSON:
                    type: ARRAY
                    description: An array
          globalInstruction: You are a virtual assistant for an e-commerce platform. Be friendly and helpful.
          guardrails: []
          defaultChannelProfile:
            channelType: WEB_UI
            disableBargeInControl: false
            disableDtmf: true
            personaProperty:
              persona: CONCISE
            profileId: profile-id
            webWidgetConfig:
              modality: CHAT_ONLY
              theme: LIGHT
              webWidgetTitle: Help Assistant
          metadata:
            deployment_env: test
          timeZoneSettings:
            timeZone: America/Los_Angeles
          clientCertificateSettings:
            tlsCertificate:
              fn::invoke:
                function: std:file
                arguments:
                  input: test-fixtures/cert.pem
                return: result
            privateKey: ${fakeSecretVersion.name}
            passphrase: fakepassphrase
    variables:
      project:
        fn::invoke:
          function: gcp:organizations:getProject
          arguments: {}
    

    Ces App Ambient Sound Gcs Uri

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const cesAppAmbientSoundGcsUri = new gcp.ces.App("ces_app_ambient_sound_gcs_uri", {
        appId: "app-id",
        location: "us",
        description: "Basic CES App example",
        displayName: "my-app-ambient-sound-gcs-uri",
        languageSettings: {
            defaultLanguageCode: "en-US",
            supportedLanguageCodes: [
                "es-ES",
                "fr-FR",
            ],
            enableMultilingualSupport: true,
            fallbackAction: "escalate",
        },
        audioProcessingConfig: {
            synthesizeSpeechConfigs: [
                {
                    languageCode: "en-US",
                    voice: "en-US-Standard-A",
                    speakingRate: 1,
                },
                {
                    languageCode: "es-ES",
                    voice: "es-ES-Standard-A",
                    speakingRate: 0.95,
                },
            ],
            bargeInConfig: {
                bargeInAwareness: true,
            },
            inactivityTimeout: "300s",
            ambientSoundConfig: {
                gcsUri: "gs://fake-bucket/sounds/ambient.wav",
                volumeGainDb: -6,
            },
        },
        loggingSettings: {
            redactionConfig: {
                enableRedaction: true,
                inspectTemplate: "projects/fake-project/locations/us/inspectTemplates/example-inspect",
                deidentifyTemplate: "projects/fake-project/locations/us/deidentifyTemplates/example-deidentify",
            },
            audioRecordingConfig: {
                gcsBucket: "gs://fake-app-audio-recordings",
                gcsPathPrefix: "projects/fake-project/location/us/app/fake-app/123/$session/123",
            },
            bigqueryExportSettings: {
                dataset: "projects/fake-project/datasets/fake_app_logs",
                enabled: false,
                project: "projects/fake-project",
            },
            cloudLoggingSettings: {
                enableCloudLogging: true,
            },
            conversationLoggingSettings: {
                disableConversationLogging: true,
            },
        },
        modelSettings: {
            model: "gemini-1.5-flash",
            temperature: 0.5,
        },
        evaluationMetricsThresholds: {
            goldenEvaluationMetricsThresholds: {
                turnLevelMetricsThresholds: {
                    semanticSimilaritySuccessThreshold: 3,
                    overallToolInvocationCorrectnessThreshold: 1,
                },
                expectationLevelMetricsThresholds: {
                    toolInvocationParameterCorrectnessThreshold: 1,
                },
            },
        },
        variableDeclarations: [{
            name: "test",
            description: "test",
            schema: {
                description: "schema description",
                type: "ARRAY",
                nullable: true,
                requireds: ["some_property"],
                enums: [
                    "VALUE_A",
                    "VALUE_B",
                ],
                ref: "#/defs/MyDefinition",
                uniqueItems: true,
                defs: JSON.stringify({
                    SimpleString: {
                        type: "STRING",
                        description: "A simple string definition",
                    },
                }),
                anyOf: JSON.stringify([{
                    type: "STRING",
                    description: "any_of option 1: string",
                }]),
                "default": JSON.stringify(false),
                prefixItems: JSON.stringify([{
                    type: "ARRAY",
                    description: "prefix item 1",
                }]),
                additionalProperties: JSON.stringify({
                    type: "BOOLEAN",
                }),
                properties: JSON.stringify({
                    name: {
                        type: "STRING",
                        description: "A name",
                    },
                }),
                items: JSON.stringify({
                    type: "ARRAY",
                    description: "An array",
                }),
            },
        }],
        globalInstruction: "You are a virtual assistant for an e-commerce platform. Be friendly and helpful.",
        guardrails: [],
        defaultChannelProfile: {
            channelType: "WEB_UI",
            disableBargeInControl: false,
            disableDtmf: true,
            personaProperty: {
                persona: "CONCISE",
            },
            profileId: "profile-id",
            webWidgetConfig: {
                modality: "CHAT_ONLY",
                theme: "LIGHT",
                webWidgetTitle: "Help Assistant",
            },
        },
        metadata: {
            deployment_env: "test",
        },
        timeZoneSettings: {
            timeZone: "America/Los_Angeles",
        },
    });
    
    import pulumi
    import json
    import pulumi_gcp as gcp
    
    ces_app_ambient_sound_gcs_uri = gcp.ces.App("ces_app_ambient_sound_gcs_uri",
        app_id="app-id",
        location="us",
        description="Basic CES App example",
        display_name="my-app-ambient-sound-gcs-uri",
        language_settings={
            "default_language_code": "en-US",
            "supported_language_codes": [
                "es-ES",
                "fr-FR",
            ],
            "enable_multilingual_support": True,
            "fallback_action": "escalate",
        },
        audio_processing_config={
            "synthesize_speech_configs": [
                {
                    "language_code": "en-US",
                    "voice": "en-US-Standard-A",
                    "speaking_rate": 1,
                },
                {
                    "language_code": "es-ES",
                    "voice": "es-ES-Standard-A",
                    "speaking_rate": 0.95,
                },
            ],
            "barge_in_config": {
                "barge_in_awareness": True,
            },
            "inactivity_timeout": "300s",
            "ambient_sound_config": {
                "gcs_uri": "gs://fake-bucket/sounds/ambient.wav",
                "volume_gain_db": -6,
            },
        },
        logging_settings={
            "redaction_config": {
                "enable_redaction": True,
                "inspect_template": "projects/fake-project/locations/us/inspectTemplates/example-inspect",
                "deidentify_template": "projects/fake-project/locations/us/deidentifyTemplates/example-deidentify",
            },
            "audio_recording_config": {
                "gcs_bucket": "gs://fake-app-audio-recordings",
                "gcs_path_prefix": "projects/fake-project/location/us/app/fake-app/123/$session/123",
            },
            "bigquery_export_settings": {
                "dataset": "projects/fake-project/datasets/fake_app_logs",
                "enabled": False,
                "project": "projects/fake-project",
            },
            "cloud_logging_settings": {
                "enable_cloud_logging": True,
            },
            "conversation_logging_settings": {
                "disable_conversation_logging": True,
            },
        },
        model_settings={
            "model": "gemini-1.5-flash",
            "temperature": 0.5,
        },
        evaluation_metrics_thresholds={
            "golden_evaluation_metrics_thresholds": {
                "turn_level_metrics_thresholds": {
                    "semantic_similarity_success_threshold": 3,
                    "overall_tool_invocation_correctness_threshold": 1,
                },
                "expectation_level_metrics_thresholds": {
                    "tool_invocation_parameter_correctness_threshold": 1,
                },
            },
        },
        variable_declarations=[{
            "name": "test",
            "description": "test",
            "schema": {
                "description": "schema description",
                "type": "ARRAY",
                "nullable": True,
                "requireds": ["some_property"],
                "enums": [
                    "VALUE_A",
                    "VALUE_B",
                ],
                "ref": "#/defs/MyDefinition",
                "unique_items": True,
                "defs": json.dumps({
                    "SimpleString": {
                        "type": "STRING",
                        "description": "A simple string definition",
                    },
                }),
                "any_of": json.dumps([{
                    "type": "STRING",
                    "description": "any_of option 1: string",
                }]),
                "default": json.dumps(False),
                "prefix_items": json.dumps([{
                    "type": "ARRAY",
                    "description": "prefix item 1",
                }]),
                "additional_properties": json.dumps({
                    "type": "BOOLEAN",
                }),
                "properties": json.dumps({
                    "name": {
                        "type": "STRING",
                        "description": "A name",
                    },
                }),
                "items": json.dumps({
                    "type": "ARRAY",
                    "description": "An array",
                }),
            },
        }],
        global_instruction="You are a virtual assistant for an e-commerce platform. Be friendly and helpful.",
        guardrails=[],
        default_channel_profile={
            "channel_type": "WEB_UI",
            "disable_barge_in_control": False,
            "disable_dtmf": True,
            "persona_property": {
                "persona": "CONCISE",
            },
            "profile_id": "profile-id",
            "web_widget_config": {
                "modality": "CHAT_ONLY",
                "theme": "LIGHT",
                "web_widget_title": "Help Assistant",
            },
        },
        metadata={
            "deployment_env": "test",
        },
        time_zone_settings={
            "time_zone": "America/Los_Angeles",
        })
    
    package main
    
    import (
    	"encoding/json"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/ces"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"SimpleString": map[string]interface{}{
    				"type":        "STRING",
    				"description": "A simple string definition",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		tmpJSON1, err := json.Marshal([]map[string]interface{}{
    			map[string]interface{}{
    				"type":        "STRING",
    				"description": "any_of option 1: string",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json1 := string(tmpJSON1)
    		tmpJSON2, err := json.Marshal(false)
    		if err != nil {
    			return err
    		}
    		json2 := string(tmpJSON2)
    		tmpJSON3, err := json.Marshal([]map[string]interface{}{
    			map[string]interface{}{
    				"type":        "ARRAY",
    				"description": "prefix item 1",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json3 := string(tmpJSON3)
    		tmpJSON4, err := json.Marshal(map[string]interface{}{
    			"type": "BOOLEAN",
    		})
    		if err != nil {
    			return err
    		}
    		json4 := string(tmpJSON4)
    		tmpJSON5, err := json.Marshal(map[string]interface{}{
    			"name": map[string]interface{}{
    				"type":        "STRING",
    				"description": "A name",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json5 := string(tmpJSON5)
    		tmpJSON6, err := json.Marshal(map[string]interface{}{
    			"type":        "ARRAY",
    			"description": "An array",
    		})
    		if err != nil {
    			return err
    		}
    		json6 := string(tmpJSON6)
    		_, err = ces.NewApp(ctx, "ces_app_ambient_sound_gcs_uri", &ces.AppArgs{
    			AppId:       pulumi.String("app-id"),
    			Location:    pulumi.String("us"),
    			Description: pulumi.String("Basic CES App example"),
    			DisplayName: pulumi.String("my-app-ambient-sound-gcs-uri"),
    			LanguageSettings: &ces.AppLanguageSettingsArgs{
    				DefaultLanguageCode: pulumi.String("en-US"),
    				SupportedLanguageCodes: pulumi.StringArray{
    					pulumi.String("es-ES"),
    					pulumi.String("fr-FR"),
    				},
    				EnableMultilingualSupport: pulumi.Bool(true),
    				FallbackAction:            pulumi.String("escalate"),
    			},
    			AudioProcessingConfig: &ces.AppAudioProcessingConfigArgs{
    				SynthesizeSpeechConfigs: ces.AppAudioProcessingConfigSynthesizeSpeechConfigArray{
    					&ces.AppAudioProcessingConfigSynthesizeSpeechConfigArgs{
    						LanguageCode: pulumi.String("en-US"),
    						Voice:        pulumi.String("en-US-Standard-A"),
    						SpeakingRate: pulumi.Float64(1),
    					},
    					&ces.AppAudioProcessingConfigSynthesizeSpeechConfigArgs{
    						LanguageCode: pulumi.String("es-ES"),
    						Voice:        pulumi.String("es-ES-Standard-A"),
    						SpeakingRate: pulumi.Float64(0.95),
    					},
    				},
    				BargeInConfig: &ces.AppAudioProcessingConfigBargeInConfigArgs{
    					BargeInAwareness: pulumi.Bool(true),
    				},
    				InactivityTimeout: pulumi.String("300s"),
    				AmbientSoundConfig: &ces.AppAudioProcessingConfigAmbientSoundConfigArgs{
    					GcsUri:       pulumi.String("gs://fake-bucket/sounds/ambient.wav"),
    					VolumeGainDb: pulumi.Float64(-6),
    				},
    			},
    			LoggingSettings: &ces.AppLoggingSettingsArgs{
    				RedactionConfig: &ces.AppLoggingSettingsRedactionConfigArgs{
    					EnableRedaction:    pulumi.Bool(true),
    					InspectTemplate:    pulumi.String("projects/fake-project/locations/us/inspectTemplates/example-inspect"),
    					DeidentifyTemplate: pulumi.String("projects/fake-project/locations/us/deidentifyTemplates/example-deidentify"),
    				},
    				AudioRecordingConfig: &ces.AppLoggingSettingsAudioRecordingConfigArgs{
    					GcsBucket:     pulumi.String("gs://fake-app-audio-recordings"),
    					GcsPathPrefix: pulumi.String("projects/fake-project/location/us/app/fake-app/123/$session/123"),
    				},
    				BigqueryExportSettings: &ces.AppLoggingSettingsBigqueryExportSettingsArgs{
    					Dataset: pulumi.String("projects/fake-project/datasets/fake_app_logs"),
    					Enabled: pulumi.Bool(false),
    					Project: pulumi.String("projects/fake-project"),
    				},
    				CloudLoggingSettings: &ces.AppLoggingSettingsCloudLoggingSettingsArgs{
    					EnableCloudLogging: pulumi.Bool(true),
    				},
    				ConversationLoggingSettings: &ces.AppLoggingSettingsConversationLoggingSettingsArgs{
    					DisableConversationLogging: pulumi.Bool(true),
    				},
    			},
    			ModelSettings: &ces.AppModelSettingsArgs{
    				Model:       pulumi.String("gemini-1.5-flash"),
    				Temperature: pulumi.Float64(0.5),
    			},
    			EvaluationMetricsThresholds: &ces.AppEvaluationMetricsThresholdsArgs{
    				GoldenEvaluationMetricsThresholds: &ces.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsArgs{
    					TurnLevelMetricsThresholds: &ces.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholdsArgs{
    						SemanticSimilaritySuccessThreshold:        pulumi.Int(3),
    						OverallToolInvocationCorrectnessThreshold: pulumi.Float64(1),
    					},
    					ExpectationLevelMetricsThresholds: &ces.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholdsArgs{
    						ToolInvocationParameterCorrectnessThreshold: pulumi.Float64(1),
    					},
    				},
    			},
    			VariableDeclarations: ces.AppVariableDeclarationArray{
    				&ces.AppVariableDeclarationArgs{
    					Name:        pulumi.String("test"),
    					Description: pulumi.String("test"),
    					Schema: &ces.AppVariableDeclarationSchemaArgs{
    						Description: pulumi.String("schema description"),
    						Type:        pulumi.String("ARRAY"),
    						Nullable:    pulumi.Bool(true),
    						Requireds: pulumi.StringArray{
    							pulumi.String("some_property"),
    						},
    						Enums: pulumi.StringArray{
    							pulumi.String("VALUE_A"),
    							pulumi.String("VALUE_B"),
    						},
    						Ref:                  pulumi.String("#/defs/MyDefinition"),
    						UniqueItems:          pulumi.Bool(true),
    						Defs:                 pulumi.String(json0),
    						AnyOf:                pulumi.String(json1),
    						Default:              pulumi.String(json2),
    						PrefixItems:          pulumi.String(json3),
    						AdditionalProperties: pulumi.String(json4),
    						Properties:           pulumi.String(json5),
    						Items:                pulumi.String(json6),
    					},
    				},
    			},
    			GlobalInstruction: pulumi.String("You are a virtual assistant for an e-commerce platform. Be friendly and helpful."),
    			Guardrails:        pulumi.StringArray{},
    			DefaultChannelProfile: &ces.AppDefaultChannelProfileArgs{
    				ChannelType:           pulumi.String("WEB_UI"),
    				DisableBargeInControl: pulumi.Bool(false),
    				DisableDtmf:           pulumi.Bool(true),
    				PersonaProperty: &ces.AppDefaultChannelProfilePersonaPropertyArgs{
    					Persona: pulumi.String("CONCISE"),
    				},
    				ProfileId: pulumi.String("profile-id"),
    				WebWidgetConfig: &ces.AppDefaultChannelProfileWebWidgetConfigArgs{
    					Modality:       pulumi.String("CHAT_ONLY"),
    					Theme:          pulumi.String("LIGHT"),
    					WebWidgetTitle: pulumi.String("Help Assistant"),
    				},
    			},
    			Metadata: pulumi.StringMap{
    				"deployment_env": pulumi.String("test"),
    			},
    			TimeZoneSettings: &ces.AppTimeZoneSettingsArgs{
    				TimeZone: pulumi.String("America/Los_Angeles"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using System.Text.Json;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var cesAppAmbientSoundGcsUri = new Gcp.Ces.App("ces_app_ambient_sound_gcs_uri", new()
        {
            AppId = "app-id",
            Location = "us",
            Description = "Basic CES App example",
            DisplayName = "my-app-ambient-sound-gcs-uri",
            LanguageSettings = new Gcp.Ces.Inputs.AppLanguageSettingsArgs
            {
                DefaultLanguageCode = "en-US",
                SupportedLanguageCodes = new[]
                {
                    "es-ES",
                    "fr-FR",
                },
                EnableMultilingualSupport = true,
                FallbackAction = "escalate",
            },
            AudioProcessingConfig = new Gcp.Ces.Inputs.AppAudioProcessingConfigArgs
            {
                SynthesizeSpeechConfigs = new[]
                {
                    new Gcp.Ces.Inputs.AppAudioProcessingConfigSynthesizeSpeechConfigArgs
                    {
                        LanguageCode = "en-US",
                        Voice = "en-US-Standard-A",
                        SpeakingRate = 1,
                    },
                    new Gcp.Ces.Inputs.AppAudioProcessingConfigSynthesizeSpeechConfigArgs
                    {
                        LanguageCode = "es-ES",
                        Voice = "es-ES-Standard-A",
                        SpeakingRate = 0.95,
                    },
                },
                BargeInConfig = new Gcp.Ces.Inputs.AppAudioProcessingConfigBargeInConfigArgs
                {
                    BargeInAwareness = true,
                },
                InactivityTimeout = "300s",
                AmbientSoundConfig = new Gcp.Ces.Inputs.AppAudioProcessingConfigAmbientSoundConfigArgs
                {
                    GcsUri = "gs://fake-bucket/sounds/ambient.wav",
                    VolumeGainDb = -6,
                },
            },
            LoggingSettings = new Gcp.Ces.Inputs.AppLoggingSettingsArgs
            {
                RedactionConfig = new Gcp.Ces.Inputs.AppLoggingSettingsRedactionConfigArgs
                {
                    EnableRedaction = true,
                    InspectTemplate = "projects/fake-project/locations/us/inspectTemplates/example-inspect",
                    DeidentifyTemplate = "projects/fake-project/locations/us/deidentifyTemplates/example-deidentify",
                },
                AudioRecordingConfig = new Gcp.Ces.Inputs.AppLoggingSettingsAudioRecordingConfigArgs
                {
                    GcsBucket = "gs://fake-app-audio-recordings",
                    GcsPathPrefix = "projects/fake-project/location/us/app/fake-app/123/$session/123",
                },
                BigqueryExportSettings = new Gcp.Ces.Inputs.AppLoggingSettingsBigqueryExportSettingsArgs
                {
                    Dataset = "projects/fake-project/datasets/fake_app_logs",
                    Enabled = false,
                    Project = "projects/fake-project",
                },
                CloudLoggingSettings = new Gcp.Ces.Inputs.AppLoggingSettingsCloudLoggingSettingsArgs
                {
                    EnableCloudLogging = true,
                },
                ConversationLoggingSettings = new Gcp.Ces.Inputs.AppLoggingSettingsConversationLoggingSettingsArgs
                {
                    DisableConversationLogging = true,
                },
            },
            ModelSettings = new Gcp.Ces.Inputs.AppModelSettingsArgs
            {
                Model = "gemini-1.5-flash",
                Temperature = 0.5,
            },
            EvaluationMetricsThresholds = new Gcp.Ces.Inputs.AppEvaluationMetricsThresholdsArgs
            {
                GoldenEvaluationMetricsThresholds = new Gcp.Ces.Inputs.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsArgs
                {
                    TurnLevelMetricsThresholds = new Gcp.Ces.Inputs.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholdsArgs
                    {
                        SemanticSimilaritySuccessThreshold = 3,
                        OverallToolInvocationCorrectnessThreshold = 1,
                    },
                    ExpectationLevelMetricsThresholds = new Gcp.Ces.Inputs.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholdsArgs
                    {
                        ToolInvocationParameterCorrectnessThreshold = 1,
                    },
                },
            },
            VariableDeclarations = new[]
            {
                new Gcp.Ces.Inputs.AppVariableDeclarationArgs
                {
                    Name = "test",
                    Description = "test",
                    Schema = new Gcp.Ces.Inputs.AppVariableDeclarationSchemaArgs
                    {
                        Description = "schema description",
                        Type = "ARRAY",
                        Nullable = true,
                        Requireds = new[]
                        {
                            "some_property",
                        },
                        Enums = new[]
                        {
                            "VALUE_A",
                            "VALUE_B",
                        },
                        Ref = "#/defs/MyDefinition",
                        UniqueItems = true,
                        Defs = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["SimpleString"] = new Dictionary<string, object?>
                            {
                                ["type"] = "STRING",
                                ["description"] = "A simple string definition",
                            },
                        }),
                        AnyOf = JsonSerializer.Serialize(new[]
                        {
                            new Dictionary<string, object?>
                            {
                                ["type"] = "STRING",
                                ["description"] = "any_of option 1: string",
                            },
                        }),
                        Default = JsonSerializer.Serialize(false),
                        PrefixItems = JsonSerializer.Serialize(new[]
                        {
                            new Dictionary<string, object?>
                            {
                                ["type"] = "ARRAY",
                                ["description"] = "prefix item 1",
                            },
                        }),
                        AdditionalProperties = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["type"] = "BOOLEAN",
                        }),
                        Properties = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["name"] = new Dictionary<string, object?>
                            {
                                ["type"] = "STRING",
                                ["description"] = "A name",
                            },
                        }),
                        Items = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["type"] = "ARRAY",
                            ["description"] = "An array",
                        }),
                    },
                },
            },
            GlobalInstruction = "You are a virtual assistant for an e-commerce platform. Be friendly and helpful.",
            Guardrails = new[] {},
            DefaultChannelProfile = new Gcp.Ces.Inputs.AppDefaultChannelProfileArgs
            {
                ChannelType = "WEB_UI",
                DisableBargeInControl = false,
                DisableDtmf = true,
                PersonaProperty = new Gcp.Ces.Inputs.AppDefaultChannelProfilePersonaPropertyArgs
                {
                    Persona = "CONCISE",
                },
                ProfileId = "profile-id",
                WebWidgetConfig = new Gcp.Ces.Inputs.AppDefaultChannelProfileWebWidgetConfigArgs
                {
                    Modality = "CHAT_ONLY",
                    Theme = "LIGHT",
                    WebWidgetTitle = "Help Assistant",
                },
            },
            Metadata = 
            {
                { "deployment_env", "test" },
            },
            TimeZoneSettings = new Gcp.Ces.Inputs.AppTimeZoneSettingsArgs
            {
                TimeZone = "America/Los_Angeles",
            },
        });
    
    });
    
    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.AppLanguageSettingsArgs;
    import com.pulumi.gcp.ces.inputs.AppAudioProcessingConfigArgs;
    import com.pulumi.gcp.ces.inputs.AppAudioProcessingConfigBargeInConfigArgs;
    import com.pulumi.gcp.ces.inputs.AppAudioProcessingConfigAmbientSoundConfigArgs;
    import com.pulumi.gcp.ces.inputs.AppLoggingSettingsArgs;
    import com.pulumi.gcp.ces.inputs.AppLoggingSettingsRedactionConfigArgs;
    import com.pulumi.gcp.ces.inputs.AppLoggingSettingsAudioRecordingConfigArgs;
    import com.pulumi.gcp.ces.inputs.AppLoggingSettingsBigqueryExportSettingsArgs;
    import com.pulumi.gcp.ces.inputs.AppLoggingSettingsCloudLoggingSettingsArgs;
    import com.pulumi.gcp.ces.inputs.AppLoggingSettingsConversationLoggingSettingsArgs;
    import com.pulumi.gcp.ces.inputs.AppModelSettingsArgs;
    import com.pulumi.gcp.ces.inputs.AppEvaluationMetricsThresholdsArgs;
    import com.pulumi.gcp.ces.inputs.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsArgs;
    import com.pulumi.gcp.ces.inputs.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholdsArgs;
    import com.pulumi.gcp.ces.inputs.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholdsArgs;
    import com.pulumi.gcp.ces.inputs.AppVariableDeclarationArgs;
    import com.pulumi.gcp.ces.inputs.AppVariableDeclarationSchemaArgs;
    import com.pulumi.gcp.ces.inputs.AppDefaultChannelProfileArgs;
    import com.pulumi.gcp.ces.inputs.AppDefaultChannelProfilePersonaPropertyArgs;
    import com.pulumi.gcp.ces.inputs.AppDefaultChannelProfileWebWidgetConfigArgs;
    import com.pulumi.gcp.ces.inputs.AppTimeZoneSettingsArgs;
    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 cesAppAmbientSoundGcsUri = new App("cesAppAmbientSoundGcsUri", AppArgs.builder()
                .appId("app-id")
                .location("us")
                .description("Basic CES App example")
                .displayName("my-app-ambient-sound-gcs-uri")
                .languageSettings(AppLanguageSettingsArgs.builder()
                    .defaultLanguageCode("en-US")
                    .supportedLanguageCodes(                
                        "es-ES",
                        "fr-FR")
                    .enableMultilingualSupport(true)
                    .fallbackAction("escalate")
                    .build())
                .audioProcessingConfig(AppAudioProcessingConfigArgs.builder()
                    .synthesizeSpeechConfigs(                
                        AppAudioProcessingConfigSynthesizeSpeechConfigArgs.builder()
                            .languageCode("en-US")
                            .voice("en-US-Standard-A")
                            .speakingRate(1.0)
                            .build(),
                        AppAudioProcessingConfigSynthesizeSpeechConfigArgs.builder()
                            .languageCode("es-ES")
                            .voice("es-ES-Standard-A")
                            .speakingRate(0.95)
                            .build())
                    .bargeInConfig(AppAudioProcessingConfigBargeInConfigArgs.builder()
                        .bargeInAwareness(true)
                        .build())
                    .inactivityTimeout("300s")
                    .ambientSoundConfig(AppAudioProcessingConfigAmbientSoundConfigArgs.builder()
                        .gcsUri("gs://fake-bucket/sounds/ambient.wav")
                        .volumeGainDb(-6.0)
                        .build())
                    .build())
                .loggingSettings(AppLoggingSettingsArgs.builder()
                    .redactionConfig(AppLoggingSettingsRedactionConfigArgs.builder()
                        .enableRedaction(true)
                        .inspectTemplate("projects/fake-project/locations/us/inspectTemplates/example-inspect")
                        .deidentifyTemplate("projects/fake-project/locations/us/deidentifyTemplates/example-deidentify")
                        .build())
                    .audioRecordingConfig(AppLoggingSettingsAudioRecordingConfigArgs.builder()
                        .gcsBucket("gs://fake-app-audio-recordings")
                        .gcsPathPrefix("projects/fake-project/location/us/app/fake-app/123/$session/123")
                        .build())
                    .bigqueryExportSettings(AppLoggingSettingsBigqueryExportSettingsArgs.builder()
                        .dataset("projects/fake-project/datasets/fake_app_logs")
                        .enabled(false)
                        .project("projects/fake-project")
                        .build())
                    .cloudLoggingSettings(AppLoggingSettingsCloudLoggingSettingsArgs.builder()
                        .enableCloudLogging(true)
                        .build())
                    .conversationLoggingSettings(AppLoggingSettingsConversationLoggingSettingsArgs.builder()
                        .disableConversationLogging(true)
                        .build())
                    .build())
                .modelSettings(AppModelSettingsArgs.builder()
                    .model("gemini-1.5-flash")
                    .temperature(0.5)
                    .build())
                .evaluationMetricsThresholds(AppEvaluationMetricsThresholdsArgs.builder()
                    .goldenEvaluationMetricsThresholds(AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsArgs.builder()
                        .turnLevelMetricsThresholds(AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholdsArgs.builder()
                            .semanticSimilaritySuccessThreshold(3)
                            .overallToolInvocationCorrectnessThreshold(1.0)
                            .build())
                        .expectationLevelMetricsThresholds(AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholdsArgs.builder()
                            .toolInvocationParameterCorrectnessThreshold(1.0)
                            .build())
                        .build())
                    .build())
                .variableDeclarations(AppVariableDeclarationArgs.builder()
                    .name("test")
                    .description("test")
                    .schema(AppVariableDeclarationSchemaArgs.builder()
                        .description("schema description")
                        .type("ARRAY")
                        .nullable(true)
                        .requireds("some_property")
                        .enums(                    
                            "VALUE_A",
                            "VALUE_B")
                        .ref("#/defs/MyDefinition")
                        .uniqueItems(true)
                        .defs(serializeJson(
                            jsonObject(
                                jsonProperty("SimpleString", jsonObject(
                                    jsonProperty("type", "STRING"),
                                    jsonProperty("description", "A simple string definition")
                                ))
                            )))
                        .anyOf(serializeJson(
                            jsonArray(jsonObject(
                                jsonProperty("type", "STRING"),
                                jsonProperty("description", "any_of option 1: string")
                            ))))
                        .default_(serializeJson(
                            false))
                        .prefixItems(serializeJson(
                            jsonArray(jsonObject(
                                jsonProperty("type", "ARRAY"),
                                jsonProperty("description", "prefix item 1")
                            ))))
                        .additionalProperties(serializeJson(
                            jsonObject(
                                jsonProperty("type", "BOOLEAN")
                            )))
                        .properties(serializeJson(
                            jsonObject(
                                jsonProperty("name", jsonObject(
                                    jsonProperty("type", "STRING"),
                                    jsonProperty("description", "A name")
                                ))
                            )))
                        .items(serializeJson(
                            jsonObject(
                                jsonProperty("type", "ARRAY"),
                                jsonProperty("description", "An array")
                            )))
                        .build())
                    .build())
                .globalInstruction("You are a virtual assistant for an e-commerce platform. Be friendly and helpful.")
                .guardrails()
                .defaultChannelProfile(AppDefaultChannelProfileArgs.builder()
                    .channelType("WEB_UI")
                    .disableBargeInControl(false)
                    .disableDtmf(true)
                    .personaProperty(AppDefaultChannelProfilePersonaPropertyArgs.builder()
                        .persona("CONCISE")
                        .build())
                    .profileId("profile-id")
                    .webWidgetConfig(AppDefaultChannelProfileWebWidgetConfigArgs.builder()
                        .modality("CHAT_ONLY")
                        .theme("LIGHT")
                        .webWidgetTitle("Help Assistant")
                        .build())
                    .build())
                .metadata(Map.of("deployment_env", "test"))
                .timeZoneSettings(AppTimeZoneSettingsArgs.builder()
                    .timeZone("America/Los_Angeles")
                    .build())
                .build());
    
        }
    }
    
    resources:
      cesAppAmbientSoundGcsUri:
        type: gcp:ces:App
        name: ces_app_ambient_sound_gcs_uri
        properties:
          appId: app-id
          location: us
          description: Basic CES App example
          displayName: my-app-ambient-sound-gcs-uri
          languageSettings:
            defaultLanguageCode: en-US
            supportedLanguageCodes:
              - es-ES
              - fr-FR
            enableMultilingualSupport: true
            fallbackAction: escalate
          audioProcessingConfig:
            synthesizeSpeechConfigs:
              - languageCode: en-US
                voice: en-US-Standard-A
                speakingRate: 1
              - languageCode: es-ES
                voice: es-ES-Standard-A
                speakingRate: 0.95
            bargeInConfig:
              bargeInAwareness: true
            inactivityTimeout: 300s
            ambientSoundConfig:
              gcsUri: gs://fake-bucket/sounds/ambient.wav
              volumeGainDb: -6
          loggingSettings:
            redactionConfig:
              enableRedaction: true
              inspectTemplate: projects/fake-project/locations/us/inspectTemplates/example-inspect
              deidentifyTemplate: projects/fake-project/locations/us/deidentifyTemplates/example-deidentify
            audioRecordingConfig:
              gcsBucket: gs://fake-app-audio-recordings
              gcsPathPrefix: projects/fake-project/location/us/app/fake-app/123/$session/123
            bigqueryExportSettings:
              dataset: projects/fake-project/datasets/fake_app_logs
              enabled: false
              project: projects/fake-project
            cloudLoggingSettings:
              enableCloudLogging: true
            conversationLoggingSettings:
              disableConversationLogging: true
          modelSettings:
            model: gemini-1.5-flash
            temperature: 0.5
          evaluationMetricsThresholds:
            goldenEvaluationMetricsThresholds:
              turnLevelMetricsThresholds:
                semanticSimilaritySuccessThreshold: 3
                overallToolInvocationCorrectnessThreshold: 1
              expectationLevelMetricsThresholds:
                toolInvocationParameterCorrectnessThreshold: 1
          variableDeclarations:
            - name: test
              description: test
              schema:
                description: schema description
                type: ARRAY
                nullable: true
                requireds:
                  - some_property
                enums:
                  - VALUE_A
                  - VALUE_B
                ref: '#/defs/MyDefinition'
                uniqueItems: true
                defs:
                  fn::toJSON:
                    SimpleString:
                      type: STRING
                      description: A simple string definition
                anyOf:
                  fn::toJSON:
                    - type: STRING
                      description: 'any_of option 1: string'
                default:
                  fn::toJSON: false
                prefixItems:
                  fn::toJSON:
                    - type: ARRAY
                      description: prefix item 1
                additionalProperties:
                  fn::toJSON:
                    type: BOOLEAN
                properties:
                  fn::toJSON:
                    name:
                      type: STRING
                      description: A name
                items:
                  fn::toJSON:
                    type: ARRAY
                    description: An array
          globalInstruction: You are a virtual assistant for an e-commerce platform. Be friendly and helpful.
          guardrails: []
          defaultChannelProfile:
            channelType: WEB_UI
            disableBargeInControl: false
            disableDtmf: true
            personaProperty:
              persona: CONCISE
            profileId: profile-id
            webWidgetConfig:
              modality: CHAT_ONLY
              theme: LIGHT
              webWidgetTitle: Help Assistant
          metadata:
            deployment_env: test
          timeZoneSettings:
            timeZone: America/Los_Angeles
    

    Create App Resource

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

    Constructor syntax

    new App(name: string, args: AppArgs, opts?: CustomResourceOptions);
    @overload
    def App(resource_name: str,
            args: AppArgs,
            opts: Optional[ResourceOptions] = None)
    
    @overload
    def App(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            display_name: Optional[str] = None,
            location: Optional[str] = None,
            app_id: Optional[str] = None,
            global_instruction: Optional[str] = None,
            language_settings: Optional[AppLanguageSettingsArgs] = None,
            description: Optional[str] = None,
            data_store_settings: Optional[AppDataStoreSettingsArgs] = None,
            evaluation_metrics_thresholds: Optional[AppEvaluationMetricsThresholdsArgs] = None,
            client_certificate_settings: Optional[AppClientCertificateSettingsArgs] = None,
            guardrails: Optional[Sequence[str]] = None,
            default_channel_profile: Optional[AppDefaultChannelProfileArgs] = None,
            audio_processing_config: Optional[AppAudioProcessingConfigArgs] = None,
            logging_settings: Optional[AppLoggingSettingsArgs] = None,
            metadata: Optional[Mapping[str, str]] = None,
            model_settings: Optional[AppModelSettingsArgs] = None,
            project: Optional[str] = None,
            root_agent: Optional[str] = None,
            time_zone_settings: Optional[AppTimeZoneSettingsArgs] = None,
            variable_declarations: Optional[Sequence[AppVariableDeclarationArgs]] = None)
    func NewApp(ctx *Context, name string, args AppArgs, opts ...ResourceOption) (*App, error)
    public App(string name, AppArgs args, CustomResourceOptions? opts = null)
    public App(String name, AppArgs args)
    public App(String name, AppArgs args, CustomResourceOptions options)
    
    type: gcp:ces:App
    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 AppArgs
    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 AppArgs
    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 AppArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AppArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AppArgs
    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 appResource = new Gcp.Ces.App("appResource", new()
    {
        DisplayName = "string",
        Location = "string",
        AppId = "string",
        GlobalInstruction = "string",
        LanguageSettings = new Gcp.Ces.Inputs.AppLanguageSettingsArgs
        {
            DefaultLanguageCode = "string",
            EnableMultilingualSupport = false,
            FallbackAction = "string",
            SupportedLanguageCodes = new[]
            {
                "string",
            },
        },
        Description = "string",
        DataStoreSettings = new Gcp.Ces.Inputs.AppDataStoreSettingsArgs
        {
            Engines = new[]
            {
                new Gcp.Ces.Inputs.AppDataStoreSettingsEngineArgs
                {
                    Name = "string",
                    Type = "string",
                },
            },
        },
        EvaluationMetricsThresholds = new Gcp.Ces.Inputs.AppEvaluationMetricsThresholdsArgs
        {
            GoldenEvaluationMetricsThresholds = new Gcp.Ces.Inputs.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsArgs
            {
                ExpectationLevelMetricsThresholds = new Gcp.Ces.Inputs.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholdsArgs
                {
                    ToolInvocationParameterCorrectnessThreshold = 0,
                },
                TurnLevelMetricsThresholds = new Gcp.Ces.Inputs.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholdsArgs
                {
                    OverallToolInvocationCorrectnessThreshold = 0,
                    SemanticSimilaritySuccessThreshold = 0,
                },
            },
        },
        ClientCertificateSettings = new Gcp.Ces.Inputs.AppClientCertificateSettingsArgs
        {
            PrivateKey = "string",
            TlsCertificate = "string",
            Passphrase = "string",
        },
        Guardrails = new[]
        {
            "string",
        },
        DefaultChannelProfile = new Gcp.Ces.Inputs.AppDefaultChannelProfileArgs
        {
            ChannelType = "string",
            DisableBargeInControl = false,
            DisableDtmf = false,
            PersonaProperty = new Gcp.Ces.Inputs.AppDefaultChannelProfilePersonaPropertyArgs
            {
                Persona = "string",
            },
            ProfileId = "string",
            WebWidgetConfig = new Gcp.Ces.Inputs.AppDefaultChannelProfileWebWidgetConfigArgs
            {
                Modality = "string",
                Theme = "string",
                WebWidgetTitle = "string",
            },
        },
        AudioProcessingConfig = new Gcp.Ces.Inputs.AppAudioProcessingConfigArgs
        {
            AmbientSoundConfig = new Gcp.Ces.Inputs.AppAudioProcessingConfigAmbientSoundConfigArgs
            {
                GcsUri = "string",
                PrebuiltAmbientSound = "string",
                VolumeGainDb = 0,
            },
            BargeInConfig = new Gcp.Ces.Inputs.AppAudioProcessingConfigBargeInConfigArgs
            {
                BargeInAwareness = false,
            },
            InactivityTimeout = "string",
            SynthesizeSpeechConfigs = new[]
            {
                new Gcp.Ces.Inputs.AppAudioProcessingConfigSynthesizeSpeechConfigArgs
                {
                    LanguageCode = "string",
                    SpeakingRate = 0,
                    Voice = "string",
                },
            },
        },
        LoggingSettings = new Gcp.Ces.Inputs.AppLoggingSettingsArgs
        {
            AudioRecordingConfig = new Gcp.Ces.Inputs.AppLoggingSettingsAudioRecordingConfigArgs
            {
                GcsBucket = "string",
                GcsPathPrefix = "string",
            },
            BigqueryExportSettings = new Gcp.Ces.Inputs.AppLoggingSettingsBigqueryExportSettingsArgs
            {
                Dataset = "string",
                Enabled = false,
                Project = "string",
            },
            CloudLoggingSettings = new Gcp.Ces.Inputs.AppLoggingSettingsCloudLoggingSettingsArgs
            {
                EnableCloudLogging = false,
            },
            ConversationLoggingSettings = new Gcp.Ces.Inputs.AppLoggingSettingsConversationLoggingSettingsArgs
            {
                DisableConversationLogging = false,
            },
            RedactionConfig = new Gcp.Ces.Inputs.AppLoggingSettingsRedactionConfigArgs
            {
                DeidentifyTemplate = "string",
                EnableRedaction = false,
                InspectTemplate = "string",
            },
        },
        Metadata = 
        {
            { "string", "string" },
        },
        ModelSettings = new Gcp.Ces.Inputs.AppModelSettingsArgs
        {
            Model = "string",
            Temperature = 0,
        },
        Project = "string",
        RootAgent = "string",
        TimeZoneSettings = new Gcp.Ces.Inputs.AppTimeZoneSettingsArgs
        {
            TimeZone = "string",
        },
        VariableDeclarations = new[]
        {
            new Gcp.Ces.Inputs.AppVariableDeclarationArgs
            {
                Description = "string",
                Name = "string",
                Schema = new Gcp.Ces.Inputs.AppVariableDeclarationSchemaArgs
                {
                    Type = "string",
                    Items = "string",
                    Default = "string",
                    Defs = "string",
                    Description = "string",
                    Enums = new[]
                    {
                        "string",
                    },
                    AdditionalProperties = "string",
                    Nullable = false,
                    PrefixItems = "string",
                    Properties = "string",
                    Ref = "string",
                    Requireds = new[]
                    {
                        "string",
                    },
                    AnyOf = "string",
                    UniqueItems = false,
                },
            },
        },
    });
    
    example, err := ces.NewApp(ctx, "appResource", &ces.AppArgs{
    	DisplayName:       pulumi.String("string"),
    	Location:          pulumi.String("string"),
    	AppId:             pulumi.String("string"),
    	GlobalInstruction: pulumi.String("string"),
    	LanguageSettings: &ces.AppLanguageSettingsArgs{
    		DefaultLanguageCode:       pulumi.String("string"),
    		EnableMultilingualSupport: pulumi.Bool(false),
    		FallbackAction:            pulumi.String("string"),
    		SupportedLanguageCodes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	Description: pulumi.String("string"),
    	DataStoreSettings: &ces.AppDataStoreSettingsArgs{
    		Engines: ces.AppDataStoreSettingsEngineArray{
    			&ces.AppDataStoreSettingsEngineArgs{
    				Name: pulumi.String("string"),
    				Type: pulumi.String("string"),
    			},
    		},
    	},
    	EvaluationMetricsThresholds: &ces.AppEvaluationMetricsThresholdsArgs{
    		GoldenEvaluationMetricsThresholds: &ces.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsArgs{
    			ExpectationLevelMetricsThresholds: &ces.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholdsArgs{
    				ToolInvocationParameterCorrectnessThreshold: pulumi.Float64(0),
    			},
    			TurnLevelMetricsThresholds: &ces.AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholdsArgs{
    				OverallToolInvocationCorrectnessThreshold: pulumi.Float64(0),
    				SemanticSimilaritySuccessThreshold:        pulumi.Int(0),
    			},
    		},
    	},
    	ClientCertificateSettings: &ces.AppClientCertificateSettingsArgs{
    		PrivateKey:     pulumi.String("string"),
    		TlsCertificate: pulumi.String("string"),
    		Passphrase:     pulumi.String("string"),
    	},
    	Guardrails: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	DefaultChannelProfile: &ces.AppDefaultChannelProfileArgs{
    		ChannelType:           pulumi.String("string"),
    		DisableBargeInControl: pulumi.Bool(false),
    		DisableDtmf:           pulumi.Bool(false),
    		PersonaProperty: &ces.AppDefaultChannelProfilePersonaPropertyArgs{
    			Persona: pulumi.String("string"),
    		},
    		ProfileId: pulumi.String("string"),
    		WebWidgetConfig: &ces.AppDefaultChannelProfileWebWidgetConfigArgs{
    			Modality:       pulumi.String("string"),
    			Theme:          pulumi.String("string"),
    			WebWidgetTitle: pulumi.String("string"),
    		},
    	},
    	AudioProcessingConfig: &ces.AppAudioProcessingConfigArgs{
    		AmbientSoundConfig: &ces.AppAudioProcessingConfigAmbientSoundConfigArgs{
    			GcsUri:               pulumi.String("string"),
    			PrebuiltAmbientSound: pulumi.String("string"),
    			VolumeGainDb:         pulumi.Float64(0),
    		},
    		BargeInConfig: &ces.AppAudioProcessingConfigBargeInConfigArgs{
    			BargeInAwareness: pulumi.Bool(false),
    		},
    		InactivityTimeout: pulumi.String("string"),
    		SynthesizeSpeechConfigs: ces.AppAudioProcessingConfigSynthesizeSpeechConfigArray{
    			&ces.AppAudioProcessingConfigSynthesizeSpeechConfigArgs{
    				LanguageCode: pulumi.String("string"),
    				SpeakingRate: pulumi.Float64(0),
    				Voice:        pulumi.String("string"),
    			},
    		},
    	},
    	LoggingSettings: &ces.AppLoggingSettingsArgs{
    		AudioRecordingConfig: &ces.AppLoggingSettingsAudioRecordingConfigArgs{
    			GcsBucket:     pulumi.String("string"),
    			GcsPathPrefix: pulumi.String("string"),
    		},
    		BigqueryExportSettings: &ces.AppLoggingSettingsBigqueryExportSettingsArgs{
    			Dataset: pulumi.String("string"),
    			Enabled: pulumi.Bool(false),
    			Project: pulumi.String("string"),
    		},
    		CloudLoggingSettings: &ces.AppLoggingSettingsCloudLoggingSettingsArgs{
    			EnableCloudLogging: pulumi.Bool(false),
    		},
    		ConversationLoggingSettings: &ces.AppLoggingSettingsConversationLoggingSettingsArgs{
    			DisableConversationLogging: pulumi.Bool(false),
    		},
    		RedactionConfig: &ces.AppLoggingSettingsRedactionConfigArgs{
    			DeidentifyTemplate: pulumi.String("string"),
    			EnableRedaction:    pulumi.Bool(false),
    			InspectTemplate:    pulumi.String("string"),
    		},
    	},
    	Metadata: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	ModelSettings: &ces.AppModelSettingsArgs{
    		Model:       pulumi.String("string"),
    		Temperature: pulumi.Float64(0),
    	},
    	Project:   pulumi.String("string"),
    	RootAgent: pulumi.String("string"),
    	TimeZoneSettings: &ces.AppTimeZoneSettingsArgs{
    		TimeZone: pulumi.String("string"),
    	},
    	VariableDeclarations: ces.AppVariableDeclarationArray{
    		&ces.AppVariableDeclarationArgs{
    			Description: pulumi.String("string"),
    			Name:        pulumi.String("string"),
    			Schema: &ces.AppVariableDeclarationSchemaArgs{
    				Type:        pulumi.String("string"),
    				Items:       pulumi.String("string"),
    				Default:     pulumi.String("string"),
    				Defs:        pulumi.String("string"),
    				Description: pulumi.String("string"),
    				Enums: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				AdditionalProperties: pulumi.String("string"),
    				Nullable:             pulumi.Bool(false),
    				PrefixItems:          pulumi.String("string"),
    				Properties:           pulumi.String("string"),
    				Ref:                  pulumi.String("string"),
    				Requireds: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				AnyOf:       pulumi.String("string"),
    				UniqueItems: pulumi.Bool(false),
    			},
    		},
    	},
    })
    
    var appResource = new App("appResource", AppArgs.builder()
        .displayName("string")
        .location("string")
        .appId("string")
        .globalInstruction("string")
        .languageSettings(AppLanguageSettingsArgs.builder()
            .defaultLanguageCode("string")
            .enableMultilingualSupport(false)
            .fallbackAction("string")
            .supportedLanguageCodes("string")
            .build())
        .description("string")
        .dataStoreSettings(AppDataStoreSettingsArgs.builder()
            .engines(AppDataStoreSettingsEngineArgs.builder()
                .name("string")
                .type("string")
                .build())
            .build())
        .evaluationMetricsThresholds(AppEvaluationMetricsThresholdsArgs.builder()
            .goldenEvaluationMetricsThresholds(AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsArgs.builder()
                .expectationLevelMetricsThresholds(AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholdsArgs.builder()
                    .toolInvocationParameterCorrectnessThreshold(0.0)
                    .build())
                .turnLevelMetricsThresholds(AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholdsArgs.builder()
                    .overallToolInvocationCorrectnessThreshold(0.0)
                    .semanticSimilaritySuccessThreshold(0)
                    .build())
                .build())
            .build())
        .clientCertificateSettings(AppClientCertificateSettingsArgs.builder()
            .privateKey("string")
            .tlsCertificate("string")
            .passphrase("string")
            .build())
        .guardrails("string")
        .defaultChannelProfile(AppDefaultChannelProfileArgs.builder()
            .channelType("string")
            .disableBargeInControl(false)
            .disableDtmf(false)
            .personaProperty(AppDefaultChannelProfilePersonaPropertyArgs.builder()
                .persona("string")
                .build())
            .profileId("string")
            .webWidgetConfig(AppDefaultChannelProfileWebWidgetConfigArgs.builder()
                .modality("string")
                .theme("string")
                .webWidgetTitle("string")
                .build())
            .build())
        .audioProcessingConfig(AppAudioProcessingConfigArgs.builder()
            .ambientSoundConfig(AppAudioProcessingConfigAmbientSoundConfigArgs.builder()
                .gcsUri("string")
                .prebuiltAmbientSound("string")
                .volumeGainDb(0.0)
                .build())
            .bargeInConfig(AppAudioProcessingConfigBargeInConfigArgs.builder()
                .bargeInAwareness(false)
                .build())
            .inactivityTimeout("string")
            .synthesizeSpeechConfigs(AppAudioProcessingConfigSynthesizeSpeechConfigArgs.builder()
                .languageCode("string")
                .speakingRate(0.0)
                .voice("string")
                .build())
            .build())
        .loggingSettings(AppLoggingSettingsArgs.builder()
            .audioRecordingConfig(AppLoggingSettingsAudioRecordingConfigArgs.builder()
                .gcsBucket("string")
                .gcsPathPrefix("string")
                .build())
            .bigqueryExportSettings(AppLoggingSettingsBigqueryExportSettingsArgs.builder()
                .dataset("string")
                .enabled(false)
                .project("string")
                .build())
            .cloudLoggingSettings(AppLoggingSettingsCloudLoggingSettingsArgs.builder()
                .enableCloudLogging(false)
                .build())
            .conversationLoggingSettings(AppLoggingSettingsConversationLoggingSettingsArgs.builder()
                .disableConversationLogging(false)
                .build())
            .redactionConfig(AppLoggingSettingsRedactionConfigArgs.builder()
                .deidentifyTemplate("string")
                .enableRedaction(false)
                .inspectTemplate("string")
                .build())
            .build())
        .metadata(Map.of("string", "string"))
        .modelSettings(AppModelSettingsArgs.builder()
            .model("string")
            .temperature(0.0)
            .build())
        .project("string")
        .rootAgent("string")
        .timeZoneSettings(AppTimeZoneSettingsArgs.builder()
            .timeZone("string")
            .build())
        .variableDeclarations(AppVariableDeclarationArgs.builder()
            .description("string")
            .name("string")
            .schema(AppVariableDeclarationSchemaArgs.builder()
                .type("string")
                .items("string")
                .default_("string")
                .defs("string")
                .description("string")
                .enums("string")
                .additionalProperties("string")
                .nullable(false)
                .prefixItems("string")
                .properties("string")
                .ref("string")
                .requireds("string")
                .anyOf("string")
                .uniqueItems(false)
                .build())
            .build())
        .build());
    
    app_resource = gcp.ces.App("appResource",
        display_name="string",
        location="string",
        app_id="string",
        global_instruction="string",
        language_settings={
            "default_language_code": "string",
            "enable_multilingual_support": False,
            "fallback_action": "string",
            "supported_language_codes": ["string"],
        },
        description="string",
        data_store_settings={
            "engines": [{
                "name": "string",
                "type": "string",
            }],
        },
        evaluation_metrics_thresholds={
            "golden_evaluation_metrics_thresholds": {
                "expectation_level_metrics_thresholds": {
                    "tool_invocation_parameter_correctness_threshold": 0,
                },
                "turn_level_metrics_thresholds": {
                    "overall_tool_invocation_correctness_threshold": 0,
                    "semantic_similarity_success_threshold": 0,
                },
            },
        },
        client_certificate_settings={
            "private_key": "string",
            "tls_certificate": "string",
            "passphrase": "string",
        },
        guardrails=["string"],
        default_channel_profile={
            "channel_type": "string",
            "disable_barge_in_control": False,
            "disable_dtmf": False,
            "persona_property": {
                "persona": "string",
            },
            "profile_id": "string",
            "web_widget_config": {
                "modality": "string",
                "theme": "string",
                "web_widget_title": "string",
            },
        },
        audio_processing_config={
            "ambient_sound_config": {
                "gcs_uri": "string",
                "prebuilt_ambient_sound": "string",
                "volume_gain_db": 0,
            },
            "barge_in_config": {
                "barge_in_awareness": False,
            },
            "inactivity_timeout": "string",
            "synthesize_speech_configs": [{
                "language_code": "string",
                "speaking_rate": 0,
                "voice": "string",
            }],
        },
        logging_settings={
            "audio_recording_config": {
                "gcs_bucket": "string",
                "gcs_path_prefix": "string",
            },
            "bigquery_export_settings": {
                "dataset": "string",
                "enabled": False,
                "project": "string",
            },
            "cloud_logging_settings": {
                "enable_cloud_logging": False,
            },
            "conversation_logging_settings": {
                "disable_conversation_logging": False,
            },
            "redaction_config": {
                "deidentify_template": "string",
                "enable_redaction": False,
                "inspect_template": "string",
            },
        },
        metadata={
            "string": "string",
        },
        model_settings={
            "model": "string",
            "temperature": 0,
        },
        project="string",
        root_agent="string",
        time_zone_settings={
            "time_zone": "string",
        },
        variable_declarations=[{
            "description": "string",
            "name": "string",
            "schema": {
                "type": "string",
                "items": "string",
                "default": "string",
                "defs": "string",
                "description": "string",
                "enums": ["string"],
                "additional_properties": "string",
                "nullable": False,
                "prefix_items": "string",
                "properties": "string",
                "ref": "string",
                "requireds": ["string"],
                "any_of": "string",
                "unique_items": False,
            },
        }])
    
    const appResource = new gcp.ces.App("appResource", {
        displayName: "string",
        location: "string",
        appId: "string",
        globalInstruction: "string",
        languageSettings: {
            defaultLanguageCode: "string",
            enableMultilingualSupport: false,
            fallbackAction: "string",
            supportedLanguageCodes: ["string"],
        },
        description: "string",
        dataStoreSettings: {
            engines: [{
                name: "string",
                type: "string",
            }],
        },
        evaluationMetricsThresholds: {
            goldenEvaluationMetricsThresholds: {
                expectationLevelMetricsThresholds: {
                    toolInvocationParameterCorrectnessThreshold: 0,
                },
                turnLevelMetricsThresholds: {
                    overallToolInvocationCorrectnessThreshold: 0,
                    semanticSimilaritySuccessThreshold: 0,
                },
            },
        },
        clientCertificateSettings: {
            privateKey: "string",
            tlsCertificate: "string",
            passphrase: "string",
        },
        guardrails: ["string"],
        defaultChannelProfile: {
            channelType: "string",
            disableBargeInControl: false,
            disableDtmf: false,
            personaProperty: {
                persona: "string",
            },
            profileId: "string",
            webWidgetConfig: {
                modality: "string",
                theme: "string",
                webWidgetTitle: "string",
            },
        },
        audioProcessingConfig: {
            ambientSoundConfig: {
                gcsUri: "string",
                prebuiltAmbientSound: "string",
                volumeGainDb: 0,
            },
            bargeInConfig: {
                bargeInAwareness: false,
            },
            inactivityTimeout: "string",
            synthesizeSpeechConfigs: [{
                languageCode: "string",
                speakingRate: 0,
                voice: "string",
            }],
        },
        loggingSettings: {
            audioRecordingConfig: {
                gcsBucket: "string",
                gcsPathPrefix: "string",
            },
            bigqueryExportSettings: {
                dataset: "string",
                enabled: false,
                project: "string",
            },
            cloudLoggingSettings: {
                enableCloudLogging: false,
            },
            conversationLoggingSettings: {
                disableConversationLogging: false,
            },
            redactionConfig: {
                deidentifyTemplate: "string",
                enableRedaction: false,
                inspectTemplate: "string",
            },
        },
        metadata: {
            string: "string",
        },
        modelSettings: {
            model: "string",
            temperature: 0,
        },
        project: "string",
        rootAgent: "string",
        timeZoneSettings: {
            timeZone: "string",
        },
        variableDeclarations: [{
            description: "string",
            name: "string",
            schema: {
                type: "string",
                items: "string",
                "default": "string",
                defs: "string",
                description: "string",
                enums: ["string"],
                additionalProperties: "string",
                nullable: false,
                prefixItems: "string",
                properties: "string",
                ref: "string",
                requireds: ["string"],
                anyOf: "string",
                uniqueItems: false,
            },
        }],
    });
    
    type: gcp:ces:App
    properties:
        appId: string
        audioProcessingConfig:
            ambientSoundConfig:
                gcsUri: string
                prebuiltAmbientSound: string
                volumeGainDb: 0
            bargeInConfig:
                bargeInAwareness: false
            inactivityTimeout: string
            synthesizeSpeechConfigs:
                - languageCode: string
                  speakingRate: 0
                  voice: string
        clientCertificateSettings:
            passphrase: string
            privateKey: string
            tlsCertificate: string
        dataStoreSettings:
            engines:
                - name: string
                  type: string
        defaultChannelProfile:
            channelType: string
            disableBargeInControl: false
            disableDtmf: false
            personaProperty:
                persona: string
            profileId: string
            webWidgetConfig:
                modality: string
                theme: string
                webWidgetTitle: string
        description: string
        displayName: string
        evaluationMetricsThresholds:
            goldenEvaluationMetricsThresholds:
                expectationLevelMetricsThresholds:
                    toolInvocationParameterCorrectnessThreshold: 0
                turnLevelMetricsThresholds:
                    overallToolInvocationCorrectnessThreshold: 0
                    semanticSimilaritySuccessThreshold: 0
        globalInstruction: string
        guardrails:
            - string
        languageSettings:
            defaultLanguageCode: string
            enableMultilingualSupport: false
            fallbackAction: string
            supportedLanguageCodes:
                - string
        location: string
        loggingSettings:
            audioRecordingConfig:
                gcsBucket: string
                gcsPathPrefix: string
            bigqueryExportSettings:
                dataset: string
                enabled: false
                project: string
            cloudLoggingSettings:
                enableCloudLogging: false
            conversationLoggingSettings:
                disableConversationLogging: false
            redactionConfig:
                deidentifyTemplate: string
                enableRedaction: false
                inspectTemplate: string
        metadata:
            string: string
        modelSettings:
            model: string
            temperature: 0
        project: string
        rootAgent: string
        timeZoneSettings:
            timeZone: string
        variableDeclarations:
            - description: string
              name: string
              schema:
                additionalProperties: string
                anyOf: string
                default: string
                defs: string
                description: string
                enums:
                    - string
                items: string
                nullable: false
                prefixItems: string
                properties: string
                ref: string
                requireds:
                    - string
                type: string
                uniqueItems: false
    

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

    AppId string
    The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.
    DisplayName string
    Display name of the app.
    Location string
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    AudioProcessingConfig AppAudioProcessingConfig
    Configuration for how the input and output audio should be processed and delivered. Structure is documented below.
    ClientCertificateSettings AppClientCertificateSettings
    The default client certificate settings for the app. Structure is documented below.
    DataStoreSettings AppDataStoreSettings
    Data store related settings for the app. Structure is documented below.
    DefaultChannelProfile AppDefaultChannelProfile
    A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. Structure is documented below.
    Description string
    Human-readable description of the app.
    EvaluationMetricsThresholds AppEvaluationMetricsThresholds
    Threshold settings for metrics in an Evaluation. Structure is documented below.
    GlobalInstruction string
    Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.
    Guardrails List<string>
    List of guardrails for the app. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}
    LanguageSettings AppLanguageSettings
    Language settings of the app. Structure is documented below.
    LoggingSettings AppLoggingSettings
    Settings to describe the logging behaviors for the app. Structure is documented below.
    Metadata Dictionary<string, string>
    Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.
    ModelSettings AppModelSettings
    Model settings contains various configurations for the LLM model. 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.
    RootAgent string
    The root agent is the entry point of the app. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    TimeZoneSettings AppTimeZoneSettings
    TimeZone settings of the app. Structure is documented below.
    VariableDeclarations List<AppVariableDeclaration>
    The declarations of the variables. Structure is documented below.
    AppId string
    The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.
    DisplayName string
    Display name of the app.
    Location string
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    AudioProcessingConfig AppAudioProcessingConfigArgs
    Configuration for how the input and output audio should be processed and delivered. Structure is documented below.
    ClientCertificateSettings AppClientCertificateSettingsArgs
    The default client certificate settings for the app. Structure is documented below.
    DataStoreSettings AppDataStoreSettingsArgs
    Data store related settings for the app. Structure is documented below.
    DefaultChannelProfile AppDefaultChannelProfileArgs
    A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. Structure is documented below.
    Description string
    Human-readable description of the app.
    EvaluationMetricsThresholds AppEvaluationMetricsThresholdsArgs
    Threshold settings for metrics in an Evaluation. Structure is documented below.
    GlobalInstruction string
    Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.
    Guardrails []string
    List of guardrails for the app. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}
    LanguageSettings AppLanguageSettingsArgs
    Language settings of the app. Structure is documented below.
    LoggingSettings AppLoggingSettingsArgs
    Settings to describe the logging behaviors for the app. Structure is documented below.
    Metadata map[string]string
    Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.
    ModelSettings AppModelSettingsArgs
    Model settings contains various configurations for the LLM model. 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.
    RootAgent string
    The root agent is the entry point of the app. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    TimeZoneSettings AppTimeZoneSettingsArgs
    TimeZone settings of the app. Structure is documented below.
    VariableDeclarations []AppVariableDeclarationArgs
    The declarations of the variables. Structure is documented below.
    appId String
    The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.
    displayName String
    Display name of the app.
    location String
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    audioProcessingConfig AppAudioProsingConfig
    Configuration for how the input and output audio should be processed and delivered. Structure is documented below.
    clientCertificateSettings AppClientCertificateSettings
    The default client certificate settings for the app. Structure is documented below.
    dataStoreSettings AppDataStoreSettings
    Data store related settings for the app. Structure is documented below.
    defaultChannelProfile AppDefaultChannelProfile
    A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. Structure is documented below.
    description String
    Human-readable description of the app.
    evaluationMetricsThresholds AppEvaluationMetricsThresholds
    Threshold settings for metrics in an Evaluation. Structure is documented below.
    globalInstruction String
    Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.
    guardrails List<String>
    List of guardrails for the app. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}
    languageSettings AppLanguageSettings
    Language settings of the app. Structure is documented below.
    loggingSettings AppLoggingSettings
    Settings to describe the logging behaviors for the app. Structure is documented below.
    metadata Map<String,String>
    Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.
    modelSettings AppModelSettings
    Model settings contains various configurations for the LLM model. 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.
    rootAgent String
    The root agent is the entry point of the app. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    timeZoneSettings AppTimeZoneSettings
    TimeZone settings of the app. Structure is documented below.
    variableDeclarations List<AppVariableDeclaration>
    The declarations of the variables. Structure is documented below.
    appId string
    The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.
    displayName string
    Display name of the app.
    location string
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    audioProcessingConfig AppAudioProcessingConfig
    Configuration for how the input and output audio should be processed and delivered. Structure is documented below.
    clientCertificateSettings AppClientCertificateSettings
    The default client certificate settings for the app. Structure is documented below.
    dataStoreSettings AppDataStoreSettings
    Data store related settings for the app. Structure is documented below.
    defaultChannelProfile AppDefaultChannelProfile
    A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. Structure is documented below.
    description string
    Human-readable description of the app.
    evaluationMetricsThresholds AppEvaluationMetricsThresholds
    Threshold settings for metrics in an Evaluation. Structure is documented below.
    globalInstruction string
    Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.
    guardrails string[]
    List of guardrails for the app. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}
    languageSettings AppLanguageSettings
    Language settings of the app. Structure is documented below.
    loggingSettings AppLoggingSettings
    Settings to describe the logging behaviors for the app. Structure is documented below.
    metadata {[key: string]: string}
    Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.
    modelSettings AppModelSettings
    Model settings contains various configurations for the LLM model. 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.
    rootAgent string
    The root agent is the entry point of the app. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    timeZoneSettings AppTimeZoneSettings
    TimeZone settings of the app. Structure is documented below.
    variableDeclarations AppVariableDeclaration[]
    The declarations of the variables. Structure is documented below.
    app_id str
    The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.
    display_name str
    Display name of the app.
    location str
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    audio_processing_config AppAudioProcessingConfigArgs
    Configuration for how the input and output audio should be processed and delivered. Structure is documented below.
    client_certificate_settings AppClientCertificateSettingsArgs
    The default client certificate settings for the app. Structure is documented below.
    data_store_settings AppDataStoreSettingsArgs
    Data store related settings for the app. Structure is documented below.
    default_channel_profile AppDefaultChannelProfileArgs
    A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. Structure is documented below.
    description str
    Human-readable description of the app.
    evaluation_metrics_thresholds AppEvaluationMetricsThresholdsArgs
    Threshold settings for metrics in an Evaluation. Structure is documented below.
    global_instruction str
    Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.
    guardrails Sequence[str]
    List of guardrails for the app. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}
    language_settings AppLanguageSettingsArgs
    Language settings of the app. Structure is documented below.
    logging_settings AppLoggingSettingsArgs
    Settings to describe the logging behaviors for the app. Structure is documented below.
    metadata Mapping[str, str]
    Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.
    model_settings AppModelSettingsArgs
    Model settings contains various configurations for the LLM model. 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.
    root_agent str
    The root agent is the entry point of the app. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    time_zone_settings AppTimeZoneSettingsArgs
    TimeZone settings of the app. Structure is documented below.
    variable_declarations Sequence[AppVariableDeclarationArgs]
    The declarations of the variables. Structure is documented below.
    appId String
    The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.
    displayName String
    Display name of the app.
    location String
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    audioProcessingConfig Property Map
    Configuration for how the input and output audio should be processed and delivered. Structure is documented below.
    clientCertificateSettings Property Map
    The default client certificate settings for the app. Structure is documented below.
    dataStoreSettings Property Map
    Data store related settings for the app. Structure is documented below.
    defaultChannelProfile Property Map
    A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. Structure is documented below.
    description String
    Human-readable description of the app.
    evaluationMetricsThresholds Property Map
    Threshold settings for metrics in an Evaluation. Structure is documented below.
    globalInstruction String
    Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.
    guardrails List<String>
    List of guardrails for the app. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}
    languageSettings Property Map
    Language settings of the app. Structure is documented below.
    loggingSettings Property Map
    Settings to describe the logging behaviors for the app. Structure is documented below.
    metadata Map<String>
    Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.
    modelSettings Property Map
    Model settings contains various configurations for the LLM model. 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.
    rootAgent String
    The root agent is the entry point of the app. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    timeZoneSettings Property Map
    TimeZone settings of the app. Structure is documented below.
    variableDeclarations List<Property Map>
    The declarations of the variables. Structure is documented below.

    Outputs

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

    CreateTime string
    Timestamp when the app was created.
    DeploymentCount int
    Number of deployments in the app.
    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.
    Name string
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    UpdateTime string
    Timestamp when the app was last updated.
    CreateTime string
    Timestamp when the app was created.
    DeploymentCount int
    Number of deployments in the app.
    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.
    Name string
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    UpdateTime string
    Timestamp when the app was last updated.
    createTime String
    Timestamp when the app was created.
    deploymentCount Integer
    Number of deployments in the app.
    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.
    name String
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    updateTime String
    Timestamp when the app was last updated.
    createTime string
    Timestamp when the app was created.
    deploymentCount number
    Number of deployments in the app.
    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.
    name string
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    updateTime string
    Timestamp when the app was last updated.
    create_time str
    Timestamp when the app was created.
    deployment_count int
    Number of deployments in the app.
    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.
    name str
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    update_time str
    Timestamp when the app was last updated.
    createTime String
    Timestamp when the app was created.
    deploymentCount Number
    Number of deployments in the app.
    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.
    name String
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    updateTime String
    Timestamp when the app was last updated.

    Look up Existing App Resource

    Get an existing App 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?: AppState, opts?: CustomResourceOptions): App
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            app_id: Optional[str] = None,
            audio_processing_config: Optional[AppAudioProcessingConfigArgs] = None,
            client_certificate_settings: Optional[AppClientCertificateSettingsArgs] = None,
            create_time: Optional[str] = None,
            data_store_settings: Optional[AppDataStoreSettingsArgs] = None,
            default_channel_profile: Optional[AppDefaultChannelProfileArgs] = None,
            deployment_count: Optional[int] = None,
            description: Optional[str] = None,
            display_name: Optional[str] = None,
            etag: Optional[str] = None,
            evaluation_metrics_thresholds: Optional[AppEvaluationMetricsThresholdsArgs] = None,
            global_instruction: Optional[str] = None,
            guardrails: Optional[Sequence[str]] = None,
            language_settings: Optional[AppLanguageSettingsArgs] = None,
            location: Optional[str] = None,
            logging_settings: Optional[AppLoggingSettingsArgs] = None,
            metadata: Optional[Mapping[str, str]] = None,
            model_settings: Optional[AppModelSettingsArgs] = None,
            name: Optional[str] = None,
            project: Optional[str] = None,
            root_agent: Optional[str] = None,
            time_zone_settings: Optional[AppTimeZoneSettingsArgs] = None,
            update_time: Optional[str] = None,
            variable_declarations: Optional[Sequence[AppVariableDeclarationArgs]] = None) -> App
    func GetApp(ctx *Context, name string, id IDInput, state *AppState, opts ...ResourceOption) (*App, error)
    public static App Get(string name, Input<string> id, AppState? state, CustomResourceOptions? opts = null)
    public static App get(String name, Output<String> id, AppState state, CustomResourceOptions options)
    resources:  _:    type: gcp:ces:App    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:
    AppId string
    The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.
    AudioProcessingConfig AppAudioProcessingConfig
    Configuration for how the input and output audio should be processed and delivered. Structure is documented below.
    ClientCertificateSettings AppClientCertificateSettings
    The default client certificate settings for the app. Structure is documented below.
    CreateTime string
    Timestamp when the app was created.
    DataStoreSettings AppDataStoreSettings
    Data store related settings for the app. Structure is documented below.
    DefaultChannelProfile AppDefaultChannelProfile
    A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. Structure is documented below.
    DeploymentCount int
    Number of deployments in the app.
    Description string
    Human-readable description of the app.
    DisplayName string
    Display name of the app.
    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.
    EvaluationMetricsThresholds AppEvaluationMetricsThresholds
    Threshold settings for metrics in an Evaluation. Structure is documented below.
    GlobalInstruction string
    Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.
    Guardrails List<string>
    List of guardrails for the app. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}
    LanguageSettings AppLanguageSettings
    Language settings of the app. Structure is documented below.
    Location string
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    LoggingSettings AppLoggingSettings
    Settings to describe the logging behaviors for the app. Structure is documented below.
    Metadata Dictionary<string, string>
    Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.
    ModelSettings AppModelSettings
    Model settings contains various configurations for the LLM model. Structure is documented below.
    Name string
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    RootAgent string
    The root agent is the entry point of the app. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    TimeZoneSettings AppTimeZoneSettings
    TimeZone settings of the app. Structure is documented below.
    UpdateTime string
    Timestamp when the app was last updated.
    VariableDeclarations List<AppVariableDeclaration>
    The declarations of the variables. Structure is documented below.
    AppId string
    The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.
    AudioProcessingConfig AppAudioProcessingConfigArgs
    Configuration for how the input and output audio should be processed and delivered. Structure is documented below.
    ClientCertificateSettings AppClientCertificateSettingsArgs
    The default client certificate settings for the app. Structure is documented below.
    CreateTime string
    Timestamp when the app was created.
    DataStoreSettings AppDataStoreSettingsArgs
    Data store related settings for the app. Structure is documented below.
    DefaultChannelProfile AppDefaultChannelProfileArgs
    A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. Structure is documented below.
    DeploymentCount int
    Number of deployments in the app.
    Description string
    Human-readable description of the app.
    DisplayName string
    Display name of the app.
    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.
    EvaluationMetricsThresholds AppEvaluationMetricsThresholdsArgs
    Threshold settings for metrics in an Evaluation. Structure is documented below.
    GlobalInstruction string
    Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.
    Guardrails []string
    List of guardrails for the app. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}
    LanguageSettings AppLanguageSettingsArgs
    Language settings of the app. Structure is documented below.
    Location string
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    LoggingSettings AppLoggingSettingsArgs
    Settings to describe the logging behaviors for the app. Structure is documented below.
    Metadata map[string]string
    Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.
    ModelSettings AppModelSettingsArgs
    Model settings contains various configurations for the LLM model. Structure is documented below.
    Name string
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    RootAgent string
    The root agent is the entry point of the app. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    TimeZoneSettings AppTimeZoneSettingsArgs
    TimeZone settings of the app. Structure is documented below.
    UpdateTime string
    Timestamp when the app was last updated.
    VariableDeclarations []AppVariableDeclarationArgs
    The declarations of the variables. Structure is documented below.
    appId String
    The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.
    audioProcessingConfig AppAudioProsingConfig
    Configuration for how the input and output audio should be processed and delivered. Structure is documented below.
    clientCertificateSettings AppClientCertificateSettings
    The default client certificate settings for the app. Structure is documented below.
    createTime String
    Timestamp when the app was created.
    dataStoreSettings AppDataStoreSettings
    Data store related settings for the app. Structure is documented below.
    defaultChannelProfile AppDefaultChannelProfile
    A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. Structure is documented below.
    deploymentCount Integer
    Number of deployments in the app.
    description String
    Human-readable description of the app.
    displayName String
    Display name of the app.
    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.
    evaluationMetricsThresholds AppEvaluationMetricsThresholds
    Threshold settings for metrics in an Evaluation. Structure is documented below.
    globalInstruction String
    Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.
    guardrails List<String>
    List of guardrails for the app. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}
    languageSettings AppLanguageSettings
    Language settings of the app. Structure is documented below.
    location String
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    loggingSettings AppLoggingSettings
    Settings to describe the logging behaviors for the app. Structure is documented below.
    metadata Map<String,String>
    Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.
    modelSettings AppModelSettings
    Model settings contains various configurations for the LLM model. Structure is documented below.
    name String
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    rootAgent String
    The root agent is the entry point of the app. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    timeZoneSettings AppTimeZoneSettings
    TimeZone settings of the app. Structure is documented below.
    updateTime String
    Timestamp when the app was last updated.
    variableDeclarations List<AppVariableDeclaration>
    The declarations of the variables. Structure is documented below.
    appId string
    The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.
    audioProcessingConfig AppAudioProcessingConfig
    Configuration for how the input and output audio should be processed and delivered. Structure is documented below.
    clientCertificateSettings AppClientCertificateSettings
    The default client certificate settings for the app. Structure is documented below.
    createTime string
    Timestamp when the app was created.
    dataStoreSettings AppDataStoreSettings
    Data store related settings for the app. Structure is documented below.
    defaultChannelProfile AppDefaultChannelProfile
    A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. Structure is documented below.
    deploymentCount number
    Number of deployments in the app.
    description string
    Human-readable description of the app.
    displayName string
    Display name of the app.
    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.
    evaluationMetricsThresholds AppEvaluationMetricsThresholds
    Threshold settings for metrics in an Evaluation. Structure is documented below.
    globalInstruction string
    Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.
    guardrails string[]
    List of guardrails for the app. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}
    languageSettings AppLanguageSettings
    Language settings of the app. Structure is documented below.
    location string
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    loggingSettings AppLoggingSettings
    Settings to describe the logging behaviors for the app. Structure is documented below.
    metadata {[key: string]: string}
    Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.
    modelSettings AppModelSettings
    Model settings contains various configurations for the LLM model. Structure is documented below.
    name string
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    rootAgent string
    The root agent is the entry point of the app. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    timeZoneSettings AppTimeZoneSettings
    TimeZone settings of the app. Structure is documented below.
    updateTime string
    Timestamp when the app was last updated.
    variableDeclarations AppVariableDeclaration[]
    The declarations of the variables. Structure is documented below.
    app_id str
    The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.
    audio_processing_config AppAudioProcessingConfigArgs
    Configuration for how the input and output audio should be processed and delivered. Structure is documented below.
    client_certificate_settings AppClientCertificateSettingsArgs
    The default client certificate settings for the app. Structure is documented below.
    create_time str
    Timestamp when the app was created.
    data_store_settings AppDataStoreSettingsArgs
    Data store related settings for the app. Structure is documented below.
    default_channel_profile AppDefaultChannelProfileArgs
    A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. Structure is documented below.
    deployment_count int
    Number of deployments in the app.
    description str
    Human-readable description of the app.
    display_name str
    Display name of the app.
    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.
    evaluation_metrics_thresholds AppEvaluationMetricsThresholdsArgs
    Threshold settings for metrics in an Evaluation. Structure is documented below.
    global_instruction str
    Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.
    guardrails Sequence[str]
    List of guardrails for the app. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}
    language_settings AppLanguageSettingsArgs
    Language settings of the app. Structure is documented below.
    location str
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    logging_settings AppLoggingSettingsArgs
    Settings to describe the logging behaviors for the app. Structure is documented below.
    metadata Mapping[str, str]
    Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.
    model_settings AppModelSettingsArgs
    Model settings contains various configurations for the LLM model. Structure is documented below.
    name str
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    root_agent str
    The root agent is the entry point of the app. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    time_zone_settings AppTimeZoneSettingsArgs
    TimeZone settings of the app. Structure is documented below.
    update_time str
    Timestamp when the app was last updated.
    variable_declarations Sequence[AppVariableDeclarationArgs]
    The declarations of the variables. Structure is documented below.
    appId String
    The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.
    audioProcessingConfig Property Map
    Configuration for how the input and output audio should be processed and delivered. Structure is documented below.
    clientCertificateSettings Property Map
    The default client certificate settings for the app. Structure is documented below.
    createTime String
    Timestamp when the app was created.
    dataStoreSettings Property Map
    Data store related settings for the app. Structure is documented below.
    defaultChannelProfile Property Map
    A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. Structure is documented below.
    deploymentCount Number
    Number of deployments in the app.
    description String
    Human-readable description of the app.
    displayName String
    Display name of the app.
    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.
    evaluationMetricsThresholds Property Map
    Threshold settings for metrics in an Evaluation. Structure is documented below.
    globalInstruction String
    Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.
    guardrails List<String>
    List of guardrails for the app. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}
    languageSettings Property Map
    Language settings of the app. Structure is documented below.
    location String
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    loggingSettings Property Map
    Settings to describe the logging behaviors for the app. Structure is documented below.
    metadata Map<String>
    Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.
    modelSettings Property Map
    Model settings contains various configurations for the LLM model. Structure is documented below.
    name String
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    rootAgent String
    The root agent is the entry point of the app. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}
    timeZoneSettings Property Map
    TimeZone settings of the app. Structure is documented below.
    updateTime String
    Timestamp when the app was last updated.
    variableDeclarations List<Property Map>
    The declarations of the variables. Structure is documented below.

    Supporting Types

    AppAudioProcessingConfig, AppAudioProcessingConfigArgs

    AmbientSoundConfig AppAudioProcessingConfigAmbientSoundConfig
    Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation. Structure is documented below.
    BargeInConfig AppAudioProcessingConfigBargeInConfig
    Configuration for how the user barge-in activities should be handled. Structure is documented below.
    InactivityTimeout string
    The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement.
    SynthesizeSpeechConfigs List<AppAudioProcessingConfigSynthesizeSpeechConfig>
    Configuration of how the agent response should be synthesized, mapping from the language code to SynthesizeSpeechConfig. If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains "en-us" and "en", and the specified language code is "en-gb", then "en" configuration will be used. Note: Language code is case-insensitive. Structure is documented below.
    AmbientSoundConfig AppAudioProcessingConfigAmbientSoundConfig
    Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation. Structure is documented below.
    BargeInConfig AppAudioProcessingConfigBargeInConfig
    Configuration for how the user barge-in activities should be handled. Structure is documented below.
    InactivityTimeout string
    The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement.
    SynthesizeSpeechConfigs []AppAudioProcessingConfigSynthesizeSpeechConfig
    Configuration of how the agent response should be synthesized, mapping from the language code to SynthesizeSpeechConfig. If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains "en-us" and "en", and the specified language code is "en-gb", then "en" configuration will be used. Note: Language code is case-insensitive. Structure is documented below.
    ambientSoundConfig AppAudioProsingConfigAmbientSoundConfig
    Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation. Structure is documented below.
    bargeInConfig AppAudioProsingConfigBargeInConfig
    Configuration for how the user barge-in activities should be handled. Structure is documented below.
    inactivityTimeout String
    The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement.
    synthesizeSpeechConfigs List<AppAudioProsingConfigSynthesizeSpeechConfig>
    Configuration of how the agent response should be synthesized, mapping from the language code to SynthesizeSpeechConfig. If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains "en-us" and "en", and the specified language code is "en-gb", then "en" configuration will be used. Note: Language code is case-insensitive. Structure is documented below.
    ambientSoundConfig AppAudioProcessingConfigAmbientSoundConfig
    Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation. Structure is documented below.
    bargeInConfig AppAudioProcessingConfigBargeInConfig
    Configuration for how the user barge-in activities should be handled. Structure is documented below.
    inactivityTimeout string
    The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement.
    synthesizeSpeechConfigs AppAudioProcessingConfigSynthesizeSpeechConfig[]
    Configuration of how the agent response should be synthesized, mapping from the language code to SynthesizeSpeechConfig. If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains "en-us" and "en", and the specified language code is "en-gb", then "en" configuration will be used. Note: Language code is case-insensitive. Structure is documented below.
    ambient_sound_config AppAudioProcessingConfigAmbientSoundConfig
    Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation. Structure is documented below.
    barge_in_config AppAudioProcessingConfigBargeInConfig
    Configuration for how the user barge-in activities should be handled. Structure is documented below.
    inactivity_timeout str
    The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement.
    synthesize_speech_configs Sequence[AppAudioProcessingConfigSynthesizeSpeechConfig]
    Configuration of how the agent response should be synthesized, mapping from the language code to SynthesizeSpeechConfig. If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains "en-us" and "en", and the specified language code is "en-gb", then "en" configuration will be used. Note: Language code is case-insensitive. Structure is documented below.
    ambientSoundConfig Property Map
    Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation. Structure is documented below.
    bargeInConfig Property Map
    Configuration for how the user barge-in activities should be handled. Structure is documented below.
    inactivityTimeout String
    The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement.
    synthesizeSpeechConfigs List<Property Map>
    Configuration of how the agent response should be synthesized, mapping from the language code to SynthesizeSpeechConfig. If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains "en-us" and "en", and the specified language code is "en-gb", then "en" configuration will be used. Note: Language code is case-insensitive. Structure is documented below.

    AppAudioProcessingConfigAmbientSoundConfig, AppAudioProcessingConfigAmbientSoundConfigArgs

    GcsUri string
    Ambient noise as a mono-channel, 16kHz WAV file stored in Cloud Storage. Note: Please make sure the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com has storage.objects.get permission to the Cloud Storage object.
    PrebuiltAmbientSound string
    Name of the prebuilt ambient sound. Valid values are: - <span pulumi-lang-nodejs=""coffeeShop"" pulumi-lang-dotnet=""CoffeeShop"" pulumi-lang-go=""coffeeShop"" pulumi-lang-python=""coffee_shop"" pulumi-lang-yaml=""coffeeShop"" pulumi-lang-java=""coffeeShop"">"coffee_shop" - "keyboard" - "keypad" - "hum" -<span pulumi-lang-nodejs=""office1"" pulumi-lang-dotnet=""Office1"" pulumi-lang-go=""office1"" pulumi-lang-python=""office_1"" pulumi-lang-yaml=""office1"" pulumi-lang-java=""office1"">"office_1" - <span pulumi-lang-nodejs=""office2"" pulumi-lang-dotnet=""Office2"" pulumi-lang-go=""office2"" pulumi-lang-python=""office_2"" pulumi-lang-yaml=""office2"" pulumi-lang-java=""office2"">"office_2" - <span pulumi-lang-nodejs=""office3"" pulumi-lang-dotnet=""Office3"" pulumi-lang-go=""office3"" pulumi-lang-python=""office_3"" pulumi-lang-yaml=""office3"" pulumi-lang-java=""office3"">"office_3" -<span pulumi-lang-nodejs=""room1"" pulumi-lang-dotnet=""Room1"" pulumi-lang-go=""room1"" pulumi-lang-python=""room_1"" pulumi-lang-yaml=""room1"" pulumi-lang-java=""room1"">"room_1" - <span pulumi-lang-nodejs=""room2"" pulumi-lang-dotnet=""Room2"" pulumi-lang-go=""room2"" pulumi-lang-python=""room_2"" pulumi-lang-yaml=""room2"" pulumi-lang-java=""room2"">"room_2" - <span pulumi-lang-nodejs=""room3"" pulumi-lang-dotnet=""Room3"" pulumi-lang-go=""room3"" pulumi-lang-python=""room_3"" pulumi-lang-yaml=""room3"" pulumi-lang-java=""room3"">"room_3" -<span pulumi-lang-nodejs=""room4"" pulumi-lang-dotnet=""Room4"" pulumi-lang-go=""room4"" pulumi-lang-python=""room_4"" pulumi-lang-yaml=""room4"" pulumi-lang-java=""room4"">"room_4" - <span pulumi-lang-nodejs=""room5"" pulumi-lang-dotnet=""Room5"" pulumi-lang-go=""room5"" pulumi-lang-python=""room_5"" pulumi-lang-yaml=""room5"" pulumi-lang-java=""room5"">"room_5" - <span pulumi-lang-nodejs=""airConditioner"" pulumi-lang-dotnet=""AirConditioner"" pulumi-lang-go=""airConditioner"" pulumi-lang-python=""air_conditioner"" pulumi-lang-yaml=""airConditioner"" pulumi-lang-java=""airConditioner"">"air_conditioner"
    VolumeGainDb double
    Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.
    GcsUri string
    Ambient noise as a mono-channel, 16kHz WAV file stored in Cloud Storage. Note: Please make sure the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com has storage.objects.get permission to the Cloud Storage object.
    PrebuiltAmbientSound string
    Name of the prebuilt ambient sound. Valid values are: - <span pulumi-lang-nodejs=""coffeeShop"" pulumi-lang-dotnet=""CoffeeShop"" pulumi-lang-go=""coffeeShop"" pulumi-lang-python=""coffee_shop"" pulumi-lang-yaml=""coffeeShop"" pulumi-lang-java=""coffeeShop"">"coffee_shop" - "keyboard" - "keypad" - "hum" -<span pulumi-lang-nodejs=""office1"" pulumi-lang-dotnet=""Office1"" pulumi-lang-go=""office1"" pulumi-lang-python=""office_1"" pulumi-lang-yaml=""office1"" pulumi-lang-java=""office1"">"office_1" - <span pulumi-lang-nodejs=""office2"" pulumi-lang-dotnet=""Office2"" pulumi-lang-go=""office2"" pulumi-lang-python=""office_2"" pulumi-lang-yaml=""office2"" pulumi-lang-java=""office2"">"office_2" - <span pulumi-lang-nodejs=""office3"" pulumi-lang-dotnet=""Office3"" pulumi-lang-go=""office3"" pulumi-lang-python=""office_3"" pulumi-lang-yaml=""office3"" pulumi-lang-java=""office3"">"office_3" -<span pulumi-lang-nodejs=""room1"" pulumi-lang-dotnet=""Room1"" pulumi-lang-go=""room1"" pulumi-lang-python=""room_1"" pulumi-lang-yaml=""room1"" pulumi-lang-java=""room1"">"room_1" - <span pulumi-lang-nodejs=""room2"" pulumi-lang-dotnet=""Room2"" pulumi-lang-go=""room2"" pulumi-lang-python=""room_2"" pulumi-lang-yaml=""room2"" pulumi-lang-java=""room2"">"room_2" - <span pulumi-lang-nodejs=""room3"" pulumi-lang-dotnet=""Room3"" pulumi-lang-go=""room3"" pulumi-lang-python=""room_3"" pulumi-lang-yaml=""room3"" pulumi-lang-java=""room3"">"room_3" -<span pulumi-lang-nodejs=""room4"" pulumi-lang-dotnet=""Room4"" pulumi-lang-go=""room4"" pulumi-lang-python=""room_4"" pulumi-lang-yaml=""room4"" pulumi-lang-java=""room4"">"room_4" - <span pulumi-lang-nodejs=""room5"" pulumi-lang-dotnet=""Room5"" pulumi-lang-go=""room5"" pulumi-lang-python=""room_5"" pulumi-lang-yaml=""room5"" pulumi-lang-java=""room5"">"room_5" - <span pulumi-lang-nodejs=""airConditioner"" pulumi-lang-dotnet=""AirConditioner"" pulumi-lang-go=""airConditioner"" pulumi-lang-python=""air_conditioner"" pulumi-lang-yaml=""airConditioner"" pulumi-lang-java=""airConditioner"">"air_conditioner"
    VolumeGainDb float64
    Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.
    gcsUri String
    Ambient noise as a mono-channel, 16kHz WAV file stored in Cloud Storage. Note: Please make sure the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com has storage.objects.get permission to the Cloud Storage object.
    prebuiltAmbientSound String
    Name of the prebuilt ambient sound. Valid values are: - <span pulumi-lang-nodejs=""coffeeShop"" pulumi-lang-dotnet=""CoffeeShop"" pulumi-lang-go=""coffeeShop"" pulumi-lang-python=""coffee_shop"" pulumi-lang-yaml=""coffeeShop"" pulumi-lang-java=""coffeeShop"">"coffee_shop" - "keyboard" - "keypad" - "hum" -<span pulumi-lang-nodejs=""office1"" pulumi-lang-dotnet=""Office1"" pulumi-lang-go=""office1"" pulumi-lang-python=""office_1"" pulumi-lang-yaml=""office1"" pulumi-lang-java=""office1"">"office_1" - <span pulumi-lang-nodejs=""office2"" pulumi-lang-dotnet=""Office2"" pulumi-lang-go=""office2"" pulumi-lang-python=""office_2"" pulumi-lang-yaml=""office2"" pulumi-lang-java=""office2"">"office_2" - <span pulumi-lang-nodejs=""office3"" pulumi-lang-dotnet=""Office3"" pulumi-lang-go=""office3"" pulumi-lang-python=""office_3"" pulumi-lang-yaml=""office3"" pulumi-lang-java=""office3"">"office_3" -<span pulumi-lang-nodejs=""room1"" pulumi-lang-dotnet=""Room1"" pulumi-lang-go=""room1"" pulumi-lang-python=""room_1"" pulumi-lang-yaml=""room1"" pulumi-lang-java=""room1"">"room_1" - <span pulumi-lang-nodejs=""room2"" pulumi-lang-dotnet=""Room2"" pulumi-lang-go=""room2"" pulumi-lang-python=""room_2"" pulumi-lang-yaml=""room2"" pulumi-lang-java=""room2"">"room_2" - <span pulumi-lang-nodejs=""room3"" pulumi-lang-dotnet=""Room3"" pulumi-lang-go=""room3"" pulumi-lang-python=""room_3"" pulumi-lang-yaml=""room3"" pulumi-lang-java=""room3"">"room_3" -<span pulumi-lang-nodejs=""room4"" pulumi-lang-dotnet=""Room4"" pulumi-lang-go=""room4"" pulumi-lang-python=""room_4"" pulumi-lang-yaml=""room4"" pulumi-lang-java=""room4"">"room_4" - <span pulumi-lang-nodejs=""room5"" pulumi-lang-dotnet=""Room5"" pulumi-lang-go=""room5"" pulumi-lang-python=""room_5"" pulumi-lang-yaml=""room5"" pulumi-lang-java=""room5"">"room_5" - <span pulumi-lang-nodejs=""airConditioner"" pulumi-lang-dotnet=""AirConditioner"" pulumi-lang-go=""airConditioner"" pulumi-lang-python=""air_conditioner"" pulumi-lang-yaml=""airConditioner"" pulumi-lang-java=""airConditioner"">"air_conditioner"
    volumeGainDb Double
    Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.
    gcsUri string
    Ambient noise as a mono-channel, 16kHz WAV file stored in Cloud Storage. Note: Please make sure the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com has storage.objects.get permission to the Cloud Storage object.
    prebuiltAmbientSound string
    Name of the prebuilt ambient sound. Valid values are: - <span pulumi-lang-nodejs=""coffeeShop"" pulumi-lang-dotnet=""CoffeeShop"" pulumi-lang-go=""coffeeShop"" pulumi-lang-python=""coffee_shop"" pulumi-lang-yaml=""coffeeShop"" pulumi-lang-java=""coffeeShop"">"coffee_shop" - "keyboard" - "keypad" - "hum" -<span pulumi-lang-nodejs=""office1"" pulumi-lang-dotnet=""Office1"" pulumi-lang-go=""office1"" pulumi-lang-python=""office_1"" pulumi-lang-yaml=""office1"" pulumi-lang-java=""office1"">"office_1" - <span pulumi-lang-nodejs=""office2"" pulumi-lang-dotnet=""Office2"" pulumi-lang-go=""office2"" pulumi-lang-python=""office_2"" pulumi-lang-yaml=""office2"" pulumi-lang-java=""office2"">"office_2" - <span pulumi-lang-nodejs=""office3"" pulumi-lang-dotnet=""Office3"" pulumi-lang-go=""office3"" pulumi-lang-python=""office_3"" pulumi-lang-yaml=""office3"" pulumi-lang-java=""office3"">"office_3" -<span pulumi-lang-nodejs=""room1"" pulumi-lang-dotnet=""Room1"" pulumi-lang-go=""room1"" pulumi-lang-python=""room_1"" pulumi-lang-yaml=""room1"" pulumi-lang-java=""room1"">"room_1" - <span pulumi-lang-nodejs=""room2"" pulumi-lang-dotnet=""Room2"" pulumi-lang-go=""room2"" pulumi-lang-python=""room_2"" pulumi-lang-yaml=""room2"" pulumi-lang-java=""room2"">"room_2" - <span pulumi-lang-nodejs=""room3"" pulumi-lang-dotnet=""Room3"" pulumi-lang-go=""room3"" pulumi-lang-python=""room_3"" pulumi-lang-yaml=""room3"" pulumi-lang-java=""room3"">"room_3" -<span pulumi-lang-nodejs=""room4"" pulumi-lang-dotnet=""Room4"" pulumi-lang-go=""room4"" pulumi-lang-python=""room_4"" pulumi-lang-yaml=""room4"" pulumi-lang-java=""room4"">"room_4" - <span pulumi-lang-nodejs=""room5"" pulumi-lang-dotnet=""Room5"" pulumi-lang-go=""room5"" pulumi-lang-python=""room_5"" pulumi-lang-yaml=""room5"" pulumi-lang-java=""room5"">"room_5" - <span pulumi-lang-nodejs=""airConditioner"" pulumi-lang-dotnet=""AirConditioner"" pulumi-lang-go=""airConditioner"" pulumi-lang-python=""air_conditioner"" pulumi-lang-yaml=""airConditioner"" pulumi-lang-java=""airConditioner"">"air_conditioner"
    volumeGainDb number
    Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.
    gcs_uri str
    Ambient noise as a mono-channel, 16kHz WAV file stored in Cloud Storage. Note: Please make sure the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com has storage.objects.get permission to the Cloud Storage object.
    prebuilt_ambient_sound str
    Name of the prebuilt ambient sound. Valid values are: - <span pulumi-lang-nodejs=""coffeeShop"" pulumi-lang-dotnet=""CoffeeShop"" pulumi-lang-go=""coffeeShop"" pulumi-lang-python=""coffee_shop"" pulumi-lang-yaml=""coffeeShop"" pulumi-lang-java=""coffeeShop"">"coffee_shop" - "keyboard" - "keypad" - "hum" -<span pulumi-lang-nodejs=""office1"" pulumi-lang-dotnet=""Office1"" pulumi-lang-go=""office1"" pulumi-lang-python=""office_1"" pulumi-lang-yaml=""office1"" pulumi-lang-java=""office1"">"office_1" - <span pulumi-lang-nodejs=""office2"" pulumi-lang-dotnet=""Office2"" pulumi-lang-go=""office2"" pulumi-lang-python=""office_2"" pulumi-lang-yaml=""office2"" pulumi-lang-java=""office2"">"office_2" - <span pulumi-lang-nodejs=""office3"" pulumi-lang-dotnet=""Office3"" pulumi-lang-go=""office3"" pulumi-lang-python=""office_3"" pulumi-lang-yaml=""office3"" pulumi-lang-java=""office3"">"office_3" -<span pulumi-lang-nodejs=""room1"" pulumi-lang-dotnet=""Room1"" pulumi-lang-go=""room1"" pulumi-lang-python=""room_1"" pulumi-lang-yaml=""room1"" pulumi-lang-java=""room1"">"room_1" - <span pulumi-lang-nodejs=""room2"" pulumi-lang-dotnet=""Room2"" pulumi-lang-go=""room2"" pulumi-lang-python=""room_2"" pulumi-lang-yaml=""room2"" pulumi-lang-java=""room2"">"room_2" - <span pulumi-lang-nodejs=""room3"" pulumi-lang-dotnet=""Room3"" pulumi-lang-go=""room3"" pulumi-lang-python=""room_3"" pulumi-lang-yaml=""room3"" pulumi-lang-java=""room3"">"room_3" -<span pulumi-lang-nodejs=""room4"" pulumi-lang-dotnet=""Room4"" pulumi-lang-go=""room4"" pulumi-lang-python=""room_4"" pulumi-lang-yaml=""room4"" pulumi-lang-java=""room4"">"room_4" - <span pulumi-lang-nodejs=""room5"" pulumi-lang-dotnet=""Room5"" pulumi-lang-go=""room5"" pulumi-lang-python=""room_5"" pulumi-lang-yaml=""room5"" pulumi-lang-java=""room5"">"room_5" - <span pulumi-lang-nodejs=""airConditioner"" pulumi-lang-dotnet=""AirConditioner"" pulumi-lang-go=""airConditioner"" pulumi-lang-python=""air_conditioner"" pulumi-lang-yaml=""airConditioner"" pulumi-lang-java=""airConditioner"">"air_conditioner"
    volume_gain_db float
    Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.
    gcsUri String
    Ambient noise as a mono-channel, 16kHz WAV file stored in Cloud Storage. Note: Please make sure the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com has storage.objects.get permission to the Cloud Storage object.
    prebuiltAmbientSound String
    Name of the prebuilt ambient sound. Valid values are: - <span pulumi-lang-nodejs=""coffeeShop"" pulumi-lang-dotnet=""CoffeeShop"" pulumi-lang-go=""coffeeShop"" pulumi-lang-python=""coffee_shop"" pulumi-lang-yaml=""coffeeShop"" pulumi-lang-java=""coffeeShop"">"coffee_shop" - "keyboard" - "keypad" - "hum" -<span pulumi-lang-nodejs=""office1"" pulumi-lang-dotnet=""Office1"" pulumi-lang-go=""office1"" pulumi-lang-python=""office_1"" pulumi-lang-yaml=""office1"" pulumi-lang-java=""office1"">"office_1" - <span pulumi-lang-nodejs=""office2"" pulumi-lang-dotnet=""Office2"" pulumi-lang-go=""office2"" pulumi-lang-python=""office_2"" pulumi-lang-yaml=""office2"" pulumi-lang-java=""office2"">"office_2" - <span pulumi-lang-nodejs=""office3"" pulumi-lang-dotnet=""Office3"" pulumi-lang-go=""office3"" pulumi-lang-python=""office_3"" pulumi-lang-yaml=""office3"" pulumi-lang-java=""office3"">"office_3" -<span pulumi-lang-nodejs=""room1"" pulumi-lang-dotnet=""Room1"" pulumi-lang-go=""room1"" pulumi-lang-python=""room_1"" pulumi-lang-yaml=""room1"" pulumi-lang-java=""room1"">"room_1" - <span pulumi-lang-nodejs=""room2"" pulumi-lang-dotnet=""Room2"" pulumi-lang-go=""room2"" pulumi-lang-python=""room_2"" pulumi-lang-yaml=""room2"" pulumi-lang-java=""room2"">"room_2" - <span pulumi-lang-nodejs=""room3"" pulumi-lang-dotnet=""Room3"" pulumi-lang-go=""room3"" pulumi-lang-python=""room_3"" pulumi-lang-yaml=""room3"" pulumi-lang-java=""room3"">"room_3" -<span pulumi-lang-nodejs=""room4"" pulumi-lang-dotnet=""Room4"" pulumi-lang-go=""room4"" pulumi-lang-python=""room_4"" pulumi-lang-yaml=""room4"" pulumi-lang-java=""room4"">"room_4" - <span pulumi-lang-nodejs=""room5"" pulumi-lang-dotnet=""Room5"" pulumi-lang-go=""room5"" pulumi-lang-python=""room_5"" pulumi-lang-yaml=""room5"" pulumi-lang-java=""room5"">"room_5" - <span pulumi-lang-nodejs=""airConditioner"" pulumi-lang-dotnet=""AirConditioner"" pulumi-lang-go=""airConditioner"" pulumi-lang-python=""air_conditioner"" pulumi-lang-yaml=""airConditioner"" pulumi-lang-java=""airConditioner"">"air_conditioner"
    volumeGainDb Number
    Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.

    AppAudioProcessingConfigBargeInConfig, AppAudioProcessingConfigBargeInConfigArgs

    BargeInAwareness bool
    If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually.
    BargeInAwareness bool
    If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually.
    bargeInAwareness Boolean
    If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually.
    bargeInAwareness boolean
    If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually.
    barge_in_awareness bool
    If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually.
    bargeInAwareness Boolean
    If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually.

    AppAudioProcessingConfigSynthesizeSpeechConfig, AppAudioProcessingConfigSynthesizeSpeechConfigArgs

    LanguageCode string
    The identifier for this object. Format specified above.
    SpeakingRate double
    The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error.
    Voice string
    The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code. For the list of available voices, please refer to Supported voices and languages from Cloud Text-to-Speech.
    LanguageCode string
    The identifier for this object. Format specified above.
    SpeakingRate float64
    The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error.
    Voice string
    The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code. For the list of available voices, please refer to Supported voices and languages from Cloud Text-to-Speech.
    languageCode String
    The identifier for this object. Format specified above.
    speakingRate Double
    The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error.
    voice String
    The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code. For the list of available voices, please refer to Supported voices and languages from Cloud Text-to-Speech.
    languageCode string
    The identifier for this object. Format specified above.
    speakingRate number
    The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error.
    voice string
    The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code. For the list of available voices, please refer to Supported voices and languages from Cloud Text-to-Speech.
    language_code str
    The identifier for this object. Format specified above.
    speaking_rate float
    The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error.
    voice str
    The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code. For the list of available voices, please refer to Supported voices and languages from Cloud Text-to-Speech.
    languageCode String
    The identifier for this object. Format specified above.
    speakingRate Number
    The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error.
    voice String
    The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code. For the list of available voices, please refer to Supported voices and languages from Cloud Text-to-Speech.

    AppClientCertificateSettings, AppClientCertificateSettingsArgs

    PrivateKey string
    The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: projects/{project}/secrets/{secret}/versions/{version}
    TlsCertificate string
    The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines.
    Passphrase string
    The passphrase to decrypt the private key. Should be left unset if the private key is not encrypted.
    PrivateKey string
    The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: projects/{project}/secrets/{secret}/versions/{version}
    TlsCertificate string
    The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines.
    Passphrase string
    The passphrase to decrypt the private key. Should be left unset if the private key is not encrypted.
    privateKey String
    The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: projects/{project}/secrets/{secret}/versions/{version}
    tlsCertificate String
    The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines.
    passphrase String
    The passphrase to decrypt the private key. Should be left unset if the private key is not encrypted.
    privateKey string
    The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: projects/{project}/secrets/{secret}/versions/{version}
    tlsCertificate string
    The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines.
    passphrase string
    The passphrase to decrypt the private key. Should be left unset if the private key is not encrypted.
    private_key str
    The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: projects/{project}/secrets/{secret}/versions/{version}
    tls_certificate str
    The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines.
    passphrase str
    The passphrase to decrypt the private key. Should be left unset if the private key is not encrypted.
    privateKey String
    The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: projects/{project}/secrets/{secret}/versions/{version}
    tlsCertificate String
    The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines.
    passphrase String
    The passphrase to decrypt the private key. Should be left unset if the private key is not encrypted.

    AppDataStoreSettings, AppDataStoreSettingsArgs

    Engines List<AppDataStoreSettingsEngine>

    (Output) The engines for the app. Structure is documented below.

    <a name=<span pulumi-lang-nodejs=""nestedDataStoreSettingsEngines"" pulumi-lang-dotnet=""NestedDataStoreSettingsEngines"" pulumi-lang-go=""nestedDataStoreSettingsEngines"" pulumi-lang-python=""nested_data_store_settings_engines"" pulumi-lang-yaml=""nestedDataStoreSettingsEngines"" pulumi-lang-java=""nestedDataStoreSettingsEngines"">"nested_data_store_settings_engines">The engines block contains:

    Engines []AppDataStoreSettingsEngine

    (Output) The engines for the app. Structure is documented below.

    <a name=<span pulumi-lang-nodejs=""nestedDataStoreSettingsEngines"" pulumi-lang-dotnet=""NestedDataStoreSettingsEngines"" pulumi-lang-go=""nestedDataStoreSettingsEngines"" pulumi-lang-python=""nested_data_store_settings_engines"" pulumi-lang-yaml=""nestedDataStoreSettingsEngines"" pulumi-lang-java=""nestedDataStoreSettingsEngines"">"nested_data_store_settings_engines">The engines block contains:

    engines List<AppDataStoreSettingsEngine>

    (Output) The engines for the app. Structure is documented below.

    <a name=<span pulumi-lang-nodejs=""nestedDataStoreSettingsEngines"" pulumi-lang-dotnet=""NestedDataStoreSettingsEngines"" pulumi-lang-go=""nestedDataStoreSettingsEngines"" pulumi-lang-python=""nested_data_store_settings_engines"" pulumi-lang-yaml=""nestedDataStoreSettingsEngines"" pulumi-lang-java=""nestedDataStoreSettingsEngines"">"nested_data_store_settings_engines">The engines block contains:

    engines AppDataStoreSettingsEngine[]

    (Output) The engines for the app. Structure is documented below.

    <a name=<span pulumi-lang-nodejs=""nestedDataStoreSettingsEngines"" pulumi-lang-dotnet=""NestedDataStoreSettingsEngines"" pulumi-lang-go=""nestedDataStoreSettingsEngines"" pulumi-lang-python=""nested_data_store_settings_engines"" pulumi-lang-yaml=""nestedDataStoreSettingsEngines"" pulumi-lang-java=""nestedDataStoreSettingsEngines"">"nested_data_store_settings_engines">The engines block contains:

    engines Sequence[AppDataStoreSettingsEngine]

    (Output) The engines for the app. Structure is documented below.

    <a name=<span pulumi-lang-nodejs=""nestedDataStoreSettingsEngines"" pulumi-lang-dotnet=""NestedDataStoreSettingsEngines"" pulumi-lang-go=""nestedDataStoreSettingsEngines"" pulumi-lang-python=""nested_data_store_settings_engines"" pulumi-lang-yaml=""nestedDataStoreSettingsEngines"" pulumi-lang-java=""nestedDataStoreSettingsEngines"">"nested_data_store_settings_engines">The engines block contains:

    engines List<Property Map>

    (Output) The engines for the app. Structure is documented below.

    <a name=<span pulumi-lang-nodejs=""nestedDataStoreSettingsEngines"" pulumi-lang-dotnet=""NestedDataStoreSettingsEngines"" pulumi-lang-go=""nestedDataStoreSettingsEngines"" pulumi-lang-python=""nested_data_store_settings_engines"" pulumi-lang-yaml=""nestedDataStoreSettingsEngines"" pulumi-lang-java=""nestedDataStoreSettingsEngines"">"nested_data_store_settings_engines">The engines block contains:

    AppDataStoreSettingsEngine, AppDataStoreSettingsEngineArgs

    Name string
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    Type string
    The type of the engine. Possible values: ENGINE_TYPE_SEARCH ENGINE_TYPE_CHAT
    Name string
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    Type string
    The type of the engine. Possible values: ENGINE_TYPE_SEARCH ENGINE_TYPE_CHAT
    name String
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    type String
    The type of the engine. Possible values: ENGINE_TYPE_SEARCH ENGINE_TYPE_CHAT
    name string
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    type string
    The type of the engine. Possible values: ENGINE_TYPE_SEARCH ENGINE_TYPE_CHAT
    name str
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    type str
    The type of the engine. Possible values: ENGINE_TYPE_SEARCH ENGINE_TYPE_CHAT
    name String
    Identifier. The unique identifier of the app. Format: projects/{project}/locations/{location}/apps/{app}
    type String
    The type of the engine. Possible values: ENGINE_TYPE_SEARCH ENGINE_TYPE_CHAT

    AppDefaultChannelProfile, AppDefaultChannelProfileArgs

    ChannelType string
    The type of the channel profile. Possible values: UNKNOWN WEB_UI API TWILIO GOOGLE_TELEPHONY_PLATFORM CONTACT_CENTER_AS_A_SERVICE
    DisableBargeInControl bool
    Whether to disable user barge-in in the conversation.

    • true: User interruptions are disabled while the agent is speaking.
    • false: The agent retains automatic control over when the user can interrupt.
    DisableDtmf bool
    Whether to disable DTMF (dual-tone multi-frequency).
    PersonaProperty AppDefaultChannelProfilePersonaProperty
    Represents the persona property of a channel. Structure is documented below.
    ProfileId string
    The unique identifier of the channel profile.
    WebWidgetConfig AppDefaultChannelProfileWebWidgetConfig
    Message for configuration for the web widget. Structure is documented below.
    ChannelType string
    The type of the channel profile. Possible values: UNKNOWN WEB_UI API TWILIO GOOGLE_TELEPHONY_PLATFORM CONTACT_CENTER_AS_A_SERVICE
    DisableBargeInControl bool
    Whether to disable user barge-in in the conversation.

    • true: User interruptions are disabled while the agent is speaking.
    • false: The agent retains automatic control over when the user can interrupt.
    DisableDtmf bool
    Whether to disable DTMF (dual-tone multi-frequency).
    PersonaProperty AppDefaultChannelProfilePersonaProperty
    Represents the persona property of a channel. Structure is documented below.
    ProfileId string
    The unique identifier of the channel profile.
    WebWidgetConfig AppDefaultChannelProfileWebWidgetConfig
    Message for configuration for the web widget. Structure is documented below.
    channelType String
    The type of the channel profile. Possible values: UNKNOWN WEB_UI API TWILIO GOOGLE_TELEPHONY_PLATFORM CONTACT_CENTER_AS_A_SERVICE
    disableBargeInControl Boolean
    Whether to disable user barge-in in the conversation.

    • true: User interruptions are disabled while the agent is speaking.
    • false: The agent retains automatic control over when the user can interrupt.
    disableDtmf Boolean
    Whether to disable DTMF (dual-tone multi-frequency).
    personaProperty AppDefaultChannelProfilePersonaProperty
    Represents the persona property of a channel. Structure is documented below.
    profileId String
    The unique identifier of the channel profile.
    webWidgetConfig AppDefaultChannelProfileWebWidgetConfig
    Message for configuration for the web widget. Structure is documented below.
    channelType string
    The type of the channel profile. Possible values: UNKNOWN WEB_UI API TWILIO GOOGLE_TELEPHONY_PLATFORM CONTACT_CENTER_AS_A_SERVICE
    disableBargeInControl boolean
    Whether to disable user barge-in in the conversation.

    • true: User interruptions are disabled while the agent is speaking.
    • false: The agent retains automatic control over when the user can interrupt.
    disableDtmf boolean
    Whether to disable DTMF (dual-tone multi-frequency).
    personaProperty AppDefaultChannelProfilePersonaProperty
    Represents the persona property of a channel. Structure is documented below.
    profileId string
    The unique identifier of the channel profile.
    webWidgetConfig AppDefaultChannelProfileWebWidgetConfig
    Message for configuration for the web widget. Structure is documented below.
    channel_type str
    The type of the channel profile. Possible values: UNKNOWN WEB_UI API TWILIO GOOGLE_TELEPHONY_PLATFORM CONTACT_CENTER_AS_A_SERVICE
    disable_barge_in_control bool
    Whether to disable user barge-in in the conversation.

    • true: User interruptions are disabled while the agent is speaking.
    • false: The agent retains automatic control over when the user can interrupt.
    disable_dtmf bool
    Whether to disable DTMF (dual-tone multi-frequency).
    persona_property AppDefaultChannelProfilePersonaProperty
    Represents the persona property of a channel. Structure is documented below.
    profile_id str
    The unique identifier of the channel profile.
    web_widget_config AppDefaultChannelProfileWebWidgetConfig
    Message for configuration for the web widget. Structure is documented below.
    channelType String
    The type of the channel profile. Possible values: UNKNOWN WEB_UI API TWILIO GOOGLE_TELEPHONY_PLATFORM CONTACT_CENTER_AS_A_SERVICE
    disableBargeInControl Boolean
    Whether to disable user barge-in in the conversation.

    • true: User interruptions are disabled while the agent is speaking.
    • false: The agent retains automatic control over when the user can interrupt.
    disableDtmf Boolean
    Whether to disable DTMF (dual-tone multi-frequency).
    personaProperty Property Map
    Represents the persona property of a channel. Structure is documented below.
    profileId String
    The unique identifier of the channel profile.
    webWidgetConfig Property Map
    Message for configuration for the web widget. Structure is documented below.

    AppDefaultChannelProfilePersonaProperty, AppDefaultChannelProfilePersonaPropertyArgs

    Persona string
    The persona of the channel. Possible values: UNKNOWN CONCISE CHATTY
    Persona string
    The persona of the channel. Possible values: UNKNOWN CONCISE CHATTY
    persona String
    The persona of the channel. Possible values: UNKNOWN CONCISE CHATTY
    persona string
    The persona of the channel. Possible values: UNKNOWN CONCISE CHATTY
    persona str
    The persona of the channel. Possible values: UNKNOWN CONCISE CHATTY
    persona String
    The persona of the channel. Possible values: UNKNOWN CONCISE CHATTY

    AppDefaultChannelProfileWebWidgetConfig, AppDefaultChannelProfileWebWidgetConfigArgs

    Modality string
    The modality of the web widget. Possible values: UNKNOWN_MODALITY CHAT_AND_VOICE VOICE_ONLY CHAT_ONLY
    Theme string
    The theme of the web widget. Possible values: UNKNOWN_THEME LIGHT DARK
    WebWidgetTitle string
    The title of the web widget.
    Modality string
    The modality of the web widget. Possible values: UNKNOWN_MODALITY CHAT_AND_VOICE VOICE_ONLY CHAT_ONLY
    Theme string
    The theme of the web widget. Possible values: UNKNOWN_THEME LIGHT DARK
    WebWidgetTitle string
    The title of the web widget.
    modality String
    The modality of the web widget. Possible values: UNKNOWN_MODALITY CHAT_AND_VOICE VOICE_ONLY CHAT_ONLY
    theme String
    The theme of the web widget. Possible values: UNKNOWN_THEME LIGHT DARK
    webWidgetTitle String
    The title of the web widget.
    modality string
    The modality of the web widget. Possible values: UNKNOWN_MODALITY CHAT_AND_VOICE VOICE_ONLY CHAT_ONLY
    theme string
    The theme of the web widget. Possible values: UNKNOWN_THEME LIGHT DARK
    webWidgetTitle string
    The title of the web widget.
    modality str
    The modality of the web widget. Possible values: UNKNOWN_MODALITY CHAT_AND_VOICE VOICE_ONLY CHAT_ONLY
    theme str
    The theme of the web widget. Possible values: UNKNOWN_THEME LIGHT DARK
    web_widget_title str
    The title of the web widget.
    modality String
    The modality of the web widget. Possible values: UNKNOWN_MODALITY CHAT_AND_VOICE VOICE_ONLY CHAT_ONLY
    theme String
    The theme of the web widget. Possible values: UNKNOWN_THEME LIGHT DARK
    webWidgetTitle String
    The title of the web widget.

    AppEvaluationMetricsThresholds, AppEvaluationMetricsThresholdsArgs

    GoldenEvaluationMetricsThresholds AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds
    Settings for golden evaluations. Structure is documented below.
    GoldenEvaluationMetricsThresholds AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds
    Settings for golden evaluations. Structure is documented below.
    goldenEvaluationMetricsThresholds AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds
    Settings for golden evaluations. Structure is documented below.
    goldenEvaluationMetricsThresholds AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds
    Settings for golden evaluations. Structure is documented below.
    goldenEvaluationMetricsThresholds Property Map
    Settings for golden evaluations. Structure is documented below.

    AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds, AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsArgs

    expectationLevelMetricsThresholds Property Map
    Expectation level metrics thresholds. Structure is documented below.
    turnLevelMetricsThresholds Property Map
    Turn level metrics thresholds. Structure is documented below.

    AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds, AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholdsArgs

    ToolInvocationParameterCorrectnessThreshold double
    The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0.
    ToolInvocationParameterCorrectnessThreshold float64
    The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0.
    toolInvocationParameterCorrectnessThreshold Double
    The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0.
    toolInvocationParameterCorrectnessThreshold number
    The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0.
    tool_invocation_parameter_correctness_threshold float
    The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0.
    toolInvocationParameterCorrectnessThreshold Number
    The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0.

    AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds, AppEvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholdsArgs

    OverallToolInvocationCorrectnessThreshold double
    The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0.
    SemanticSimilaritySuccessThreshold int
    The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is >= 3.
    OverallToolInvocationCorrectnessThreshold float64
    The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0.
    SemanticSimilaritySuccessThreshold int
    The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is >= 3.
    overallToolInvocationCorrectnessThreshold Double
    The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0.
    semanticSimilaritySuccessThreshold Integer
    The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is >= 3.
    overallToolInvocationCorrectnessThreshold number
    The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0.
    semanticSimilaritySuccessThreshold number
    The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is >= 3.
    overall_tool_invocation_correctness_threshold float
    The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0.
    semantic_similarity_success_threshold int
    The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is >= 3.
    overallToolInvocationCorrectnessThreshold Number
    The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0.
    semanticSimilaritySuccessThreshold Number
    The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is >= 3.

    AppLanguageSettings, AppLanguageSettingsArgs

    DefaultLanguageCode string
    The default language code of the app.
    EnableMultilingualSupport bool
    Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input.
    FallbackAction string
    The action to perform when an agent receives input in an unsupported language. This can be a predefined action or a custom tool call. Valid values are:

    • A tool's full resource name, which triggers a specific tool execution.
    • A predefined system action, such as "escalate" or "exit", which triggers an EndSession signal with corresponding metadata to terminate the conversation.
    SupportedLanguageCodes List<string>
    List of languages codes supported by the app, in addition to the default_language_code.
    DefaultLanguageCode string
    The default language code of the app.
    EnableMultilingualSupport bool
    Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input.
    FallbackAction string
    The action to perform when an agent receives input in an unsupported language. This can be a predefined action or a custom tool call. Valid values are:

    • A tool's full resource name, which triggers a specific tool execution.
    • A predefined system action, such as "escalate" or "exit", which triggers an EndSession signal with corresponding metadata to terminate the conversation.
    SupportedLanguageCodes []string
    List of languages codes supported by the app, in addition to the default_language_code.
    defaultLanguageCode String
    The default language code of the app.
    enableMultilingualSupport Boolean
    Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input.
    fallbackAction String
    The action to perform when an agent receives input in an unsupported language. This can be a predefined action or a custom tool call. Valid values are:

    • A tool's full resource name, which triggers a specific tool execution.
    • A predefined system action, such as "escalate" or "exit", which triggers an EndSession signal with corresponding metadata to terminate the conversation.
    supportedLanguageCodes List<String>
    List of languages codes supported by the app, in addition to the default_language_code.
    defaultLanguageCode string
    The default language code of the app.
    enableMultilingualSupport boolean
    Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input.
    fallbackAction string
    The action to perform when an agent receives input in an unsupported language. This can be a predefined action or a custom tool call. Valid values are:

    • A tool's full resource name, which triggers a specific tool execution.
    • A predefined system action, such as "escalate" or "exit", which triggers an EndSession signal with corresponding metadata to terminate the conversation.
    supportedLanguageCodes string[]
    List of languages codes supported by the app, in addition to the default_language_code.
    default_language_code str
    The default language code of the app.
    enable_multilingual_support bool
    Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input.
    fallback_action str
    The action to perform when an agent receives input in an unsupported language. This can be a predefined action or a custom tool call. Valid values are:

    • A tool's full resource name, which triggers a specific tool execution.
    • A predefined system action, such as "escalate" or "exit", which triggers an EndSession signal with corresponding metadata to terminate the conversation.
    supported_language_codes Sequence[str]
    List of languages codes supported by the app, in addition to the default_language_code.
    defaultLanguageCode String
    The default language code of the app.
    enableMultilingualSupport Boolean
    Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input.
    fallbackAction String
    The action to perform when an agent receives input in an unsupported language. This can be a predefined action or a custom tool call. Valid values are:

    • A tool's full resource name, which triggers a specific tool execution.
    • A predefined system action, such as "escalate" or "exit", which triggers an EndSession signal with corresponding metadata to terminate the conversation.
    supportedLanguageCodes List<String>
    List of languages codes supported by the app, in addition to the default_language_code.

    AppLoggingSettings, AppLoggingSettingsArgs

    AudioRecordingConfig AppLoggingSettingsAudioRecordingConfig
    Configuration for how the audio interactions should be recorded. Structure is documented below.
    BigqueryExportSettings AppLoggingSettingsBigqueryExportSettings
    Settings to describe the BigQuery export behaviors for the app. Structure is documented below.
    CloudLoggingSettings AppLoggingSettingsCloudLoggingSettings
    Settings to describe the Cloud Logging behaviors for the app. Structure is documented below.
    ConversationLoggingSettings AppLoggingSettingsConversationLoggingSettings
    Settings to describe the conversation logging behaviors for the app. Structure is documented below.
    RedactionConfig AppLoggingSettingsRedactionConfig
    Configuration to instruct how sensitive data should be handled. Structure is documented below.
    AudioRecordingConfig AppLoggingSettingsAudioRecordingConfig
    Configuration for how the audio interactions should be recorded. Structure is documented below.
    BigqueryExportSettings AppLoggingSettingsBigqueryExportSettings
    Settings to describe the BigQuery export behaviors for the app. Structure is documented below.
    CloudLoggingSettings AppLoggingSettingsCloudLoggingSettings
    Settings to describe the Cloud Logging behaviors for the app. Structure is documented below.
    ConversationLoggingSettings AppLoggingSettingsConversationLoggingSettings
    Settings to describe the conversation logging behaviors for the app. Structure is documented below.
    RedactionConfig AppLoggingSettingsRedactionConfig
    Configuration to instruct how sensitive data should be handled. Structure is documented below.
    audioRecordingConfig AppLoggingSettingsAudioRecordingConfig
    Configuration for how the audio interactions should be recorded. Structure is documented below.
    bigqueryExportSettings AppLoggingSettingsBigqueryExportSettings
    Settings to describe the BigQuery export behaviors for the app. Structure is documented below.
    cloudLoggingSettings AppLoggingSettingsCloudLoggingSettings
    Settings to describe the Cloud Logging behaviors for the app. Structure is documented below.
    conversationLoggingSettings AppLoggingSettingsConversationLoggingSettings
    Settings to describe the conversation logging behaviors for the app. Structure is documented below.
    redactionConfig AppLoggingSettingsRedactionConfig
    Configuration to instruct how sensitive data should be handled. Structure is documented below.
    audioRecordingConfig AppLoggingSettingsAudioRecordingConfig
    Configuration for how the audio interactions should be recorded. Structure is documented below.
    bigqueryExportSettings AppLoggingSettingsBigqueryExportSettings
    Settings to describe the BigQuery export behaviors for the app. Structure is documented below.
    cloudLoggingSettings AppLoggingSettingsCloudLoggingSettings
    Settings to describe the Cloud Logging behaviors for the app. Structure is documented below.
    conversationLoggingSettings AppLoggingSettingsConversationLoggingSettings
    Settings to describe the conversation logging behaviors for the app. Structure is documented below.
    redactionConfig AppLoggingSettingsRedactionConfig
    Configuration to instruct how sensitive data should be handled. Structure is documented below.
    audio_recording_config AppLoggingSettingsAudioRecordingConfig
    Configuration for how the audio interactions should be recorded. Structure is documented below.
    bigquery_export_settings AppLoggingSettingsBigqueryExportSettings
    Settings to describe the BigQuery export behaviors for the app. Structure is documented below.
    cloud_logging_settings AppLoggingSettingsCloudLoggingSettings
    Settings to describe the Cloud Logging behaviors for the app. Structure is documented below.
    conversation_logging_settings AppLoggingSettingsConversationLoggingSettings
    Settings to describe the conversation logging behaviors for the app. Structure is documented below.
    redaction_config AppLoggingSettingsRedactionConfig
    Configuration to instruct how sensitive data should be handled. Structure is documented below.
    audioRecordingConfig Property Map
    Configuration for how the audio interactions should be recorded. Structure is documented below.
    bigqueryExportSettings Property Map
    Settings to describe the BigQuery export behaviors for the app. Structure is documented below.
    cloudLoggingSettings Property Map
    Settings to describe the Cloud Logging behaviors for the app. Structure is documented below.
    conversationLoggingSettings Property Map
    Settings to describe the conversation logging behaviors for the app. Structure is documented below.
    redactionConfig Property Map
    Configuration to instruct how sensitive data should be handled. Structure is documented below.

    AppLoggingSettingsAudioRecordingConfig, AppLoggingSettingsAudioRecordingConfigArgs

    GcsBucket string
    The Cloud Storage bucket to store the session audio recordings. The URI must start with "gs://". Note: If the Cloud Storage bucket is in a different project from the app, you should grant storage.objects.create permission to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    GcsPathPrefix string
    The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time:

    • $project: project ID
    • $location: app location
    • $app: app ID
    • $date: session date in YYYY-MM-DD format
    • $session: session ID If the path prefix is not specified, the default prefix $project/$location/$app/$date/$session/ will be used.
    GcsBucket string
    The Cloud Storage bucket to store the session audio recordings. The URI must start with "gs://". Note: If the Cloud Storage bucket is in a different project from the app, you should grant storage.objects.create permission to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    GcsPathPrefix string
    The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time:

    • $project: project ID
    • $location: app location
    • $app: app ID
    • $date: session date in YYYY-MM-DD format
    • $session: session ID If the path prefix is not specified, the default prefix $project/$location/$app/$date/$session/ will be used.
    gcsBucket String
    The Cloud Storage bucket to store the session audio recordings. The URI must start with "gs://". Note: If the Cloud Storage bucket is in a different project from the app, you should grant storage.objects.create permission to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    gcsPathPrefix String
    The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time:

    • $project: project ID
    • $location: app location
    • $app: app ID
    • $date: session date in YYYY-MM-DD format
    • $session: session ID If the path prefix is not specified, the default prefix $project/$location/$app/$date/$session/ will be used.
    gcsBucket string
    The Cloud Storage bucket to store the session audio recordings. The URI must start with "gs://". Note: If the Cloud Storage bucket is in a different project from the app, you should grant storage.objects.create permission to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    gcsPathPrefix string
    The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time:

    • $project: project ID
    • $location: app location
    • $app: app ID
    • $date: session date in YYYY-MM-DD format
    • $session: session ID If the path prefix is not specified, the default prefix $project/$location/$app/$date/$session/ will be used.
    gcs_bucket str
    The Cloud Storage bucket to store the session audio recordings. The URI must start with "gs://". Note: If the Cloud Storage bucket is in a different project from the app, you should grant storage.objects.create permission to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    gcs_path_prefix str
    The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time:

    • $project: project ID
    • $location: app location
    • $app: app ID
    • $date: session date in YYYY-MM-DD format
    • $session: session ID If the path prefix is not specified, the default prefix $project/$location/$app/$date/$session/ will be used.
    gcsBucket String
    The Cloud Storage bucket to store the session audio recordings. The URI must start with "gs://". Note: If the Cloud Storage bucket is in a different project from the app, you should grant storage.objects.create permission to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    gcsPathPrefix String
    The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time:

    • $project: project ID
    • $location: app location
    • $app: app ID
    • $date: session date in YYYY-MM-DD format
    • $session: session ID If the path prefix is not specified, the default prefix $project/$location/$app/$date/$session/ will be used.

    AppLoggingSettingsBigqueryExportSettings, AppLoggingSettingsBigqueryExportSettingsArgs

    Dataset string
    The BigQuery dataset to export the data to.
    Enabled bool
    Indicates whether the BigQuery export is enabled.
    Project string
    The project ID of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant roles/bigquery.admin role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    Dataset string
    The BigQuery dataset to export the data to.
    Enabled bool
    Indicates whether the BigQuery export is enabled.
    Project string
    The project ID of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant roles/bigquery.admin role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    dataset String
    The BigQuery dataset to export the data to.
    enabled Boolean
    Indicates whether the BigQuery export is enabled.
    project String
    The project ID of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant roles/bigquery.admin role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    dataset string
    The BigQuery dataset to export the data to.
    enabled boolean
    Indicates whether the BigQuery export is enabled.
    project string
    The project ID of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant roles/bigquery.admin role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    dataset str
    The BigQuery dataset to export the data to.
    enabled bool
    Indicates whether the BigQuery export is enabled.
    project str
    The project ID of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant roles/bigquery.admin role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    dataset String
    The BigQuery dataset to export the data to.
    enabled Boolean
    Indicates whether the BigQuery export is enabled.
    project String
    The project ID of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant roles/bigquery.admin role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.

    AppLoggingSettingsCloudLoggingSettings, AppLoggingSettingsCloudLoggingSettingsArgs

    EnableCloudLogging bool
    Whether to enable Cloud Logging for the sessions.
    EnableCloudLogging bool
    Whether to enable Cloud Logging for the sessions.
    enableCloudLogging Boolean
    Whether to enable Cloud Logging for the sessions.
    enableCloudLogging boolean
    Whether to enable Cloud Logging for the sessions.
    enable_cloud_logging bool
    Whether to enable Cloud Logging for the sessions.
    enableCloudLogging Boolean
    Whether to enable Cloud Logging for the sessions.

    AppLoggingSettingsConversationLoggingSettings, AppLoggingSettingsConversationLoggingSettingsArgs

    DisableConversationLogging bool
    Whether to disable conversation logging for the sessions.
    DisableConversationLogging bool
    Whether to disable conversation logging for the sessions.
    disableConversationLogging Boolean
    Whether to disable conversation logging for the sessions.
    disableConversationLogging boolean
    Whether to disable conversation logging for the sessions.
    disable_conversation_logging bool
    Whether to disable conversation logging for the sessions.
    disableConversationLogging Boolean
    Whether to disable conversation logging for the sessions.

    AppLoggingSettingsRedactionConfig, AppLoggingSettingsRedactionConfigArgs

    DeidentifyTemplate string
    DLP deidentify template name to instruct on how to de-identify content. Format: projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}
    EnableRedaction bool
    If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording.
    InspectTemplate string
    DLP inspect template name to configure detection of sensitive data types. Format: projects/{project}/locations/{location}/inspectTemplates/{inspect_template}
    DeidentifyTemplate string
    DLP deidentify template name to instruct on how to de-identify content. Format: projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}
    EnableRedaction bool
    If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording.
    InspectTemplate string
    DLP inspect template name to configure detection of sensitive data types. Format: projects/{project}/locations/{location}/inspectTemplates/{inspect_template}
    deidentifyTemplate String
    DLP deidentify template name to instruct on how to de-identify content. Format: projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}
    enableRedaction Boolean
    If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording.
    inspectTemplate String
    DLP inspect template name to configure detection of sensitive data types. Format: projects/{project}/locations/{location}/inspectTemplates/{inspect_template}
    deidentifyTemplate string
    DLP deidentify template name to instruct on how to de-identify content. Format: projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}
    enableRedaction boolean
    If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording.
    inspectTemplate string
    DLP inspect template name to configure detection of sensitive data types. Format: projects/{project}/locations/{location}/inspectTemplates/{inspect_template}
    deidentify_template str
    DLP deidentify template name to instruct on how to de-identify content. Format: projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}
    enable_redaction bool
    If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording.
    inspect_template str
    DLP inspect template name to configure detection of sensitive data types. Format: projects/{project}/locations/{location}/inspectTemplates/{inspect_template}
    deidentifyTemplate String
    DLP deidentify template name to instruct on how to de-identify content. Format: projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}
    enableRedaction Boolean
    If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording.
    inspectTemplate String
    DLP inspect template name to configure detection of sensitive data types. Format: projects/{project}/locations/{location}/inspectTemplates/{inspect_template}

    AppModelSettings, AppModelSettingsArgs

    Model string
    The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.
    Temperature double
    If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.
    Model string
    The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.
    Temperature float64
    If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.
    model String
    The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.
    temperature Double
    If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.
    model string
    The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.
    temperature number
    If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.
    model str
    The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.
    temperature float
    If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.
    model String
    The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.
    temperature Number
    If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.

    AppTimeZoneSettings, AppTimeZoneSettingsArgs

    TimeZone string
    The time zone of the app from the time zone database, e.g., America/Los_Angeles, Europe/Paris.
    TimeZone string
    The time zone of the app from the time zone database, e.g., America/Los_Angeles, Europe/Paris.
    timeZone String
    The time zone of the app from the time zone database, e.g., America/Los_Angeles, Europe/Paris.
    timeZone string
    The time zone of the app from the time zone database, e.g., America/Los_Angeles, Europe/Paris.
    time_zone str
    The time zone of the app from the time zone database, e.g., America/Los_Angeles, Europe/Paris.
    timeZone String
    The time zone of the app from the time zone database, e.g., America/Los_Angeles, Europe/Paris.

    AppVariableDeclaration, AppVariableDeclarationArgs

    Description string
    The description of the variable.
    Name string
    The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores.
    Schema AppVariableDeclarationSchema
    Represents a select subset of an OpenAPI 3.0 schema object. Structure is documented below.
    Description string
    The description of the variable.
    Name string
    The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores.
    Schema AppVariableDeclarationSchema
    Represents a select subset of an OpenAPI 3.0 schema object. Structure is documented below.
    description String
    The description of the variable.
    name String
    The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores.
    schema AppVariableDeclarationSchema
    Represents a select subset of an OpenAPI 3.0 schema object. Structure is documented below.
    description string
    The description of the variable.
    name string
    The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores.
    schema AppVariableDeclarationSchema
    Represents a select subset of an OpenAPI 3.0 schema object. Structure is documented below.
    description str
    The description of the variable.
    name str
    The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores.
    schema AppVariableDeclarationSchema
    Represents a select subset of an OpenAPI 3.0 schema object. Structure is documented below.
    description String
    The description of the variable.
    name String
    The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores.
    schema Property Map
    Represents a select subset of an OpenAPI 3.0 schema object. Structure is documented below.

    AppVariableDeclarationSchema, AppVariableDeclarationSchemaArgs

    Type string
    The type of the data. Possible values: STRING INTEGER NUMBER BOOLEAN OBJECT ARRAY
    AdditionalProperties string
    Optional. Defines the schema for additional properties allowed in an object. The value must be a valid JSON string representing the Schema object. (Note: OpenAPI also allows a boolean, this definition expects a Schema JSON).
    AnyOf string
    Optional. The instance value should be valid against at least one of the schemas in this list.
    Default string
    Optional. Default value of the data. Represents a dynamically typed value which can be either null, a number, a string, a boolean, a struct, or a list of values. The provided default value must be compatible with the defined 'type' and other schema constraints.
    Defs string
    A map of definitions for use by ref. Only allowed at the root of the schema.
    Description string
    The description of the data.
    Enums List<string>
    Possible values of the element of primitive type with enum format. Examples:

    1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}
    2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]}
    Items string
    Schema of the elements of Type.ARRAY.
    Nullable bool
    Indicates if the value may be null.
    PrefixItems string
    Optional. Schemas of initial elements of Type.ARRAY.
    Properties string
    Properties of Type.OBJECT.
    Ref string
    Allows indirect references between schema nodes. The value should be a valid reference to a child of the root defs. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring.
    Requireds List<string>
    Required properties of Type.OBJECT.
    UniqueItems bool
    Indicate the items in the array must be unique. Only applies to TYPE.ARRAY.
    Type string
    The type of the data. Possible values: STRING INTEGER NUMBER BOOLEAN OBJECT ARRAY
    AdditionalProperties string
    Optional. Defines the schema for additional properties allowed in an object. The value must be a valid JSON string representing the Schema object. (Note: OpenAPI also allows a boolean, this definition expects a Schema JSON).
    AnyOf string
    Optional. The instance value should be valid against at least one of the schemas in this list.
    Default string
    Optional. Default value of the data. Represents a dynamically typed value which can be either null, a number, a string, a boolean, a struct, or a list of values. The provided default value must be compatible with the defined 'type' and other schema constraints.
    Defs string
    A map of definitions for use by ref. Only allowed at the root of the schema.
    Description string
    The description of the data.
    Enums []string
    Possible values of the element of primitive type with enum format. Examples:

    1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}
    2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]}
    Items string
    Schema of the elements of Type.ARRAY.
    Nullable bool
    Indicates if the value may be null.
    PrefixItems string
    Optional. Schemas of initial elements of Type.ARRAY.
    Properties string
    Properties of Type.OBJECT.
    Ref string
    Allows indirect references between schema nodes. The value should be a valid reference to a child of the root defs. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring.
    Requireds []string
    Required properties of Type.OBJECT.
    UniqueItems bool
    Indicate the items in the array must be unique. Only applies to TYPE.ARRAY.
    type String
    The type of the data. Possible values: STRING INTEGER NUMBER BOOLEAN OBJECT ARRAY
    additionalProperties String
    Optional. Defines the schema for additional properties allowed in an object. The value must be a valid JSON string representing the Schema object. (Note: OpenAPI also allows a boolean, this definition expects a Schema JSON).
    anyOf String
    Optional. The instance value should be valid against at least one of the schemas in this list.
    default_ String
    Optional. Default value of the data. Represents a dynamically typed value which can be either null, a number, a string, a boolean, a struct, or a list of values. The provided default value must be compatible with the defined 'type' and other schema constraints.
    defs String
    A map of definitions for use by ref. Only allowed at the root of the schema.
    description String
    The description of the data.
    enums List<String>
    Possible values of the element of primitive type with enum format. Examples:

    1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}
    2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]}
    items String
    Schema of the elements of Type.ARRAY.
    nullable Boolean
    Indicates if the value may be null.
    prefixItems String
    Optional. Schemas of initial elements of Type.ARRAY.
    properties String
    Properties of Type.OBJECT.
    ref String
    Allows indirect references between schema nodes. The value should be a valid reference to a child of the root defs. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring.
    requireds List<String>
    Required properties of Type.OBJECT.
    uniqueItems Boolean
    Indicate the items in the array must be unique. Only applies to TYPE.ARRAY.
    type string
    The type of the data. Possible values: STRING INTEGER NUMBER BOOLEAN OBJECT ARRAY
    additionalProperties string
    Optional. Defines the schema for additional properties allowed in an object. The value must be a valid JSON string representing the Schema object. (Note: OpenAPI also allows a boolean, this definition expects a Schema JSON).
    anyOf string
    Optional. The instance value should be valid against at least one of the schemas in this list.
    default string
    Optional. Default value of the data. Represents a dynamically typed value which can be either null, a number, a string, a boolean, a struct, or a list of values. The provided default value must be compatible with the defined 'type' and other schema constraints.
    defs string
    A map of definitions for use by ref. Only allowed at the root of the schema.
    description string
    The description of the data.
    enums string[]
    Possible values of the element of primitive type with enum format. Examples:

    1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}
    2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]}
    items string
    Schema of the elements of Type.ARRAY.
    nullable boolean
    Indicates if the value may be null.
    prefixItems string
    Optional. Schemas of initial elements of Type.ARRAY.
    properties string
    Properties of Type.OBJECT.
    ref string
    Allows indirect references between schema nodes. The value should be a valid reference to a child of the root defs. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring.
    requireds string[]
    Required properties of Type.OBJECT.
    uniqueItems boolean
    Indicate the items in the array must be unique. Only applies to TYPE.ARRAY.
    type str
    The type of the data. Possible values: STRING INTEGER NUMBER BOOLEAN OBJECT ARRAY
    additional_properties str
    Optional. Defines the schema for additional properties allowed in an object. The value must be a valid JSON string representing the Schema object. (Note: OpenAPI also allows a boolean, this definition expects a Schema JSON).
    any_of str
    Optional. The instance value should be valid against at least one of the schemas in this list.
    default str
    Optional. Default value of the data. Represents a dynamically typed value which can be either null, a number, a string, a boolean, a struct, or a list of values. The provided default value must be compatible with the defined 'type' and other schema constraints.
    defs str
    A map of definitions for use by ref. Only allowed at the root of the schema.
    description str
    The description of the data.
    enums Sequence[str]
    Possible values of the element of primitive type with enum format. Examples:

    1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}
    2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]}
    items str
    Schema of the elements of Type.ARRAY.
    nullable bool
    Indicates if the value may be null.
    prefix_items str
    Optional. Schemas of initial elements of Type.ARRAY.
    properties str
    Properties of Type.OBJECT.
    ref str
    Allows indirect references between schema nodes. The value should be a valid reference to a child of the root defs. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring.
    requireds Sequence[str]
    Required properties of Type.OBJECT.
    unique_items bool
    Indicate the items in the array must be unique. Only applies to TYPE.ARRAY.
    type String
    The type of the data. Possible values: STRING INTEGER NUMBER BOOLEAN OBJECT ARRAY
    additionalProperties String
    Optional. Defines the schema for additional properties allowed in an object. The value must be a valid JSON string representing the Schema object. (Note: OpenAPI also allows a boolean, this definition expects a Schema JSON).
    anyOf String
    Optional. The instance value should be valid against at least one of the schemas in this list.
    default String
    Optional. Default value of the data. Represents a dynamically typed value which can be either null, a number, a string, a boolean, a struct, or a list of values. The provided default value must be compatible with the defined 'type' and other schema constraints.
    defs String
    A map of definitions for use by ref. Only allowed at the root of the schema.
    description String
    The description of the data.
    enums List<String>
    Possible values of the element of primitive type with enum format. Examples:

    1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}
    2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]}
    items String
    Schema of the elements of Type.ARRAY.
    nullable Boolean
    Indicates if the value may be null.
    prefixItems String
    Optional. Schemas of initial elements of Type.ARRAY.
    properties String
    Properties of Type.OBJECT.
    ref String
    Allows indirect references between schema nodes. The value should be a valid reference to a child of the root defs. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring.
    requireds List<String>
    Required properties of Type.OBJECT.
    uniqueItems Boolean
    Indicate the items in the array must be unique. Only applies to TYPE.ARRAY.

    Import

    App can be imported using any of these accepted formats:

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

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

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

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

    $ pulumi import gcp:ces/app:App default projects/{{project}}/locations/{{location}}/apps/{{name}}
    
    $ pulumi import gcp:ces/app:App default {{project}}/{{location}}/{{name}}
    
    $ pulumi import gcp:ces/app:App default {{location}}/{{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.6.0 published on Wednesday, Nov 26, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate