1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. discoveryengine
  5. RecommendationEngine
Google Cloud v8.41.1 published on Monday, Aug 25, 2025 by Pulumi

gcp.discoveryengine.RecommendationEngine

Explore with Pulumi AI

gcp logo
Google Cloud v8.41.1 published on Monday, Aug 25, 2025 by Pulumi

    Vertex AI Search recommendation apps.

    To get more information about RecommendationEngine, see:

    Example Usage

    Discoveryengine Recommendationengine Generic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const generic = new gcp.discoveryengine.DataStore("generic", {
        location: "global",
        dataStoreId: "recommendation-datastore-id",
        displayName: "tf-test-structured-datastore",
        industryVertical: "GENERIC",
        contentConfig: "NO_CONTENT",
        solutionTypes: ["SOLUTION_TYPE_RECOMMENDATION"],
        createAdvancedSiteSearch: false,
        skipDefaultSchemaCreation: false,
    });
    const genericRecommendationEngine = new gcp.discoveryengine.RecommendationEngine("generic", {
        engineId: "recommendation-engine-id",
        location: generic.location,
        displayName: "Example Recommendation Engine",
        dataStoreIds: [generic.dataStoreId],
        industryVertical: "GENERIC",
        commonConfig: {
            companyName: "test-company",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    generic = gcp.discoveryengine.DataStore("generic",
        location="global",
        data_store_id="recommendation-datastore-id",
        display_name="tf-test-structured-datastore",
        industry_vertical="GENERIC",
        content_config="NO_CONTENT",
        solution_types=["SOLUTION_TYPE_RECOMMENDATION"],
        create_advanced_site_search=False,
        skip_default_schema_creation=False)
    generic_recommendation_engine = gcp.discoveryengine.RecommendationEngine("generic",
        engine_id="recommendation-engine-id",
        location=generic.location,
        display_name="Example Recommendation Engine",
        data_store_ids=[generic.data_store_id],
        industry_vertical="GENERIC",
        common_config={
            "company_name": "test-company",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/discoveryengine"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		generic, err := discoveryengine.NewDataStore(ctx, "generic", &discoveryengine.DataStoreArgs{
    			Location:         pulumi.String("global"),
    			DataStoreId:      pulumi.String("recommendation-datastore-id"),
    			DisplayName:      pulumi.String("tf-test-structured-datastore"),
    			IndustryVertical: pulumi.String("GENERIC"),
    			ContentConfig:    pulumi.String("NO_CONTENT"),
    			SolutionTypes: pulumi.StringArray{
    				pulumi.String("SOLUTION_TYPE_RECOMMENDATION"),
    			},
    			CreateAdvancedSiteSearch:  pulumi.Bool(false),
    			SkipDefaultSchemaCreation: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = discoveryengine.NewRecommendationEngine(ctx, "generic", &discoveryengine.RecommendationEngineArgs{
    			EngineId:    pulumi.String("recommendation-engine-id"),
    			Location:    generic.Location,
    			DisplayName: pulumi.String("Example Recommendation Engine"),
    			DataStoreIds: pulumi.StringArray{
    				generic.DataStoreId,
    			},
    			IndustryVertical: pulumi.String("GENERIC"),
    			CommonConfig: &discoveryengine.RecommendationEngineCommonConfigArgs{
    				CompanyName: pulumi.String("test-company"),
    			},
    		})
    		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 generic = new Gcp.DiscoveryEngine.DataStore("generic", new()
        {
            Location = "global",
            DataStoreId = "recommendation-datastore-id",
            DisplayName = "tf-test-structured-datastore",
            IndustryVertical = "GENERIC",
            ContentConfig = "NO_CONTENT",
            SolutionTypes = new[]
            {
                "SOLUTION_TYPE_RECOMMENDATION",
            },
            CreateAdvancedSiteSearch = false,
            SkipDefaultSchemaCreation = false,
        });
    
        var genericRecommendationEngine = new Gcp.DiscoveryEngine.RecommendationEngine("generic", new()
        {
            EngineId = "recommendation-engine-id",
            Location = generic.Location,
            DisplayName = "Example Recommendation Engine",
            DataStoreIds = new[]
            {
                generic.DataStoreId,
            },
            IndustryVertical = "GENERIC",
            CommonConfig = new Gcp.DiscoveryEngine.Inputs.RecommendationEngineCommonConfigArgs
            {
                CompanyName = "test-company",
            },
        });
    
    });
    
    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.RecommendationEngine;
    import com.pulumi.gcp.discoveryengine.RecommendationEngineArgs;
    import com.pulumi.gcp.discoveryengine.inputs.RecommendationEngineCommonConfigArgs;
    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 generic = new DataStore("generic", DataStoreArgs.builder()
                .location("global")
                .dataStoreId("recommendation-datastore-id")
                .displayName("tf-test-structured-datastore")
                .industryVertical("GENERIC")
                .contentConfig("NO_CONTENT")
                .solutionTypes("SOLUTION_TYPE_RECOMMENDATION")
                .createAdvancedSiteSearch(false)
                .skipDefaultSchemaCreation(false)
                .build());
    
            var genericRecommendationEngine = new RecommendationEngine("genericRecommendationEngine", RecommendationEngineArgs.builder()
                .engineId("recommendation-engine-id")
                .location(generic.location())
                .displayName("Example Recommendation Engine")
                .dataStoreIds(generic.dataStoreId())
                .industryVertical("GENERIC")
                .commonConfig(RecommendationEngineCommonConfigArgs.builder()
                    .companyName("test-company")
                    .build())
                .build());
    
        }
    }
    
    resources:
      generic:
        type: gcp:discoveryengine:DataStore
        properties:
          location: global
          dataStoreId: recommendation-datastore-id
          displayName: tf-test-structured-datastore
          industryVertical: GENERIC
          contentConfig: NO_CONTENT
          solutionTypes:
            - SOLUTION_TYPE_RECOMMENDATION
          createAdvancedSiteSearch: false
          skipDefaultSchemaCreation: false
      genericRecommendationEngine:
        type: gcp:discoveryengine:RecommendationEngine
        name: generic
        properties:
          engineId: recommendation-engine-id
          location: ${generic.location}
          displayName: Example Recommendation Engine
          dataStoreIds:
            - ${generic.dataStoreId}
          industryVertical: GENERIC
          commonConfig:
            companyName: test-company
    

    Discoveryengine Recommendationengine Media

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const media = new gcp.discoveryengine.DataStore("media", {
        location: "global",
        dataStoreId: "recommendation-datastore-id",
        displayName: "tf-test-structured-datastore",
        industryVertical: "MEDIA",
        contentConfig: "NO_CONTENT",
        solutionTypes: ["SOLUTION_TYPE_RECOMMENDATION"],
        createAdvancedSiteSearch: false,
        skipDefaultSchemaCreation: false,
    });
    const mediaRecommendationEngine = new gcp.discoveryengine.RecommendationEngine("media", {
        engineId: "recommendation-engine-id",
        location: media.location,
        displayName: "Example Media Recommendation Engine",
        dataStoreIds: [media.dataStoreId],
        industryVertical: "MEDIA",
        mediaRecommendationEngineConfig: {
            type: "recommended-for-you",
            optimizationObjective: "ctr",
            trainingState: "PAUSED",
            engineFeaturesConfig: {
                recommendedForYouConfig: {
                    contextEventType: "generic",
                },
            },
        },
        commonConfig: {
            companyName: "test-company",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    media = gcp.discoveryengine.DataStore("media",
        location="global",
        data_store_id="recommendation-datastore-id",
        display_name="tf-test-structured-datastore",
        industry_vertical="MEDIA",
        content_config="NO_CONTENT",
        solution_types=["SOLUTION_TYPE_RECOMMENDATION"],
        create_advanced_site_search=False,
        skip_default_schema_creation=False)
    media_recommendation_engine = gcp.discoveryengine.RecommendationEngine("media",
        engine_id="recommendation-engine-id",
        location=media.location,
        display_name="Example Media Recommendation Engine",
        data_store_ids=[media.data_store_id],
        industry_vertical="MEDIA",
        media_recommendation_engine_config={
            "type": "recommended-for-you",
            "optimization_objective": "ctr",
            "training_state": "PAUSED",
            "engine_features_config": {
                "recommended_for_you_config": {
                    "context_event_type": "generic",
                },
            },
        },
        common_config={
            "company_name": "test-company",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/discoveryengine"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		media, err := discoveryengine.NewDataStore(ctx, "media", &discoveryengine.DataStoreArgs{
    			Location:         pulumi.String("global"),
    			DataStoreId:      pulumi.String("recommendation-datastore-id"),
    			DisplayName:      pulumi.String("tf-test-structured-datastore"),
    			IndustryVertical: pulumi.String("MEDIA"),
    			ContentConfig:    pulumi.String("NO_CONTENT"),
    			SolutionTypes: pulumi.StringArray{
    				pulumi.String("SOLUTION_TYPE_RECOMMENDATION"),
    			},
    			CreateAdvancedSiteSearch:  pulumi.Bool(false),
    			SkipDefaultSchemaCreation: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = discoveryengine.NewRecommendationEngine(ctx, "media", &discoveryengine.RecommendationEngineArgs{
    			EngineId:    pulumi.String("recommendation-engine-id"),
    			Location:    media.Location,
    			DisplayName: pulumi.String("Example Media Recommendation Engine"),
    			DataStoreIds: pulumi.StringArray{
    				media.DataStoreId,
    			},
    			IndustryVertical: pulumi.String("MEDIA"),
    			MediaRecommendationEngineConfig: &discoveryengine.RecommendationEngineMediaRecommendationEngineConfigArgs{
    				Type:                  pulumi.String("recommended-for-you"),
    				OptimizationObjective: pulumi.String("ctr"),
    				TrainingState:         pulumi.String("PAUSED"),
    				EngineFeaturesConfig: &discoveryengine.RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgs{
    					RecommendedForYouConfig: &discoveryengine.RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgs{
    						ContextEventType: pulumi.String("generic"),
    					},
    				},
    			},
    			CommonConfig: &discoveryengine.RecommendationEngineCommonConfigArgs{
    				CompanyName: pulumi.String("test-company"),
    			},
    		})
    		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 media = new Gcp.DiscoveryEngine.DataStore("media", new()
        {
            Location = "global",
            DataStoreId = "recommendation-datastore-id",
            DisplayName = "tf-test-structured-datastore",
            IndustryVertical = "MEDIA",
            ContentConfig = "NO_CONTENT",
            SolutionTypes = new[]
            {
                "SOLUTION_TYPE_RECOMMENDATION",
            },
            CreateAdvancedSiteSearch = false,
            SkipDefaultSchemaCreation = false,
        });
    
        var mediaRecommendationEngine = new Gcp.DiscoveryEngine.RecommendationEngine("media", new()
        {
            EngineId = "recommendation-engine-id",
            Location = media.Location,
            DisplayName = "Example Media Recommendation Engine",
            DataStoreIds = new[]
            {
                media.DataStoreId,
            },
            IndustryVertical = "MEDIA",
            MediaRecommendationEngineConfig = new Gcp.DiscoveryEngine.Inputs.RecommendationEngineMediaRecommendationEngineConfigArgs
            {
                Type = "recommended-for-you",
                OptimizationObjective = "ctr",
                TrainingState = "PAUSED",
                EngineFeaturesConfig = new Gcp.DiscoveryEngine.Inputs.RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgs
                {
                    RecommendedForYouConfig = new Gcp.DiscoveryEngine.Inputs.RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgs
                    {
                        ContextEventType = "generic",
                    },
                },
            },
            CommonConfig = new Gcp.DiscoveryEngine.Inputs.RecommendationEngineCommonConfigArgs
            {
                CompanyName = "test-company",
            },
        });
    
    });
    
    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.RecommendationEngine;
    import com.pulumi.gcp.discoveryengine.RecommendationEngineArgs;
    import com.pulumi.gcp.discoveryengine.inputs.RecommendationEngineMediaRecommendationEngineConfigArgs;
    import com.pulumi.gcp.discoveryengine.inputs.RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgs;
    import com.pulumi.gcp.discoveryengine.inputs.RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgs;
    import com.pulumi.gcp.discoveryengine.inputs.RecommendationEngineCommonConfigArgs;
    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 media = new DataStore("media", DataStoreArgs.builder()
                .location("global")
                .dataStoreId("recommendation-datastore-id")
                .displayName("tf-test-structured-datastore")
                .industryVertical("MEDIA")
                .contentConfig("NO_CONTENT")
                .solutionTypes("SOLUTION_TYPE_RECOMMENDATION")
                .createAdvancedSiteSearch(false)
                .skipDefaultSchemaCreation(false)
                .build());
    
            var mediaRecommendationEngine = new RecommendationEngine("mediaRecommendationEngine", RecommendationEngineArgs.builder()
                .engineId("recommendation-engine-id")
                .location(media.location())
                .displayName("Example Media Recommendation Engine")
                .dataStoreIds(media.dataStoreId())
                .industryVertical("MEDIA")
                .mediaRecommendationEngineConfig(RecommendationEngineMediaRecommendationEngineConfigArgs.builder()
                    .type("recommended-for-you")
                    .optimizationObjective("ctr")
                    .trainingState("PAUSED")
                    .engineFeaturesConfig(RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgs.builder()
                        .recommendedForYouConfig(RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgs.builder()
                            .contextEventType("generic")
                            .build())
                        .build())
                    .build())
                .commonConfig(RecommendationEngineCommonConfigArgs.builder()
                    .companyName("test-company")
                    .build())
                .build());
    
        }
    }
    
    resources:
      media:
        type: gcp:discoveryengine:DataStore
        properties:
          location: global
          dataStoreId: recommendation-datastore-id
          displayName: tf-test-structured-datastore
          industryVertical: MEDIA
          contentConfig: NO_CONTENT
          solutionTypes:
            - SOLUTION_TYPE_RECOMMENDATION
          createAdvancedSiteSearch: false
          skipDefaultSchemaCreation: false
      mediaRecommendationEngine:
        type: gcp:discoveryengine:RecommendationEngine
        name: media
        properties:
          engineId: recommendation-engine-id
          location: ${media.location}
          displayName: Example Media Recommendation Engine
          dataStoreIds:
            - ${media.dataStoreId}
          industryVertical: MEDIA
          mediaRecommendationEngineConfig:
            type: recommended-for-you
            optimizationObjective: ctr
            trainingState: PAUSED
            engineFeaturesConfig:
              recommendedForYouConfig:
                contextEventType: generic
          commonConfig:
            companyName: test-company
    

    Create RecommendationEngine Resource

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

    Constructor syntax

    new RecommendationEngine(name: string, args: RecommendationEngineArgs, opts?: CustomResourceOptions);
    @overload
    def RecommendationEngine(resource_name: str,
                             args: RecommendationEngineArgs,
                             opts: Optional[ResourceOptions] = None)
    
    @overload
    def RecommendationEngine(resource_name: str,
                             opts: Optional[ResourceOptions] = None,
                             data_store_ids: Optional[Sequence[str]] = None,
                             display_name: Optional[str] = None,
                             engine_id: Optional[str] = None,
                             location: Optional[str] = None,
                             common_config: Optional[RecommendationEngineCommonConfigArgs] = None,
                             industry_vertical: Optional[str] = None,
                             media_recommendation_engine_config: Optional[RecommendationEngineMediaRecommendationEngineConfigArgs] = None,
                             project: Optional[str] = None)
    func NewRecommendationEngine(ctx *Context, name string, args RecommendationEngineArgs, opts ...ResourceOption) (*RecommendationEngine, error)
    public RecommendationEngine(string name, RecommendationEngineArgs args, CustomResourceOptions? opts = null)
    public RecommendationEngine(String name, RecommendationEngineArgs args)
    public RecommendationEngine(String name, RecommendationEngineArgs args, CustomResourceOptions options)
    
    type: gcp:discoveryengine:RecommendationEngine
    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 RecommendationEngineArgs
    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 RecommendationEngineArgs
    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 RecommendationEngineArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args RecommendationEngineArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args RecommendationEngineArgs
    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 recommendationEngineResource = new Gcp.DiscoveryEngine.RecommendationEngine("recommendationEngineResource", new()
    {
        DataStoreIds = new[]
        {
            "string",
        },
        DisplayName = "string",
        EngineId = "string",
        Location = "string",
        CommonConfig = new Gcp.DiscoveryEngine.Inputs.RecommendationEngineCommonConfigArgs
        {
            CompanyName = "string",
        },
        IndustryVertical = "string",
        MediaRecommendationEngineConfig = new Gcp.DiscoveryEngine.Inputs.RecommendationEngineMediaRecommendationEngineConfigArgs
        {
            EngineFeaturesConfig = new Gcp.DiscoveryEngine.Inputs.RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgs
            {
                MostPopularConfig = new Gcp.DiscoveryEngine.Inputs.RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfigArgs
                {
                    TimeWindowDays = 0,
                },
                RecommendedForYouConfig = new Gcp.DiscoveryEngine.Inputs.RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgs
                {
                    ContextEventType = "string",
                },
            },
            OptimizationObjective = "string",
            OptimizationObjectiveConfig = new Gcp.DiscoveryEngine.Inputs.RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfigArgs
            {
                TargetField = "string",
                TargetFieldValueFloat = 0,
            },
            TrainingState = "string",
            Type = "string",
        },
        Project = "string",
    });
    
    example, err := discoveryengine.NewRecommendationEngine(ctx, "recommendationEngineResource", &discoveryengine.RecommendationEngineArgs{
    	DataStoreIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	DisplayName: pulumi.String("string"),
    	EngineId:    pulumi.String("string"),
    	Location:    pulumi.String("string"),
    	CommonConfig: &discoveryengine.RecommendationEngineCommonConfigArgs{
    		CompanyName: pulumi.String("string"),
    	},
    	IndustryVertical: pulumi.String("string"),
    	MediaRecommendationEngineConfig: &discoveryengine.RecommendationEngineMediaRecommendationEngineConfigArgs{
    		EngineFeaturesConfig: &discoveryengine.RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgs{
    			MostPopularConfig: &discoveryengine.RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfigArgs{
    				TimeWindowDays: pulumi.Int(0),
    			},
    			RecommendedForYouConfig: &discoveryengine.RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgs{
    				ContextEventType: pulumi.String("string"),
    			},
    		},
    		OptimizationObjective: pulumi.String("string"),
    		OptimizationObjectiveConfig: &discoveryengine.RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfigArgs{
    			TargetField:           pulumi.String("string"),
    			TargetFieldValueFloat: pulumi.Float64(0),
    		},
    		TrainingState: pulumi.String("string"),
    		Type:          pulumi.String("string"),
    	},
    	Project: pulumi.String("string"),
    })
    
    var recommendationEngineResource = new RecommendationEngine("recommendationEngineResource", RecommendationEngineArgs.builder()
        .dataStoreIds("string")
        .displayName("string")
        .engineId("string")
        .location("string")
        .commonConfig(RecommendationEngineCommonConfigArgs.builder()
            .companyName("string")
            .build())
        .industryVertical("string")
        .mediaRecommendationEngineConfig(RecommendationEngineMediaRecommendationEngineConfigArgs.builder()
            .engineFeaturesConfig(RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgs.builder()
                .mostPopularConfig(RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfigArgs.builder()
                    .timeWindowDays(0)
                    .build())
                .recommendedForYouConfig(RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgs.builder()
                    .contextEventType("string")
                    .build())
                .build())
            .optimizationObjective("string")
            .optimizationObjectiveConfig(RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfigArgs.builder()
                .targetField("string")
                .targetFieldValueFloat(0.0)
                .build())
            .trainingState("string")
            .type("string")
            .build())
        .project("string")
        .build());
    
    recommendation_engine_resource = gcp.discoveryengine.RecommendationEngine("recommendationEngineResource",
        data_store_ids=["string"],
        display_name="string",
        engine_id="string",
        location="string",
        common_config={
            "company_name": "string",
        },
        industry_vertical="string",
        media_recommendation_engine_config={
            "engine_features_config": {
                "most_popular_config": {
                    "time_window_days": 0,
                },
                "recommended_for_you_config": {
                    "context_event_type": "string",
                },
            },
            "optimization_objective": "string",
            "optimization_objective_config": {
                "target_field": "string",
                "target_field_value_float": 0,
            },
            "training_state": "string",
            "type": "string",
        },
        project="string")
    
    const recommendationEngineResource = new gcp.discoveryengine.RecommendationEngine("recommendationEngineResource", {
        dataStoreIds: ["string"],
        displayName: "string",
        engineId: "string",
        location: "string",
        commonConfig: {
            companyName: "string",
        },
        industryVertical: "string",
        mediaRecommendationEngineConfig: {
            engineFeaturesConfig: {
                mostPopularConfig: {
                    timeWindowDays: 0,
                },
                recommendedForYouConfig: {
                    contextEventType: "string",
                },
            },
            optimizationObjective: "string",
            optimizationObjectiveConfig: {
                targetField: "string",
                targetFieldValueFloat: 0,
            },
            trainingState: "string",
            type: "string",
        },
        project: "string",
    });
    
    type: gcp:discoveryengine:RecommendationEngine
    properties:
        commonConfig:
            companyName: string
        dataStoreIds:
            - string
        displayName: string
        engineId: string
        industryVertical: string
        location: string
        mediaRecommendationEngineConfig:
            engineFeaturesConfig:
                mostPopularConfig:
                    timeWindowDays: 0
                recommendedForYouConfig:
                    contextEventType: string
            optimizationObjective: string
            optimizationObjectiveConfig:
                targetField: string
                targetFieldValueFloat: 0
            trainingState: string
            type: string
        project: string
    

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

    DataStoreIds List<string>
    The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
    DisplayName string
    Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
    EngineId string
    Unique ID to use for Recommendation Engine.
    Location string
    The geographic location where the data store should reside. The value can only be one of "global", "us" and "eu".
    CommonConfig RecommendationEngineCommonConfig
    Common config spec that specifies the metadata of the engine. Structure is documented below.
    IndustryVertical string
    The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine. Default value is GENERIC. Possible values are: GENERIC, MEDIA.
    MediaRecommendationEngineConfig RecommendationEngineMediaRecommendationEngineConfig
    Configurations for a Media Recommendation Engine. Only applicable on the data stores with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical. 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.
    DataStoreIds []string
    The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
    DisplayName string
    Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
    EngineId string
    Unique ID to use for Recommendation Engine.
    Location string
    The geographic location where the data store should reside. The value can only be one of "global", "us" and "eu".
    CommonConfig RecommendationEngineCommonConfigArgs
    Common config spec that specifies the metadata of the engine. Structure is documented below.
    IndustryVertical string
    The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine. Default value is GENERIC. Possible values are: GENERIC, MEDIA.
    MediaRecommendationEngineConfig RecommendationEngineMediaRecommendationEngineConfigArgs
    Configurations for a Media Recommendation Engine. Only applicable on the data stores with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical. 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.
    dataStoreIds List<String>
    The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
    displayName String
    Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
    engineId String
    Unique ID to use for Recommendation Engine.
    location String
    The geographic location where the data store should reside. The value can only be one of "global", "us" and "eu".
    commonConfig RecommendationEngineCommonConfig
    Common config spec that specifies the metadata of the engine. Structure is documented below.
    industryVertical String
    The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine. Default value is GENERIC. Possible values are: GENERIC, MEDIA.
    mediaRecommendationEngineConfig RecommendationEngineMediaRecommendationEngineConfig
    Configurations for a Media Recommendation Engine. Only applicable on the data stores with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical. 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.
    dataStoreIds string[]
    The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
    displayName string
    Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
    engineId string
    Unique ID to use for Recommendation Engine.
    location string
    The geographic location where the data store should reside. The value can only be one of "global", "us" and "eu".
    commonConfig RecommendationEngineCommonConfig
    Common config spec that specifies the metadata of the engine. Structure is documented below.
    industryVertical string
    The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine. Default value is GENERIC. Possible values are: GENERIC, MEDIA.
    mediaRecommendationEngineConfig RecommendationEngineMediaRecommendationEngineConfig
    Configurations for a Media Recommendation Engine. Only applicable on the data stores with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical. 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.
    data_store_ids Sequence[str]
    The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
    display_name str
    Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
    engine_id str
    Unique ID to use for Recommendation Engine.
    location str
    The geographic location where the data store should reside. The value can only be one of "global", "us" and "eu".
    common_config RecommendationEngineCommonConfigArgs
    Common config spec that specifies the metadata of the engine. Structure is documented below.
    industry_vertical str
    The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine. Default value is GENERIC. Possible values are: GENERIC, MEDIA.
    media_recommendation_engine_config RecommendationEngineMediaRecommendationEngineConfigArgs
    Configurations for a Media Recommendation Engine. Only applicable on the data stores with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical. 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.
    dataStoreIds List<String>
    The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
    displayName String
    Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
    engineId String
    Unique ID to use for Recommendation Engine.
    location String
    The geographic location where the data store should reside. The value can only be one of "global", "us" and "eu".
    commonConfig Property Map
    Common config spec that specifies the metadata of the engine. Structure is documented below.
    industryVertical String
    The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine. Default value is GENERIC. Possible values are: GENERIC, MEDIA.
    mediaRecommendationEngineConfig Property Map
    Configurations for a Media Recommendation Engine. Only applicable on the data stores with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical. 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 RecommendationEngine resource produces the following output properties:

    CreateTime string
    Timestamp the Engine was created at.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The unique full resource name of the recommendation engine. Values are of the format projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    UpdateTime string
    Timestamp the Engine was last updated.
    CreateTime string
    Timestamp the Engine was created at.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The unique full resource name of the recommendation engine. Values are of the format projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    UpdateTime string
    Timestamp the Engine was last updated.
    createTime String
    Timestamp the Engine was created at.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The unique full resource name of the recommendation engine. Values are of the format projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    updateTime String
    Timestamp the Engine was last updated.
    createTime string
    Timestamp the Engine was created at.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The unique full resource name of the recommendation engine. Values are of the format projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    updateTime string
    Timestamp the Engine was last updated.
    create_time str
    Timestamp the Engine was created at.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    The unique full resource name of the recommendation engine. Values are of the format projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    update_time str
    Timestamp the Engine was last updated.
    createTime String
    Timestamp the Engine was created at.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The unique full resource name of the recommendation engine. Values are of the format projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    updateTime String
    Timestamp the Engine was last updated.

    Look up Existing RecommendationEngine Resource

    Get an existing RecommendationEngine 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?: RecommendationEngineState, opts?: CustomResourceOptions): RecommendationEngine
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            common_config: Optional[RecommendationEngineCommonConfigArgs] = None,
            create_time: Optional[str] = None,
            data_store_ids: Optional[Sequence[str]] = None,
            display_name: Optional[str] = None,
            engine_id: Optional[str] = None,
            industry_vertical: Optional[str] = None,
            location: Optional[str] = None,
            media_recommendation_engine_config: Optional[RecommendationEngineMediaRecommendationEngineConfigArgs] = None,
            name: Optional[str] = None,
            project: Optional[str] = None,
            update_time: Optional[str] = None) -> RecommendationEngine
    func GetRecommendationEngine(ctx *Context, name string, id IDInput, state *RecommendationEngineState, opts ...ResourceOption) (*RecommendationEngine, error)
    public static RecommendationEngine Get(string name, Input<string> id, RecommendationEngineState? state, CustomResourceOptions? opts = null)
    public static RecommendationEngine get(String name, Output<String> id, RecommendationEngineState state, CustomResourceOptions options)
    resources:  _:    type: gcp:discoveryengine:RecommendationEngine    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:
    CommonConfig RecommendationEngineCommonConfig
    Common config spec that specifies the metadata of the engine. Structure is documented below.
    CreateTime string
    Timestamp the Engine was created at.
    DataStoreIds List<string>
    The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
    DisplayName string
    Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
    EngineId string
    Unique ID to use for Recommendation Engine.
    IndustryVertical string
    The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine. Default value is GENERIC. Possible values are: GENERIC, MEDIA.
    Location string
    The geographic location where the data store should reside. The value can only be one of "global", "us" and "eu".
    MediaRecommendationEngineConfig RecommendationEngineMediaRecommendationEngineConfig
    Configurations for a Media Recommendation Engine. Only applicable on the data stores with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical. Structure is documented below.
    Name string
    The unique full resource name of the recommendation engine. Values are of the format projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    UpdateTime string
    Timestamp the Engine was last updated.
    CommonConfig RecommendationEngineCommonConfigArgs
    Common config spec that specifies the metadata of the engine. Structure is documented below.
    CreateTime string
    Timestamp the Engine was created at.
    DataStoreIds []string
    The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
    DisplayName string
    Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
    EngineId string
    Unique ID to use for Recommendation Engine.
    IndustryVertical string
    The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine. Default value is GENERIC. Possible values are: GENERIC, MEDIA.
    Location string
    The geographic location where the data store should reside. The value can only be one of "global", "us" and "eu".
    MediaRecommendationEngineConfig RecommendationEngineMediaRecommendationEngineConfigArgs
    Configurations for a Media Recommendation Engine. Only applicable on the data stores with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical. Structure is documented below.
    Name string
    The unique full resource name of the recommendation engine. Values are of the format projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    UpdateTime string
    Timestamp the Engine was last updated.
    commonConfig RecommendationEngineCommonConfig
    Common config spec that specifies the metadata of the engine. Structure is documented below.
    createTime String
    Timestamp the Engine was created at.
    dataStoreIds List<String>
    The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
    displayName String
    Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
    engineId String
    Unique ID to use for Recommendation Engine.
    industryVertical String
    The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine. Default value is GENERIC. Possible values are: GENERIC, MEDIA.
    location String
    The geographic location where the data store should reside. The value can only be one of "global", "us" and "eu".
    mediaRecommendationEngineConfig RecommendationEngineMediaRecommendationEngineConfig
    Configurations for a Media Recommendation Engine. Only applicable on the data stores with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical. Structure is documented below.
    name String
    The unique full resource name of the recommendation engine. Values are of the format projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    updateTime String
    Timestamp the Engine was last updated.
    commonConfig RecommendationEngineCommonConfig
    Common config spec that specifies the metadata of the engine. Structure is documented below.
    createTime string
    Timestamp the Engine was created at.
    dataStoreIds string[]
    The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
    displayName string
    Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
    engineId string
    Unique ID to use for Recommendation Engine.
    industryVertical string
    The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine. Default value is GENERIC. Possible values are: GENERIC, MEDIA.
    location string
    The geographic location where the data store should reside. The value can only be one of "global", "us" and "eu".
    mediaRecommendationEngineConfig RecommendationEngineMediaRecommendationEngineConfig
    Configurations for a Media Recommendation Engine. Only applicable on the data stores with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical. Structure is documented below.
    name string
    The unique full resource name of the recommendation engine. Values are of the format projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    updateTime string
    Timestamp the Engine was last updated.
    common_config RecommendationEngineCommonConfigArgs
    Common config spec that specifies the metadata of the engine. Structure is documented below.
    create_time str
    Timestamp the Engine was created at.
    data_store_ids Sequence[str]
    The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
    display_name str
    Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
    engine_id str
    Unique ID to use for Recommendation Engine.
    industry_vertical str
    The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine. Default value is GENERIC. Possible values are: GENERIC, MEDIA.
    location str
    The geographic location where the data store should reside. The value can only be one of "global", "us" and "eu".
    media_recommendation_engine_config RecommendationEngineMediaRecommendationEngineConfigArgs
    Configurations for a Media Recommendation Engine. Only applicable on the data stores with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical. Structure is documented below.
    name str
    The unique full resource name of the recommendation engine. Values are of the format projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    update_time str
    Timestamp the Engine was last updated.
    commonConfig Property Map
    Common config spec that specifies the metadata of the engine. Structure is documented below.
    createTime String
    Timestamp the Engine was created at.
    dataStoreIds List<String>
    The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
    displayName String
    Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
    engineId String
    Unique ID to use for Recommendation Engine.
    industryVertical String
    The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine. Default value is GENERIC. Possible values are: GENERIC, MEDIA.
    location String
    The geographic location where the data store should reside. The value can only be one of "global", "us" and "eu".
    mediaRecommendationEngineConfig Property Map
    Configurations for a Media Recommendation Engine. Only applicable on the data stores with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical. Structure is documented below.
    name String
    The unique full resource name of the recommendation engine. Values are of the format projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}. This field must be a UTF-8 encoded string with a length limit of 1024 characters.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    updateTime String
    Timestamp the Engine was last updated.

    Supporting Types

    RecommendationEngineCommonConfig, RecommendationEngineCommonConfigArgs

    CompanyName string
    The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.cd
    CompanyName string
    The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.cd
    companyName String
    The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.cd
    companyName string
    The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.cd
    company_name str
    The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.cd
    companyName String
    The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.cd

    RecommendationEngineMediaRecommendationEngineConfig, RecommendationEngineMediaRecommendationEngineConfigArgs

    EngineFeaturesConfig RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfig
    More feature configs of the selected engine type. Structure is documented below.
    OptimizationObjective string
    The optimization objective. e.g., cvr. This field together with MediaRecommendationEngineConfig.type describes engine metadata to use to control engine training and serving. Currently supported values: ctr, cvr. If not specified, we choose default based on engine type. Default depends on type of recommendation: recommended-for-you => ctr others-you-may-like => ctr
    OptimizationObjectiveConfig RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig
    Name and value of the custom threshold for cvr optimization_objective. For target_field watch-time, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field watch-percentage, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5). Structure is documented below.
    TrainingState string
    The training state that the engine is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for CreateEngine method is TRAINING. The default value for UpdateEngine method is to keep the state the same as before. Possible values are: PAUSED, TRAINING.
    Type string
    The type of engine. e.g., recommended-for-you. This field together with MediaRecommendationEngineConfig.optimizationObjective describes engine metadata to use to control engine training and serving. Currently supported values: recommended-for-you, others-you-may-like, more-like-this, most-popular-items.
    EngineFeaturesConfig RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfig
    More feature configs of the selected engine type. Structure is documented below.
    OptimizationObjective string
    The optimization objective. e.g., cvr. This field together with MediaRecommendationEngineConfig.type describes engine metadata to use to control engine training and serving. Currently supported values: ctr, cvr. If not specified, we choose default based on engine type. Default depends on type of recommendation: recommended-for-you => ctr others-you-may-like => ctr
    OptimizationObjectiveConfig RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig
    Name and value of the custom threshold for cvr optimization_objective. For target_field watch-time, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field watch-percentage, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5). Structure is documented below.
    TrainingState string
    The training state that the engine is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for CreateEngine method is TRAINING. The default value for UpdateEngine method is to keep the state the same as before. Possible values are: PAUSED, TRAINING.
    Type string
    The type of engine. e.g., recommended-for-you. This field together with MediaRecommendationEngineConfig.optimizationObjective describes engine metadata to use to control engine training and serving. Currently supported values: recommended-for-you, others-you-may-like, more-like-this, most-popular-items.
    engineFeaturesConfig RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfig
    More feature configs of the selected engine type. Structure is documented below.
    optimizationObjective String
    The optimization objective. e.g., cvr. This field together with MediaRecommendationEngineConfig.type describes engine metadata to use to control engine training and serving. Currently supported values: ctr, cvr. If not specified, we choose default based on engine type. Default depends on type of recommendation: recommended-for-you => ctr others-you-may-like => ctr
    optimizationObjectiveConfig RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig
    Name and value of the custom threshold for cvr optimization_objective. For target_field watch-time, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field watch-percentage, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5). Structure is documented below.
    trainingState String
    The training state that the engine is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for CreateEngine method is TRAINING. The default value for UpdateEngine method is to keep the state the same as before. Possible values are: PAUSED, TRAINING.
    type String
    The type of engine. e.g., recommended-for-you. This field together with MediaRecommendationEngineConfig.optimizationObjective describes engine metadata to use to control engine training and serving. Currently supported values: recommended-for-you, others-you-may-like, more-like-this, most-popular-items.
    engineFeaturesConfig RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfig
    More feature configs of the selected engine type. Structure is documented below.
    optimizationObjective string
    The optimization objective. e.g., cvr. This field together with MediaRecommendationEngineConfig.type describes engine metadata to use to control engine training and serving. Currently supported values: ctr, cvr. If not specified, we choose default based on engine type. Default depends on type of recommendation: recommended-for-you => ctr others-you-may-like => ctr
    optimizationObjectiveConfig RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig
    Name and value of the custom threshold for cvr optimization_objective. For target_field watch-time, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field watch-percentage, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5). Structure is documented below.
    trainingState string
    The training state that the engine is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for CreateEngine method is TRAINING. The default value for UpdateEngine method is to keep the state the same as before. Possible values are: PAUSED, TRAINING.
    type string
    The type of engine. e.g., recommended-for-you. This field together with MediaRecommendationEngineConfig.optimizationObjective describes engine metadata to use to control engine training and serving. Currently supported values: recommended-for-you, others-you-may-like, more-like-this, most-popular-items.
    engine_features_config RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfig
    More feature configs of the selected engine type. Structure is documented below.
    optimization_objective str
    The optimization objective. e.g., cvr. This field together with MediaRecommendationEngineConfig.type describes engine metadata to use to control engine training and serving. Currently supported values: ctr, cvr. If not specified, we choose default based on engine type. Default depends on type of recommendation: recommended-for-you => ctr others-you-may-like => ctr
    optimization_objective_config RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig
    Name and value of the custom threshold for cvr optimization_objective. For target_field watch-time, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field watch-percentage, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5). Structure is documented below.
    training_state str
    The training state that the engine is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for CreateEngine method is TRAINING. The default value for UpdateEngine method is to keep the state the same as before. Possible values are: PAUSED, TRAINING.
    type str
    The type of engine. e.g., recommended-for-you. This field together with MediaRecommendationEngineConfig.optimizationObjective describes engine metadata to use to control engine training and serving. Currently supported values: recommended-for-you, others-you-may-like, more-like-this, most-popular-items.
    engineFeaturesConfig Property Map
    More feature configs of the selected engine type. Structure is documented below.
    optimizationObjective String
    The optimization objective. e.g., cvr. This field together with MediaRecommendationEngineConfig.type describes engine metadata to use to control engine training and serving. Currently supported values: ctr, cvr. If not specified, we choose default based on engine type. Default depends on type of recommendation: recommended-for-you => ctr others-you-may-like => ctr
    optimizationObjectiveConfig Property Map
    Name and value of the custom threshold for cvr optimization_objective. For target_field watch-time, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field watch-percentage, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5). Structure is documented below.
    trainingState String
    The training state that the engine is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for CreateEngine method is TRAINING. The default value for UpdateEngine method is to keep the state the same as before. Possible values are: PAUSED, TRAINING.
    type String
    The type of engine. e.g., recommended-for-you. This field together with MediaRecommendationEngineConfig.optimizationObjective describes engine metadata to use to control engine training and serving. Currently supported values: recommended-for-you, others-you-may-like, more-like-this, most-popular-items.

    RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfig, RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgs

    MostPopularConfig RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfig
    Feature configurations that are required for creating a Most Popular engine. Structure is documented below.
    RecommendedForYouConfig RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfig
    Additional feature configurations for creating a recommended-for-you engine. Structure is documented below.
    MostPopularConfig RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfig
    Feature configurations that are required for creating a Most Popular engine. Structure is documented below.
    RecommendedForYouConfig RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfig
    Additional feature configurations for creating a recommended-for-you engine. Structure is documented below.
    mostPopularConfig RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfig
    Feature configurations that are required for creating a Most Popular engine. Structure is documented below.
    recommendedForYouConfig RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfig
    Additional feature configurations for creating a recommended-for-you engine. Structure is documented below.
    mostPopularConfig RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfig
    Feature configurations that are required for creating a Most Popular engine. Structure is documented below.
    recommendedForYouConfig RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfig
    Additional feature configurations for creating a recommended-for-you engine. Structure is documented below.
    most_popular_config RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfig
    Feature configurations that are required for creating a Most Popular engine. Structure is documented below.
    recommended_for_you_config RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfig
    Additional feature configurations for creating a recommended-for-you engine. Structure is documented below.
    mostPopularConfig Property Map
    Feature configurations that are required for creating a Most Popular engine. Structure is documented below.
    recommendedForYouConfig Property Map
    Additional feature configurations for creating a recommended-for-you engine. Structure is documented below.

    RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfig, RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfigArgs

    TimeWindowDays int
    The time window of which the engine is queried at training and prediction time. Positive integers only. The value translates to the last X days of events. Currently required for the most-popular-items engine.
    TimeWindowDays int
    The time window of which the engine is queried at training and prediction time. Positive integers only. The value translates to the last X days of events. Currently required for the most-popular-items engine.
    timeWindowDays Integer
    The time window of which the engine is queried at training and prediction time. Positive integers only. The value translates to the last X days of events. Currently required for the most-popular-items engine.
    timeWindowDays number
    The time window of which the engine is queried at training and prediction time. Positive integers only. The value translates to the last X days of events. Currently required for the most-popular-items engine.
    time_window_days int
    The time window of which the engine is queried at training and prediction time. Positive integers only. The value translates to the last X days of events. Currently required for the most-popular-items engine.
    timeWindowDays Number
    The time window of which the engine is queried at training and prediction time. Positive integers only. The value translates to the last X days of events. Currently required for the most-popular-items engine.

    RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfig, RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgs

    ContextEventType string
    The type of event with which the engine is queried at prediction time. If set to generic, only view-item, media-play,and media-complete will be used as context-event in engine training. If set to view-home-page, view-home-page will also be used as context-events in addition to view-item, media-play, and media-complete. Currently supported for the recommended-for-you engine. Currently supported values: view-home-page, generic.
    ContextEventType string
    The type of event with which the engine is queried at prediction time. If set to generic, only view-item, media-play,and media-complete will be used as context-event in engine training. If set to view-home-page, view-home-page will also be used as context-events in addition to view-item, media-play, and media-complete. Currently supported for the recommended-for-you engine. Currently supported values: view-home-page, generic.
    contextEventType String
    The type of event with which the engine is queried at prediction time. If set to generic, only view-item, media-play,and media-complete will be used as context-event in engine training. If set to view-home-page, view-home-page will also be used as context-events in addition to view-item, media-play, and media-complete. Currently supported for the recommended-for-you engine. Currently supported values: view-home-page, generic.
    contextEventType string
    The type of event with which the engine is queried at prediction time. If set to generic, only view-item, media-play,and media-complete will be used as context-event in engine training. If set to view-home-page, view-home-page will also be used as context-events in addition to view-item, media-play, and media-complete. Currently supported for the recommended-for-you engine. Currently supported values: view-home-page, generic.
    context_event_type str
    The type of event with which the engine is queried at prediction time. If set to generic, only view-item, media-play,and media-complete will be used as context-event in engine training. If set to view-home-page, view-home-page will also be used as context-events in addition to view-item, media-play, and media-complete. Currently supported for the recommended-for-you engine. Currently supported values: view-home-page, generic.
    contextEventType String
    The type of event with which the engine is queried at prediction time. If set to generic, only view-item, media-play,and media-complete will be used as context-event in engine training. If set to view-home-page, view-home-page will also be used as context-events in addition to view-item, media-play, and media-complete. Currently supported for the recommended-for-you engine. Currently supported values: view-home-page, generic.

    RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig, RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfigArgs

    TargetField string
    The name of the field to target. Currently supported values: watch-percentage, watch-time.
    TargetFieldValueFloat double
    The threshold to be applied to the target (e.g., 0.5).
    TargetField string
    The name of the field to target. Currently supported values: watch-percentage, watch-time.
    TargetFieldValueFloat float64
    The threshold to be applied to the target (e.g., 0.5).
    targetField String
    The name of the field to target. Currently supported values: watch-percentage, watch-time.
    targetFieldValueFloat Double
    The threshold to be applied to the target (e.g., 0.5).
    targetField string
    The name of the field to target. Currently supported values: watch-percentage, watch-time.
    targetFieldValueFloat number
    The threshold to be applied to the target (e.g., 0.5).
    target_field str
    The name of the field to target. Currently supported values: watch-percentage, watch-time.
    target_field_value_float float
    The threshold to be applied to the target (e.g., 0.5).
    targetField String
    The name of the field to target. Currently supported values: watch-percentage, watch-time.
    targetFieldValueFloat Number
    The threshold to be applied to the target (e.g., 0.5).

    Import

    RecommendationEngine can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{location}}/collections/default_collection/engines/{{engine_id}}

    • {{project}}/{{location}}/{{engine_id}}

    • {{location}}/{{engine_id}}

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

    $ pulumi import gcp:discoveryengine/recommendationEngine:RecommendationEngine default projects/{{project}}/locations/{{location}}/collections/default_collection/engines/{{engine_id}}
    
    $ pulumi import gcp:discoveryengine/recommendationEngine:RecommendationEngine default {{project}}/{{location}}/{{engine_id}}
    
    $ pulumi import gcp:discoveryengine/recommendationEngine:RecommendationEngine default {{location}}/{{engine_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 v8.41.1 published on Monday, Aug 25, 2025 by Pulumi