1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. ces
  5. Toolset
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 Toolset Openapi Service Account Auth Config

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const cesAppForToolset = new gcp.ces.App("ces_app_for_toolset", {
        appId: "app-id",
        location: "us",
        description: "App used as parent for CES Toolset example",
        displayName: "my-app",
        languageSettings: {
            defaultLanguageCode: "en-US",
            supportedLanguageCodes: [
                "es-ES",
                "fr-FR",
            ],
            enableMultilingualSupport: true,
            fallbackAction: "escalate",
        },
        timeZoneSettings: {
            timeZone: "America/Los_Angeles",
        },
    });
    const cesToolsetOpenapiServiceAccountAuthConfig = new gcp.ces.Toolset("ces_toolset_openapi_service_account_auth_config", {
        toolsetId: "toolset1",
        location: "us",
        app: cesAppForToolset.appId,
        displayName: "Basic toolset display name",
        openApiToolset: {
            openApiSchema: `openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    `,
            ignoreUnknownFields: false,
            tlsConfig: {
                caCerts: [{
                    displayName: "example",
                    cert: "ZXhhbXBsZQ==",
                }],
            },
            serviceDirectoryConfig: {
                service: "projects/example/locations/us/namespaces/namespace/services/service",
            },
            apiAuthentication: {
                serviceAccountAuthConfig: {
                    serviceAccount: "testaccount@gmail.com",
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    ces_app_for_toolset = gcp.ces.App("ces_app_for_toolset",
        app_id="app-id",
        location="us",
        description="App used as parent for CES Toolset 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",
        },
        time_zone_settings={
            "time_zone": "America/Los_Angeles",
        })
    ces_toolset_openapi_service_account_auth_config = gcp.ces.Toolset("ces_toolset_openapi_service_account_auth_config",
        toolset_id="toolset1",
        location="us",
        app=ces_app_for_toolset.app_id,
        display_name="Basic toolset display name",
        open_api_toolset={
            "open_api_schema": """openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    """,
            "ignore_unknown_fields": False,
            "tls_config": {
                "ca_certs": [{
                    "display_name": "example",
                    "cert": "ZXhhbXBsZQ==",
                }],
            },
            "service_directory_config": {
                "service": "projects/example/locations/us/namespaces/namespace/services/service",
            },
            "api_authentication": {
                "service_account_auth_config": {
                    "service_account": "testaccount@gmail.com",
                },
            },
        })
    
    package main
    
    import (
    	"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 {
    		cesAppForToolset, err := ces.NewApp(ctx, "ces_app_for_toolset", &ces.AppArgs{
    			AppId:       pulumi.String("app-id"),
    			Location:    pulumi.String("us"),
    			Description: pulumi.String("App used as parent for CES Toolset 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"),
    			},
    			TimeZoneSettings: &ces.AppTimeZoneSettingsArgs{
    				TimeZone: pulumi.String("America/Los_Angeles"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = ces.NewToolset(ctx, "ces_toolset_openapi_service_account_auth_config", &ces.ToolsetArgs{
    			ToolsetId:   pulumi.String("toolset1"),
    			Location:    pulumi.String("us"),
    			App:         cesAppForToolset.AppId,
    			DisplayName: pulumi.String("Basic toolset display name"),
    			OpenApiToolset: &ces.ToolsetOpenApiToolsetArgs{
    				OpenApiSchema: pulumi.String(`openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    `),
    				IgnoreUnknownFields: pulumi.Bool(false),
    				TlsConfig: &ces.ToolsetOpenApiToolsetTlsConfigArgs{
    					CaCerts: ces.ToolsetOpenApiToolsetTlsConfigCaCertArray{
    						&ces.ToolsetOpenApiToolsetTlsConfigCaCertArgs{
    							DisplayName: pulumi.String("example"),
    							Cert:        pulumi.String("ZXhhbXBsZQ=="),
    						},
    					},
    				},
    				ServiceDirectoryConfig: &ces.ToolsetOpenApiToolsetServiceDirectoryConfigArgs{
    					Service: pulumi.String("projects/example/locations/us/namespaces/namespace/services/service"),
    				},
    				ApiAuthentication: &ces.ToolsetOpenApiToolsetApiAuthenticationArgs{
    					ServiceAccountAuthConfig: &ces.ToolsetOpenApiToolsetApiAuthenticationServiceAccountAuthConfigArgs{
    						ServiceAccount: pulumi.String("testaccount@gmail.com"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var cesAppForToolset = new Gcp.Ces.App("ces_app_for_toolset", new()
        {
            AppId = "app-id",
            Location = "us",
            Description = "App used as parent for CES Toolset example",
            DisplayName = "my-app",
            LanguageSettings = new Gcp.Ces.Inputs.AppLanguageSettingsArgs
            {
                DefaultLanguageCode = "en-US",
                SupportedLanguageCodes = new[]
                {
                    "es-ES",
                    "fr-FR",
                },
                EnableMultilingualSupport = true,
                FallbackAction = "escalate",
            },
            TimeZoneSettings = new Gcp.Ces.Inputs.AppTimeZoneSettingsArgs
            {
                TimeZone = "America/Los_Angeles",
            },
        });
    
        var cesToolsetOpenapiServiceAccountAuthConfig = new Gcp.Ces.Toolset("ces_toolset_openapi_service_account_auth_config", new()
        {
            ToolsetId = "toolset1",
            Location = "us",
            App = cesAppForToolset.AppId,
            DisplayName = "Basic toolset display name",
            OpenApiToolset = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetArgs
            {
                OpenApiSchema = @"openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    ",
                IgnoreUnknownFields = false,
                TlsConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetTlsConfigArgs
                {
                    CaCerts = new[]
                    {
                        new Gcp.Ces.Inputs.ToolsetOpenApiToolsetTlsConfigCaCertArgs
                        {
                            DisplayName = "example",
                            Cert = "ZXhhbXBsZQ==",
                        },
                    },
                },
                ServiceDirectoryConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetServiceDirectoryConfigArgs
                {
                    Service = "projects/example/locations/us/namespaces/namespace/services/service",
                },
                ApiAuthentication = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetApiAuthenticationArgs
                {
                    ServiceAccountAuthConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetApiAuthenticationServiceAccountAuthConfigArgs
                    {
                        ServiceAccount = "testaccount@gmail.com",
                    },
                },
            },
        });
    
    });
    
    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.AppTimeZoneSettingsArgs;
    import com.pulumi.gcp.ces.Toolset;
    import com.pulumi.gcp.ces.ToolsetArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetTlsConfigArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetServiceDirectoryConfigArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetApiAuthenticationArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetApiAuthenticationServiceAccountAuthConfigArgs;
    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 cesAppForToolset = new App("cesAppForToolset", AppArgs.builder()
                .appId("app-id")
                .location("us")
                .description("App used as parent for CES Toolset example")
                .displayName("my-app")
                .languageSettings(AppLanguageSettingsArgs.builder()
                    .defaultLanguageCode("en-US")
                    .supportedLanguageCodes(                
                        "es-ES",
                        "fr-FR")
                    .enableMultilingualSupport(true)
                    .fallbackAction("escalate")
                    .build())
                .timeZoneSettings(AppTimeZoneSettingsArgs.builder()
                    .timeZone("America/Los_Angeles")
                    .build())
                .build());
    
            var cesToolsetOpenapiServiceAccountAuthConfig = new Toolset("cesToolsetOpenapiServiceAccountAuthConfig", ToolsetArgs.builder()
                .toolsetId("toolset1")
                .location("us")
                .app(cesAppForToolset.appId())
                .displayName("Basic toolset display name")
                .openApiToolset(ToolsetOpenApiToolsetArgs.builder()
                    .openApiSchema("""
    openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
                    """)
                    .ignoreUnknownFields(false)
                    .tlsConfig(ToolsetOpenApiToolsetTlsConfigArgs.builder()
                        .caCerts(ToolsetOpenApiToolsetTlsConfigCaCertArgs.builder()
                            .displayName("example")
                            .cert("ZXhhbXBsZQ==")
                            .build())
                        .build())
                    .serviceDirectoryConfig(ToolsetOpenApiToolsetServiceDirectoryConfigArgs.builder()
                        .service("projects/example/locations/us/namespaces/namespace/services/service")
                        .build())
                    .apiAuthentication(ToolsetOpenApiToolsetApiAuthenticationArgs.builder()
                        .serviceAccountAuthConfig(ToolsetOpenApiToolsetApiAuthenticationServiceAccountAuthConfigArgs.builder()
                            .serviceAccount("testaccount@gmail.com")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      cesAppForToolset:
        type: gcp:ces:App
        name: ces_app_for_toolset
        properties:
          appId: app-id
          location: us
          description: App used as parent for CES Toolset example
          displayName: my-app
          languageSettings:
            defaultLanguageCode: en-US
            supportedLanguageCodes:
              - es-ES
              - fr-FR
            enableMultilingualSupport: true
            fallbackAction: escalate
          timeZoneSettings:
            timeZone: America/Los_Angeles
      cesToolsetOpenapiServiceAccountAuthConfig:
        type: gcp:ces:Toolset
        name: ces_toolset_openapi_service_account_auth_config
        properties:
          toolsetId: toolset1
          location: us
          app: ${cesAppForToolset.appId}
          displayName: Basic toolset display name
          openApiToolset:
            openApiSchema: |
              openapi: 3.0.0
              info:
                title: My Sample API
                version: 1.0.0
                description: A simple API example
              servers:
                - url: https://api.example.com/v1
              paths: {}          
            ignoreUnknownFields: false
            tlsConfig:
              caCerts:
                - displayName: example
                  cert: ZXhhbXBsZQ==
            serviceDirectoryConfig:
              service: projects/example/locations/us/namespaces/namespace/services/service
            apiAuthentication:
              serviceAccountAuthConfig:
                serviceAccount: testaccount@gmail.com
    

    Ces Toolset Openapi Oauth Config

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const cesAppForToolset = new gcp.ces.App("ces_app_for_toolset", {
        appId: "app-id",
        location: "us",
        description: "App used as parent for CES Toolset example",
        displayName: "my-app",
        languageSettings: {
            defaultLanguageCode: "en-US",
            supportedLanguageCodes: [
                "es-ES",
                "fr-FR",
            ],
            enableMultilingualSupport: true,
            fallbackAction: "escalate",
        },
        timeZoneSettings: {
            timeZone: "America/Los_Angeles",
        },
    });
    const cesToolsetOpenapiOauthConfig = new gcp.ces.Toolset("ces_toolset_openapi_oauth_config", {
        toolsetId: "toolset1",
        location: "us",
        app: cesAppForToolset.appId,
        displayName: "Basic toolset display name",
        openApiToolset: {
            openApiSchema: `openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    `,
            ignoreUnknownFields: false,
            tlsConfig: {
                caCerts: [{
                    displayName: "example",
                    cert: "ZXhhbXBsZQ==",
                }],
            },
            serviceDirectoryConfig: {
                service: "projects/example/locations/us/namespaces/namespace/services/service",
            },
            apiAuthentication: {
                oauthConfig: {
                    oauthGrantType: "CLIENT_CREDENTIAL",
                    clientId: "example_client_id",
                    clientSecretVersion: "projects/fake-project/secrets/fake-secret/versions/version1",
                    tokenEndpoint: "123",
                    scopes: ["scope1"],
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    ces_app_for_toolset = gcp.ces.App("ces_app_for_toolset",
        app_id="app-id",
        location="us",
        description="App used as parent for CES Toolset 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",
        },
        time_zone_settings={
            "time_zone": "America/Los_Angeles",
        })
    ces_toolset_openapi_oauth_config = gcp.ces.Toolset("ces_toolset_openapi_oauth_config",
        toolset_id="toolset1",
        location="us",
        app=ces_app_for_toolset.app_id,
        display_name="Basic toolset display name",
        open_api_toolset={
            "open_api_schema": """openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    """,
            "ignore_unknown_fields": False,
            "tls_config": {
                "ca_certs": [{
                    "display_name": "example",
                    "cert": "ZXhhbXBsZQ==",
                }],
            },
            "service_directory_config": {
                "service": "projects/example/locations/us/namespaces/namespace/services/service",
            },
            "api_authentication": {
                "oauth_config": {
                    "oauth_grant_type": "CLIENT_CREDENTIAL",
                    "client_id": "example_client_id",
                    "client_secret_version": "projects/fake-project/secrets/fake-secret/versions/version1",
                    "token_endpoint": "123",
                    "scopes": ["scope1"],
                },
            },
        })
    
    package main
    
    import (
    	"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 {
    		cesAppForToolset, err := ces.NewApp(ctx, "ces_app_for_toolset", &ces.AppArgs{
    			AppId:       pulumi.String("app-id"),
    			Location:    pulumi.String("us"),
    			Description: pulumi.String("App used as parent for CES Toolset 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"),
    			},
    			TimeZoneSettings: &ces.AppTimeZoneSettingsArgs{
    				TimeZone: pulumi.String("America/Los_Angeles"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = ces.NewToolset(ctx, "ces_toolset_openapi_oauth_config", &ces.ToolsetArgs{
    			ToolsetId:   pulumi.String("toolset1"),
    			Location:    pulumi.String("us"),
    			App:         cesAppForToolset.AppId,
    			DisplayName: pulumi.String("Basic toolset display name"),
    			OpenApiToolset: &ces.ToolsetOpenApiToolsetArgs{
    				OpenApiSchema: pulumi.String(`openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    `),
    				IgnoreUnknownFields: pulumi.Bool(false),
    				TlsConfig: &ces.ToolsetOpenApiToolsetTlsConfigArgs{
    					CaCerts: ces.ToolsetOpenApiToolsetTlsConfigCaCertArray{
    						&ces.ToolsetOpenApiToolsetTlsConfigCaCertArgs{
    							DisplayName: pulumi.String("example"),
    							Cert:        pulumi.String("ZXhhbXBsZQ=="),
    						},
    					},
    				},
    				ServiceDirectoryConfig: &ces.ToolsetOpenApiToolsetServiceDirectoryConfigArgs{
    					Service: pulumi.String("projects/example/locations/us/namespaces/namespace/services/service"),
    				},
    				ApiAuthentication: &ces.ToolsetOpenApiToolsetApiAuthenticationArgs{
    					OauthConfig: &ces.ToolsetOpenApiToolsetApiAuthenticationOauthConfigArgs{
    						OauthGrantType:      pulumi.String("CLIENT_CREDENTIAL"),
    						ClientId:            pulumi.String("example_client_id"),
    						ClientSecretVersion: pulumi.String("projects/fake-project/secrets/fake-secret/versions/version1"),
    						TokenEndpoint:       pulumi.String("123"),
    						Scopes: pulumi.StringArray{
    							pulumi.String("scope1"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var cesAppForToolset = new Gcp.Ces.App("ces_app_for_toolset", new()
        {
            AppId = "app-id",
            Location = "us",
            Description = "App used as parent for CES Toolset example",
            DisplayName = "my-app",
            LanguageSettings = new Gcp.Ces.Inputs.AppLanguageSettingsArgs
            {
                DefaultLanguageCode = "en-US",
                SupportedLanguageCodes = new[]
                {
                    "es-ES",
                    "fr-FR",
                },
                EnableMultilingualSupport = true,
                FallbackAction = "escalate",
            },
            TimeZoneSettings = new Gcp.Ces.Inputs.AppTimeZoneSettingsArgs
            {
                TimeZone = "America/Los_Angeles",
            },
        });
    
        var cesToolsetOpenapiOauthConfig = new Gcp.Ces.Toolset("ces_toolset_openapi_oauth_config", new()
        {
            ToolsetId = "toolset1",
            Location = "us",
            App = cesAppForToolset.AppId,
            DisplayName = "Basic toolset display name",
            OpenApiToolset = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetArgs
            {
                OpenApiSchema = @"openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    ",
                IgnoreUnknownFields = false,
                TlsConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetTlsConfigArgs
                {
                    CaCerts = new[]
                    {
                        new Gcp.Ces.Inputs.ToolsetOpenApiToolsetTlsConfigCaCertArgs
                        {
                            DisplayName = "example",
                            Cert = "ZXhhbXBsZQ==",
                        },
                    },
                },
                ServiceDirectoryConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetServiceDirectoryConfigArgs
                {
                    Service = "projects/example/locations/us/namespaces/namespace/services/service",
                },
                ApiAuthentication = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetApiAuthenticationArgs
                {
                    OauthConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetApiAuthenticationOauthConfigArgs
                    {
                        OauthGrantType = "CLIENT_CREDENTIAL",
                        ClientId = "example_client_id",
                        ClientSecretVersion = "projects/fake-project/secrets/fake-secret/versions/version1",
                        TokenEndpoint = "123",
                        Scopes = new[]
                        {
                            "scope1",
                        },
                    },
                },
            },
        });
    
    });
    
    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.AppTimeZoneSettingsArgs;
    import com.pulumi.gcp.ces.Toolset;
    import com.pulumi.gcp.ces.ToolsetArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetTlsConfigArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetServiceDirectoryConfigArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetApiAuthenticationArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetApiAuthenticationOauthConfigArgs;
    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 cesAppForToolset = new App("cesAppForToolset", AppArgs.builder()
                .appId("app-id")
                .location("us")
                .description("App used as parent for CES Toolset example")
                .displayName("my-app")
                .languageSettings(AppLanguageSettingsArgs.builder()
                    .defaultLanguageCode("en-US")
                    .supportedLanguageCodes(                
                        "es-ES",
                        "fr-FR")
                    .enableMultilingualSupport(true)
                    .fallbackAction("escalate")
                    .build())
                .timeZoneSettings(AppTimeZoneSettingsArgs.builder()
                    .timeZone("America/Los_Angeles")
                    .build())
                .build());
    
            var cesToolsetOpenapiOauthConfig = new Toolset("cesToolsetOpenapiOauthConfig", ToolsetArgs.builder()
                .toolsetId("toolset1")
                .location("us")
                .app(cesAppForToolset.appId())
                .displayName("Basic toolset display name")
                .openApiToolset(ToolsetOpenApiToolsetArgs.builder()
                    .openApiSchema("""
    openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
                    """)
                    .ignoreUnknownFields(false)
                    .tlsConfig(ToolsetOpenApiToolsetTlsConfigArgs.builder()
                        .caCerts(ToolsetOpenApiToolsetTlsConfigCaCertArgs.builder()
                            .displayName("example")
                            .cert("ZXhhbXBsZQ==")
                            .build())
                        .build())
                    .serviceDirectoryConfig(ToolsetOpenApiToolsetServiceDirectoryConfigArgs.builder()
                        .service("projects/example/locations/us/namespaces/namespace/services/service")
                        .build())
                    .apiAuthentication(ToolsetOpenApiToolsetApiAuthenticationArgs.builder()
                        .oauthConfig(ToolsetOpenApiToolsetApiAuthenticationOauthConfigArgs.builder()
                            .oauthGrantType("CLIENT_CREDENTIAL")
                            .clientId("example_client_id")
                            .clientSecretVersion("projects/fake-project/secrets/fake-secret/versions/version1")
                            .tokenEndpoint("123")
                            .scopes("scope1")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      cesAppForToolset:
        type: gcp:ces:App
        name: ces_app_for_toolset
        properties:
          appId: app-id
          location: us
          description: App used as parent for CES Toolset example
          displayName: my-app
          languageSettings:
            defaultLanguageCode: en-US
            supportedLanguageCodes:
              - es-ES
              - fr-FR
            enableMultilingualSupport: true
            fallbackAction: escalate
          timeZoneSettings:
            timeZone: America/Los_Angeles
      cesToolsetOpenapiOauthConfig:
        type: gcp:ces:Toolset
        name: ces_toolset_openapi_oauth_config
        properties:
          toolsetId: toolset1
          location: us
          app: ${cesAppForToolset.appId}
          displayName: Basic toolset display name
          openApiToolset:
            openApiSchema: |
              openapi: 3.0.0
              info:
                title: My Sample API
                version: 1.0.0
                description: A simple API example
              servers:
                - url: https://api.example.com/v1
              paths: {}          
            ignoreUnknownFields: false
            tlsConfig:
              caCerts:
                - displayName: example
                  cert: ZXhhbXBsZQ==
            serviceDirectoryConfig:
              service: projects/example/locations/us/namespaces/namespace/services/service
            apiAuthentication:
              oauthConfig:
                oauthGrantType: CLIENT_CREDENTIAL
                clientId: example_client_id
                clientSecretVersion: projects/fake-project/secrets/fake-secret/versions/version1
                tokenEndpoint: '123'
                scopes:
                  - scope1
    

    Ces Toolset Openapi Service Agent Id Token Auth Config

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const cesAppForToolset = new gcp.ces.App("ces_app_for_toolset", {
        appId: "app-id",
        location: "us",
        description: "App used as parent for CES Toolset example",
        displayName: "my-app",
        languageSettings: {
            defaultLanguageCode: "en-US",
            supportedLanguageCodes: [
                "es-ES",
                "fr-FR",
            ],
            enableMultilingualSupport: true,
            fallbackAction: "escalate",
        },
        timeZoneSettings: {
            timeZone: "America/Los_Angeles",
        },
    });
    const cesToolsetOpenapiServiceAgentIdTokenAuthConfig = new gcp.ces.Toolset("ces_toolset_openapi_service_agent_id_token_auth_config", {
        toolsetId: "toolset1",
        location: "us",
        app: cesAppForToolset.appId,
        displayName: "Basic toolset display name",
        openApiToolset: {
            openApiSchema: `openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    `,
            ignoreUnknownFields: false,
            tlsConfig: {
                caCerts: [{
                    displayName: "example",
                    cert: "ZXhhbXBsZQ==",
                }],
            },
            serviceDirectoryConfig: {
                service: "projects/example/locations/us/namespaces/namespace/services/service",
            },
            apiAuthentication: {
                serviceAgentIdTokenAuthConfig: {},
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    ces_app_for_toolset = gcp.ces.App("ces_app_for_toolset",
        app_id="app-id",
        location="us",
        description="App used as parent for CES Toolset 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",
        },
        time_zone_settings={
            "time_zone": "America/Los_Angeles",
        })
    ces_toolset_openapi_service_agent_id_token_auth_config = gcp.ces.Toolset("ces_toolset_openapi_service_agent_id_token_auth_config",
        toolset_id="toolset1",
        location="us",
        app=ces_app_for_toolset.app_id,
        display_name="Basic toolset display name",
        open_api_toolset={
            "open_api_schema": """openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    """,
            "ignore_unknown_fields": False,
            "tls_config": {
                "ca_certs": [{
                    "display_name": "example",
                    "cert": "ZXhhbXBsZQ==",
                }],
            },
            "service_directory_config": {
                "service": "projects/example/locations/us/namespaces/namespace/services/service",
            },
            "api_authentication": {
                "service_agent_id_token_auth_config": {},
            },
        })
    
    package main
    
    import (
    	"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 {
    		cesAppForToolset, err := ces.NewApp(ctx, "ces_app_for_toolset", &ces.AppArgs{
    			AppId:       pulumi.String("app-id"),
    			Location:    pulumi.String("us"),
    			Description: pulumi.String("App used as parent for CES Toolset 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"),
    			},
    			TimeZoneSettings: &ces.AppTimeZoneSettingsArgs{
    				TimeZone: pulumi.String("America/Los_Angeles"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = ces.NewToolset(ctx, "ces_toolset_openapi_service_agent_id_token_auth_config", &ces.ToolsetArgs{
    			ToolsetId:   pulumi.String("toolset1"),
    			Location:    pulumi.String("us"),
    			App:         cesAppForToolset.AppId,
    			DisplayName: pulumi.String("Basic toolset display name"),
    			OpenApiToolset: &ces.ToolsetOpenApiToolsetArgs{
    				OpenApiSchema: pulumi.String(`openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    `),
    				IgnoreUnknownFields: pulumi.Bool(false),
    				TlsConfig: &ces.ToolsetOpenApiToolsetTlsConfigArgs{
    					CaCerts: ces.ToolsetOpenApiToolsetTlsConfigCaCertArray{
    						&ces.ToolsetOpenApiToolsetTlsConfigCaCertArgs{
    							DisplayName: pulumi.String("example"),
    							Cert:        pulumi.String("ZXhhbXBsZQ=="),
    						},
    					},
    				},
    				ServiceDirectoryConfig: &ces.ToolsetOpenApiToolsetServiceDirectoryConfigArgs{
    					Service: pulumi.String("projects/example/locations/us/namespaces/namespace/services/service"),
    				},
    				ApiAuthentication: &ces.ToolsetOpenApiToolsetApiAuthenticationArgs{
    					ServiceAgentIdTokenAuthConfig: &ces.ToolsetOpenApiToolsetApiAuthenticationServiceAgentIdTokenAuthConfigArgs{},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var cesAppForToolset = new Gcp.Ces.App("ces_app_for_toolset", new()
        {
            AppId = "app-id",
            Location = "us",
            Description = "App used as parent for CES Toolset example",
            DisplayName = "my-app",
            LanguageSettings = new Gcp.Ces.Inputs.AppLanguageSettingsArgs
            {
                DefaultLanguageCode = "en-US",
                SupportedLanguageCodes = new[]
                {
                    "es-ES",
                    "fr-FR",
                },
                EnableMultilingualSupport = true,
                FallbackAction = "escalate",
            },
            TimeZoneSettings = new Gcp.Ces.Inputs.AppTimeZoneSettingsArgs
            {
                TimeZone = "America/Los_Angeles",
            },
        });
    
        var cesToolsetOpenapiServiceAgentIdTokenAuthConfig = new Gcp.Ces.Toolset("ces_toolset_openapi_service_agent_id_token_auth_config", new()
        {
            ToolsetId = "toolset1",
            Location = "us",
            App = cesAppForToolset.AppId,
            DisplayName = "Basic toolset display name",
            OpenApiToolset = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetArgs
            {
                OpenApiSchema = @"openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    ",
                IgnoreUnknownFields = false,
                TlsConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetTlsConfigArgs
                {
                    CaCerts = new[]
                    {
                        new Gcp.Ces.Inputs.ToolsetOpenApiToolsetTlsConfigCaCertArgs
                        {
                            DisplayName = "example",
                            Cert = "ZXhhbXBsZQ==",
                        },
                    },
                },
                ServiceDirectoryConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetServiceDirectoryConfigArgs
                {
                    Service = "projects/example/locations/us/namespaces/namespace/services/service",
                },
                ApiAuthentication = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetApiAuthenticationArgs
                {
                    ServiceAgentIdTokenAuthConfig = null,
                },
            },
        });
    
    });
    
    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.AppTimeZoneSettingsArgs;
    import com.pulumi.gcp.ces.Toolset;
    import com.pulumi.gcp.ces.ToolsetArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetTlsConfigArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetServiceDirectoryConfigArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetApiAuthenticationArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetApiAuthenticationServiceAgentIdTokenAuthConfigArgs;
    import 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 cesAppForToolset = new App("cesAppForToolset", AppArgs.builder()
                .appId("app-id")
                .location("us")
                .description("App used as parent for CES Toolset example")
                .displayName("my-app")
                .languageSettings(AppLanguageSettingsArgs.builder()
                    .defaultLanguageCode("en-US")
                    .supportedLanguageCodes(                
                        "es-ES",
                        "fr-FR")
                    .enableMultilingualSupport(true)
                    .fallbackAction("escalate")
                    .build())
                .timeZoneSettings(AppTimeZoneSettingsArgs.builder()
                    .timeZone("America/Los_Angeles")
                    .build())
                .build());
    
            var cesToolsetOpenapiServiceAgentIdTokenAuthConfig = new Toolset("cesToolsetOpenapiServiceAgentIdTokenAuthConfig", ToolsetArgs.builder()
                .toolsetId("toolset1")
                .location("us")
                .app(cesAppForToolset.appId())
                .displayName("Basic toolset display name")
                .openApiToolset(ToolsetOpenApiToolsetArgs.builder()
                    .openApiSchema("""
    openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
                    """)
                    .ignoreUnknownFields(false)
                    .tlsConfig(ToolsetOpenApiToolsetTlsConfigArgs.builder()
                        .caCerts(ToolsetOpenApiToolsetTlsConfigCaCertArgs.builder()
                            .displayName("example")
                            .cert("ZXhhbXBsZQ==")
                            .build())
                        .build())
                    .serviceDirectoryConfig(ToolsetOpenApiToolsetServiceDirectoryConfigArgs.builder()
                        .service("projects/example/locations/us/namespaces/namespace/services/service")
                        .build())
                    .apiAuthentication(ToolsetOpenApiToolsetApiAuthenticationArgs.builder()
                        .serviceAgentIdTokenAuthConfig(ToolsetOpenApiToolsetApiAuthenticationServiceAgentIdTokenAuthConfigArgs.builder()
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      cesAppForToolset:
        type: gcp:ces:App
        name: ces_app_for_toolset
        properties:
          appId: app-id
          location: us
          description: App used as parent for CES Toolset example
          displayName: my-app
          languageSettings:
            defaultLanguageCode: en-US
            supportedLanguageCodes:
              - es-ES
              - fr-FR
            enableMultilingualSupport: true
            fallbackAction: escalate
          timeZoneSettings:
            timeZone: America/Los_Angeles
      cesToolsetOpenapiServiceAgentIdTokenAuthConfig:
        type: gcp:ces:Toolset
        name: ces_toolset_openapi_service_agent_id_token_auth_config
        properties:
          toolsetId: toolset1
          location: us
          app: ${cesAppForToolset.appId}
          displayName: Basic toolset display name
          openApiToolset:
            openApiSchema: |
              openapi: 3.0.0
              info:
                title: My Sample API
                version: 1.0.0
                description: A simple API example
              servers:
                - url: https://api.example.com/v1
              paths: {}          
            ignoreUnknownFields: false
            tlsConfig:
              caCerts:
                - displayName: example
                  cert: ZXhhbXBsZQ==
            serviceDirectoryConfig:
              service: projects/example/locations/us/namespaces/namespace/services/service
            apiAuthentication:
              serviceAgentIdTokenAuthConfig: {}
    

    Ces Toolset Openapi Api Key Config

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const cesAppForToolset = new gcp.ces.App("ces_app_for_toolset", {
        appId: "app-id",
        location: "us",
        description: "App used as parent for CES Toolset example",
        displayName: "my-app",
        languageSettings: {
            defaultLanguageCode: "en-US",
            supportedLanguageCodes: [
                "es-ES",
                "fr-FR",
            ],
            enableMultilingualSupport: true,
            fallbackAction: "escalate",
        },
        timeZoneSettings: {
            timeZone: "America/Los_Angeles",
        },
    });
    const cesToolsetOpenapiApiKeyConfig = new gcp.ces.Toolset("ces_toolset_openapi_api_key_config", {
        toolsetId: "toolset1",
        location: "us",
        app: cesAppForToolset.appId,
        displayName: "Basic toolset display name",
        description: "Test description",
        executionType: "SYNCHRONOUS",
        openApiToolset: {
            openApiSchema: `openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    `,
            ignoreUnknownFields: false,
            tlsConfig: {
                caCerts: [{
                    displayName: "example",
                    cert: "ZXhhbXBsZQ==",
                }],
            },
            serviceDirectoryConfig: {
                service: "projects/example/locations/us/namespaces/namespace/services/service",
            },
            apiAuthentication: {
                apiKeyConfig: {
                    keyName: "ExampleKey",
                    apiKeySecretVersion: "projects/fake-project/secrets/fake-secret/versions/version-1",
                    requestLocation: "HEADER",
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    ces_app_for_toolset = gcp.ces.App("ces_app_for_toolset",
        app_id="app-id",
        location="us",
        description="App used as parent for CES Toolset 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",
        },
        time_zone_settings={
            "time_zone": "America/Los_Angeles",
        })
    ces_toolset_openapi_api_key_config = gcp.ces.Toolset("ces_toolset_openapi_api_key_config",
        toolset_id="toolset1",
        location="us",
        app=ces_app_for_toolset.app_id,
        display_name="Basic toolset display name",
        description="Test description",
        execution_type="SYNCHRONOUS",
        open_api_toolset={
            "open_api_schema": """openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    """,
            "ignore_unknown_fields": False,
            "tls_config": {
                "ca_certs": [{
                    "display_name": "example",
                    "cert": "ZXhhbXBsZQ==",
                }],
            },
            "service_directory_config": {
                "service": "projects/example/locations/us/namespaces/namespace/services/service",
            },
            "api_authentication": {
                "api_key_config": {
                    "key_name": "ExampleKey",
                    "api_key_secret_version": "projects/fake-project/secrets/fake-secret/versions/version-1",
                    "request_location": "HEADER",
                },
            },
        })
    
    package main
    
    import (
    	"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 {
    		cesAppForToolset, err := ces.NewApp(ctx, "ces_app_for_toolset", &ces.AppArgs{
    			AppId:       pulumi.String("app-id"),
    			Location:    pulumi.String("us"),
    			Description: pulumi.String("App used as parent for CES Toolset 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"),
    			},
    			TimeZoneSettings: &ces.AppTimeZoneSettingsArgs{
    				TimeZone: pulumi.String("America/Los_Angeles"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = ces.NewToolset(ctx, "ces_toolset_openapi_api_key_config", &ces.ToolsetArgs{
    			ToolsetId:     pulumi.String("toolset1"),
    			Location:      pulumi.String("us"),
    			App:           cesAppForToolset.AppId,
    			DisplayName:   pulumi.String("Basic toolset display name"),
    			Description:   pulumi.String("Test description"),
    			ExecutionType: pulumi.String("SYNCHRONOUS"),
    			OpenApiToolset: &ces.ToolsetOpenApiToolsetArgs{
    				OpenApiSchema: pulumi.String(`openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    `),
    				IgnoreUnknownFields: pulumi.Bool(false),
    				TlsConfig: &ces.ToolsetOpenApiToolsetTlsConfigArgs{
    					CaCerts: ces.ToolsetOpenApiToolsetTlsConfigCaCertArray{
    						&ces.ToolsetOpenApiToolsetTlsConfigCaCertArgs{
    							DisplayName: pulumi.String("example"),
    							Cert:        pulumi.String("ZXhhbXBsZQ=="),
    						},
    					},
    				},
    				ServiceDirectoryConfig: &ces.ToolsetOpenApiToolsetServiceDirectoryConfigArgs{
    					Service: pulumi.String("projects/example/locations/us/namespaces/namespace/services/service"),
    				},
    				ApiAuthentication: &ces.ToolsetOpenApiToolsetApiAuthenticationArgs{
    					ApiKeyConfig: &ces.ToolsetOpenApiToolsetApiAuthenticationApiKeyConfigArgs{
    						KeyName:             pulumi.String("ExampleKey"),
    						ApiKeySecretVersion: pulumi.String("projects/fake-project/secrets/fake-secret/versions/version-1"),
    						RequestLocation:     pulumi.String("HEADER"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var cesAppForToolset = new Gcp.Ces.App("ces_app_for_toolset", new()
        {
            AppId = "app-id",
            Location = "us",
            Description = "App used as parent for CES Toolset example",
            DisplayName = "my-app",
            LanguageSettings = new Gcp.Ces.Inputs.AppLanguageSettingsArgs
            {
                DefaultLanguageCode = "en-US",
                SupportedLanguageCodes = new[]
                {
                    "es-ES",
                    "fr-FR",
                },
                EnableMultilingualSupport = true,
                FallbackAction = "escalate",
            },
            TimeZoneSettings = new Gcp.Ces.Inputs.AppTimeZoneSettingsArgs
            {
                TimeZone = "America/Los_Angeles",
            },
        });
    
        var cesToolsetOpenapiApiKeyConfig = new Gcp.Ces.Toolset("ces_toolset_openapi_api_key_config", new()
        {
            ToolsetId = "toolset1",
            Location = "us",
            App = cesAppForToolset.AppId,
            DisplayName = "Basic toolset display name",
            Description = "Test description",
            ExecutionType = "SYNCHRONOUS",
            OpenApiToolset = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetArgs
            {
                OpenApiSchema = @"openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    ",
                IgnoreUnknownFields = false,
                TlsConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetTlsConfigArgs
                {
                    CaCerts = new[]
                    {
                        new Gcp.Ces.Inputs.ToolsetOpenApiToolsetTlsConfigCaCertArgs
                        {
                            DisplayName = "example",
                            Cert = "ZXhhbXBsZQ==",
                        },
                    },
                },
                ServiceDirectoryConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetServiceDirectoryConfigArgs
                {
                    Service = "projects/example/locations/us/namespaces/namespace/services/service",
                },
                ApiAuthentication = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetApiAuthenticationArgs
                {
                    ApiKeyConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetApiAuthenticationApiKeyConfigArgs
                    {
                        KeyName = "ExampleKey",
                        ApiKeySecretVersion = "projects/fake-project/secrets/fake-secret/versions/version-1",
                        RequestLocation = "HEADER",
                    },
                },
            },
        });
    
    });
    
    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.AppTimeZoneSettingsArgs;
    import com.pulumi.gcp.ces.Toolset;
    import com.pulumi.gcp.ces.ToolsetArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetTlsConfigArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetServiceDirectoryConfigArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetApiAuthenticationArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetApiAuthenticationApiKeyConfigArgs;
    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 cesAppForToolset = new App("cesAppForToolset", AppArgs.builder()
                .appId("app-id")
                .location("us")
                .description("App used as parent for CES Toolset example")
                .displayName("my-app")
                .languageSettings(AppLanguageSettingsArgs.builder()
                    .defaultLanguageCode("en-US")
                    .supportedLanguageCodes(                
                        "es-ES",
                        "fr-FR")
                    .enableMultilingualSupport(true)
                    .fallbackAction("escalate")
                    .build())
                .timeZoneSettings(AppTimeZoneSettingsArgs.builder()
                    .timeZone("America/Los_Angeles")
                    .build())
                .build());
    
            var cesToolsetOpenapiApiKeyConfig = new Toolset("cesToolsetOpenapiApiKeyConfig", ToolsetArgs.builder()
                .toolsetId("toolset1")
                .location("us")
                .app(cesAppForToolset.appId())
                .displayName("Basic toolset display name")
                .description("Test description")
                .executionType("SYNCHRONOUS")
                .openApiToolset(ToolsetOpenApiToolsetArgs.builder()
                    .openApiSchema("""
    openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
                    """)
                    .ignoreUnknownFields(false)
                    .tlsConfig(ToolsetOpenApiToolsetTlsConfigArgs.builder()
                        .caCerts(ToolsetOpenApiToolsetTlsConfigCaCertArgs.builder()
                            .displayName("example")
                            .cert("ZXhhbXBsZQ==")
                            .build())
                        .build())
                    .serviceDirectoryConfig(ToolsetOpenApiToolsetServiceDirectoryConfigArgs.builder()
                        .service("projects/example/locations/us/namespaces/namespace/services/service")
                        .build())
                    .apiAuthentication(ToolsetOpenApiToolsetApiAuthenticationArgs.builder()
                        .apiKeyConfig(ToolsetOpenApiToolsetApiAuthenticationApiKeyConfigArgs.builder()
                            .keyName("ExampleKey")
                            .apiKeySecretVersion("projects/fake-project/secrets/fake-secret/versions/version-1")
                            .requestLocation("HEADER")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      cesAppForToolset:
        type: gcp:ces:App
        name: ces_app_for_toolset
        properties:
          appId: app-id
          location: us
          description: App used as parent for CES Toolset example
          displayName: my-app
          languageSettings:
            defaultLanguageCode: en-US
            supportedLanguageCodes:
              - es-ES
              - fr-FR
            enableMultilingualSupport: true
            fallbackAction: escalate
          timeZoneSettings:
            timeZone: America/Los_Angeles
      cesToolsetOpenapiApiKeyConfig:
        type: gcp:ces:Toolset
        name: ces_toolset_openapi_api_key_config
        properties:
          toolsetId: toolset1
          location: us
          app: ${cesAppForToolset.appId}
          displayName: Basic toolset display name
          description: Test description
          executionType: SYNCHRONOUS
          openApiToolset:
            openApiSchema: |
              openapi: 3.0.0
              info:
                title: My Sample API
                version: 1.0.0
                description: A simple API example
              servers:
                - url: https://api.example.com/v1
              paths: {}          
            ignoreUnknownFields: false
            tlsConfig:
              caCerts:
                - displayName: example
                  cert: ZXhhbXBsZQ==
            serviceDirectoryConfig:
              service: projects/example/locations/us/namespaces/namespace/services/service
            apiAuthentication:
              apiKeyConfig:
                keyName: ExampleKey
                apiKeySecretVersion: projects/fake-project/secrets/fake-secret/versions/version-1
                requestLocation: HEADER
    

    Ces Toolset Bearer Token Config

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const cesAppForToolset = new gcp.ces.App("ces_app_for_toolset", {
        appId: "app-id",
        location: "us",
        description: "App used as parent for CES Toolset example",
        displayName: "my-app",
        languageSettings: {
            defaultLanguageCode: "en-US",
            supportedLanguageCodes: [
                "es-ES",
                "fr-FR",
            ],
            enableMultilingualSupport: true,
            fallbackAction: "escalate",
        },
        timeZoneSettings: {
            timeZone: "America/Los_Angeles",
        },
    });
    const cesToolsetBearerTokenConfig = new gcp.ces.Toolset("ces_toolset_bearer_token_config", {
        toolsetId: "toolset1",
        location: "us",
        app: cesAppForToolset.appId,
        displayName: "Basic toolset display name",
        openApiToolset: {
            openApiSchema: `openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    `,
            ignoreUnknownFields: false,
            tlsConfig: {
                caCerts: [{
                    displayName: "example",
                    cert: "ZXhhbXBsZQ==",
                }],
            },
            serviceDirectoryConfig: {
                service: "projects/example/locations/us/namespaces/namespace/services/service",
            },
            apiAuthentication: {
                bearerTokenConfig: {
                    token: "$context.variables.my_ces_toolset_auth_token",
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    ces_app_for_toolset = gcp.ces.App("ces_app_for_toolset",
        app_id="app-id",
        location="us",
        description="App used as parent for CES Toolset 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",
        },
        time_zone_settings={
            "time_zone": "America/Los_Angeles",
        })
    ces_toolset_bearer_token_config = gcp.ces.Toolset("ces_toolset_bearer_token_config",
        toolset_id="toolset1",
        location="us",
        app=ces_app_for_toolset.app_id,
        display_name="Basic toolset display name",
        open_api_toolset={
            "open_api_schema": """openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    """,
            "ignore_unknown_fields": False,
            "tls_config": {
                "ca_certs": [{
                    "display_name": "example",
                    "cert": "ZXhhbXBsZQ==",
                }],
            },
            "service_directory_config": {
                "service": "projects/example/locations/us/namespaces/namespace/services/service",
            },
            "api_authentication": {
                "bearer_token_config": {
                    "token": "$context.variables.my_ces_toolset_auth_token",
                },
            },
        })
    
    package main
    
    import (
    	"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 {
    		cesAppForToolset, err := ces.NewApp(ctx, "ces_app_for_toolset", &ces.AppArgs{
    			AppId:       pulumi.String("app-id"),
    			Location:    pulumi.String("us"),
    			Description: pulumi.String("App used as parent for CES Toolset 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"),
    			},
    			TimeZoneSettings: &ces.AppTimeZoneSettingsArgs{
    				TimeZone: pulumi.String("America/Los_Angeles"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = ces.NewToolset(ctx, "ces_toolset_bearer_token_config", &ces.ToolsetArgs{
    			ToolsetId:   pulumi.String("toolset1"),
    			Location:    pulumi.String("us"),
    			App:         cesAppForToolset.AppId,
    			DisplayName: pulumi.String("Basic toolset display name"),
    			OpenApiToolset: &ces.ToolsetOpenApiToolsetArgs{
    				OpenApiSchema: pulumi.String(`openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    `),
    				IgnoreUnknownFields: pulumi.Bool(false),
    				TlsConfig: &ces.ToolsetOpenApiToolsetTlsConfigArgs{
    					CaCerts: ces.ToolsetOpenApiToolsetTlsConfigCaCertArray{
    						&ces.ToolsetOpenApiToolsetTlsConfigCaCertArgs{
    							DisplayName: pulumi.String("example"),
    							Cert:        pulumi.String("ZXhhbXBsZQ=="),
    						},
    					},
    				},
    				ServiceDirectoryConfig: &ces.ToolsetOpenApiToolsetServiceDirectoryConfigArgs{
    					Service: pulumi.String("projects/example/locations/us/namespaces/namespace/services/service"),
    				},
    				ApiAuthentication: &ces.ToolsetOpenApiToolsetApiAuthenticationArgs{
    					BearerTokenConfig: &ces.ToolsetOpenApiToolsetApiAuthenticationBearerTokenConfigArgs{
    						Token: pulumi.String("$context.variables.my_ces_toolset_auth_token"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var cesAppForToolset = new Gcp.Ces.App("ces_app_for_toolset", new()
        {
            AppId = "app-id",
            Location = "us",
            Description = "App used as parent for CES Toolset example",
            DisplayName = "my-app",
            LanguageSettings = new Gcp.Ces.Inputs.AppLanguageSettingsArgs
            {
                DefaultLanguageCode = "en-US",
                SupportedLanguageCodes = new[]
                {
                    "es-ES",
                    "fr-FR",
                },
                EnableMultilingualSupport = true,
                FallbackAction = "escalate",
            },
            TimeZoneSettings = new Gcp.Ces.Inputs.AppTimeZoneSettingsArgs
            {
                TimeZone = "America/Los_Angeles",
            },
        });
    
        var cesToolsetBearerTokenConfig = new Gcp.Ces.Toolset("ces_toolset_bearer_token_config", new()
        {
            ToolsetId = "toolset1",
            Location = "us",
            App = cesAppForToolset.AppId,
            DisplayName = "Basic toolset display name",
            OpenApiToolset = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetArgs
            {
                OpenApiSchema = @"openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
    ",
                IgnoreUnknownFields = false,
                TlsConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetTlsConfigArgs
                {
                    CaCerts = new[]
                    {
                        new Gcp.Ces.Inputs.ToolsetOpenApiToolsetTlsConfigCaCertArgs
                        {
                            DisplayName = "example",
                            Cert = "ZXhhbXBsZQ==",
                        },
                    },
                },
                ServiceDirectoryConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetServiceDirectoryConfigArgs
                {
                    Service = "projects/example/locations/us/namespaces/namespace/services/service",
                },
                ApiAuthentication = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetApiAuthenticationArgs
                {
                    BearerTokenConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetApiAuthenticationBearerTokenConfigArgs
                    {
                        Token = "$context.variables.my_ces_toolset_auth_token",
                    },
                },
            },
        });
    
    });
    
    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.AppTimeZoneSettingsArgs;
    import com.pulumi.gcp.ces.Toolset;
    import com.pulumi.gcp.ces.ToolsetArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetTlsConfigArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetServiceDirectoryConfigArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetApiAuthenticationArgs;
    import com.pulumi.gcp.ces.inputs.ToolsetOpenApiToolsetApiAuthenticationBearerTokenConfigArgs;
    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 cesAppForToolset = new App("cesAppForToolset", AppArgs.builder()
                .appId("app-id")
                .location("us")
                .description("App used as parent for CES Toolset example")
                .displayName("my-app")
                .languageSettings(AppLanguageSettingsArgs.builder()
                    .defaultLanguageCode("en-US")
                    .supportedLanguageCodes(                
                        "es-ES",
                        "fr-FR")
                    .enableMultilingualSupport(true)
                    .fallbackAction("escalate")
                    .build())
                .timeZoneSettings(AppTimeZoneSettingsArgs.builder()
                    .timeZone("America/Los_Angeles")
                    .build())
                .build());
    
            var cesToolsetBearerTokenConfig = new Toolset("cesToolsetBearerTokenConfig", ToolsetArgs.builder()
                .toolsetId("toolset1")
                .location("us")
                .app(cesAppForToolset.appId())
                .displayName("Basic toolset display name")
                .openApiToolset(ToolsetOpenApiToolsetArgs.builder()
                    .openApiSchema("""
    openapi: 3.0.0
    info:
      title: My Sample API
      version: 1.0.0
      description: A simple API example
    servers:
      - url: https://api.example.com/v1
    paths: {}
                    """)
                    .ignoreUnknownFields(false)
                    .tlsConfig(ToolsetOpenApiToolsetTlsConfigArgs.builder()
                        .caCerts(ToolsetOpenApiToolsetTlsConfigCaCertArgs.builder()
                            .displayName("example")
                            .cert("ZXhhbXBsZQ==")
                            .build())
                        .build())
                    .serviceDirectoryConfig(ToolsetOpenApiToolsetServiceDirectoryConfigArgs.builder()
                        .service("projects/example/locations/us/namespaces/namespace/services/service")
                        .build())
                    .apiAuthentication(ToolsetOpenApiToolsetApiAuthenticationArgs.builder()
                        .bearerTokenConfig(ToolsetOpenApiToolsetApiAuthenticationBearerTokenConfigArgs.builder()
                            .token("$context.variables.my_ces_toolset_auth_token")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      cesAppForToolset:
        type: gcp:ces:App
        name: ces_app_for_toolset
        properties:
          appId: app-id
          location: us
          description: App used as parent for CES Toolset example
          displayName: my-app
          languageSettings:
            defaultLanguageCode: en-US
            supportedLanguageCodes:
              - es-ES
              - fr-FR
            enableMultilingualSupport: true
            fallbackAction: escalate
          timeZoneSettings:
            timeZone: America/Los_Angeles
      cesToolsetBearerTokenConfig:
        type: gcp:ces:Toolset
        name: ces_toolset_bearer_token_config
        properties:
          toolsetId: toolset1
          location: us
          app: ${cesAppForToolset.appId}
          displayName: Basic toolset display name
          openApiToolset:
            openApiSchema: |
              openapi: 3.0.0
              info:
                title: My Sample API
                version: 1.0.0
                description: A simple API example
              servers:
                - url: https://api.example.com/v1
              paths: {}          
            ignoreUnknownFields: false
            tlsConfig:
              caCerts:
                - displayName: example
                  cert: ZXhhbXBsZQ==
            serviceDirectoryConfig:
              service: projects/example/locations/us/namespaces/namespace/services/service
            apiAuthentication:
              bearerTokenConfig:
                token: $context.variables.my_ces_toolset_auth_token
    

    Create Toolset Resource

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

    Constructor syntax

    new Toolset(name: string, args: ToolsetArgs, opts?: CustomResourceOptions);
    @overload
    def Toolset(resource_name: str,
                args: ToolsetArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Toolset(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                app: Optional[str] = None,
                location: Optional[str] = None,
                toolset_id: Optional[str] = None,
                description: Optional[str] = None,
                display_name: Optional[str] = None,
                execution_type: Optional[str] = None,
                open_api_toolset: Optional[ToolsetOpenApiToolsetArgs] = None,
                project: Optional[str] = None)
    func NewToolset(ctx *Context, name string, args ToolsetArgs, opts ...ResourceOption) (*Toolset, error)
    public Toolset(string name, ToolsetArgs args, CustomResourceOptions? opts = null)
    public Toolset(String name, ToolsetArgs args)
    public Toolset(String name, ToolsetArgs args, CustomResourceOptions options)
    
    type: gcp:ces:Toolset
    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 ToolsetArgs
    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 ToolsetArgs
    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 ToolsetArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ToolsetArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ToolsetArgs
    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 toolsetResource = new Gcp.Ces.Toolset("toolsetResource", new()
    {
        App = "string",
        Location = "string",
        ToolsetId = "string",
        Description = "string",
        DisplayName = "string",
        ExecutionType = "string",
        OpenApiToolset = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetArgs
        {
            OpenApiSchema = "string",
            ApiAuthentication = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetApiAuthenticationArgs
            {
                ApiKeyConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetApiAuthenticationApiKeyConfigArgs
                {
                    ApiKeySecretVersion = "string",
                    KeyName = "string",
                    RequestLocation = "string",
                },
                BearerTokenConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetApiAuthenticationBearerTokenConfigArgs
                {
                    Token = "string",
                },
                OauthConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetApiAuthenticationOauthConfigArgs
                {
                    ClientId = "string",
                    ClientSecretVersion = "string",
                    OauthGrantType = "string",
                    TokenEndpoint = "string",
                    Scopes = new[]
                    {
                        "string",
                    },
                },
                ServiceAccountAuthConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetApiAuthenticationServiceAccountAuthConfigArgs
                {
                    ServiceAccount = "string",
                },
                ServiceAgentIdTokenAuthConfig = null,
            },
            IgnoreUnknownFields = false,
            ServiceDirectoryConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetServiceDirectoryConfigArgs
            {
                Service = "string",
            },
            TlsConfig = new Gcp.Ces.Inputs.ToolsetOpenApiToolsetTlsConfigArgs
            {
                CaCerts = new[]
                {
                    new Gcp.Ces.Inputs.ToolsetOpenApiToolsetTlsConfigCaCertArgs
                    {
                        Cert = "string",
                        DisplayName = "string",
                    },
                },
            },
            Url = "string",
        },
        Project = "string",
    });
    
    example, err := ces.NewToolset(ctx, "toolsetResource", &ces.ToolsetArgs{
    	App:           pulumi.String("string"),
    	Location:      pulumi.String("string"),
    	ToolsetId:     pulumi.String("string"),
    	Description:   pulumi.String("string"),
    	DisplayName:   pulumi.String("string"),
    	ExecutionType: pulumi.String("string"),
    	OpenApiToolset: &ces.ToolsetOpenApiToolsetArgs{
    		OpenApiSchema: pulumi.String("string"),
    		ApiAuthentication: &ces.ToolsetOpenApiToolsetApiAuthenticationArgs{
    			ApiKeyConfig: &ces.ToolsetOpenApiToolsetApiAuthenticationApiKeyConfigArgs{
    				ApiKeySecretVersion: pulumi.String("string"),
    				KeyName:             pulumi.String("string"),
    				RequestLocation:     pulumi.String("string"),
    			},
    			BearerTokenConfig: &ces.ToolsetOpenApiToolsetApiAuthenticationBearerTokenConfigArgs{
    				Token: pulumi.String("string"),
    			},
    			OauthConfig: &ces.ToolsetOpenApiToolsetApiAuthenticationOauthConfigArgs{
    				ClientId:            pulumi.String("string"),
    				ClientSecretVersion: pulumi.String("string"),
    				OauthGrantType:      pulumi.String("string"),
    				TokenEndpoint:       pulumi.String("string"),
    				Scopes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			ServiceAccountAuthConfig: &ces.ToolsetOpenApiToolsetApiAuthenticationServiceAccountAuthConfigArgs{
    				ServiceAccount: pulumi.String("string"),
    			},
    			ServiceAgentIdTokenAuthConfig: &ces.ToolsetOpenApiToolsetApiAuthenticationServiceAgentIdTokenAuthConfigArgs{},
    		},
    		IgnoreUnknownFields: pulumi.Bool(false),
    		ServiceDirectoryConfig: &ces.ToolsetOpenApiToolsetServiceDirectoryConfigArgs{
    			Service: pulumi.String("string"),
    		},
    		TlsConfig: &ces.ToolsetOpenApiToolsetTlsConfigArgs{
    			CaCerts: ces.ToolsetOpenApiToolsetTlsConfigCaCertArray{
    				&ces.ToolsetOpenApiToolsetTlsConfigCaCertArgs{
    					Cert:        pulumi.String("string"),
    					DisplayName: pulumi.String("string"),
    				},
    			},
    		},
    		Url: pulumi.String("string"),
    	},
    	Project: pulumi.String("string"),
    })
    
    var toolsetResource = new Toolset("toolsetResource", ToolsetArgs.builder()
        .app("string")
        .location("string")
        .toolsetId("string")
        .description("string")
        .displayName("string")
        .executionType("string")
        .openApiToolset(ToolsetOpenApiToolsetArgs.builder()
            .openApiSchema("string")
            .apiAuthentication(ToolsetOpenApiToolsetApiAuthenticationArgs.builder()
                .apiKeyConfig(ToolsetOpenApiToolsetApiAuthenticationApiKeyConfigArgs.builder()
                    .apiKeySecretVersion("string")
                    .keyName("string")
                    .requestLocation("string")
                    .build())
                .bearerTokenConfig(ToolsetOpenApiToolsetApiAuthenticationBearerTokenConfigArgs.builder()
                    .token("string")
                    .build())
                .oauthConfig(ToolsetOpenApiToolsetApiAuthenticationOauthConfigArgs.builder()
                    .clientId("string")
                    .clientSecretVersion("string")
                    .oauthGrantType("string")
                    .tokenEndpoint("string")
                    .scopes("string")
                    .build())
                .serviceAccountAuthConfig(ToolsetOpenApiToolsetApiAuthenticationServiceAccountAuthConfigArgs.builder()
                    .serviceAccount("string")
                    .build())
                .serviceAgentIdTokenAuthConfig(ToolsetOpenApiToolsetApiAuthenticationServiceAgentIdTokenAuthConfigArgs.builder()
                    .build())
                .build())
            .ignoreUnknownFields(false)
            .serviceDirectoryConfig(ToolsetOpenApiToolsetServiceDirectoryConfigArgs.builder()
                .service("string")
                .build())
            .tlsConfig(ToolsetOpenApiToolsetTlsConfigArgs.builder()
                .caCerts(ToolsetOpenApiToolsetTlsConfigCaCertArgs.builder()
                    .cert("string")
                    .displayName("string")
                    .build())
                .build())
            .url("string")
            .build())
        .project("string")
        .build());
    
    toolset_resource = gcp.ces.Toolset("toolsetResource",
        app="string",
        location="string",
        toolset_id="string",
        description="string",
        display_name="string",
        execution_type="string",
        open_api_toolset={
            "open_api_schema": "string",
            "api_authentication": {
                "api_key_config": {
                    "api_key_secret_version": "string",
                    "key_name": "string",
                    "request_location": "string",
                },
                "bearer_token_config": {
                    "token": "string",
                },
                "oauth_config": {
                    "client_id": "string",
                    "client_secret_version": "string",
                    "oauth_grant_type": "string",
                    "token_endpoint": "string",
                    "scopes": ["string"],
                },
                "service_account_auth_config": {
                    "service_account": "string",
                },
                "service_agent_id_token_auth_config": {},
            },
            "ignore_unknown_fields": False,
            "service_directory_config": {
                "service": "string",
            },
            "tls_config": {
                "ca_certs": [{
                    "cert": "string",
                    "display_name": "string",
                }],
            },
            "url": "string",
        },
        project="string")
    
    const toolsetResource = new gcp.ces.Toolset("toolsetResource", {
        app: "string",
        location: "string",
        toolsetId: "string",
        description: "string",
        displayName: "string",
        executionType: "string",
        openApiToolset: {
            openApiSchema: "string",
            apiAuthentication: {
                apiKeyConfig: {
                    apiKeySecretVersion: "string",
                    keyName: "string",
                    requestLocation: "string",
                },
                bearerTokenConfig: {
                    token: "string",
                },
                oauthConfig: {
                    clientId: "string",
                    clientSecretVersion: "string",
                    oauthGrantType: "string",
                    tokenEndpoint: "string",
                    scopes: ["string"],
                },
                serviceAccountAuthConfig: {
                    serviceAccount: "string",
                },
                serviceAgentIdTokenAuthConfig: {},
            },
            ignoreUnknownFields: false,
            serviceDirectoryConfig: {
                service: "string",
            },
            tlsConfig: {
                caCerts: [{
                    cert: "string",
                    displayName: "string",
                }],
            },
            url: "string",
        },
        project: "string",
    });
    
    type: gcp:ces:Toolset
    properties:
        app: string
        description: string
        displayName: string
        executionType: string
        location: string
        openApiToolset:
            apiAuthentication:
                apiKeyConfig:
                    apiKeySecretVersion: string
                    keyName: string
                    requestLocation: string
                bearerTokenConfig:
                    token: string
                oauthConfig:
                    clientId: string
                    clientSecretVersion: string
                    oauthGrantType: string
                    scopes:
                        - string
                    tokenEndpoint: string
                serviceAccountAuthConfig:
                    serviceAccount: string
                serviceAgentIdTokenAuthConfig: {}
            ignoreUnknownFields: false
            openApiSchema: string
            serviceDirectoryConfig:
                service: string
            tlsConfig:
                caCerts:
                    - cert: string
                      displayName: string
            url: string
        project: string
        toolsetId: string
    

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

    App string
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    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.
    ToolsetId string
    The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.
    Description string
    The description of the toolset.
    DisplayName string
    The display name of the toolset. Must be unique within the same app.
    ExecutionType string
    Possible values: SYNCHRONOUS ASYNCHRONOUS
    OpenApiToolset ToolsetOpenApiToolset
    A toolset that contains a list of tools that are defined by an OpenAPI schema. Structure is documented below.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    App string
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    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.
    ToolsetId string
    The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.
    Description string
    The description of the toolset.
    DisplayName string
    The display name of the toolset. Must be unique within the same app.
    ExecutionType string
    Possible values: SYNCHRONOUS ASYNCHRONOUS
    OpenApiToolset ToolsetOpenApiToolsetArgs
    A toolset that contains a list of tools that are defined by an OpenAPI schema. Structure is documented below.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    app String
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    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.
    toolsetId String
    The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.
    description String
    The description of the toolset.
    displayName String
    The display name of the toolset. Must be unique within the same app.
    executionType String
    Possible values: SYNCHRONOUS ASYNCHRONOUS
    openApiToolset ToolsetOpenApiToolset
    A toolset that contains a list of tools that are defined by an OpenAPI schema. Structure is documented below.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    app string
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    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.
    toolsetId string
    The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.
    description string
    The description of the toolset.
    displayName string
    The display name of the toolset. Must be unique within the same app.
    executionType string
    Possible values: SYNCHRONOUS ASYNCHRONOUS
    openApiToolset ToolsetOpenApiToolset
    A toolset that contains a list of tools that are defined by an OpenAPI schema. Structure is documented below.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    app str
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    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.
    toolset_id str
    The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.
    description str
    The description of the toolset.
    display_name str
    The display name of the toolset. Must be unique within the same app.
    execution_type str
    Possible values: SYNCHRONOUS ASYNCHRONOUS
    open_api_toolset ToolsetOpenApiToolsetArgs
    A toolset that contains a list of tools that are defined by an OpenAPI schema. Structure is documented below.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    app String
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    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.
    toolsetId String
    The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.
    description String
    The description of the toolset.
    displayName String
    The display name of the toolset. Must be unique within the same app.
    executionType String
    Possible values: SYNCHRONOUS ASYNCHRONOUS
    openApiToolset Property Map
    A toolset that contains a list of tools that are defined by an OpenAPI schema. Structure is documented below.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    Outputs

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

    CreateTime string
    Timestamp when the toolset was created.
    Etag string
    ETag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    Identifier. The unique identifier of the toolset. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    UpdateTime string
    Timestamp when the toolset was last updated.
    CreateTime string
    Timestamp when the toolset was created.
    Etag string
    ETag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    Identifier. The unique identifier of the toolset. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    UpdateTime string
    Timestamp when the toolset was last updated.
    createTime String
    Timestamp when the toolset was created.
    etag String
    ETag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    Identifier. The unique identifier of the toolset. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    updateTime String
    Timestamp when the toolset was last updated.
    createTime string
    Timestamp when the toolset was created.
    etag string
    ETag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    Identifier. The unique identifier of the toolset. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    updateTime string
    Timestamp when the toolset was last updated.
    create_time str
    Timestamp when the toolset was created.
    etag str
    ETag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    Identifier. The unique identifier of the toolset. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    update_time str
    Timestamp when the toolset was last updated.
    createTime String
    Timestamp when the toolset was created.
    etag String
    ETag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    Identifier. The unique identifier of the toolset. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    updateTime String
    Timestamp when the toolset was last updated.

    Look up Existing Toolset Resource

    Get an existing Toolset 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?: ToolsetState, opts?: CustomResourceOptions): Toolset
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            app: Optional[str] = None,
            create_time: Optional[str] = None,
            description: Optional[str] = None,
            display_name: Optional[str] = None,
            etag: Optional[str] = None,
            execution_type: Optional[str] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            open_api_toolset: Optional[ToolsetOpenApiToolsetArgs] = None,
            project: Optional[str] = None,
            toolset_id: Optional[str] = None,
            update_time: Optional[str] = None) -> Toolset
    func GetToolset(ctx *Context, name string, id IDInput, state *ToolsetState, opts ...ResourceOption) (*Toolset, error)
    public static Toolset Get(string name, Input<string> id, ToolsetState? state, CustomResourceOptions? opts = null)
    public static Toolset get(String name, Output<String> id, ToolsetState state, CustomResourceOptions options)
    resources:  _:    type: gcp:ces:Toolset    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    App string
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    CreateTime string
    Timestamp when the toolset was created.
    Description string
    The description of the toolset.
    DisplayName string
    The display name of the toolset. Must be unique within the same 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.
    ExecutionType string
    Possible values: SYNCHRONOUS ASYNCHRONOUS
    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.
    Name string
    Identifier. The unique identifier of the toolset. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    OpenApiToolset ToolsetOpenApiToolset
    A toolset that contains a list of tools that are defined by an OpenAPI schema. 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.
    ToolsetId string
    The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.
    UpdateTime string
    Timestamp when the toolset was last updated.
    App string
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    CreateTime string
    Timestamp when the toolset was created.
    Description string
    The description of the toolset.
    DisplayName string
    The display name of the toolset. Must be unique within the same 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.
    ExecutionType string
    Possible values: SYNCHRONOUS ASYNCHRONOUS
    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.
    Name string
    Identifier. The unique identifier of the toolset. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    OpenApiToolset ToolsetOpenApiToolsetArgs
    A toolset that contains a list of tools that are defined by an OpenAPI schema. 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.
    ToolsetId string
    The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.
    UpdateTime string
    Timestamp when the toolset was last updated.
    app String
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    createTime String
    Timestamp when the toolset was created.
    description String
    The description of the toolset.
    displayName String
    The display name of the toolset. Must be unique within the same 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.
    executionType String
    Possible values: SYNCHRONOUS ASYNCHRONOUS
    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.
    name String
    Identifier. The unique identifier of the toolset. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    openApiToolset ToolsetOpenApiToolset
    A toolset that contains a list of tools that are defined by an OpenAPI schema. 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.
    toolsetId String
    The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.
    updateTime String
    Timestamp when the toolset was last updated.
    app string
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    createTime string
    Timestamp when the toolset was created.
    description string
    The description of the toolset.
    displayName string
    The display name of the toolset. Must be unique within the same 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.
    executionType string
    Possible values: SYNCHRONOUS ASYNCHRONOUS
    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.
    name string
    Identifier. The unique identifier of the toolset. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    openApiToolset ToolsetOpenApiToolset
    A toolset that contains a list of tools that are defined by an OpenAPI schema. 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.
    toolsetId string
    The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.
    updateTime string
    Timestamp when the toolset was last updated.
    app str
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    create_time str
    Timestamp when the toolset was created.
    description str
    The description of the toolset.
    display_name str
    The display name of the toolset. Must be unique within the same 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.
    execution_type str
    Possible values: SYNCHRONOUS ASYNCHRONOUS
    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.
    name str
    Identifier. The unique identifier of the toolset. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    open_api_toolset ToolsetOpenApiToolsetArgs
    A toolset that contains a list of tools that are defined by an OpenAPI schema. 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.
    toolset_id str
    The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.
    update_time str
    Timestamp when the toolset was last updated.
    app String
    Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    createTime String
    Timestamp when the toolset was created.
    description String
    The description of the toolset.
    displayName String
    The display name of the toolset. Must be unique within the same 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.
    executionType String
    Possible values: SYNCHRONOUS ASYNCHRONOUS
    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.
    name String
    Identifier. The unique identifier of the toolset. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}
    openApiToolset Property Map
    A toolset that contains a list of tools that are defined by an OpenAPI schema. 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.
    toolsetId String
    The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.
    updateTime String
    Timestamp when the toolset was last updated.

    Supporting Types

    ToolsetOpenApiToolset, ToolsetOpenApiToolsetArgs

    OpenApiSchema string
    The OpenAPI schema of the toolset.
    ApiAuthentication ToolsetOpenApiToolsetApiAuthentication
    Authentication information required for API calls. Structure is documented below.
    IgnoreUnknownFields bool
    If true, the agent will ignore unknown fields in the API response for all operations defined in the OpenAPI schema.
    ServiceDirectoryConfig ToolsetOpenApiToolsetServiceDirectoryConfig
    Configuration for tools using Service Directory. Structure is documented below.
    TlsConfig ToolsetOpenApiToolsetTlsConfig
    The TLS configuration. Structure is documented below.
    Url string
    (Output) The server URL of the Open API schema. This field is only set in toolsets in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.
    OpenApiSchema string
    The OpenAPI schema of the toolset.
    ApiAuthentication ToolsetOpenApiToolsetApiAuthentication
    Authentication information required for API calls. Structure is documented below.
    IgnoreUnknownFields bool
    If true, the agent will ignore unknown fields in the API response for all operations defined in the OpenAPI schema.
    ServiceDirectoryConfig ToolsetOpenApiToolsetServiceDirectoryConfig
    Configuration for tools using Service Directory. Structure is documented below.
    TlsConfig ToolsetOpenApiToolsetTlsConfig
    The TLS configuration. Structure is documented below.
    Url string
    (Output) The server URL of the Open API schema. This field is only set in toolsets in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.
    openApiSchema String
    The OpenAPI schema of the toolset.
    apiAuthentication ToolsetOpenApiToolsetApiAuthentication
    Authentication information required for API calls. Structure is documented below.
    ignoreUnknownFields Boolean
    If true, the agent will ignore unknown fields in the API response for all operations defined in the OpenAPI schema.
    serviceDirectoryConfig ToolsetOpenApiToolsetServiceDirectoryConfig
    Configuration for tools using Service Directory. Structure is documented below.
    tlsConfig ToolsetOpenApiToolsetTlsConfig
    The TLS configuration. Structure is documented below.
    url String
    (Output) The server URL of the Open API schema. This field is only set in toolsets in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.
    openApiSchema string
    The OpenAPI schema of the toolset.
    apiAuthentication ToolsetOpenApiToolsetApiAuthentication
    Authentication information required for API calls. Structure is documented below.
    ignoreUnknownFields boolean
    If true, the agent will ignore unknown fields in the API response for all operations defined in the OpenAPI schema.
    serviceDirectoryConfig ToolsetOpenApiToolsetServiceDirectoryConfig
    Configuration for tools using Service Directory. Structure is documented below.
    tlsConfig ToolsetOpenApiToolsetTlsConfig
    The TLS configuration. Structure is documented below.
    url string
    (Output) The server URL of the Open API schema. This field is only set in toolsets in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.
    open_api_schema str
    The OpenAPI schema of the toolset.
    api_authentication ToolsetOpenApiToolsetApiAuthentication
    Authentication information required for API calls. Structure is documented below.
    ignore_unknown_fields bool
    If true, the agent will ignore unknown fields in the API response for all operations defined in the OpenAPI schema.
    service_directory_config ToolsetOpenApiToolsetServiceDirectoryConfig
    Configuration for tools using Service Directory. Structure is documented below.
    tls_config ToolsetOpenApiToolsetTlsConfig
    The TLS configuration. Structure is documented below.
    url str
    (Output) The server URL of the Open API schema. This field is only set in toolsets in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.
    openApiSchema String
    The OpenAPI schema of the toolset.
    apiAuthentication Property Map
    Authentication information required for API calls. Structure is documented below.
    ignoreUnknownFields Boolean
    If true, the agent will ignore unknown fields in the API response for all operations defined in the OpenAPI schema.
    serviceDirectoryConfig Property Map
    Configuration for tools using Service Directory. Structure is documented below.
    tlsConfig Property Map
    The TLS configuration. Structure is documented below.
    url String
    (Output) The server URL of the Open API schema. This field is only set in toolsets in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.

    ToolsetOpenApiToolsetApiAuthentication, ToolsetOpenApiToolsetApiAuthenticationArgs

    ApiKeyConfig ToolsetOpenApiToolsetApiAuthenticationApiKeyConfig
    Configurations for authentication with API key. Structure is documented below.
    BearerTokenConfig ToolsetOpenApiToolsetApiAuthenticationBearerTokenConfig
    Configurations for authentication with a bearer token. Structure is documented below.
    OauthConfig ToolsetOpenApiToolsetApiAuthenticationOauthConfig
    Configurations for authentication with OAuth. Structure is documented below.
    ServiceAccountAuthConfig ToolsetOpenApiToolsetApiAuthenticationServiceAccountAuthConfig
    Configurations for authentication using a custom service account. Structure is documented below.
    ServiceAgentIdTokenAuthConfig ToolsetOpenApiToolsetApiAuthenticationServiceAgentIdTokenAuthConfig
    Configurations for authentication with ID token generated from service agent.
    ApiKeyConfig ToolsetOpenApiToolsetApiAuthenticationApiKeyConfig
    Configurations for authentication with API key. Structure is documented below.
    BearerTokenConfig ToolsetOpenApiToolsetApiAuthenticationBearerTokenConfig
    Configurations for authentication with a bearer token. Structure is documented below.
    OauthConfig ToolsetOpenApiToolsetApiAuthenticationOauthConfig
    Configurations for authentication with OAuth. Structure is documented below.
    ServiceAccountAuthConfig ToolsetOpenApiToolsetApiAuthenticationServiceAccountAuthConfig
    Configurations for authentication using a custom service account. Structure is documented below.
    ServiceAgentIdTokenAuthConfig ToolsetOpenApiToolsetApiAuthenticationServiceAgentIdTokenAuthConfig
    Configurations for authentication with ID token generated from service agent.
    apiKeyConfig ToolsetOpenApiToolsetApiAuthenticationApiKeyConfig
    Configurations for authentication with API key. Structure is documented below.
    bearerTokenConfig ToolsetOpenApiToolsetApiAuthenticationBearerTokenConfig
    Configurations for authentication with a bearer token. Structure is documented below.
    oauthConfig ToolsetOpenApiToolsetApiAuthenticationOauthConfig
    Configurations for authentication with OAuth. Structure is documented below.
    serviceAccountAuthConfig ToolsetOpenApiToolsetApiAuthenticationServiceAccountAuthConfig
    Configurations for authentication using a custom service account. Structure is documented below.
    serviceAgentIdTokenAuthConfig ToolsetOpenApiToolsetApiAuthenticationServiceAgentIdTokenAuthConfig
    Configurations for authentication with ID token generated from service agent.
    apiKeyConfig ToolsetOpenApiToolsetApiAuthenticationApiKeyConfig
    Configurations for authentication with API key. Structure is documented below.
    bearerTokenConfig ToolsetOpenApiToolsetApiAuthenticationBearerTokenConfig
    Configurations for authentication with a bearer token. Structure is documented below.
    oauthConfig ToolsetOpenApiToolsetApiAuthenticationOauthConfig
    Configurations for authentication with OAuth. Structure is documented below.
    serviceAccountAuthConfig ToolsetOpenApiToolsetApiAuthenticationServiceAccountAuthConfig
    Configurations for authentication using a custom service account. Structure is documented below.
    serviceAgentIdTokenAuthConfig ToolsetOpenApiToolsetApiAuthenticationServiceAgentIdTokenAuthConfig
    Configurations for authentication with ID token generated from service agent.
    api_key_config ToolsetOpenApiToolsetApiAuthenticationApiKeyConfig
    Configurations for authentication with API key. Structure is documented below.
    bearer_token_config ToolsetOpenApiToolsetApiAuthenticationBearerTokenConfig
    Configurations for authentication with a bearer token. Structure is documented below.
    oauth_config ToolsetOpenApiToolsetApiAuthenticationOauthConfig
    Configurations for authentication with OAuth. Structure is documented below.
    service_account_auth_config ToolsetOpenApiToolsetApiAuthenticationServiceAccountAuthConfig
    Configurations for authentication using a custom service account. Structure is documented below.
    service_agent_id_token_auth_config ToolsetOpenApiToolsetApiAuthenticationServiceAgentIdTokenAuthConfig
    Configurations for authentication with ID token generated from service agent.
    apiKeyConfig Property Map
    Configurations for authentication with API key. Structure is documented below.
    bearerTokenConfig Property Map
    Configurations for authentication with a bearer token. Structure is documented below.
    oauthConfig Property Map
    Configurations for authentication with OAuth. Structure is documented below.
    serviceAccountAuthConfig Property Map
    Configurations for authentication using a custom service account. Structure is documented below.
    serviceAgentIdTokenAuthConfig Property Map
    Configurations for authentication with ID token generated from service agent.

    ToolsetOpenApiToolsetApiAuthenticationApiKeyConfig, ToolsetOpenApiToolsetApiAuthenticationApiKeyConfigArgs

    ApiKeySecretVersion string
    The name of the SecretManager secret version resource storing the API key. Format: projects/{project}/secrets/{secret}/versions/{version} Note: You should grant roles/secretmanager.secretAccessor role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    KeyName string
    The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name.
    RequestLocation string
    Key location in the request. Possible values: HEADER QUERY_STRING
    ApiKeySecretVersion string
    The name of the SecretManager secret version resource storing the API key. Format: projects/{project}/secrets/{secret}/versions/{version} Note: You should grant roles/secretmanager.secretAccessor role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    KeyName string
    The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name.
    RequestLocation string
    Key location in the request. Possible values: HEADER QUERY_STRING
    apiKeySecretVersion String
    The name of the SecretManager secret version resource storing the API key. Format: projects/{project}/secrets/{secret}/versions/{version} Note: You should grant roles/secretmanager.secretAccessor role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    keyName String
    The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name.
    requestLocation String
    Key location in the request. Possible values: HEADER QUERY_STRING
    apiKeySecretVersion string
    The name of the SecretManager secret version resource storing the API key. Format: projects/{project}/secrets/{secret}/versions/{version} Note: You should grant roles/secretmanager.secretAccessor role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    keyName string
    The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name.
    requestLocation string
    Key location in the request. Possible values: HEADER QUERY_STRING
    api_key_secret_version str
    The name of the SecretManager secret version resource storing the API key. Format: projects/{project}/secrets/{secret}/versions/{version} Note: You should grant roles/secretmanager.secretAccessor role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    key_name str
    The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name.
    request_location str
    Key location in the request. Possible values: HEADER QUERY_STRING
    apiKeySecretVersion String
    The name of the SecretManager secret version resource storing the API key. Format: projects/{project}/secrets/{secret}/versions/{version} Note: You should grant roles/secretmanager.secretAccessor role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    keyName String
    The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name.
    requestLocation String
    Key location in the request. Possible values: HEADER QUERY_STRING

    ToolsetOpenApiToolsetApiAuthenticationBearerTokenConfig, ToolsetOpenApiToolsetApiAuthenticationBearerTokenConfigArgs

    Token string
    (Optional)
    Token string
    (Optional)
    token String
    (Optional)
    token string
    (Optional)
    token str
    (Optional)
    token String
    (Optional)

    ToolsetOpenApiToolsetApiAuthenticationOauthConfig, ToolsetOpenApiToolsetApiAuthenticationOauthConfigArgs

    ClientId string
    The client ID from the OAuth provider.
    ClientSecretVersion string
    The name of the SecretManager secret version resource storing the client secret. Format: projects/{project}/secrets/{secret}/versions/{version} Note: You should grant roles/secretmanager.secretAccessor role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    OauthGrantType string
    OAuth grant types. Possible values: CLIENT_CREDENTIAL
    TokenEndpoint string
    The token endpoint in the OAuth provider to exchange for an access token.
    Scopes List<string>
    The OAuth scopes to grant.
    ClientId string
    The client ID from the OAuth provider.
    ClientSecretVersion string
    The name of the SecretManager secret version resource storing the client secret. Format: projects/{project}/secrets/{secret}/versions/{version} Note: You should grant roles/secretmanager.secretAccessor role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    OauthGrantType string
    OAuth grant types. Possible values: CLIENT_CREDENTIAL
    TokenEndpoint string
    The token endpoint in the OAuth provider to exchange for an access token.
    Scopes []string
    The OAuth scopes to grant.
    clientId String
    The client ID from the OAuth provider.
    clientSecretVersion String
    The name of the SecretManager secret version resource storing the client secret. Format: projects/{project}/secrets/{secret}/versions/{version} Note: You should grant roles/secretmanager.secretAccessor role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    oauthGrantType String
    OAuth grant types. Possible values: CLIENT_CREDENTIAL
    tokenEndpoint String
    The token endpoint in the OAuth provider to exchange for an access token.
    scopes List<String>
    The OAuth scopes to grant.
    clientId string
    The client ID from the OAuth provider.
    clientSecretVersion string
    The name of the SecretManager secret version resource storing the client secret. Format: projects/{project}/secrets/{secret}/versions/{version} Note: You should grant roles/secretmanager.secretAccessor role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    oauthGrantType string
    OAuth grant types. Possible values: CLIENT_CREDENTIAL
    tokenEndpoint string
    The token endpoint in the OAuth provider to exchange for an access token.
    scopes string[]
    The OAuth scopes to grant.
    client_id str
    The client ID from the OAuth provider.
    client_secret_version str
    The name of the SecretManager secret version resource storing the client secret. Format: projects/{project}/secrets/{secret}/versions/{version} Note: You should grant roles/secretmanager.secretAccessor role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    oauth_grant_type str
    OAuth grant types. Possible values: CLIENT_CREDENTIAL
    token_endpoint str
    The token endpoint in the OAuth provider to exchange for an access token.
    scopes Sequence[str]
    The OAuth scopes to grant.
    clientId String
    The client ID from the OAuth provider.
    clientSecretVersion String
    The name of the SecretManager secret version resource storing the client secret. Format: projects/{project}/secrets/{secret}/versions/{version} Note: You should grant roles/secretmanager.secretAccessor role to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    oauthGrantType String
    OAuth grant types. Possible values: CLIENT_CREDENTIAL
    tokenEndpoint String
    The token endpoint in the OAuth provider to exchange for an access token.
    scopes List<String>
    The OAuth scopes to grant.

    ToolsetOpenApiToolsetApiAuthenticationServiceAccountAuthConfig, ToolsetOpenApiToolsetApiAuthenticationServiceAccountAuthConfigArgs

    ServiceAccount string
    The email address of the service account used for authenticatation. CES uses this service account to exchange an access token and the access token is then sent in the Authorization header of the request. The service account must have the roles/iam.serviceAccountTokenCreator role granted to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    ServiceAccount string
    The email address of the service account used for authenticatation. CES uses this service account to exchange an access token and the access token is then sent in the Authorization header of the request. The service account must have the roles/iam.serviceAccountTokenCreator role granted to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    serviceAccount String
    The email address of the service account used for authenticatation. CES uses this service account to exchange an access token and the access token is then sent in the Authorization header of the request. The service account must have the roles/iam.serviceAccountTokenCreator role granted to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    serviceAccount string
    The email address of the service account used for authenticatation. CES uses this service account to exchange an access token and the access token is then sent in the Authorization header of the request. The service account must have the roles/iam.serviceAccountTokenCreator role granted to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    service_account str
    The email address of the service account used for authenticatation. CES uses this service account to exchange an access token and the access token is then sent in the Authorization header of the request. The service account must have the roles/iam.serviceAccountTokenCreator role granted to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.
    serviceAccount String
    The email address of the service account used for authenticatation. CES uses this service account to exchange an access token and the access token is then sent in the Authorization header of the request. The service account must have the roles/iam.serviceAccountTokenCreator role granted to the CES service agent service-@gcp-sa-ces.iam.gserviceaccount.com.

    ToolsetOpenApiToolsetServiceDirectoryConfig, ToolsetOpenApiToolsetServiceDirectoryConfigArgs

    Service string
    The name of Service Directory service. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. Location of the service directory must be the same as the location of the app.
    Service string
    The name of Service Directory service. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. Location of the service directory must be the same as the location of the app.
    service String
    The name of Service Directory service. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. Location of the service directory must be the same as the location of the app.
    service string
    The name of Service Directory service. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. Location of the service directory must be the same as the location of the app.
    service str
    The name of Service Directory service. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. Location of the service directory must be the same as the location of the app.
    service String
    The name of Service Directory service. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. Location of the service directory must be the same as the location of the app.

    ToolsetOpenApiToolsetTlsConfig, ToolsetOpenApiToolsetTlsConfigArgs

    CaCerts List<ToolsetOpenApiToolsetTlsConfigCaCert>
    Specifies a list of allowed custom CA certificates for HTTPS verification. Structure is documented below.
    CaCerts []ToolsetOpenApiToolsetTlsConfigCaCert
    Specifies a list of allowed custom CA certificates for HTTPS verification. Structure is documented below.
    caCerts List<ToolsetOpenApiToolsetTlsConfigCaCert>
    Specifies a list of allowed custom CA certificates for HTTPS verification. Structure is documented below.
    caCerts ToolsetOpenApiToolsetTlsConfigCaCert[]
    Specifies a list of allowed custom CA certificates for HTTPS verification. Structure is documented below.
    ca_certs Sequence[ToolsetOpenApiToolsetTlsConfigCaCert]
    Specifies a list of allowed custom CA certificates for HTTPS verification. Structure is documented below.
    caCerts List<Property Map>
    Specifies a list of allowed custom CA certificates for HTTPS verification. Structure is documented below.

    ToolsetOpenApiToolsetTlsConfigCaCert, ToolsetOpenApiToolsetTlsConfigCaCertArgs

    Cert string
    The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, CES will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    DisplayName string
    The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
    Cert string
    The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, CES will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    DisplayName string
    The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
    cert String
    The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, CES will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    displayName String
    The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
    cert string
    The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, CES will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    displayName string
    The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
    cert str
    The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, CES will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    display_name str
    The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.
    cert String
    The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, CES will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr
    -signkey example.com.key
    -out example.com.crt
    -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
    displayName String
    The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.

    Import

    Toolset can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{location}}/apps/{{app}}/toolsets/{{toolset_id}}

    • {{project}}/{{location}}/{{app}}/{{toolset_id}}

    • {{location}}/{{app}}/{{toolset_id}}

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

    $ pulumi import gcp:ces/toolset:Toolset default projects/{{project}}/locations/{{location}}/apps/{{app}}/toolsets/{{toolset_id}}
    
    $ pulumi import gcp:ces/toolset:Toolset default {{project}}/{{location}}/{{app}}/{{toolset_id}}
    
    $ pulumi import gcp:ces/toolset:Toolset default {{location}}/{{app}}/{{toolset_id}}
    

    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