WidgetConfig class

Represents a WidgetConfig.

To get more information about WidgetConfig, see:

Example Usage

Discoveryengine Widgetconfig Basic

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const basic = new gcp.discoveryengine.DataStore("basic", {
    location: "global",
    dataStoreId: "data-store-id",
    displayName: "tf-test-datastore",
    industryVertical: "GENERIC",
    contentConfig: "NO_CONTENT",
    solutionTypes: ["SOLUTION_TYPE_SEARCH"],
    createAdvancedSiteSearch: false,
});
const basicSearchEngine = new gcp.discoveryengine.SearchEngine("basic", {
    engineId: "engine-id",
    collectionId: "default_collection",
    location: basic.location,
    displayName: "tf-test-engine",
    dataStoreIds: [basic.dataStoreId],
    industryVertical: "GENERIC",
    appType: "APP_TYPE_INTRANET",
    searchEngineConfig: {},
});
const basicWidgetConfig = new gcp.discoveryengine.WidgetConfig("basic", {
    location: basicSearchEngine.location,
    engineId: basicSearchEngine.engineId,
    accessSettings: {
        enableWebApp: true,
        workforceIdentityPoolProvider: "locations/global/workforcePools/workforce-pool-id/providers/workforce-pool-provider",
    },
    uiSettings: {
        interactionType: "SEARCH_WITH_ANSWER",
        enableAutocomplete: true,
        enableQualityFeedback: true,
        generativeAnswerConfig: {
            resultCount: 5,
        },
    },
});
export const widgetConfigId = basicWidgetConfig.configId;
import pulumi
import pulumi_gcp as gcp

basic = gcp.discoveryengine.DataStore("basic",
    location="global",
    data_store_id="data-store-id",
    display_name="tf-test-datastore",
    industry_vertical="GENERIC",
    content_config="NO_CONTENT",
    solution_types=["SOLUTION_TYPE_SEARCH"],
    create_advanced_site_search=False)
basic_search_engine = gcp.discoveryengine.SearchEngine("basic",
    engine_id="engine-id",
    collection_id="default_collection",
    location=basic.location,
    display_name="tf-test-engine",
    data_store_ids=[basic.data_store_id],
    industry_vertical="GENERIC",
    app_type="APP_TYPE_INTRANET",
    search_engine_config={})
basic_widget_config = gcp.discoveryengine.WidgetConfig("basic",
    location=basic_search_engine.location,
    engine_id=basic_search_engine.engine_id,
    access_settings={
        "enable_web_app": True,
        "workforce_identity_pool_provider": "locations/global/workforcePools/workforce-pool-id/providers/workforce-pool-provider",
    },
    ui_settings={
        "interaction_type": "SEARCH_WITH_ANSWER",
        "enable_autocomplete": True,
        "enable_quality_feedback": True,
        "generative_answer_config": {
            "result_count": 5,
        },
    })
pulumi.export("widgetConfigId", basic_widget_config.config_id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() =>
{
    var basic = new Gcp.DiscoveryEngine.DataStore("basic", new()
    {
        Location = "global",
        DataStoreId = "data-store-id",
        DisplayName = "tf-test-datastore",
        IndustryVertical = "GENERIC",
        ContentConfig = "NO_CONTENT",
        SolutionTypes = new[]
        {
            "SOLUTION_TYPE_SEARCH",
        },
        CreateAdvancedSiteSearch = false,
    });

    var basicSearchEngine = new Gcp.DiscoveryEngine.SearchEngine("basic", new()
    {
        EngineId = "engine-id",
        CollectionId = "default_collection",
        Location = basic.Location,
        DisplayName = "tf-test-engine",
        DataStoreIds = new[]
        {
            basic.DataStoreId,
        },
        IndustryVertical = "GENERIC",
        AppType = "APP_TYPE_INTRANET",
        SearchEngineConfig = new() { },
    });

    var basicWidgetConfig = new Gcp.DiscoveryEngine.WidgetConfig("basic", new()
    {
        Location = basicSearchEngine.Location,
        EngineId = basicSearchEngine.EngineId,
        AccessSettings = new Gcp.DiscoveryEngine.Inputs.WidgetConfigAccessSettingsArgs
        {
            EnableWebApp = true,
            WorkforceIdentityPoolProvider = "locations/global/workforcePools/workforce-pool-id/providers/workforce-pool-provider",
        },
        UiSettings = new Gcp.DiscoveryEngine.Inputs.WidgetConfigUiSettingsArgs
        {
            InteractionType = "SEARCH_WITH_ANSWER",
            EnableAutocomplete = true,
            EnableQualityFeedback = true,
            GenerativeAnswerConfig = new Gcp.DiscoveryEngine.Inputs.WidgetConfigUiSettingsGenerativeAnswerConfigArgs
            {
                ResultCount = 5,
            },
        },
    });

    return new Dictionary<string, object?>
    {
        ["widgetConfigId"] = basicWidgetConfig.ConfigId,
    };
});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/discoveryengine"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		basic, err := discoveryengine.NewDataStore(ctx, "basic", &discoveryengine.DataStoreArgs{
			Location:         pulumi.String("global"),
			DataStoreId:      pulumi.String("data-store-id"),
			DisplayName:      pulumi.String("tf-test-datastore"),
			IndustryVertical: pulumi.String("GENERIC"),
			ContentConfig:    pulumi.String("NO_CONTENT"),
			SolutionTypes: pulumi.StringArray{
				pulumi.String("SOLUTION_TYPE_SEARCH"),
			},
			CreateAdvancedSiteSearch: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		basicSearchEngine, err := discoveryengine.NewSearchEngine(ctx, "basic", &discoveryengine.SearchEngineArgs{
			EngineId:     pulumi.String("engine-id"),
			CollectionId: pulumi.String("default_collection"),
			Location:     basic.Location,
			DisplayName:  pulumi.String("tf-test-engine"),
			DataStoreIds: pulumi.StringArray{
				basic.DataStoreId,
			},
			IndustryVertical:   pulumi.String("GENERIC"),
			AppType:            pulumi.String("APP_TYPE_INTRANET"),
			SearchEngineConfig: &discoveryengine.SearchEngineSearchEngineConfigArgs{},
		})
		if err != nil {
			return err
		}
		basicWidgetConfig, err := discoveryengine.NewWidgetConfig(ctx, "basic", &discoveryengine.WidgetConfigArgs{
			Location: basicSearchEngine.Location,
			EngineId: basicSearchEngine.EngineId,
			AccessSettings: &discoveryengine.WidgetConfigAccessSettingsArgs{
				EnableWebApp:                  pulumi.Bool(true),
				WorkforceIdentityPoolProvider: pulumi.String("locations/global/workforcePools/workforce-pool-id/providers/workforce-pool-provider"),
			},
			UiSettings: &discoveryengine.WidgetConfigUiSettingsArgs{
				InteractionType:       pulumi.String("SEARCH_WITH_ANSWER"),
				EnableAutocomplete:    pulumi.Bool(true),
				EnableQualityFeedback: pulumi.Bool(true),
				GenerativeAnswerConfig: &discoveryengine.WidgetConfigUiSettingsGenerativeAnswerConfigArgs{
					ResultCount: pulumi.Int(5),
				},
			},
		})
		if err != nil {
			return err
		}
		ctx.Export("widgetConfigId", basicWidgetConfig.ConfigId)
		return nil
	})
}
pulumi {
  required_providers {
    gcp = {
      source = "pulumi/gcp"
    }
  }
}

resource "gcp_discoveryengine_datastore" "basic" {
  location                    = "global"
  data_store_id               = "data-store-id"
  display_name                = "tf-test-datastore"
  industry_vertical           = "GENERIC"
  content_config              = "NO_CONTENT"
  solution_types              = ["SOLUTION_TYPE_SEARCH"]
  create_advanced_site_search = false
}
resource "gcp_discoveryengine_searchengine" "basic" {
  engine_id            = "engine-id"
  collection_id        = "default_collection"
  location             = gcp_discoveryengine_datastore.basic.location
  display_name         = "tf-test-engine"
  data_store_ids       = [gcp_discoveryengine_datastore.basic.data_store_id]
  industry_vertical    = "GENERIC"
  app_type             = "APP_TYPE_INTRANET"
  search_engine_config = {}
}
resource "gcp_discoveryengine_widgetconfig" "basic" {
  location  = gcp_discoveryengine_searchengine.basic.location
  engine_id = gcp_discoveryengine_searchengine.basic.engine_id
  access_settings = {
    enable_web_app                   = true
    workforce_identity_pool_provider = "locations/global/workforcePools/workforce-pool-id/providers/workforce-pool-provider"
  }
  ui_settings = {
    interaction_type        = "SEARCH_WITH_ANSWER"
    enable_autocomplete     = true
    enable_quality_feedback = true
    generative_answer_config = {
      result_count = 5
    }
  }
}
output "widgetConfigId" {
  value = gcp_discoveryengine_widgetconfig.basic.config_id
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.discoveryengine.DataStore;
import com.pulumi.gcp.discoveryengine.DataStoreArgs;
import com.pulumi.gcp.discoveryengine.SearchEngine;
import com.pulumi.gcp.discoveryengine.SearchEngineArgs;
import com.pulumi.gcp.discoveryengine.inputs.SearchEngineSearchEngineConfigArgs;
import com.pulumi.gcp.discoveryengine.WidgetConfig;
import com.pulumi.gcp.discoveryengine.WidgetConfigArgs;
import com.pulumi.gcp.discoveryengine.inputs.WidgetConfigAccessSettingsArgs;
import com.pulumi.gcp.discoveryengine.inputs.WidgetConfigUiSettingsArgs;
import com.pulumi.gcp.discoveryengine.inputs.WidgetConfigUiSettingsGenerativeAnswerConfigArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 basic = new DataStore("basic", DataStoreArgs.builder()
            .location("global")
            .dataStoreId("data-store-id")
            .displayName("tf-test-datastore")
            .industryVertical("GENERIC")
            .contentConfig("NO_CONTENT")
            .solutionTypes("SOLUTION_TYPE_SEARCH")
            .createAdvancedSiteSearch(false)
            .build());

        var basicSearchEngine = new SearchEngine("basicSearchEngine", SearchEngineArgs.builder()
            .engineId("engine-id")
            .collectionId("default_collection")
            .location(basic.location())
            .displayName("tf-test-engine")
            .dataStoreIds(basic.dataStoreId())
            .industryVertical("GENERIC")
            .appType("APP_TYPE_INTRANET")
            .searchEngineConfig(SearchEngineSearchEngineConfigArgs.builder()
                .build())
            .build());

        var basicWidgetConfig = new WidgetConfig("basicWidgetConfig", WidgetConfigArgs.builder()
            .location(basicSearchEngine.location())
            .engineId(basicSearchEngine.engineId())
            .accessSettings(WidgetConfigAccessSettingsArgs.builder()
                .enableWebApp(true)
                .workforceIdentityPoolProvider("locations/global/workforcePools/workforce-pool-id/providers/workforce-pool-provider")
                .build())
            .uiSettings(WidgetConfigUiSettingsArgs.builder()
                .interactionType("SEARCH_WITH_ANSWER")
                .enableAutocomplete(true)
                .enableQualityFeedback(true)
                .generativeAnswerConfig(WidgetConfigUiSettingsGenerativeAnswerConfigArgs.builder()
                    .resultCount(5)
                    .build())
                .build())
            .build());

        ctx.export("widgetConfigId", basicWidgetConfig.configId());
    }
}
resources:
  basic:
    type: gcp:discoveryengine:DataStore
    properties:
      location: global
      dataStoreId: data-store-id
      displayName: tf-test-datastore
      industryVertical: GENERIC
      contentConfig: NO_CONTENT
      solutionTypes:
        - SOLUTION_TYPE_SEARCH
      createAdvancedSiteSearch: false
  basicSearchEngine:
    type: gcp:discoveryengine:SearchEngine
    name: basic
    properties:
      engineId: engine-id
      collectionId: default_collection
      location: ${basic.location}
      displayName: tf-test-engine
      dataStoreIds:
        - ${basic.dataStoreId}
      industryVertical: GENERIC
      appType: APP_TYPE_INTRANET
      searchEngineConfig: {}
  basicWidgetConfig:
    type: gcp:discoveryengine:WidgetConfig
    name: basic
    properties:
      location: ${basicSearchEngine.location}
      engineId: ${basicSearchEngine.engineId}
      accessSettings:
        enableWebApp: true
        workforceIdentityPoolProvider: locations/global/workforcePools/workforce-pool-id/providers/workforce-pool-provider
      uiSettings:
        interactionType: SEARCH_WITH_ANSWER
        enableAutocomplete: true
        enableQualityFeedback: true
        generativeAnswerConfig:
          resultCount: 5
outputs:
  widgetConfigId: ${basicWidgetConfig.configId}

Import

WidgetConfig can be imported using any of these accepted formats:

  • projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/engines/{{engine_id}}/widgetConfigs/{{widget_config_id}}
  • {{project}}/{{location}}/{{collection_id}}/{{engine_id}}/{{widget_config_id}}
  • {{location}}/{{collection_id}}/{{engine_id}}/{{widget_config_id}}

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

$ pulumi import gcp:discoveryengine/widgetConfig:WidgetConfig default projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/engines/{{engine_id}}/widgetConfigs/{{widget_config_id}}
$ pulumi import gcp:discoveryengine/widgetConfig:WidgetConfig default {{project}}/{{location}}/{{collection_id}}/{{engine_id}}/{{widget_config_id}}
$ pulumi import gcp:discoveryengine/widgetConfig:WidgetConfig default {{location}}/{{collection_id}}/{{engine_id}}/{{widget_config_id}}

Constructors

WidgetConfig(String name, {WidgetConfigArgs? args, CustomResourceOptions? options})
Creates a new WidgetConfig. name The Pulumi resource name. args Arguments used to configure this WidgetConfig. The set of arguments for WidgetConfig. options Resource options controlling this resource's behavior.
WidgetConfig.reference(String urn)
Creates a typed reference to an existing WidgetConfig resource.

Properties

accessSettings ↔ Output<WidgetConfigAccessSettings>
Describes widget access settings. Structure is documented below.
latefinal
childResources → Set<Resource>
finalinherited
collectionId ↔ Output<String?>
The collection ID.
latefinal
completionSources ↔ Map<String, IOutputCompletionSource>
latefinalinherited
configId ↔ Output<String>
Output only. Unique obfuscated identifier of a WidgetConfig.
latefinal
engineId ↔ Output<String>
The engine ID.
latefinal
hashCode → int
The hash code for this object.
no setterinherited
homepageSetting ↔ Output<WidgetConfigHomepageSetting?>
Describes the homepage setting of the widget. It includes all homepage related settings and configurations, such as shortcuts. Structure is documented below.
latefinal
id ↔ Output<String>
getter/setter pairinherited
isCustom → bool
Returns whether this resource is provider-managed.
no setterinherited
isProtected → bool
Returns whether this resource is protected from deletion.
no setterinherited
isRemote → bool
Whether this resource is registered as remote.
no setterinherited
isResourceReference → bool
Whether this instance represents a resource value returned over RPC.
finalinherited
location ↔ Output<String>
The geographic location where the data store should reside. The value can only be one of "global", "us" and "eu".
latefinal
name ↔ Output<String>
The full resource name of the widget config. Format: projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/widgetConfigs/{widget_config_id}.
latefinal
project ↔ Output<String>
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
latefinal
resourceTransforms → List<ResourceTransform>
Inherited/explicit async transforms.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
transformations → List<ResourceTransformation>
Inherited/explicit legacy transformations.
no setterinherited
uiBranding ↔ Output<WidgetConfigUiBranding?>
Describes search widget UI branding settings, such as the widget title, logo, favicons, and colors. Structure is documented below.
latefinal
uiSettings ↔ Output<WidgetConfigUiSettings>
Describes general widget (or web app) UI settings as seen in the cloud console UI configuration page. Structure is documented below.
latefinal
urn ↔ Output<String>
latefinalinherited
widgetConfigId ↔ Output<String?>
The unique ID to use for the WidgetConfig. Currently only accepts "defaultSearchWidgetConfig".
latefinal

Methods

failId(Object error) → void
Completes this resource ID with an error when registration fails.
inherited
failOutputs(Object error) → void
Completes all output properties with error.
inherited
failUrn(Object error) → void
Completes this resource URN with an error when registration fails.
inherited
getProvider(String moduleMember) → ProviderResource?
Returns provider for moduleMember's package, if configured.
inherited
getResourceName() → String
Returns this resource's logical name.
inherited
getResourceType() → String
Returns this resource's Pulumi type token.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
registerOutput<T>(String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output<T>
Registers a dynamic output property for this resource.
inherited
resolveId(String? value, {required bool isKnown}) → void
Resolves the provider-assigned ID for this resource.
inherited
resolveOutputs(Struct outputs) → void
Resolves all output properties from a monitor response payload.
inherited
resolveUrn(String value) → void
Resolves this resource's URN once assigned by the engine.
inherited
serializeProperties(Map<String, dynamic> properties) → Future<Struct>
Serializes resource properties for RPC transmission.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

get(String name, Input<String> id, {WidgetConfigState? state, CustomResourceOptions? options}) → WidgetConfig
Gets an existing WidgetConfig resource's state with the given name and id.