1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. vertex
  5. AiFeatureOnlineStoreFeatureview
Google Cloud Classic v8.9.1 published on Wednesday, Nov 13, 2024 by Pulumi

gcp.vertex.AiFeatureOnlineStoreFeatureview

Explore with Pulumi AI

gcp logo
Google Cloud Classic v8.9.1 published on Wednesday, Nov 13, 2024 by Pulumi

    FeatureView is representation of values that the FeatureOnlineStore will serve based on its syncConfig.

    To get more information about FeatureOnlineStoreFeatureview, see:

    Example Usage

    Vertex Ai Featureonlinestore Featureview

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const featureonlinestore = new gcp.vertex.AiFeatureOnlineStore("featureonlinestore", {
        name: "example_feature_view",
        labels: {
            foo: "bar",
        },
        region: "us-central1",
        bigtable: {
            autoScaling: {
                minNodeCount: 1,
                maxNodeCount: 2,
                cpuUtilizationTarget: 80,
            },
        },
    });
    const tf_test_dataset = new gcp.bigquery.Dataset("tf-test-dataset", {
        datasetId: "example_feature_view",
        friendlyName: "test",
        description: "This is a test description",
        location: "US",
    });
    const tf_test_table = new gcp.bigquery.Table("tf-test-table", {
        deletionProtection: false,
        datasetId: tf_test_dataset.datasetId,
        tableId: "example_feature_view",
        schema: `  [
      {
        "name": "entity_id",
        "mode": "NULLABLE",
        "type": "STRING",
        "description": "Test default entity_id"
      },
        {
        "name": "test_entity_column",
        "mode": "NULLABLE",
        "type": "STRING",
        "description": "test secondary entity column"
      },
      {
        "name": "feature_timestamp",
        "mode": "NULLABLE",
        "type": "TIMESTAMP",
        "description": "Default timestamp value"
      }
    ]
    `,
    });
    const featureview = new gcp.vertex.AiFeatureOnlineStoreFeatureview("featureview", {
        name: "example_feature_view",
        region: "us-central1",
        featureOnlineStore: featureonlinestore.name,
        syncConfig: {
            cron: "0 0 * * *",
        },
        bigQuerySource: {
            uri: pulumi.interpolate`bq://${tf_test_table.project}.${tf_test_table.datasetId}.${tf_test_table.tableId}`,
            entityIdColumns: ["test_entity_column"],
        },
    });
    const project = gcp.organizations.getProject({});
    
    import pulumi
    import pulumi_gcp as gcp
    
    featureonlinestore = gcp.vertex.AiFeatureOnlineStore("featureonlinestore",
        name="example_feature_view",
        labels={
            "foo": "bar",
        },
        region="us-central1",
        bigtable={
            "auto_scaling": {
                "min_node_count": 1,
                "max_node_count": 2,
                "cpu_utilization_target": 80,
            },
        })
    tf_test_dataset = gcp.bigquery.Dataset("tf-test-dataset",
        dataset_id="example_feature_view",
        friendly_name="test",
        description="This is a test description",
        location="US")
    tf_test_table = gcp.bigquery.Table("tf-test-table",
        deletion_protection=False,
        dataset_id=tf_test_dataset.dataset_id,
        table_id="example_feature_view",
        schema="""  [
      {
        "name": "entity_id",
        "mode": "NULLABLE",
        "type": "STRING",
        "description": "Test default entity_id"
      },
        {
        "name": "test_entity_column",
        "mode": "NULLABLE",
        "type": "STRING",
        "description": "test secondary entity column"
      },
      {
        "name": "feature_timestamp",
        "mode": "NULLABLE",
        "type": "TIMESTAMP",
        "description": "Default timestamp value"
      }
    ]
    """)
    featureview = gcp.vertex.AiFeatureOnlineStoreFeatureview("featureview",
        name="example_feature_view",
        region="us-central1",
        feature_online_store=featureonlinestore.name,
        sync_config={
            "cron": "0 0 * * *",
        },
        big_query_source={
            "uri": pulumi.Output.all(
                project=tf_test_table.project,
                dataset_id=tf_test_table.dataset_id,
                table_id=tf_test_table.table_id
    ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
    ,
            "entity_id_columns": ["test_entity_column"],
        })
    project = gcp.organizations.get_project()
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigquery"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/vertex"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		featureonlinestore, err := vertex.NewAiFeatureOnlineStore(ctx, "featureonlinestore", &vertex.AiFeatureOnlineStoreArgs{
    			Name: pulumi.String("example_feature_view"),
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    			Region: pulumi.String("us-central1"),
    			Bigtable: &vertex.AiFeatureOnlineStoreBigtableArgs{
    				AutoScaling: &vertex.AiFeatureOnlineStoreBigtableAutoScalingArgs{
    					MinNodeCount:         pulumi.Int(1),
    					MaxNodeCount:         pulumi.Int(2),
    					CpuUtilizationTarget: pulumi.Int(80),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = bigquery.NewDataset(ctx, "tf-test-dataset", &bigquery.DatasetArgs{
    			DatasetId:    pulumi.String("example_feature_view"),
    			FriendlyName: pulumi.String("test"),
    			Description:  pulumi.String("This is a test description"),
    			Location:     pulumi.String("US"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = bigquery.NewTable(ctx, "tf-test-table", &bigquery.TableArgs{
    			DeletionProtection: pulumi.Bool(false),
    			DatasetId:          tf_test_dataset.DatasetId,
    			TableId:            pulumi.String("example_feature_view"),
    			Schema: pulumi.String(`  [
      {
        "name": "entity_id",
        "mode": "NULLABLE",
        "type": "STRING",
        "description": "Test default entity_id"
      },
        {
        "name": "test_entity_column",
        "mode": "NULLABLE",
        "type": "STRING",
        "description": "test secondary entity column"
      },
      {
        "name": "feature_timestamp",
        "mode": "NULLABLE",
        "type": "TIMESTAMP",
        "description": "Default timestamp value"
      }
    ]
    `),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = vertex.NewAiFeatureOnlineStoreFeatureview(ctx, "featureview", &vertex.AiFeatureOnlineStoreFeatureviewArgs{
    			Name:               pulumi.String("example_feature_view"),
    			Region:             pulumi.String("us-central1"),
    			FeatureOnlineStore: featureonlinestore.Name,
    			SyncConfig: &vertex.AiFeatureOnlineStoreFeatureviewSyncConfigArgs{
    				Cron: pulumi.String("0 0 * * *"),
    			},
    			BigQuerySource: &vertex.AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs{
    				Uri: pulumi.All(tf_test_table.Project, tf_test_table.DatasetId, tf_test_table.TableId).ApplyT(func(_args []interface{}) (string, error) {
    					project := _args[0].(string)
    					datasetId := _args[1].(string)
    					tableId := _args[2].(string)
    					return fmt.Sprintf("bq://%v.%v.%v", project, datasetId, tableId), nil
    				}).(pulumi.StringOutput),
    				EntityIdColumns: pulumi.StringArray{
    					pulumi.String("test_entity_column"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
    		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 featureonlinestore = new Gcp.Vertex.AiFeatureOnlineStore("featureonlinestore", new()
        {
            Name = "example_feature_view",
            Labels = 
            {
                { "foo", "bar" },
            },
            Region = "us-central1",
            Bigtable = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreBigtableArgs
            {
                AutoScaling = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreBigtableAutoScalingArgs
                {
                    MinNodeCount = 1,
                    MaxNodeCount = 2,
                    CpuUtilizationTarget = 80,
                },
            },
        });
    
        var tf_test_dataset = new Gcp.BigQuery.Dataset("tf-test-dataset", new()
        {
            DatasetId = "example_feature_view",
            FriendlyName = "test",
            Description = "This is a test description",
            Location = "US",
        });
    
        var tf_test_table = new Gcp.BigQuery.Table("tf-test-table", new()
        {
            DeletionProtection = false,
            DatasetId = tf_test_dataset.DatasetId,
            TableId = "example_feature_view",
            Schema = @"  [
      {
        ""name"": ""entity_id"",
        ""mode"": ""NULLABLE"",
        ""type"": ""STRING"",
        ""description"": ""Test default entity_id""
      },
        {
        ""name"": ""test_entity_column"",
        ""mode"": ""NULLABLE"",
        ""type"": ""STRING"",
        ""description"": ""test secondary entity column""
      },
      {
        ""name"": ""feature_timestamp"",
        ""mode"": ""NULLABLE"",
        ""type"": ""TIMESTAMP"",
        ""description"": ""Default timestamp value""
      }
    ]
    ",
        });
    
        var featureview = new Gcp.Vertex.AiFeatureOnlineStoreFeatureview("featureview", new()
        {
            Name = "example_feature_view",
            Region = "us-central1",
            FeatureOnlineStore = featureonlinestore.Name,
            SyncConfig = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewSyncConfigArgs
            {
                Cron = "0 0 * * *",
            },
            BigQuerySource = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs
            {
                Uri = Output.Tuple(tf_test_table.Project, tf_test_table.DatasetId, tf_test_table.TableId).Apply(values =>
                {
                    var project = values.Item1;
                    var datasetId = values.Item2;
                    var tableId = values.Item3;
                    return $"bq://{project}.{datasetId}.{tableId}";
                }),
                EntityIdColumns = new[]
                {
                    "test_entity_column",
                },
            },
        });
    
        var project = Gcp.Organizations.GetProject.Invoke();
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStore;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStoreArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreBigtableArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreBigtableAutoScalingArgs;
    import com.pulumi.gcp.bigquery.Dataset;
    import com.pulumi.gcp.bigquery.DatasetArgs;
    import com.pulumi.gcp.bigquery.Table;
    import com.pulumi.gcp.bigquery.TableArgs;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStoreFeatureview;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStoreFeatureviewArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreFeatureviewSyncConfigArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs;
    import com.pulumi.gcp.organizations.OrganizationsFunctions;
    import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
    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 featureonlinestore = new AiFeatureOnlineStore("featureonlinestore", AiFeatureOnlineStoreArgs.builder()
                .name("example_feature_view")
                .labels(Map.of("foo", "bar"))
                .region("us-central1")
                .bigtable(AiFeatureOnlineStoreBigtableArgs.builder()
                    .autoScaling(AiFeatureOnlineStoreBigtableAutoScalingArgs.builder()
                        .minNodeCount(1)
                        .maxNodeCount(2)
                        .cpuUtilizationTarget(80)
                        .build())
                    .build())
                .build());
    
            var tf_test_dataset = new Dataset("tf-test-dataset", DatasetArgs.builder()
                .datasetId("example_feature_view")
                .friendlyName("test")
                .description("This is a test description")
                .location("US")
                .build());
    
            var tf_test_table = new Table("tf-test-table", TableArgs.builder()
                .deletionProtection(false)
                .datasetId(tf_test_dataset.datasetId())
                .tableId("example_feature_view")
                .schema("""
      [
      {
        "name": "entity_id",
        "mode": "NULLABLE",
        "type": "STRING",
        "description": "Test default entity_id"
      },
        {
        "name": "test_entity_column",
        "mode": "NULLABLE",
        "type": "STRING",
        "description": "test secondary entity column"
      },
      {
        "name": "feature_timestamp",
        "mode": "NULLABLE",
        "type": "TIMESTAMP",
        "description": "Default timestamp value"
      }
    ]
                """)
                .build());
    
            var featureview = new AiFeatureOnlineStoreFeatureview("featureview", AiFeatureOnlineStoreFeatureviewArgs.builder()
                .name("example_feature_view")
                .region("us-central1")
                .featureOnlineStore(featureonlinestore.name())
                .syncConfig(AiFeatureOnlineStoreFeatureviewSyncConfigArgs.builder()
                    .cron("0 0 * * *")
                    .build())
                .bigQuerySource(AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs.builder()
                    .uri(Output.tuple(tf_test_table.project(), tf_test_table.datasetId(), tf_test_table.tableId()).applyValue(values -> {
                        var project = values.t1;
                        var datasetId = values.t2;
                        var tableId = values.t3;
                        return String.format("bq://%s.%s.%s", project,datasetId,tableId);
                    }))
                    .entityIdColumns("test_entity_column")
                    .build())
                .build());
    
            final var project = OrganizationsFunctions.getProject();
    
        }
    }
    
    resources:
      featureonlinestore:
        type: gcp:vertex:AiFeatureOnlineStore
        properties:
          name: example_feature_view
          labels:
            foo: bar
          region: us-central1
          bigtable:
            autoScaling:
              minNodeCount: 1
              maxNodeCount: 2
              cpuUtilizationTarget: 80
      tf-test-dataset:
        type: gcp:bigquery:Dataset
        properties:
          datasetId: example_feature_view
          friendlyName: test
          description: This is a test description
          location: US
      tf-test-table:
        type: gcp:bigquery:Table
        properties:
          deletionProtection: false
          datasetId: ${["tf-test-dataset"].datasetId}
          tableId: example_feature_view
          schema: |2
              [
              {
                "name": "entity_id",
                "mode": "NULLABLE",
                "type": "STRING",
                "description": "Test default entity_id"
              },
                {
                "name": "test_entity_column",
                "mode": "NULLABLE",
                "type": "STRING",
                "description": "test secondary entity column"
              },
              {
                "name": "feature_timestamp",
                "mode": "NULLABLE",
                "type": "TIMESTAMP",
                "description": "Default timestamp value"
              }
            ]
      featureview:
        type: gcp:vertex:AiFeatureOnlineStoreFeatureview
        properties:
          name: example_feature_view
          region: us-central1
          featureOnlineStore: ${featureonlinestore.name}
          syncConfig:
            cron: 0 0 * * *
          bigQuerySource:
            uri: bq://${["tf-test-table"].project}.${["tf-test-table"].datasetId}.${["tf-test-table"].tableId}
            entityIdColumns:
              - test_entity_column
    variables:
      project:
        fn::invoke:
          Function: gcp:organizations:getProject
          Arguments: {}
    

    Vertex Ai Featureonlinestore Featureview Feature Registry

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const featureonlinestore = new gcp.vertex.AiFeatureOnlineStore("featureonlinestore", {
        name: "example_feature_view_feature_registry",
        labels: {
            foo: "bar",
        },
        region: "us-central1",
        bigtable: {
            autoScaling: {
                minNodeCount: 1,
                maxNodeCount: 2,
                cpuUtilizationTarget: 80,
            },
        },
    });
    const sampleDataset = new gcp.bigquery.Dataset("sample_dataset", {
        datasetId: "example_feature_view_feature_registry",
        friendlyName: "test",
        description: "This is a test description",
        location: "US",
    });
    const sampleTable = new gcp.bigquery.Table("sample_table", {
        deletionProtection: false,
        datasetId: sampleDataset.datasetId,
        tableId: "example_feature_view_feature_registry",
        schema: `[
        {
            "name": "feature_id",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "example_feature_view_feature_registry",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "feature_timestamp",
            "type": "TIMESTAMP",
            "mode": "NULLABLE"
        }
    ]
    `,
    });
    const sampleFeatureGroup = new gcp.vertex.AiFeatureGroup("sample_feature_group", {
        name: "example_feature_view_feature_registry",
        description: "A sample feature group",
        region: "us-central1",
        labels: {
            "label-one": "value-one",
        },
        bigQuery: {
            bigQuerySource: {
                inputUri: pulumi.interpolate`bq://${sampleTable.project}.${sampleTable.datasetId}.${sampleTable.tableId}`,
            },
            entityIdColumns: ["feature_id"],
        },
    });
    const sampleFeature = new gcp.vertex.AiFeatureGroupFeature("sample_feature", {
        name: "example_feature_view_feature_registry",
        region: "us-central1",
        featureGroup: sampleFeatureGroup.name,
        description: "A sample feature",
        labels: {
            "label-one": "value-one",
        },
    });
    const featureviewFeatureregistry = new gcp.vertex.AiFeatureOnlineStoreFeatureview("featureview_featureregistry", {
        name: "example_feature_view_feature_registry",
        region: "us-central1",
        featureOnlineStore: featureonlinestore.name,
        syncConfig: {
            cron: "0 0 * * *",
        },
        featureRegistrySource: {
            featureGroups: [{
                featureGroupId: sampleFeatureGroup.name,
                featureIds: [sampleFeature.name],
            }],
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    featureonlinestore = gcp.vertex.AiFeatureOnlineStore("featureonlinestore",
        name="example_feature_view_feature_registry",
        labels={
            "foo": "bar",
        },
        region="us-central1",
        bigtable={
            "auto_scaling": {
                "min_node_count": 1,
                "max_node_count": 2,
                "cpu_utilization_target": 80,
            },
        })
    sample_dataset = gcp.bigquery.Dataset("sample_dataset",
        dataset_id="example_feature_view_feature_registry",
        friendly_name="test",
        description="This is a test description",
        location="US")
    sample_table = gcp.bigquery.Table("sample_table",
        deletion_protection=False,
        dataset_id=sample_dataset.dataset_id,
        table_id="example_feature_view_feature_registry",
        schema="""[
        {
            "name": "feature_id",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "example_feature_view_feature_registry",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "feature_timestamp",
            "type": "TIMESTAMP",
            "mode": "NULLABLE"
        }
    ]
    """)
    sample_feature_group = gcp.vertex.AiFeatureGroup("sample_feature_group",
        name="example_feature_view_feature_registry",
        description="A sample feature group",
        region="us-central1",
        labels={
            "label-one": "value-one",
        },
        big_query={
            "big_query_source": {
                "input_uri": pulumi.Output.all(
                    project=sample_table.project,
                    dataset_id=sample_table.dataset_id,
                    table_id=sample_table.table_id
    ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
    ,
            },
            "entity_id_columns": ["feature_id"],
        })
    sample_feature = gcp.vertex.AiFeatureGroupFeature("sample_feature",
        name="example_feature_view_feature_registry",
        region="us-central1",
        feature_group=sample_feature_group.name,
        description="A sample feature",
        labels={
            "label-one": "value-one",
        })
    featureview_featureregistry = gcp.vertex.AiFeatureOnlineStoreFeatureview("featureview_featureregistry",
        name="example_feature_view_feature_registry",
        region="us-central1",
        feature_online_store=featureonlinestore.name,
        sync_config={
            "cron": "0 0 * * *",
        },
        feature_registry_source={
            "feature_groups": [{
                "feature_group_id": sample_feature_group.name,
                "feature_ids": [sample_feature.name],
            }],
        })
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigquery"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/vertex"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		featureonlinestore, err := vertex.NewAiFeatureOnlineStore(ctx, "featureonlinestore", &vertex.AiFeatureOnlineStoreArgs{
    			Name: pulumi.String("example_feature_view_feature_registry"),
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    			Region: pulumi.String("us-central1"),
    			Bigtable: &vertex.AiFeatureOnlineStoreBigtableArgs{
    				AutoScaling: &vertex.AiFeatureOnlineStoreBigtableAutoScalingArgs{
    					MinNodeCount:         pulumi.Int(1),
    					MaxNodeCount:         pulumi.Int(2),
    					CpuUtilizationTarget: pulumi.Int(80),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		sampleDataset, err := bigquery.NewDataset(ctx, "sample_dataset", &bigquery.DatasetArgs{
    			DatasetId:    pulumi.String("example_feature_view_feature_registry"),
    			FriendlyName: pulumi.String("test"),
    			Description:  pulumi.String("This is a test description"),
    			Location:     pulumi.String("US"),
    		})
    		if err != nil {
    			return err
    		}
    		sampleTable, err := bigquery.NewTable(ctx, "sample_table", &bigquery.TableArgs{
    			DeletionProtection: pulumi.Bool(false),
    			DatasetId:          sampleDataset.DatasetId,
    			TableId:            pulumi.String("example_feature_view_feature_registry"),
    			Schema: pulumi.String(`[
        {
            "name": "feature_id",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "example_feature_view_feature_registry",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "feature_timestamp",
            "type": "TIMESTAMP",
            "mode": "NULLABLE"
        }
    ]
    `),
    		})
    		if err != nil {
    			return err
    		}
    		sampleFeatureGroup, err := vertex.NewAiFeatureGroup(ctx, "sample_feature_group", &vertex.AiFeatureGroupArgs{
    			Name:        pulumi.String("example_feature_view_feature_registry"),
    			Description: pulumi.String("A sample feature group"),
    			Region:      pulumi.String("us-central1"),
    			Labels: pulumi.StringMap{
    				"label-one": pulumi.String("value-one"),
    			},
    			BigQuery: &vertex.AiFeatureGroupBigQueryArgs{
    				BigQuerySource: &vertex.AiFeatureGroupBigQueryBigQuerySourceArgs{
    					InputUri: pulumi.All(sampleTable.Project, sampleTable.DatasetId, sampleTable.TableId).ApplyT(func(_args []interface{}) (string, error) {
    						project := _args[0].(string)
    						datasetId := _args[1].(string)
    						tableId := _args[2].(string)
    						return fmt.Sprintf("bq://%v.%v.%v", project, datasetId, tableId), nil
    					}).(pulumi.StringOutput),
    				},
    				EntityIdColumns: pulumi.StringArray{
    					pulumi.String("feature_id"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		sampleFeature, err := vertex.NewAiFeatureGroupFeature(ctx, "sample_feature", &vertex.AiFeatureGroupFeatureArgs{
    			Name:         pulumi.String("example_feature_view_feature_registry"),
    			Region:       pulumi.String("us-central1"),
    			FeatureGroup: sampleFeatureGroup.Name,
    			Description:  pulumi.String("A sample feature"),
    			Labels: pulumi.StringMap{
    				"label-one": pulumi.String("value-one"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = vertex.NewAiFeatureOnlineStoreFeatureview(ctx, "featureview_featureregistry", &vertex.AiFeatureOnlineStoreFeatureviewArgs{
    			Name:               pulumi.String("example_feature_view_feature_registry"),
    			Region:             pulumi.String("us-central1"),
    			FeatureOnlineStore: featureonlinestore.Name,
    			SyncConfig: &vertex.AiFeatureOnlineStoreFeatureviewSyncConfigArgs{
    				Cron: pulumi.String("0 0 * * *"),
    			},
    			FeatureRegistrySource: &vertex.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs{
    				FeatureGroups: vertex.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArray{
    					&vertex.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs{
    						FeatureGroupId: sampleFeatureGroup.Name,
    						FeatureIds: pulumi.StringArray{
    							sampleFeature.Name,
    						},
    					},
    				},
    			},
    		})
    		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 featureonlinestore = new Gcp.Vertex.AiFeatureOnlineStore("featureonlinestore", new()
        {
            Name = "example_feature_view_feature_registry",
            Labels = 
            {
                { "foo", "bar" },
            },
            Region = "us-central1",
            Bigtable = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreBigtableArgs
            {
                AutoScaling = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreBigtableAutoScalingArgs
                {
                    MinNodeCount = 1,
                    MaxNodeCount = 2,
                    CpuUtilizationTarget = 80,
                },
            },
        });
    
        var sampleDataset = new Gcp.BigQuery.Dataset("sample_dataset", new()
        {
            DatasetId = "example_feature_view_feature_registry",
            FriendlyName = "test",
            Description = "This is a test description",
            Location = "US",
        });
    
        var sampleTable = new Gcp.BigQuery.Table("sample_table", new()
        {
            DeletionProtection = false,
            DatasetId = sampleDataset.DatasetId,
            TableId = "example_feature_view_feature_registry",
            Schema = @"[
        {
            ""name"": ""feature_id"",
            ""type"": ""STRING"",
            ""mode"": ""NULLABLE""
        },
        {
            ""name"": ""example_feature_view_feature_registry"",
            ""type"": ""STRING"",
            ""mode"": ""NULLABLE""
        },
        {
            ""name"": ""feature_timestamp"",
            ""type"": ""TIMESTAMP"",
            ""mode"": ""NULLABLE""
        }
    ]
    ",
        });
    
        var sampleFeatureGroup = new Gcp.Vertex.AiFeatureGroup("sample_feature_group", new()
        {
            Name = "example_feature_view_feature_registry",
            Description = "A sample feature group",
            Region = "us-central1",
            Labels = 
            {
                { "label-one", "value-one" },
            },
            BigQuery = new Gcp.Vertex.Inputs.AiFeatureGroupBigQueryArgs
            {
                BigQuerySource = new Gcp.Vertex.Inputs.AiFeatureGroupBigQueryBigQuerySourceArgs
                {
                    InputUri = Output.Tuple(sampleTable.Project, sampleTable.DatasetId, sampleTable.TableId).Apply(values =>
                    {
                        var project = values.Item1;
                        var datasetId = values.Item2;
                        var tableId = values.Item3;
                        return $"bq://{project}.{datasetId}.{tableId}";
                    }),
                },
                EntityIdColumns = new[]
                {
                    "feature_id",
                },
            },
        });
    
        var sampleFeature = new Gcp.Vertex.AiFeatureGroupFeature("sample_feature", new()
        {
            Name = "example_feature_view_feature_registry",
            Region = "us-central1",
            FeatureGroup = sampleFeatureGroup.Name,
            Description = "A sample feature",
            Labels = 
            {
                { "label-one", "value-one" },
            },
        });
    
        var featureviewFeatureregistry = new Gcp.Vertex.AiFeatureOnlineStoreFeatureview("featureview_featureregistry", new()
        {
            Name = "example_feature_view_feature_registry",
            Region = "us-central1",
            FeatureOnlineStore = featureonlinestore.Name,
            SyncConfig = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewSyncConfigArgs
            {
                Cron = "0 0 * * *",
            },
            FeatureRegistrySource = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs
            {
                FeatureGroups = new[]
                {
                    new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs
                    {
                        FeatureGroupId = sampleFeatureGroup.Name,
                        FeatureIds = new[]
                        {
                            sampleFeature.Name,
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStore;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStoreArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreBigtableArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreBigtableAutoScalingArgs;
    import com.pulumi.gcp.bigquery.Dataset;
    import com.pulumi.gcp.bigquery.DatasetArgs;
    import com.pulumi.gcp.bigquery.Table;
    import com.pulumi.gcp.bigquery.TableArgs;
    import com.pulumi.gcp.vertex.AiFeatureGroup;
    import com.pulumi.gcp.vertex.AiFeatureGroupArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureGroupBigQueryArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureGroupBigQueryBigQuerySourceArgs;
    import com.pulumi.gcp.vertex.AiFeatureGroupFeature;
    import com.pulumi.gcp.vertex.AiFeatureGroupFeatureArgs;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStoreFeatureview;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStoreFeatureviewArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreFeatureviewSyncConfigArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs;
    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 featureonlinestore = new AiFeatureOnlineStore("featureonlinestore", AiFeatureOnlineStoreArgs.builder()
                .name("example_feature_view_feature_registry")
                .labels(Map.of("foo", "bar"))
                .region("us-central1")
                .bigtable(AiFeatureOnlineStoreBigtableArgs.builder()
                    .autoScaling(AiFeatureOnlineStoreBigtableAutoScalingArgs.builder()
                        .minNodeCount(1)
                        .maxNodeCount(2)
                        .cpuUtilizationTarget(80)
                        .build())
                    .build())
                .build());
    
            var sampleDataset = new Dataset("sampleDataset", DatasetArgs.builder()
                .datasetId("example_feature_view_feature_registry")
                .friendlyName("test")
                .description("This is a test description")
                .location("US")
                .build());
    
            var sampleTable = new Table("sampleTable", TableArgs.builder()
                .deletionProtection(false)
                .datasetId(sampleDataset.datasetId())
                .tableId("example_feature_view_feature_registry")
                .schema("""
    [
        {
            "name": "feature_id",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "example_feature_view_feature_registry",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "feature_timestamp",
            "type": "TIMESTAMP",
            "mode": "NULLABLE"
        }
    ]
                """)
                .build());
    
            var sampleFeatureGroup = new AiFeatureGroup("sampleFeatureGroup", AiFeatureGroupArgs.builder()
                .name("example_feature_view_feature_registry")
                .description("A sample feature group")
                .region("us-central1")
                .labels(Map.of("label-one", "value-one"))
                .bigQuery(AiFeatureGroupBigQueryArgs.builder()
                    .bigQuerySource(AiFeatureGroupBigQueryBigQuerySourceArgs.builder()
                        .inputUri(Output.tuple(sampleTable.project(), sampleTable.datasetId(), sampleTable.tableId()).applyValue(values -> {
                            var project = values.t1;
                            var datasetId = values.t2;
                            var tableId = values.t3;
                            return String.format("bq://%s.%s.%s", project,datasetId,tableId);
                        }))
                        .build())
                    .entityIdColumns("feature_id")
                    .build())
                .build());
    
            var sampleFeature = new AiFeatureGroupFeature("sampleFeature", AiFeatureGroupFeatureArgs.builder()
                .name("example_feature_view_feature_registry")
                .region("us-central1")
                .featureGroup(sampleFeatureGroup.name())
                .description("A sample feature")
                .labels(Map.of("label-one", "value-one"))
                .build());
    
            var featureviewFeatureregistry = new AiFeatureOnlineStoreFeatureview("featureviewFeatureregistry", AiFeatureOnlineStoreFeatureviewArgs.builder()
                .name("example_feature_view_feature_registry")
                .region("us-central1")
                .featureOnlineStore(featureonlinestore.name())
                .syncConfig(AiFeatureOnlineStoreFeatureviewSyncConfigArgs.builder()
                    .cron("0 0 * * *")
                    .build())
                .featureRegistrySource(AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs.builder()
                    .featureGroups(AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs.builder()
                        .featureGroupId(sampleFeatureGroup.name())
                        .featureIds(sampleFeature.name())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      featureonlinestore:
        type: gcp:vertex:AiFeatureOnlineStore
        properties:
          name: example_feature_view_feature_registry
          labels:
            foo: bar
          region: us-central1
          bigtable:
            autoScaling:
              minNodeCount: 1
              maxNodeCount: 2
              cpuUtilizationTarget: 80
      sampleDataset:
        type: gcp:bigquery:Dataset
        name: sample_dataset
        properties:
          datasetId: example_feature_view_feature_registry
          friendlyName: test
          description: This is a test description
          location: US
      sampleTable:
        type: gcp:bigquery:Table
        name: sample_table
        properties:
          deletionProtection: false
          datasetId: ${sampleDataset.datasetId}
          tableId: example_feature_view_feature_registry
          schema: |
            [
                {
                    "name": "feature_id",
                    "type": "STRING",
                    "mode": "NULLABLE"
                },
                {
                    "name": "example_feature_view_feature_registry",
                    "type": "STRING",
                    "mode": "NULLABLE"
                },
                {
                    "name": "feature_timestamp",
                    "type": "TIMESTAMP",
                    "mode": "NULLABLE"
                }
            ]        
      sampleFeatureGroup:
        type: gcp:vertex:AiFeatureGroup
        name: sample_feature_group
        properties:
          name: example_feature_view_feature_registry
          description: A sample feature group
          region: us-central1
          labels:
            label-one: value-one
          bigQuery:
            bigQuerySource:
              inputUri: bq://${sampleTable.project}.${sampleTable.datasetId}.${sampleTable.tableId}
            entityIdColumns:
              - feature_id
      sampleFeature:
        type: gcp:vertex:AiFeatureGroupFeature
        name: sample_feature
        properties:
          name: example_feature_view_feature_registry
          region: us-central1
          featureGroup: ${sampleFeatureGroup.name}
          description: A sample feature
          labels:
            label-one: value-one
      featureviewFeatureregistry:
        type: gcp:vertex:AiFeatureOnlineStoreFeatureview
        name: featureview_featureregistry
        properties:
          name: example_feature_view_feature_registry
          region: us-central1
          featureOnlineStore: ${featureonlinestore.name}
          syncConfig:
            cron: 0 0 * * *
          featureRegistrySource:
            featureGroups:
              - featureGroupId: ${sampleFeatureGroup.name}
                featureIds:
                  - ${sampleFeature.name}
    

    Vertex Ai Featureonlinestore Featureview Cross Project

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    import * as time from "@pulumi/time";
    
    const testProject = gcp.organizations.getProject({});
    const project = new gcp.organizations.Project("project", {
        projectId: "tf-test_41150",
        name: "tf-test_89313",
        orgId: "123456789",
        billingAccount: "000000-0000000-0000000-000000",
        deletionPolicy: "DELETE",
    });
    const wait60Seconds = new time.index.Sleep("wait_60_seconds", {createDuration: "60s"}, {
        dependsOn: [project],
    });
    const vertexai = new gcp.projects.Service("vertexai", {
        service: "aiplatform.googleapis.com",
        project: project.projectId,
        disableOnDestroy: false,
    }, {
        dependsOn: [wait60Seconds],
    });
    const featureonlinestore = new gcp.vertex.AiFeatureOnlineStore("featureonlinestore", {
        name: "example_cross_project_featureview",
        project: project.projectId,
        labels: {
            foo: "bar",
        },
        region: "us-central1",
        bigtable: {
            autoScaling: {
                minNodeCount: 1,
                maxNodeCount: 2,
                cpuUtilizationTarget: 80,
            },
        },
    }, {
        dependsOn: [vertexai],
    });
    const sampleDataset = new gcp.bigquery.Dataset("sample_dataset", {
        datasetId: "example_cross_project_featureview",
        friendlyName: "test",
        description: "This is a test description",
        location: "US",
    });
    const viewer = new gcp.bigquery.DatasetIamMember("viewer", {
        project: testProject.then(testProject => testProject.projectId),
        datasetId: sampleDataset.datasetId,
        role: "roles/bigquery.dataViewer",
        member: pulumi.interpolate`serviceAccount:service-${project.number}@gcp-sa-aiplatform.iam.gserviceaccount.com`,
    }, {
        dependsOn: [featureonlinestore],
    });
    const wait30Seconds = new time.index.Sleep("wait_30_seconds", {createDuration: "30s"}, {
        dependsOn: [viewer],
    });
    const sampleTable = new gcp.bigquery.Table("sample_table", {
        deletionProtection: false,
        datasetId: sampleDataset.datasetId,
        tableId: "example_cross_project_featureview",
        schema: `[
        {
            "name": "feature_id",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "example_cross_project_featureview",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "feature_timestamp",
            "type": "TIMESTAMP",
            "mode": "NULLABLE"
        }
    ]
    `,
    });
    const sampleFeatureGroup = new gcp.vertex.AiFeatureGroup("sample_feature_group", {
        name: "example_cross_project_featureview",
        description: "A sample feature group",
        region: "us-central1",
        labels: {
            "label-one": "value-one",
        },
        bigQuery: {
            bigQuerySource: {
                inputUri: pulumi.interpolate`bq://${sampleTable.project}.${sampleTable.datasetId}.${sampleTable.tableId}`,
            },
            entityIdColumns: ["feature_id"],
        },
    });
    const sampleFeature = new gcp.vertex.AiFeatureGroupFeature("sample_feature", {
        name: "example_cross_project_featureview",
        region: "us-central1",
        featureGroup: sampleFeatureGroup.name,
        description: "A sample feature",
        labels: {
            "label-one": "value-one",
        },
    });
    const crossProjectFeatureview = new gcp.vertex.AiFeatureOnlineStoreFeatureview("cross_project_featureview", {
        name: "example_cross_project_featureview",
        project: project.projectId,
        region: "us-central1",
        featureOnlineStore: featureonlinestore.name,
        syncConfig: {
            cron: "0 0 * * *",
        },
        featureRegistrySource: {
            featureGroups: [{
                featureGroupId: sampleFeatureGroup.name,
                featureIds: [sampleFeature.name],
            }],
            projectNumber: testProject.then(testProject => testProject.number),
        },
    }, {
        dependsOn: [
            vertexai,
            wait30Seconds,
        ],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    import pulumi_time as time
    
    test_project = gcp.organizations.get_project()
    project = gcp.organizations.Project("project",
        project_id="tf-test_41150",
        name="tf-test_89313",
        org_id="123456789",
        billing_account="000000-0000000-0000000-000000",
        deletion_policy="DELETE")
    wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
    opts = pulumi.ResourceOptions(depends_on=[project]))
    vertexai = gcp.projects.Service("vertexai",
        service="aiplatform.googleapis.com",
        project=project.project_id,
        disable_on_destroy=False,
        opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
    featureonlinestore = gcp.vertex.AiFeatureOnlineStore("featureonlinestore",
        name="example_cross_project_featureview",
        project=project.project_id,
        labels={
            "foo": "bar",
        },
        region="us-central1",
        bigtable={
            "auto_scaling": {
                "min_node_count": 1,
                "max_node_count": 2,
                "cpu_utilization_target": 80,
            },
        },
        opts = pulumi.ResourceOptions(depends_on=[vertexai]))
    sample_dataset = gcp.bigquery.Dataset("sample_dataset",
        dataset_id="example_cross_project_featureview",
        friendly_name="test",
        description="This is a test description",
        location="US")
    viewer = gcp.bigquery.DatasetIamMember("viewer",
        project=test_project.project_id,
        dataset_id=sample_dataset.dataset_id,
        role="roles/bigquery.dataViewer",
        member=project.number.apply(lambda number: f"serviceAccount:service-{number}@gcp-sa-aiplatform.iam.gserviceaccount.com"),
        opts = pulumi.ResourceOptions(depends_on=[featureonlinestore]))
    wait30_seconds = time.index.Sleep("wait_30_seconds", create_duration=30s,
    opts = pulumi.ResourceOptions(depends_on=[viewer]))
    sample_table = gcp.bigquery.Table("sample_table",
        deletion_protection=False,
        dataset_id=sample_dataset.dataset_id,
        table_id="example_cross_project_featureview",
        schema="""[
        {
            "name": "feature_id",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "example_cross_project_featureview",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "feature_timestamp",
            "type": "TIMESTAMP",
            "mode": "NULLABLE"
        }
    ]
    """)
    sample_feature_group = gcp.vertex.AiFeatureGroup("sample_feature_group",
        name="example_cross_project_featureview",
        description="A sample feature group",
        region="us-central1",
        labels={
            "label-one": "value-one",
        },
        big_query={
            "big_query_source": {
                "input_uri": pulumi.Output.all(
                    project=sample_table.project,
                    dataset_id=sample_table.dataset_id,
                    table_id=sample_table.table_id
    ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
    ,
            },
            "entity_id_columns": ["feature_id"],
        })
    sample_feature = gcp.vertex.AiFeatureGroupFeature("sample_feature",
        name="example_cross_project_featureview",
        region="us-central1",
        feature_group=sample_feature_group.name,
        description="A sample feature",
        labels={
            "label-one": "value-one",
        })
    cross_project_featureview = gcp.vertex.AiFeatureOnlineStoreFeatureview("cross_project_featureview",
        name="example_cross_project_featureview",
        project=project.project_id,
        region="us-central1",
        feature_online_store=featureonlinestore.name,
        sync_config={
            "cron": "0 0 * * *",
        },
        feature_registry_source={
            "feature_groups": [{
                "feature_group_id": sample_feature_group.name,
                "feature_ids": [sample_feature.name],
            }],
            "project_number": test_project.number,
        },
        opts = pulumi.ResourceOptions(depends_on=[
                vertexai,
                wait30_seconds,
            ]))
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigquery"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/projects"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/vertex"
    	"github.com/pulumi/pulumi-time/sdk/go/time"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		testProject, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		project, err := organizations.NewProject(ctx, "project", &organizations.ProjectArgs{
    			ProjectId:      pulumi.String("tf-test_41150"),
    			Name:           pulumi.String("tf-test_89313"),
    			OrgId:          pulumi.String("123456789"),
    			BillingAccount: pulumi.String("000000-0000000-0000000-000000"),
    			DeletionPolicy: pulumi.String("DELETE"),
    		})
    		if err != nil {
    			return err
    		}
    		wait60Seconds, err := time.NewSleep(ctx, "wait_60_seconds", &time.SleepArgs{
    			CreateDuration: "60s",
    		}, pulumi.DependsOn([]pulumi.Resource{
    			project,
    		}))
    		if err != nil {
    			return err
    		}
    		vertexai, err := projects.NewService(ctx, "vertexai", &projects.ServiceArgs{
    			Service:          pulumi.String("aiplatform.googleapis.com"),
    			Project:          project.ProjectId,
    			DisableOnDestroy: pulumi.Bool(false),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			wait60Seconds,
    		}))
    		if err != nil {
    			return err
    		}
    		featureonlinestore, err := vertex.NewAiFeatureOnlineStore(ctx, "featureonlinestore", &vertex.AiFeatureOnlineStoreArgs{
    			Name:    pulumi.String("example_cross_project_featureview"),
    			Project: project.ProjectId,
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    			Region: pulumi.String("us-central1"),
    			Bigtable: &vertex.AiFeatureOnlineStoreBigtableArgs{
    				AutoScaling: &vertex.AiFeatureOnlineStoreBigtableAutoScalingArgs{
    					MinNodeCount:         pulumi.Int(1),
    					MaxNodeCount:         pulumi.Int(2),
    					CpuUtilizationTarget: pulumi.Int(80),
    				},
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			vertexai,
    		}))
    		if err != nil {
    			return err
    		}
    		sampleDataset, err := bigquery.NewDataset(ctx, "sample_dataset", &bigquery.DatasetArgs{
    			DatasetId:    pulumi.String("example_cross_project_featureview"),
    			FriendlyName: pulumi.String("test"),
    			Description:  pulumi.String("This is a test description"),
    			Location:     pulumi.String("US"),
    		})
    		if err != nil {
    			return err
    		}
    		viewer, err := bigquery.NewDatasetIamMember(ctx, "viewer", &bigquery.DatasetIamMemberArgs{
    			Project:   pulumi.String(testProject.ProjectId),
    			DatasetId: sampleDataset.DatasetId,
    			Role:      pulumi.String("roles/bigquery.dataViewer"),
    			Member: project.Number.ApplyT(func(number string) (string, error) {
    				return fmt.Sprintf("serviceAccount:service-%v@gcp-sa-aiplatform.iam.gserviceaccount.com", number), nil
    			}).(pulumi.StringOutput),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			featureonlinestore,
    		}))
    		if err != nil {
    			return err
    		}
    		wait30Seconds, err := time.NewSleep(ctx, "wait_30_seconds", &time.SleepArgs{
    			CreateDuration: "30s",
    		}, pulumi.DependsOn([]pulumi.Resource{
    			viewer,
    		}))
    		if err != nil {
    			return err
    		}
    		sampleTable, err := bigquery.NewTable(ctx, "sample_table", &bigquery.TableArgs{
    			DeletionProtection: pulumi.Bool(false),
    			DatasetId:          sampleDataset.DatasetId,
    			TableId:            pulumi.String("example_cross_project_featureview"),
    			Schema: pulumi.String(`[
        {
            "name": "feature_id",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "example_cross_project_featureview",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "feature_timestamp",
            "type": "TIMESTAMP",
            "mode": "NULLABLE"
        }
    ]
    `),
    		})
    		if err != nil {
    			return err
    		}
    		sampleFeatureGroup, err := vertex.NewAiFeatureGroup(ctx, "sample_feature_group", &vertex.AiFeatureGroupArgs{
    			Name:        pulumi.String("example_cross_project_featureview"),
    			Description: pulumi.String("A sample feature group"),
    			Region:      pulumi.String("us-central1"),
    			Labels: pulumi.StringMap{
    				"label-one": pulumi.String("value-one"),
    			},
    			BigQuery: &vertex.AiFeatureGroupBigQueryArgs{
    				BigQuerySource: &vertex.AiFeatureGroupBigQueryBigQuerySourceArgs{
    					InputUri: pulumi.All(sampleTable.Project, sampleTable.DatasetId, sampleTable.TableId).ApplyT(func(_args []interface{}) (string, error) {
    						project := _args[0].(string)
    						datasetId := _args[1].(string)
    						tableId := _args[2].(string)
    						return fmt.Sprintf("bq://%v.%v.%v", project, datasetId, tableId), nil
    					}).(pulumi.StringOutput),
    				},
    				EntityIdColumns: pulumi.StringArray{
    					pulumi.String("feature_id"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		sampleFeature, err := vertex.NewAiFeatureGroupFeature(ctx, "sample_feature", &vertex.AiFeatureGroupFeatureArgs{
    			Name:         pulumi.String("example_cross_project_featureview"),
    			Region:       pulumi.String("us-central1"),
    			FeatureGroup: sampleFeatureGroup.Name,
    			Description:  pulumi.String("A sample feature"),
    			Labels: pulumi.StringMap{
    				"label-one": pulumi.String("value-one"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = vertex.NewAiFeatureOnlineStoreFeatureview(ctx, "cross_project_featureview", &vertex.AiFeatureOnlineStoreFeatureviewArgs{
    			Name:               pulumi.String("example_cross_project_featureview"),
    			Project:            project.ProjectId,
    			Region:             pulumi.String("us-central1"),
    			FeatureOnlineStore: featureonlinestore.Name,
    			SyncConfig: &vertex.AiFeatureOnlineStoreFeatureviewSyncConfigArgs{
    				Cron: pulumi.String("0 0 * * *"),
    			},
    			FeatureRegistrySource: &vertex.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs{
    				FeatureGroups: vertex.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArray{
    					&vertex.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs{
    						FeatureGroupId: sampleFeatureGroup.Name,
    						FeatureIds: pulumi.StringArray{
    							sampleFeature.Name,
    						},
    					},
    				},
    				ProjectNumber: pulumi.String(testProject.Number),
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			vertexai,
    			wait30Seconds,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    using Time = Pulumi.Time;
    
    return await Deployment.RunAsync(() => 
    {
        var testProject = Gcp.Organizations.GetProject.Invoke();
    
        var project = new Gcp.Organizations.Project("project", new()
        {
            ProjectId = "tf-test_41150",
            Name = "tf-test_89313",
            OrgId = "123456789",
            BillingAccount = "000000-0000000-0000000-000000",
            DeletionPolicy = "DELETE",
        });
    
        var wait60Seconds = new Time.Index.Sleep("wait_60_seconds", new()
        {
            CreateDuration = "60s",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                project,
            },
        });
    
        var vertexai = new Gcp.Projects.Service("vertexai", new()
        {
            ServiceName = "aiplatform.googleapis.com",
            Project = project.ProjectId,
            DisableOnDestroy = false,
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                wait60Seconds,
            },
        });
    
        var featureonlinestore = new Gcp.Vertex.AiFeatureOnlineStore("featureonlinestore", new()
        {
            Name = "example_cross_project_featureview",
            Project = project.ProjectId,
            Labels = 
            {
                { "foo", "bar" },
            },
            Region = "us-central1",
            Bigtable = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreBigtableArgs
            {
                AutoScaling = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreBigtableAutoScalingArgs
                {
                    MinNodeCount = 1,
                    MaxNodeCount = 2,
                    CpuUtilizationTarget = 80,
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                vertexai,
            },
        });
    
        var sampleDataset = new Gcp.BigQuery.Dataset("sample_dataset", new()
        {
            DatasetId = "example_cross_project_featureview",
            FriendlyName = "test",
            Description = "This is a test description",
            Location = "US",
        });
    
        var viewer = new Gcp.BigQuery.DatasetIamMember("viewer", new()
        {
            Project = testProject.Apply(getProjectResult => getProjectResult.ProjectId),
            DatasetId = sampleDataset.DatasetId,
            Role = "roles/bigquery.dataViewer",
            Member = project.Number.Apply(number => $"serviceAccount:service-{number}@gcp-sa-aiplatform.iam.gserviceaccount.com"),
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                featureonlinestore,
            },
        });
    
        var wait30Seconds = new Time.Index.Sleep("wait_30_seconds", new()
        {
            CreateDuration = "30s",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                viewer,
            },
        });
    
        var sampleTable = new Gcp.BigQuery.Table("sample_table", new()
        {
            DeletionProtection = false,
            DatasetId = sampleDataset.DatasetId,
            TableId = "example_cross_project_featureview",
            Schema = @"[
        {
            ""name"": ""feature_id"",
            ""type"": ""STRING"",
            ""mode"": ""NULLABLE""
        },
        {
            ""name"": ""example_cross_project_featureview"",
            ""type"": ""STRING"",
            ""mode"": ""NULLABLE""
        },
        {
            ""name"": ""feature_timestamp"",
            ""type"": ""TIMESTAMP"",
            ""mode"": ""NULLABLE""
        }
    ]
    ",
        });
    
        var sampleFeatureGroup = new Gcp.Vertex.AiFeatureGroup("sample_feature_group", new()
        {
            Name = "example_cross_project_featureview",
            Description = "A sample feature group",
            Region = "us-central1",
            Labels = 
            {
                { "label-one", "value-one" },
            },
            BigQuery = new Gcp.Vertex.Inputs.AiFeatureGroupBigQueryArgs
            {
                BigQuerySource = new Gcp.Vertex.Inputs.AiFeatureGroupBigQueryBigQuerySourceArgs
                {
                    InputUri = Output.Tuple(sampleTable.Project, sampleTable.DatasetId, sampleTable.TableId).Apply(values =>
                    {
                        var project = values.Item1;
                        var datasetId = values.Item2;
                        var tableId = values.Item3;
                        return $"bq://{project}.{datasetId}.{tableId}";
                    }),
                },
                EntityIdColumns = new[]
                {
                    "feature_id",
                },
            },
        });
    
        var sampleFeature = new Gcp.Vertex.AiFeatureGroupFeature("sample_feature", new()
        {
            Name = "example_cross_project_featureview",
            Region = "us-central1",
            FeatureGroup = sampleFeatureGroup.Name,
            Description = "A sample feature",
            Labels = 
            {
                { "label-one", "value-one" },
            },
        });
    
        var crossProjectFeatureview = new Gcp.Vertex.AiFeatureOnlineStoreFeatureview("cross_project_featureview", new()
        {
            Name = "example_cross_project_featureview",
            Project = project.ProjectId,
            Region = "us-central1",
            FeatureOnlineStore = featureonlinestore.Name,
            SyncConfig = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewSyncConfigArgs
            {
                Cron = "0 0 * * *",
            },
            FeatureRegistrySource = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs
            {
                FeatureGroups = new[]
                {
                    new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs
                    {
                        FeatureGroupId = sampleFeatureGroup.Name,
                        FeatureIds = new[]
                        {
                            sampleFeature.Name,
                        },
                    },
                },
                ProjectNumber = testProject.Apply(getProjectResult => getProjectResult.Number),
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                vertexai,
                wait30Seconds,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.organizations.OrganizationsFunctions;
    import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
    import com.pulumi.gcp.organizations.Project;
    import com.pulumi.gcp.organizations.ProjectArgs;
    import com.pulumi.time.sleep;
    import com.pulumi.time.SleepArgs;
    import com.pulumi.gcp.projects.Service;
    import com.pulumi.gcp.projects.ServiceArgs;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStore;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStoreArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreBigtableArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreBigtableAutoScalingArgs;
    import com.pulumi.gcp.bigquery.Dataset;
    import com.pulumi.gcp.bigquery.DatasetArgs;
    import com.pulumi.gcp.bigquery.DatasetIamMember;
    import com.pulumi.gcp.bigquery.DatasetIamMemberArgs;
    import com.pulumi.gcp.bigquery.Table;
    import com.pulumi.gcp.bigquery.TableArgs;
    import com.pulumi.gcp.vertex.AiFeatureGroup;
    import com.pulumi.gcp.vertex.AiFeatureGroupArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureGroupBigQueryArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureGroupBigQueryBigQuerySourceArgs;
    import com.pulumi.gcp.vertex.AiFeatureGroupFeature;
    import com.pulumi.gcp.vertex.AiFeatureGroupFeatureArgs;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStoreFeatureview;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStoreFeatureviewArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreFeatureviewSyncConfigArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var testProject = OrganizationsFunctions.getProject();
    
            var project = new Project("project", ProjectArgs.builder()
                .projectId("tf-test_41150")
                .name("tf-test_89313")
                .orgId("123456789")
                .billingAccount("000000-0000000-0000000-000000")
                .deletionPolicy("DELETE")
                .build());
    
            var wait60Seconds = new Sleep("wait60Seconds", SleepArgs.builder()
                .createDuration("60s")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(project)
                    .build());
    
            var vertexai = new Service("vertexai", ServiceArgs.builder()
                .service("aiplatform.googleapis.com")
                .project(project.projectId())
                .disableOnDestroy(false)
                .build(), CustomResourceOptions.builder()
                    .dependsOn(wait60Seconds)
                    .build());
    
            var featureonlinestore = new AiFeatureOnlineStore("featureonlinestore", AiFeatureOnlineStoreArgs.builder()
                .name("example_cross_project_featureview")
                .project(project.projectId())
                .labels(Map.of("foo", "bar"))
                .region("us-central1")
                .bigtable(AiFeatureOnlineStoreBigtableArgs.builder()
                    .autoScaling(AiFeatureOnlineStoreBigtableAutoScalingArgs.builder()
                        .minNodeCount(1)
                        .maxNodeCount(2)
                        .cpuUtilizationTarget(80)
                        .build())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(vertexai)
                    .build());
    
            var sampleDataset = new Dataset("sampleDataset", DatasetArgs.builder()
                .datasetId("example_cross_project_featureview")
                .friendlyName("test")
                .description("This is a test description")
                .location("US")
                .build());
    
            var viewer = new DatasetIamMember("viewer", DatasetIamMemberArgs.builder()
                .project(testProject.applyValue(getProjectResult -> getProjectResult.projectId()))
                .datasetId(sampleDataset.datasetId())
                .role("roles/bigquery.dataViewer")
                .member(project.number().applyValue(number -> String.format("serviceAccount:service-%s@gcp-sa-aiplatform.iam.gserviceaccount.com", number)))
                .build(), CustomResourceOptions.builder()
                    .dependsOn(featureonlinestore)
                    .build());
    
            var wait30Seconds = new Sleep("wait30Seconds", SleepArgs.builder()
                .createDuration("30s")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(viewer)
                    .build());
    
            var sampleTable = new Table("sampleTable", TableArgs.builder()
                .deletionProtection(false)
                .datasetId(sampleDataset.datasetId())
                .tableId("example_cross_project_featureview")
                .schema("""
    [
        {
            "name": "feature_id",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "example_cross_project_featureview",
            "type": "STRING",
            "mode": "NULLABLE"
        },
        {
            "name": "feature_timestamp",
            "type": "TIMESTAMP",
            "mode": "NULLABLE"
        }
    ]
                """)
                .build());
    
            var sampleFeatureGroup = new AiFeatureGroup("sampleFeatureGroup", AiFeatureGroupArgs.builder()
                .name("example_cross_project_featureview")
                .description("A sample feature group")
                .region("us-central1")
                .labels(Map.of("label-one", "value-one"))
                .bigQuery(AiFeatureGroupBigQueryArgs.builder()
                    .bigQuerySource(AiFeatureGroupBigQueryBigQuerySourceArgs.builder()
                        .inputUri(Output.tuple(sampleTable.project(), sampleTable.datasetId(), sampleTable.tableId()).applyValue(values -> {
                            var project = values.t1;
                            var datasetId = values.t2;
                            var tableId = values.t3;
                            return String.format("bq://%s.%s.%s", project,datasetId,tableId);
                        }))
                        .build())
                    .entityIdColumns("feature_id")
                    .build())
                .build());
    
            var sampleFeature = new AiFeatureGroupFeature("sampleFeature", AiFeatureGroupFeatureArgs.builder()
                .name("example_cross_project_featureview")
                .region("us-central1")
                .featureGroup(sampleFeatureGroup.name())
                .description("A sample feature")
                .labels(Map.of("label-one", "value-one"))
                .build());
    
            var crossProjectFeatureview = new AiFeatureOnlineStoreFeatureview("crossProjectFeatureview", AiFeatureOnlineStoreFeatureviewArgs.builder()
                .name("example_cross_project_featureview")
                .project(project.projectId())
                .region("us-central1")
                .featureOnlineStore(featureonlinestore.name())
                .syncConfig(AiFeatureOnlineStoreFeatureviewSyncConfigArgs.builder()
                    .cron("0 0 * * *")
                    .build())
                .featureRegistrySource(AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs.builder()
                    .featureGroups(AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs.builder()
                        .featureGroupId(sampleFeatureGroup.name())
                        .featureIds(sampleFeature.name())
                        .build())
                    .projectNumber(testProject.applyValue(getProjectResult -> getProjectResult.number()))
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        vertexai,
                        wait30Seconds)
                    .build());
    
        }
    }
    
    resources:
      project:
        type: gcp:organizations:Project
        properties:
          projectId: tf-test_41150
          name: tf-test_89313
          orgId: '123456789'
          billingAccount: 000000-0000000-0000000-000000
          deletionPolicy: DELETE
      wait60Seconds:
        type: time:sleep
        name: wait_60_seconds
        properties:
          createDuration: 60s
        options:
          dependson:
            - ${project}
      wait30Seconds:
        type: time:sleep
        name: wait_30_seconds
        properties:
          createDuration: 30s
        options:
          dependson:
            - ${viewer}
      vertexai:
        type: gcp:projects:Service
        properties:
          service: aiplatform.googleapis.com
          project: ${project.projectId}
          disableOnDestroy: false # Needed for CI tests for permissions to propagate, should not be needed for actual usage
        options:
          dependson:
            - ${wait60Seconds}
      viewer:
        type: gcp:bigquery:DatasetIamMember
        properties:
          project: ${testProject.projectId}
          datasetId: ${sampleDataset.datasetId}
          role: roles/bigquery.dataViewer
          member: serviceAccount:service-${project.number}@gcp-sa-aiplatform.iam.gserviceaccount.com
        options:
          dependson:
            - ${featureonlinestore}
      featureonlinestore:
        type: gcp:vertex:AiFeatureOnlineStore
        properties:
          name: example_cross_project_featureview
          project: ${project.projectId}
          labels:
            foo: bar
          region: us-central1
          bigtable:
            autoScaling:
              minNodeCount: 1
              maxNodeCount: 2
              cpuUtilizationTarget: 80
        options:
          dependson:
            - ${vertexai}
      sampleDataset:
        type: gcp:bigquery:Dataset
        name: sample_dataset
        properties:
          datasetId: example_cross_project_featureview
          friendlyName: test
          description: This is a test description
          location: US
      sampleTable:
        type: gcp:bigquery:Table
        name: sample_table
        properties:
          deletionProtection: false
          datasetId: ${sampleDataset.datasetId}
          tableId: example_cross_project_featureview
          schema: |
            [
                {
                    "name": "feature_id",
                    "type": "STRING",
                    "mode": "NULLABLE"
                },
                {
                    "name": "example_cross_project_featureview",
                    "type": "STRING",
                    "mode": "NULLABLE"
                },
                {
                    "name": "feature_timestamp",
                    "type": "TIMESTAMP",
                    "mode": "NULLABLE"
                }
            ]        
      sampleFeatureGroup:
        type: gcp:vertex:AiFeatureGroup
        name: sample_feature_group
        properties:
          name: example_cross_project_featureview
          description: A sample feature group
          region: us-central1
          labels:
            label-one: value-one
          bigQuery:
            bigQuerySource:
              inputUri: bq://${sampleTable.project}.${sampleTable.datasetId}.${sampleTable.tableId}
            entityIdColumns:
              - feature_id
      sampleFeature:
        type: gcp:vertex:AiFeatureGroupFeature
        name: sample_feature
        properties:
          name: example_cross_project_featureview
          region: us-central1
          featureGroup: ${sampleFeatureGroup.name}
          description: A sample feature
          labels:
            label-one: value-one
      crossProjectFeatureview:
        type: gcp:vertex:AiFeatureOnlineStoreFeatureview
        name: cross_project_featureview
        properties:
          name: example_cross_project_featureview
          project: ${project.projectId}
          region: us-central1
          featureOnlineStore: ${featureonlinestore.name}
          syncConfig:
            cron: 0 0 * * *
          featureRegistrySource:
            featureGroups:
              - featureGroupId: ${sampleFeatureGroup.name}
                featureIds:
                  - ${sampleFeature.name}
            projectNumber: ${testProject.number}
        options:
          dependson:
            - ${vertexai}
            - ${wait30Seconds}
    variables:
      testProject:
        fn::invoke:
          Function: gcp:organizations:getProject
          Arguments: {}
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const featureonlinestore = new gcp.vertex.AiFeatureOnlineStore("featureonlinestore", {
        name: "example_feature_view_vector_search",
        labels: {
            foo: "bar",
        },
        region: "us-central1",
        bigtable: {
            autoScaling: {
                minNodeCount: 1,
                maxNodeCount: 2,
                cpuUtilizationTarget: 80,
            },
        },
        embeddingManagement: {
            enabled: true,
        },
    });
    const tf_test_dataset = new gcp.bigquery.Dataset("tf-test-dataset", {
        datasetId: "example_feature_view_vector_search",
        friendlyName: "test",
        description: "This is a test description",
        location: "US",
    });
    const tf_test_table = new gcp.bigquery.Table("tf-test-table", {
        deletionProtection: false,
        datasetId: tf_test_dataset.datasetId,
        tableId: "example_feature_view_vector_search",
        schema: `[
    {
      "name": "test_primary_id",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "primary test id"
    },
    {
      "name": "embedding",
      "mode": "REPEATED",
      "type": "FLOAT",
      "description": "embedding column for primary_id column"
    },
    {
      "name": "country",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "country"
    },
    {
      "name": "test_crowding_column",
      "mode": "NULLABLE",
      "type": "INTEGER",
      "description": "test crowding column"
    },
    {
      "name": "entity_id",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "Test default entity_id"
    },
    {
      "name": "test_entity_column",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "test secondary entity column"
    },
    {
      "name": "feature_timestamp",
      "mode": "NULLABLE",
      "type": "TIMESTAMP",
      "description": "Default timestamp value"
    }
    ]
    `,
    });
    const featureviewVectorSearch = new gcp.vertex.AiFeatureOnlineStoreFeatureview("featureview_vector_search", {
        name: "example_feature_view_vector_search",
        region: "us-central1",
        featureOnlineStore: featureonlinestore.name,
        syncConfig: {
            cron: "0 0 * * *",
        },
        bigQuerySource: {
            uri: pulumi.interpolate`bq://${tf_test_table.project}.${tf_test_table.datasetId}.${tf_test_table.tableId}`,
            entityIdColumns: ["test_entity_column"],
        },
        vectorSearchConfig: {
            embeddingColumn: "embedding",
            filterColumns: ["country"],
            crowdingColumn: "test_crowding_column",
            distanceMeasureType: "DOT_PRODUCT_DISTANCE",
            treeAhConfig: {
                leafNodeEmbeddingCount: "1000",
            },
            embeddingDimension: 2,
        },
    });
    const project = gcp.organizations.getProject({});
    
    import pulumi
    import pulumi_gcp as gcp
    
    featureonlinestore = gcp.vertex.AiFeatureOnlineStore("featureonlinestore",
        name="example_feature_view_vector_search",
        labels={
            "foo": "bar",
        },
        region="us-central1",
        bigtable={
            "auto_scaling": {
                "min_node_count": 1,
                "max_node_count": 2,
                "cpu_utilization_target": 80,
            },
        },
        embedding_management={
            "enabled": True,
        })
    tf_test_dataset = gcp.bigquery.Dataset("tf-test-dataset",
        dataset_id="example_feature_view_vector_search",
        friendly_name="test",
        description="This is a test description",
        location="US")
    tf_test_table = gcp.bigquery.Table("tf-test-table",
        deletion_protection=False,
        dataset_id=tf_test_dataset.dataset_id,
        table_id="example_feature_view_vector_search",
        schema="""[
    {
      "name": "test_primary_id",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "primary test id"
    },
    {
      "name": "embedding",
      "mode": "REPEATED",
      "type": "FLOAT",
      "description": "embedding column for primary_id column"
    },
    {
      "name": "country",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "country"
    },
    {
      "name": "test_crowding_column",
      "mode": "NULLABLE",
      "type": "INTEGER",
      "description": "test crowding column"
    },
    {
      "name": "entity_id",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "Test default entity_id"
    },
    {
      "name": "test_entity_column",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "test secondary entity column"
    },
    {
      "name": "feature_timestamp",
      "mode": "NULLABLE",
      "type": "TIMESTAMP",
      "description": "Default timestamp value"
    }
    ]
    """)
    featureview_vector_search = gcp.vertex.AiFeatureOnlineStoreFeatureview("featureview_vector_search",
        name="example_feature_view_vector_search",
        region="us-central1",
        feature_online_store=featureonlinestore.name,
        sync_config={
            "cron": "0 0 * * *",
        },
        big_query_source={
            "uri": pulumi.Output.all(
                project=tf_test_table.project,
                dataset_id=tf_test_table.dataset_id,
                table_id=tf_test_table.table_id
    ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
    ,
            "entity_id_columns": ["test_entity_column"],
        },
        vector_search_config={
            "embedding_column": "embedding",
            "filter_columns": ["country"],
            "crowding_column": "test_crowding_column",
            "distance_measure_type": "DOT_PRODUCT_DISTANCE",
            "tree_ah_config": {
                "leaf_node_embedding_count": "1000",
            },
            "embedding_dimension": 2,
        })
    project = gcp.organizations.get_project()
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigquery"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/vertex"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		featureonlinestore, err := vertex.NewAiFeatureOnlineStore(ctx, "featureonlinestore", &vertex.AiFeatureOnlineStoreArgs{
    			Name: pulumi.String("example_feature_view_vector_search"),
    			Labels: pulumi.StringMap{
    				"foo": pulumi.String("bar"),
    			},
    			Region: pulumi.String("us-central1"),
    			Bigtable: &vertex.AiFeatureOnlineStoreBigtableArgs{
    				AutoScaling: &vertex.AiFeatureOnlineStoreBigtableAutoScalingArgs{
    					MinNodeCount:         pulumi.Int(1),
    					MaxNodeCount:         pulumi.Int(2),
    					CpuUtilizationTarget: pulumi.Int(80),
    				},
    			},
    			EmbeddingManagement: &vertex.AiFeatureOnlineStoreEmbeddingManagementArgs{
    				Enabled: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = bigquery.NewDataset(ctx, "tf-test-dataset", &bigquery.DatasetArgs{
    			DatasetId:    pulumi.String("example_feature_view_vector_search"),
    			FriendlyName: pulumi.String("test"),
    			Description:  pulumi.String("This is a test description"),
    			Location:     pulumi.String("US"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = bigquery.NewTable(ctx, "tf-test-table", &bigquery.TableArgs{
    			DeletionProtection: pulumi.Bool(false),
    			DatasetId:          tf_test_dataset.DatasetId,
    			TableId:            pulumi.String("example_feature_view_vector_search"),
    			Schema: pulumi.String(`[
    {
      "name": "test_primary_id",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "primary test id"
    },
    {
      "name": "embedding",
      "mode": "REPEATED",
      "type": "FLOAT",
      "description": "embedding column for primary_id column"
    },
    {
      "name": "country",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "country"
    },
    {
      "name": "test_crowding_column",
      "mode": "NULLABLE",
      "type": "INTEGER",
      "description": "test crowding column"
    },
    {
      "name": "entity_id",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "Test default entity_id"
    },
    {
      "name": "test_entity_column",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "test secondary entity column"
    },
    {
      "name": "feature_timestamp",
      "mode": "NULLABLE",
      "type": "TIMESTAMP",
      "description": "Default timestamp value"
    }
    ]
    `),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = vertex.NewAiFeatureOnlineStoreFeatureview(ctx, "featureview_vector_search", &vertex.AiFeatureOnlineStoreFeatureviewArgs{
    			Name:               pulumi.String("example_feature_view_vector_search"),
    			Region:             pulumi.String("us-central1"),
    			FeatureOnlineStore: featureonlinestore.Name,
    			SyncConfig: &vertex.AiFeatureOnlineStoreFeatureviewSyncConfigArgs{
    				Cron: pulumi.String("0 0 * * *"),
    			},
    			BigQuerySource: &vertex.AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs{
    				Uri: pulumi.All(tf_test_table.Project, tf_test_table.DatasetId, tf_test_table.TableId).ApplyT(func(_args []interface{}) (string, error) {
    					project := _args[0].(string)
    					datasetId := _args[1].(string)
    					tableId := _args[2].(string)
    					return fmt.Sprintf("bq://%v.%v.%v", project, datasetId, tableId), nil
    				}).(pulumi.StringOutput),
    				EntityIdColumns: pulumi.StringArray{
    					pulumi.String("test_entity_column"),
    				},
    			},
    			VectorSearchConfig: &vertex.AiFeatureOnlineStoreFeatureviewVectorSearchConfigArgs{
    				EmbeddingColumn: pulumi.String("embedding"),
    				FilterColumns: pulumi.StringArray{
    					pulumi.String("country"),
    				},
    				CrowdingColumn:      pulumi.String("test_crowding_column"),
    				DistanceMeasureType: pulumi.String("DOT_PRODUCT_DISTANCE"),
    				TreeAhConfig: &vertex.AiFeatureOnlineStoreFeatureviewVectorSearchConfigTreeAhConfigArgs{
    					LeafNodeEmbeddingCount: pulumi.String("1000"),
    				},
    				EmbeddingDimension: pulumi.Int(2),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
    		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 featureonlinestore = new Gcp.Vertex.AiFeatureOnlineStore("featureonlinestore", new()
        {
            Name = "example_feature_view_vector_search",
            Labels = 
            {
                { "foo", "bar" },
            },
            Region = "us-central1",
            Bigtable = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreBigtableArgs
            {
                AutoScaling = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreBigtableAutoScalingArgs
                {
                    MinNodeCount = 1,
                    MaxNodeCount = 2,
                    CpuUtilizationTarget = 80,
                },
            },
            EmbeddingManagement = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreEmbeddingManagementArgs
            {
                Enabled = true,
            },
        });
    
        var tf_test_dataset = new Gcp.BigQuery.Dataset("tf-test-dataset", new()
        {
            DatasetId = "example_feature_view_vector_search",
            FriendlyName = "test",
            Description = "This is a test description",
            Location = "US",
        });
    
        var tf_test_table = new Gcp.BigQuery.Table("tf-test-table", new()
        {
            DeletionProtection = false,
            DatasetId = tf_test_dataset.DatasetId,
            TableId = "example_feature_view_vector_search",
            Schema = @"[
    {
      ""name"": ""test_primary_id"",
      ""mode"": ""NULLABLE"",
      ""type"": ""STRING"",
      ""description"": ""primary test id""
    },
    {
      ""name"": ""embedding"",
      ""mode"": ""REPEATED"",
      ""type"": ""FLOAT"",
      ""description"": ""embedding column for primary_id column""
    },
    {
      ""name"": ""country"",
      ""mode"": ""NULLABLE"",
      ""type"": ""STRING"",
      ""description"": ""country""
    },
    {
      ""name"": ""test_crowding_column"",
      ""mode"": ""NULLABLE"",
      ""type"": ""INTEGER"",
      ""description"": ""test crowding column""
    },
    {
      ""name"": ""entity_id"",
      ""mode"": ""NULLABLE"",
      ""type"": ""STRING"",
      ""description"": ""Test default entity_id""
    },
    {
      ""name"": ""test_entity_column"",
      ""mode"": ""NULLABLE"",
      ""type"": ""STRING"",
      ""description"": ""test secondary entity column""
    },
    {
      ""name"": ""feature_timestamp"",
      ""mode"": ""NULLABLE"",
      ""type"": ""TIMESTAMP"",
      ""description"": ""Default timestamp value""
    }
    ]
    ",
        });
    
        var featureviewVectorSearch = new Gcp.Vertex.AiFeatureOnlineStoreFeatureview("featureview_vector_search", new()
        {
            Name = "example_feature_view_vector_search",
            Region = "us-central1",
            FeatureOnlineStore = featureonlinestore.Name,
            SyncConfig = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewSyncConfigArgs
            {
                Cron = "0 0 * * *",
            },
            BigQuerySource = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs
            {
                Uri = Output.Tuple(tf_test_table.Project, tf_test_table.DatasetId, tf_test_table.TableId).Apply(values =>
                {
                    var project = values.Item1;
                    var datasetId = values.Item2;
                    var tableId = values.Item3;
                    return $"bq://{project}.{datasetId}.{tableId}";
                }),
                EntityIdColumns = new[]
                {
                    "test_entity_column",
                },
            },
            VectorSearchConfig = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewVectorSearchConfigArgs
            {
                EmbeddingColumn = "embedding",
                FilterColumns = new[]
                {
                    "country",
                },
                CrowdingColumn = "test_crowding_column",
                DistanceMeasureType = "DOT_PRODUCT_DISTANCE",
                TreeAhConfig = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewVectorSearchConfigTreeAhConfigArgs
                {
                    LeafNodeEmbeddingCount = "1000",
                },
                EmbeddingDimension = 2,
            },
        });
    
        var project = Gcp.Organizations.GetProject.Invoke();
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStore;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStoreArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreBigtableArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreBigtableAutoScalingArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreEmbeddingManagementArgs;
    import com.pulumi.gcp.bigquery.Dataset;
    import com.pulumi.gcp.bigquery.DatasetArgs;
    import com.pulumi.gcp.bigquery.Table;
    import com.pulumi.gcp.bigquery.TableArgs;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStoreFeatureview;
    import com.pulumi.gcp.vertex.AiFeatureOnlineStoreFeatureviewArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreFeatureviewSyncConfigArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreFeatureviewVectorSearchConfigArgs;
    import com.pulumi.gcp.vertex.inputs.AiFeatureOnlineStoreFeatureviewVectorSearchConfigTreeAhConfigArgs;
    import com.pulumi.gcp.organizations.OrganizationsFunctions;
    import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
    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 featureonlinestore = new AiFeatureOnlineStore("featureonlinestore", AiFeatureOnlineStoreArgs.builder()
                .name("example_feature_view_vector_search")
                .labels(Map.of("foo", "bar"))
                .region("us-central1")
                .bigtable(AiFeatureOnlineStoreBigtableArgs.builder()
                    .autoScaling(AiFeatureOnlineStoreBigtableAutoScalingArgs.builder()
                        .minNodeCount(1)
                        .maxNodeCount(2)
                        .cpuUtilizationTarget(80)
                        .build())
                    .build())
                .embeddingManagement(AiFeatureOnlineStoreEmbeddingManagementArgs.builder()
                    .enabled(true)
                    .build())
                .build());
    
            var tf_test_dataset = new Dataset("tf-test-dataset", DatasetArgs.builder()
                .datasetId("example_feature_view_vector_search")
                .friendlyName("test")
                .description("This is a test description")
                .location("US")
                .build());
    
            var tf_test_table = new Table("tf-test-table", TableArgs.builder()
                .deletionProtection(false)
                .datasetId(tf_test_dataset.datasetId())
                .tableId("example_feature_view_vector_search")
                .schema("""
    [
    {
      "name": "test_primary_id",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "primary test id"
    },
    {
      "name": "embedding",
      "mode": "REPEATED",
      "type": "FLOAT",
      "description": "embedding column for primary_id column"
    },
    {
      "name": "country",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "country"
    },
    {
      "name": "test_crowding_column",
      "mode": "NULLABLE",
      "type": "INTEGER",
      "description": "test crowding column"
    },
    {
      "name": "entity_id",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "Test default entity_id"
    },
    {
      "name": "test_entity_column",
      "mode": "NULLABLE",
      "type": "STRING",
      "description": "test secondary entity column"
    },
    {
      "name": "feature_timestamp",
      "mode": "NULLABLE",
      "type": "TIMESTAMP",
      "description": "Default timestamp value"
    }
    ]
                """)
                .build());
    
            var featureviewVectorSearch = new AiFeatureOnlineStoreFeatureview("featureviewVectorSearch", AiFeatureOnlineStoreFeatureviewArgs.builder()
                .name("example_feature_view_vector_search")
                .region("us-central1")
                .featureOnlineStore(featureonlinestore.name())
                .syncConfig(AiFeatureOnlineStoreFeatureviewSyncConfigArgs.builder()
                    .cron("0 0 * * *")
                    .build())
                .bigQuerySource(AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs.builder()
                    .uri(Output.tuple(tf_test_table.project(), tf_test_table.datasetId(), tf_test_table.tableId()).applyValue(values -> {
                        var project = values.t1;
                        var datasetId = values.t2;
                        var tableId = values.t3;
                        return String.format("bq://%s.%s.%s", project,datasetId,tableId);
                    }))
                    .entityIdColumns("test_entity_column")
                    .build())
                .vectorSearchConfig(AiFeatureOnlineStoreFeatureviewVectorSearchConfigArgs.builder()
                    .embeddingColumn("embedding")
                    .filterColumns("country")
                    .crowdingColumn("test_crowding_column")
                    .distanceMeasureType("DOT_PRODUCT_DISTANCE")
                    .treeAhConfig(AiFeatureOnlineStoreFeatureviewVectorSearchConfigTreeAhConfigArgs.builder()
                        .leafNodeEmbeddingCount("1000")
                        .build())
                    .embeddingDimension("2")
                    .build())
                .build());
    
            final var project = OrganizationsFunctions.getProject();
    
        }
    }
    
    resources:
      featureonlinestore:
        type: gcp:vertex:AiFeatureOnlineStore
        properties:
          name: example_feature_view_vector_search
          labels:
            foo: bar
          region: us-central1
          bigtable:
            autoScaling:
              minNodeCount: 1
              maxNodeCount: 2
              cpuUtilizationTarget: 80
          embeddingManagement:
            enabled: true
      tf-test-dataset:
        type: gcp:bigquery:Dataset
        properties:
          datasetId: example_feature_view_vector_search
          friendlyName: test
          description: This is a test description
          location: US
      tf-test-table:
        type: gcp:bigquery:Table
        properties:
          deletionProtection: false
          datasetId: ${["tf-test-dataset"].datasetId}
          tableId: example_feature_view_vector_search
          schema: |
            [
            {
              "name": "test_primary_id",
              "mode": "NULLABLE",
              "type": "STRING",
              "description": "primary test id"
            },
            {
              "name": "embedding",
              "mode": "REPEATED",
              "type": "FLOAT",
              "description": "embedding column for primary_id column"
            },
            {
              "name": "country",
              "mode": "NULLABLE",
              "type": "STRING",
              "description": "country"
            },
            {
              "name": "test_crowding_column",
              "mode": "NULLABLE",
              "type": "INTEGER",
              "description": "test crowding column"
            },
            {
              "name": "entity_id",
              "mode": "NULLABLE",
              "type": "STRING",
              "description": "Test default entity_id"
            },
            {
              "name": "test_entity_column",
              "mode": "NULLABLE",
              "type": "STRING",
              "description": "test secondary entity column"
            },
            {
              "name": "feature_timestamp",
              "mode": "NULLABLE",
              "type": "TIMESTAMP",
              "description": "Default timestamp value"
            }
            ]        
      featureviewVectorSearch:
        type: gcp:vertex:AiFeatureOnlineStoreFeatureview
        name: featureview_vector_search
        properties:
          name: example_feature_view_vector_search
          region: us-central1
          featureOnlineStore: ${featureonlinestore.name}
          syncConfig:
            cron: 0 0 * * *
          bigQuerySource:
            uri: bq://${["tf-test-table"].project}.${["tf-test-table"].datasetId}.${["tf-test-table"].tableId}
            entityIdColumns:
              - test_entity_column
          vectorSearchConfig:
            embeddingColumn: embedding
            filterColumns:
              - country
            crowdingColumn: test_crowding_column
            distanceMeasureType: DOT_PRODUCT_DISTANCE
            treeAhConfig:
              leafNodeEmbeddingCount: '1000'
            embeddingDimension: '2'
    variables:
      project:
        fn::invoke:
          Function: gcp:organizations:getProject
          Arguments: {}
    

    Create AiFeatureOnlineStoreFeatureview Resource

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

    Constructor syntax

    new AiFeatureOnlineStoreFeatureview(name: string, args: AiFeatureOnlineStoreFeatureviewArgs, opts?: CustomResourceOptions);
    @overload
    def AiFeatureOnlineStoreFeatureview(resource_name: str,
                                        args: AiFeatureOnlineStoreFeatureviewArgs,
                                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def AiFeatureOnlineStoreFeatureview(resource_name: str,
                                        opts: Optional[ResourceOptions] = None,
                                        feature_online_store: Optional[str] = None,
                                        region: Optional[str] = None,
                                        big_query_source: Optional[AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs] = None,
                                        feature_registry_source: Optional[AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs] = None,
                                        labels: Optional[Mapping[str, str]] = None,
                                        name: Optional[str] = None,
                                        project: Optional[str] = None,
                                        sync_config: Optional[AiFeatureOnlineStoreFeatureviewSyncConfigArgs] = None,
                                        vector_search_config: Optional[AiFeatureOnlineStoreFeatureviewVectorSearchConfigArgs] = None)
    func NewAiFeatureOnlineStoreFeatureview(ctx *Context, name string, args AiFeatureOnlineStoreFeatureviewArgs, opts ...ResourceOption) (*AiFeatureOnlineStoreFeatureview, error)
    public AiFeatureOnlineStoreFeatureview(string name, AiFeatureOnlineStoreFeatureviewArgs args, CustomResourceOptions? opts = null)
    public AiFeatureOnlineStoreFeatureview(String name, AiFeatureOnlineStoreFeatureviewArgs args)
    public AiFeatureOnlineStoreFeatureview(String name, AiFeatureOnlineStoreFeatureviewArgs args, CustomResourceOptions options)
    
    type: gcp:vertex:AiFeatureOnlineStoreFeatureview
    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 AiFeatureOnlineStoreFeatureviewArgs
    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 AiFeatureOnlineStoreFeatureviewArgs
    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 AiFeatureOnlineStoreFeatureviewArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AiFeatureOnlineStoreFeatureviewArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AiFeatureOnlineStoreFeatureviewArgs
    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 aiFeatureOnlineStoreFeatureviewResource = new Gcp.Vertex.AiFeatureOnlineStoreFeatureview("aiFeatureOnlineStoreFeatureviewResource", new()
    {
        FeatureOnlineStore = "string",
        Region = "string",
        BigQuerySource = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs
        {
            EntityIdColumns = new[]
            {
                "string",
            },
            Uri = "string",
        },
        FeatureRegistrySource = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs
        {
            FeatureGroups = new[]
            {
                new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs
                {
                    FeatureGroupId = "string",
                    FeatureIds = new[]
                    {
                        "string",
                    },
                },
            },
            ProjectNumber = "string",
        },
        Labels = 
        {
            { "string", "string" },
        },
        Name = "string",
        Project = "string",
        SyncConfig = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewSyncConfigArgs
        {
            Cron = "string",
        },
        VectorSearchConfig = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewVectorSearchConfigArgs
        {
            EmbeddingColumn = "string",
            BruteForceConfig = null,
            CrowdingColumn = "string",
            DistanceMeasureType = "string",
            EmbeddingDimension = 0,
            FilterColumns = new[]
            {
                "string",
            },
            TreeAhConfig = new Gcp.Vertex.Inputs.AiFeatureOnlineStoreFeatureviewVectorSearchConfigTreeAhConfigArgs
            {
                LeafNodeEmbeddingCount = "string",
            },
        },
    });
    
    example, err := vertex.NewAiFeatureOnlineStoreFeatureview(ctx, "aiFeatureOnlineStoreFeatureviewResource", &vertex.AiFeatureOnlineStoreFeatureviewArgs{
    	FeatureOnlineStore: pulumi.String("string"),
    	Region:             pulumi.String("string"),
    	BigQuerySource: &vertex.AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs{
    		EntityIdColumns: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Uri: pulumi.String("string"),
    	},
    	FeatureRegistrySource: &vertex.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs{
    		FeatureGroups: vertex.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArray{
    			&vertex.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs{
    				FeatureGroupId: pulumi.String("string"),
    				FeatureIds: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		ProjectNumber: pulumi.String("string"),
    	},
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Name:    pulumi.String("string"),
    	Project: pulumi.String("string"),
    	SyncConfig: &vertex.AiFeatureOnlineStoreFeatureviewSyncConfigArgs{
    		Cron: pulumi.String("string"),
    	},
    	VectorSearchConfig: &vertex.AiFeatureOnlineStoreFeatureviewVectorSearchConfigArgs{
    		EmbeddingColumn:     pulumi.String("string"),
    		BruteForceConfig:    &vertex.AiFeatureOnlineStoreFeatureviewVectorSearchConfigBruteForceConfigArgs{},
    		CrowdingColumn:      pulumi.String("string"),
    		DistanceMeasureType: pulumi.String("string"),
    		EmbeddingDimension:  pulumi.Int(0),
    		FilterColumns: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		TreeAhConfig: &vertex.AiFeatureOnlineStoreFeatureviewVectorSearchConfigTreeAhConfigArgs{
    			LeafNodeEmbeddingCount: pulumi.String("string"),
    		},
    	},
    })
    
    var aiFeatureOnlineStoreFeatureviewResource = new AiFeatureOnlineStoreFeatureview("aiFeatureOnlineStoreFeatureviewResource", AiFeatureOnlineStoreFeatureviewArgs.builder()
        .featureOnlineStore("string")
        .region("string")
        .bigQuerySource(AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs.builder()
            .entityIdColumns("string")
            .uri("string")
            .build())
        .featureRegistrySource(AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs.builder()
            .featureGroups(AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs.builder()
                .featureGroupId("string")
                .featureIds("string")
                .build())
            .projectNumber("string")
            .build())
        .labels(Map.of("string", "string"))
        .name("string")
        .project("string")
        .syncConfig(AiFeatureOnlineStoreFeatureviewSyncConfigArgs.builder()
            .cron("string")
            .build())
        .vectorSearchConfig(AiFeatureOnlineStoreFeatureviewVectorSearchConfigArgs.builder()
            .embeddingColumn("string")
            .bruteForceConfig()
            .crowdingColumn("string")
            .distanceMeasureType("string")
            .embeddingDimension(0)
            .filterColumns("string")
            .treeAhConfig(AiFeatureOnlineStoreFeatureviewVectorSearchConfigTreeAhConfigArgs.builder()
                .leafNodeEmbeddingCount("string")
                .build())
            .build())
        .build());
    
    ai_feature_online_store_featureview_resource = gcp.vertex.AiFeatureOnlineStoreFeatureview("aiFeatureOnlineStoreFeatureviewResource",
        feature_online_store="string",
        region="string",
        big_query_source={
            "entity_id_columns": ["string"],
            "uri": "string",
        },
        feature_registry_source={
            "feature_groups": [{
                "feature_group_id": "string",
                "feature_ids": ["string"],
            }],
            "project_number": "string",
        },
        labels={
            "string": "string",
        },
        name="string",
        project="string",
        sync_config={
            "cron": "string",
        },
        vector_search_config={
            "embedding_column": "string",
            "brute_force_config": {},
            "crowding_column": "string",
            "distance_measure_type": "string",
            "embedding_dimension": 0,
            "filter_columns": ["string"],
            "tree_ah_config": {
                "leaf_node_embedding_count": "string",
            },
        })
    
    const aiFeatureOnlineStoreFeatureviewResource = new gcp.vertex.AiFeatureOnlineStoreFeatureview("aiFeatureOnlineStoreFeatureviewResource", {
        featureOnlineStore: "string",
        region: "string",
        bigQuerySource: {
            entityIdColumns: ["string"],
            uri: "string",
        },
        featureRegistrySource: {
            featureGroups: [{
                featureGroupId: "string",
                featureIds: ["string"],
            }],
            projectNumber: "string",
        },
        labels: {
            string: "string",
        },
        name: "string",
        project: "string",
        syncConfig: {
            cron: "string",
        },
        vectorSearchConfig: {
            embeddingColumn: "string",
            bruteForceConfig: {},
            crowdingColumn: "string",
            distanceMeasureType: "string",
            embeddingDimension: 0,
            filterColumns: ["string"],
            treeAhConfig: {
                leafNodeEmbeddingCount: "string",
            },
        },
    });
    
    type: gcp:vertex:AiFeatureOnlineStoreFeatureview
    properties:
        bigQuerySource:
            entityIdColumns:
                - string
            uri: string
        featureOnlineStore: string
        featureRegistrySource:
            featureGroups:
                - featureGroupId: string
                  featureIds:
                    - string
            projectNumber: string
        labels:
            string: string
        name: string
        project: string
        region: string
        syncConfig:
            cron: string
        vectorSearchConfig:
            bruteForceConfig: {}
            crowdingColumn: string
            distanceMeasureType: string
            embeddingColumn: string
            embeddingDimension: 0
            filterColumns:
                - string
            treeAhConfig:
                leafNodeEmbeddingCount: string
    

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

    FeatureOnlineStore string
    The name of the FeatureOnlineStore to use for the featureview.
    Region string
    The region for the resource. It should be the same as the featureonlinestore region.


    BigQuerySource AiFeatureOnlineStoreFeatureviewBigQuerySource
    Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore. Structure is documented below.
    FeatureRegistrySource AiFeatureOnlineStoreFeatureviewFeatureRegistrySource
    Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore. Structure is documented below.
    Labels Dictionary<string, string>

    A set of key/value label pairs to assign to this FeatureView.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Name string
    Name of the FeatureView. This value may be up to 60 characters, and valid characters are [a-z0-9_]. The first character cannot be a number.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    SyncConfig AiFeatureOnlineStoreFeatureviewSyncConfig
    Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving. Structure is documented below.
    VectorSearchConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfig
    Configuration for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving. Structure is documented below.
    FeatureOnlineStore string
    The name of the FeatureOnlineStore to use for the featureview.
    Region string
    The region for the resource. It should be the same as the featureonlinestore region.


    BigQuerySource AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs
    Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore. Structure is documented below.
    FeatureRegistrySource AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs
    Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore. Structure is documented below.
    Labels map[string]string

    A set of key/value label pairs to assign to this FeatureView.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Name string
    Name of the FeatureView. This value may be up to 60 characters, and valid characters are [a-z0-9_]. The first character cannot be a number.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    SyncConfig AiFeatureOnlineStoreFeatureviewSyncConfigArgs
    Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving. Structure is documented below.
    VectorSearchConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfigArgs
    Configuration for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving. Structure is documented below.
    featureOnlineStore String
    The name of the FeatureOnlineStore to use for the featureview.
    region String
    The region for the resource. It should be the same as the featureonlinestore region.


    bigQuerySource AiFeatureOnlineStoreFeatureviewBigQuerySource
    Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore. Structure is documented below.
    featureRegistrySource AiFeatureOnlineStoreFeatureviewFeatureRegistrySource
    Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore. Structure is documented below.
    labels Map<String,String>

    A set of key/value label pairs to assign to this FeatureView.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name String
    Name of the FeatureView. This value may be up to 60 characters, and valid characters are [a-z0-9_]. The first character cannot be a number.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    syncConfig AiFeatureOnlineStoreFeatureviewSyncConfig
    Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving. Structure is documented below.
    vectorSearchConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfig
    Configuration for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving. Structure is documented below.
    featureOnlineStore string
    The name of the FeatureOnlineStore to use for the featureview.
    region string
    The region for the resource. It should be the same as the featureonlinestore region.


    bigQuerySource AiFeatureOnlineStoreFeatureviewBigQuerySource
    Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore. Structure is documented below.
    featureRegistrySource AiFeatureOnlineStoreFeatureviewFeatureRegistrySource
    Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore. Structure is documented below.
    labels {[key: string]: string}

    A set of key/value label pairs to assign to this FeatureView.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name string
    Name of the FeatureView. This value may be up to 60 characters, and valid characters are [a-z0-9_]. The first character cannot be a number.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    syncConfig AiFeatureOnlineStoreFeatureviewSyncConfig
    Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving. Structure is documented below.
    vectorSearchConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfig
    Configuration for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving. Structure is documented below.
    feature_online_store str
    The name of the FeatureOnlineStore to use for the featureview.
    region str
    The region for the resource. It should be the same as the featureonlinestore region.


    big_query_source AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs
    Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore. Structure is documented below.
    feature_registry_source AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs
    Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore. Structure is documented below.
    labels Mapping[str, str]

    A set of key/value label pairs to assign to this FeatureView.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name str
    Name of the FeatureView. This value may be up to 60 characters, and valid characters are [a-z0-9_]. The first character cannot be a number.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    sync_config AiFeatureOnlineStoreFeatureviewSyncConfigArgs
    Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving. Structure is documented below.
    vector_search_config AiFeatureOnlineStoreFeatureviewVectorSearchConfigArgs
    Configuration for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving. Structure is documented below.
    featureOnlineStore String
    The name of the FeatureOnlineStore to use for the featureview.
    region String
    The region for the resource. It should be the same as the featureonlinestore region.


    bigQuerySource Property Map
    Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore. Structure is documented below.
    featureRegistrySource Property Map
    Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore. Structure is documented below.
    labels Map<String>

    A set of key/value label pairs to assign to this FeatureView.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name String
    Name of the FeatureView. This value may be up to 60 characters, and valid characters are [a-z0-9_]. The first character cannot be a number.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    syncConfig Property Map
    Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving. Structure is documented below.
    vectorSearchConfig Property Map
    Configuration for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving. Structure is documented below.

    Outputs

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

    CreateTime string
    The timestamp of when the featureOnlinestore was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Id string
    The provider-assigned unique ID for this managed resource.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    UpdateTime string
    The timestamp of when the featureOnlinestore was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    CreateTime string
    The timestamp of when the featureOnlinestore was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Id string
    The provider-assigned unique ID for this managed resource.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    UpdateTime string
    The timestamp of when the featureOnlinestore was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    createTime String
    The timestamp of when the featureOnlinestore was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id String
    The provider-assigned unique ID for this managed resource.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    updateTime String
    The timestamp of when the featureOnlinestore was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    createTime string
    The timestamp of when the featureOnlinestore was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id string
    The provider-assigned unique ID for this managed resource.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    updateTime string
    The timestamp of when the featureOnlinestore was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    create_time str
    The timestamp of when the featureOnlinestore was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id str
    The provider-assigned unique ID for this managed resource.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    update_time str
    The timestamp of when the featureOnlinestore was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    createTime String
    The timestamp of when the featureOnlinestore was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id String
    The provider-assigned unique ID for this managed resource.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    updateTime String
    The timestamp of when the featureOnlinestore was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.

    Look up Existing AiFeatureOnlineStoreFeatureview Resource

    Get an existing AiFeatureOnlineStoreFeatureview 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?: AiFeatureOnlineStoreFeatureviewState, opts?: CustomResourceOptions): AiFeatureOnlineStoreFeatureview
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            big_query_source: Optional[AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs] = None,
            create_time: Optional[str] = None,
            effective_labels: Optional[Mapping[str, str]] = None,
            feature_online_store: Optional[str] = None,
            feature_registry_source: Optional[AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs] = None,
            labels: Optional[Mapping[str, str]] = None,
            name: Optional[str] = None,
            project: Optional[str] = None,
            pulumi_labels: Optional[Mapping[str, str]] = None,
            region: Optional[str] = None,
            sync_config: Optional[AiFeatureOnlineStoreFeatureviewSyncConfigArgs] = None,
            update_time: Optional[str] = None,
            vector_search_config: Optional[AiFeatureOnlineStoreFeatureviewVectorSearchConfigArgs] = None) -> AiFeatureOnlineStoreFeatureview
    func GetAiFeatureOnlineStoreFeatureview(ctx *Context, name string, id IDInput, state *AiFeatureOnlineStoreFeatureviewState, opts ...ResourceOption) (*AiFeatureOnlineStoreFeatureview, error)
    public static AiFeatureOnlineStoreFeatureview Get(string name, Input<string> id, AiFeatureOnlineStoreFeatureviewState? state, CustomResourceOptions? opts = null)
    public static AiFeatureOnlineStoreFeatureview get(String name, Output<String> id, AiFeatureOnlineStoreFeatureviewState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    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:
    BigQuerySource AiFeatureOnlineStoreFeatureviewBigQuerySource
    Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore. Structure is documented below.
    CreateTime string
    The timestamp of when the featureOnlinestore was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    FeatureOnlineStore string
    The name of the FeatureOnlineStore to use for the featureview.
    FeatureRegistrySource AiFeatureOnlineStoreFeatureviewFeatureRegistrySource
    Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore. Structure is documented below.
    Labels Dictionary<string, string>

    A set of key/value label pairs to assign to this FeatureView.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Name string
    Name of the FeatureView. This value may be up to 60 characters, and valid characters are [a-z0-9_]. The first character cannot be a number.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    Region string
    The region for the resource. It should be the same as the featureonlinestore region.


    SyncConfig AiFeatureOnlineStoreFeatureviewSyncConfig
    Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving. Structure is documented below.
    UpdateTime string
    The timestamp of when the featureOnlinestore was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    VectorSearchConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfig
    Configuration for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving. Structure is documented below.
    BigQuerySource AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs
    Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore. Structure is documented below.
    CreateTime string
    The timestamp of when the featureOnlinestore was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    FeatureOnlineStore string
    The name of the FeatureOnlineStore to use for the featureview.
    FeatureRegistrySource AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs
    Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore. Structure is documented below.
    Labels map[string]string

    A set of key/value label pairs to assign to this FeatureView.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Name string
    Name of the FeatureView. This value may be up to 60 characters, and valid characters are [a-z0-9_]. The first character cannot be a number.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    Region string
    The region for the resource. It should be the same as the featureonlinestore region.


    SyncConfig AiFeatureOnlineStoreFeatureviewSyncConfigArgs
    Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving. Structure is documented below.
    UpdateTime string
    The timestamp of when the featureOnlinestore was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    VectorSearchConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfigArgs
    Configuration for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving. Structure is documented below.
    bigQuerySource AiFeatureOnlineStoreFeatureviewBigQuerySource
    Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore. Structure is documented below.
    createTime String
    The timestamp of when the featureOnlinestore was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    featureOnlineStore String
    The name of the FeatureOnlineStore to use for the featureview.
    featureRegistrySource AiFeatureOnlineStoreFeatureviewFeatureRegistrySource
    Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore. Structure is documented below.
    labels Map<String,String>

    A set of key/value label pairs to assign to this FeatureView.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name String
    Name of the FeatureView. This value may be up to 60 characters, and valid characters are [a-z0-9_]. The first character cannot be a number.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    region String
    The region for the resource. It should be the same as the featureonlinestore region.


    syncConfig AiFeatureOnlineStoreFeatureviewSyncConfig
    Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving. Structure is documented below.
    updateTime String
    The timestamp of when the featureOnlinestore was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    vectorSearchConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfig
    Configuration for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving. Structure is documented below.
    bigQuerySource AiFeatureOnlineStoreFeatureviewBigQuerySource
    Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore. Structure is documented below.
    createTime string
    The timestamp of when the featureOnlinestore was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    featureOnlineStore string
    The name of the FeatureOnlineStore to use for the featureview.
    featureRegistrySource AiFeatureOnlineStoreFeatureviewFeatureRegistrySource
    Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore. Structure is documented below.
    labels {[key: string]: string}

    A set of key/value label pairs to assign to this FeatureView.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name string
    Name of the FeatureView. This value may be up to 60 characters, and valid characters are [a-z0-9_]. The first character cannot be a number.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    region string
    The region for the resource. It should be the same as the featureonlinestore region.


    syncConfig AiFeatureOnlineStoreFeatureviewSyncConfig
    Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving. Structure is documented below.
    updateTime string
    The timestamp of when the featureOnlinestore was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    vectorSearchConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfig
    Configuration for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving. Structure is documented below.
    big_query_source AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs
    Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore. Structure is documented below.
    create_time str
    The timestamp of when the featureOnlinestore was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    feature_online_store str
    The name of the FeatureOnlineStore to use for the featureview.
    feature_registry_source AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs
    Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore. Structure is documented below.
    labels Mapping[str, str]

    A set of key/value label pairs to assign to this FeatureView.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name str
    Name of the FeatureView. This value may be up to 60 characters, and valid characters are [a-z0-9_]. The first character cannot be a number.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    region str
    The region for the resource. It should be the same as the featureonlinestore region.


    sync_config AiFeatureOnlineStoreFeatureviewSyncConfigArgs
    Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving. Structure is documented below.
    update_time str
    The timestamp of when the featureOnlinestore was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    vector_search_config AiFeatureOnlineStoreFeatureviewVectorSearchConfigArgs
    Configuration for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving. Structure is documented below.
    bigQuerySource Property Map
    Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore. Structure is documented below.
    createTime String
    The timestamp of when the featureOnlinestore was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    featureOnlineStore String
    The name of the FeatureOnlineStore to use for the featureview.
    featureRegistrySource Property Map
    Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore. Structure is documented below.
    labels Map<String>

    A set of key/value label pairs to assign to this FeatureView.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name String
    Name of the FeatureView. This value may be up to 60 characters, and valid characters are [a-z0-9_]. The first character cannot be a number.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    region String
    The region for the resource. It should be the same as the featureonlinestore region.


    syncConfig Property Map
    Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving. Structure is documented below.
    updateTime String
    The timestamp of when the featureOnlinestore was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    vectorSearchConfig Property Map
    Configuration for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving. Structure is documented below.

    Supporting Types

    AiFeatureOnlineStoreFeatureviewBigQuerySource, AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs

    EntityIdColumns List<string>
    Columns to construct entityId / row keys. Start by supporting 1 only.
    Uri string
    The BigQuery view URI that will be materialized on each sync trigger based on FeatureView.SyncConfig.
    EntityIdColumns []string
    Columns to construct entityId / row keys. Start by supporting 1 only.
    Uri string
    The BigQuery view URI that will be materialized on each sync trigger based on FeatureView.SyncConfig.
    entityIdColumns List<String>
    Columns to construct entityId / row keys. Start by supporting 1 only.
    uri String
    The BigQuery view URI that will be materialized on each sync trigger based on FeatureView.SyncConfig.
    entityIdColumns string[]
    Columns to construct entityId / row keys. Start by supporting 1 only.
    uri string
    The BigQuery view URI that will be materialized on each sync trigger based on FeatureView.SyncConfig.
    entity_id_columns Sequence[str]
    Columns to construct entityId / row keys. Start by supporting 1 only.
    uri str
    The BigQuery view URI that will be materialized on each sync trigger based on FeatureView.SyncConfig.
    entityIdColumns List<String>
    Columns to construct entityId / row keys. Start by supporting 1 only.
    uri String
    The BigQuery view URI that will be materialized on each sync trigger based on FeatureView.SyncConfig.

    AiFeatureOnlineStoreFeatureviewFeatureRegistrySource, AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs

    FeatureGroups List<AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup>
    List of features that need to be synced to Online Store. Structure is documented below.
    ProjectNumber string
    The project number of the parent project of the feature Groups.
    FeatureGroups []AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup
    List of features that need to be synced to Online Store. Structure is documented below.
    ProjectNumber string
    The project number of the parent project of the feature Groups.
    featureGroups List<AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup>
    List of features that need to be synced to Online Store. Structure is documented below.
    projectNumber String
    The project number of the parent project of the feature Groups.
    featureGroups AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup[]
    List of features that need to be synced to Online Store. Structure is documented below.
    projectNumber string
    The project number of the parent project of the feature Groups.
    feature_groups Sequence[AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup]
    List of features that need to be synced to Online Store. Structure is documented below.
    project_number str
    The project number of the parent project of the feature Groups.
    featureGroups List<Property Map>
    List of features that need to be synced to Online Store. Structure is documented below.
    projectNumber String
    The project number of the parent project of the feature Groups.

    AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup, AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs

    FeatureGroupId string
    Identifier of the feature group.
    FeatureIds List<string>
    Identifiers of features under the feature group.
    FeatureGroupId string
    Identifier of the feature group.
    FeatureIds []string
    Identifiers of features under the feature group.
    featureGroupId String
    Identifier of the feature group.
    featureIds List<String>
    Identifiers of features under the feature group.
    featureGroupId string
    Identifier of the feature group.
    featureIds string[]
    Identifiers of features under the feature group.
    feature_group_id str
    Identifier of the feature group.
    feature_ids Sequence[str]
    Identifiers of features under the feature group.
    featureGroupId String
    Identifier of the feature group.
    featureIds List<String>
    Identifiers of features under the feature group.

    AiFeatureOnlineStoreFeatureviewSyncConfig, AiFeatureOnlineStoreFeatureviewSyncConfigArgs

    Cron string
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}".
    Cron string
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}".
    cron String
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}".
    cron string
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}".
    cron str
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}".
    cron String
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}".

    AiFeatureOnlineStoreFeatureviewVectorSearchConfig, AiFeatureOnlineStoreFeatureviewVectorSearchConfigArgs

    EmbeddingColumn string
    Column of embedding. This column contains the source data to create index for vector search.
    BruteForceConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfigBruteForceConfig
    Configuration options for using brute force search, which simply implements the standard linear search in the database for each query. It is primarily meant for benchmarking and to generate the ground truth for approximate search.
    CrowdingColumn string
    Column of crowding. This column contains crowding attribute which is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowdingAttribute.
    DistanceMeasureType string
    The distance measure used in nearest neighbor search. For details on allowed values, see the API documentation. Possible values are: SQUARED_L2_DISTANCE, COSINE_DISTANCE, DOT_PRODUCT_DISTANCE.
    EmbeddingDimension int
    The number of dimensions of the input embedding.
    FilterColumns List<string>
    Columns of features that are used to filter vector search results.
    TreeAhConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfigTreeAhConfig
    Configuration options for the tree-AH algorithm (Shallow tree + Asymmetric Hashing). Please refer to this paper for more details: https://arxiv.org/abs/1908.10396 Structure is documented below.
    EmbeddingColumn string
    Column of embedding. This column contains the source data to create index for vector search.
    BruteForceConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfigBruteForceConfig
    Configuration options for using brute force search, which simply implements the standard linear search in the database for each query. It is primarily meant for benchmarking and to generate the ground truth for approximate search.
    CrowdingColumn string
    Column of crowding. This column contains crowding attribute which is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowdingAttribute.
    DistanceMeasureType string
    The distance measure used in nearest neighbor search. For details on allowed values, see the API documentation. Possible values are: SQUARED_L2_DISTANCE, COSINE_DISTANCE, DOT_PRODUCT_DISTANCE.
    EmbeddingDimension int
    The number of dimensions of the input embedding.
    FilterColumns []string
    Columns of features that are used to filter vector search results.
    TreeAhConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfigTreeAhConfig
    Configuration options for the tree-AH algorithm (Shallow tree + Asymmetric Hashing). Please refer to this paper for more details: https://arxiv.org/abs/1908.10396 Structure is documented below.
    embeddingColumn String
    Column of embedding. This column contains the source data to create index for vector search.
    bruteForceConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfigBruteForceConfig
    Configuration options for using brute force search, which simply implements the standard linear search in the database for each query. It is primarily meant for benchmarking and to generate the ground truth for approximate search.
    crowdingColumn String
    Column of crowding. This column contains crowding attribute which is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowdingAttribute.
    distanceMeasureType String
    The distance measure used in nearest neighbor search. For details on allowed values, see the API documentation. Possible values are: SQUARED_L2_DISTANCE, COSINE_DISTANCE, DOT_PRODUCT_DISTANCE.
    embeddingDimension Integer
    The number of dimensions of the input embedding.
    filterColumns List<String>
    Columns of features that are used to filter vector search results.
    treeAhConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfigTreeAhConfig
    Configuration options for the tree-AH algorithm (Shallow tree + Asymmetric Hashing). Please refer to this paper for more details: https://arxiv.org/abs/1908.10396 Structure is documented below.
    embeddingColumn string
    Column of embedding. This column contains the source data to create index for vector search.
    bruteForceConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfigBruteForceConfig
    Configuration options for using brute force search, which simply implements the standard linear search in the database for each query. It is primarily meant for benchmarking and to generate the ground truth for approximate search.
    crowdingColumn string
    Column of crowding. This column contains crowding attribute which is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowdingAttribute.
    distanceMeasureType string
    The distance measure used in nearest neighbor search. For details on allowed values, see the API documentation. Possible values are: SQUARED_L2_DISTANCE, COSINE_DISTANCE, DOT_PRODUCT_DISTANCE.
    embeddingDimension number
    The number of dimensions of the input embedding.
    filterColumns string[]
    Columns of features that are used to filter vector search results.
    treeAhConfig AiFeatureOnlineStoreFeatureviewVectorSearchConfigTreeAhConfig
    Configuration options for the tree-AH algorithm (Shallow tree + Asymmetric Hashing). Please refer to this paper for more details: https://arxiv.org/abs/1908.10396 Structure is documented below.
    embedding_column str
    Column of embedding. This column contains the source data to create index for vector search.
    brute_force_config AiFeatureOnlineStoreFeatureviewVectorSearchConfigBruteForceConfig
    Configuration options for using brute force search, which simply implements the standard linear search in the database for each query. It is primarily meant for benchmarking and to generate the ground truth for approximate search.
    crowding_column str
    Column of crowding. This column contains crowding attribute which is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowdingAttribute.
    distance_measure_type str
    The distance measure used in nearest neighbor search. For details on allowed values, see the API documentation. Possible values are: SQUARED_L2_DISTANCE, COSINE_DISTANCE, DOT_PRODUCT_DISTANCE.
    embedding_dimension int
    The number of dimensions of the input embedding.
    filter_columns Sequence[str]
    Columns of features that are used to filter vector search results.
    tree_ah_config AiFeatureOnlineStoreFeatureviewVectorSearchConfigTreeAhConfig
    Configuration options for the tree-AH algorithm (Shallow tree + Asymmetric Hashing). Please refer to this paper for more details: https://arxiv.org/abs/1908.10396 Structure is documented below.
    embeddingColumn String
    Column of embedding. This column contains the source data to create index for vector search.
    bruteForceConfig Property Map
    Configuration options for using brute force search, which simply implements the standard linear search in the database for each query. It is primarily meant for benchmarking and to generate the ground truth for approximate search.
    crowdingColumn String
    Column of crowding. This column contains crowding attribute which is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowdingAttribute.
    distanceMeasureType String
    The distance measure used in nearest neighbor search. For details on allowed values, see the API documentation. Possible values are: SQUARED_L2_DISTANCE, COSINE_DISTANCE, DOT_PRODUCT_DISTANCE.
    embeddingDimension Number
    The number of dimensions of the input embedding.
    filterColumns List<String>
    Columns of features that are used to filter vector search results.
    treeAhConfig Property Map
    Configuration options for the tree-AH algorithm (Shallow tree + Asymmetric Hashing). Please refer to this paper for more details: https://arxiv.org/abs/1908.10396 Structure is documented below.

    AiFeatureOnlineStoreFeatureviewVectorSearchConfigTreeAhConfig, AiFeatureOnlineStoreFeatureviewVectorSearchConfigTreeAhConfigArgs

    LeafNodeEmbeddingCount string
    Number of embeddings on each leaf node. The default value is 1000 if not set.
    LeafNodeEmbeddingCount string
    Number of embeddings on each leaf node. The default value is 1000 if not set.
    leafNodeEmbeddingCount String
    Number of embeddings on each leaf node. The default value is 1000 if not set.
    leafNodeEmbeddingCount string
    Number of embeddings on each leaf node. The default value is 1000 if not set.
    leaf_node_embedding_count str
    Number of embeddings on each leaf node. The default value is 1000 if not set.
    leafNodeEmbeddingCount String
    Number of embeddings on each leaf node. The default value is 1000 if not set.

    Import

    FeatureOnlineStoreFeatureview can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{region}}/featureOnlineStores/{{feature_online_store}}/featureViews/{{name}}

    • {{project}}/{{region}}/{{feature_online_store}}/{{name}}

    • {{region}}/{{feature_online_store}}/{{name}}

    • {{feature_online_store}}/{{name}}

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

    $ pulumi import gcp:vertex/aiFeatureOnlineStoreFeatureview:AiFeatureOnlineStoreFeatureview default projects/{{project}}/locations/{{region}}/featureOnlineStores/{{feature_online_store}}/featureViews/{{name}}
    
    $ pulumi import gcp:vertex/aiFeatureOnlineStoreFeatureview:AiFeatureOnlineStoreFeatureview default {{project}}/{{region}}/{{feature_online_store}}/{{name}}
    
    $ pulumi import gcp:vertex/aiFeatureOnlineStoreFeatureview:AiFeatureOnlineStoreFeatureview default {{region}}/{{feature_online_store}}/{{name}}
    
    $ pulumi import gcp:vertex/aiFeatureOnlineStoreFeatureview:AiFeatureOnlineStoreFeatureview default {{feature_online_store}}/{{name}}
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v8.9.1 published on Wednesday, Nov 13, 2024 by Pulumi