1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. vertex
  5. AiIndex
Google Cloud v8.23.0 published on Monday, Mar 24, 2025 by Pulumi

gcp.vertex.AiIndex

Explore with Pulumi AI

A representation of a collection of database items organized in a way that allows for approximate nearest neighbor (a.k.a ANN) algorithms search.

To get more information about Index, see:

Example Usage

Vertex Ai Index

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

const bucket = new gcp.storage.Bucket("bucket", {
    name: "vertex-ai-index-test",
    location: "us-central1",
    uniformBucketLevelAccess: true,
});
// The sample data comes from the following link:
// https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
const data = new gcp.storage.BucketObject("data", {
    name: "contents/data.json",
    bucket: bucket.name,
    content: `{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
`,
});
const index = new gcp.vertex.AiIndex("index", {
    labels: {
        foo: "bar",
    },
    region: "us-central1",
    displayName: "test-index",
    description: "index for test",
    metadata: {
        contentsDeltaUri: pulumi.interpolate`gs://${bucket.name}/contents`,
        config: {
            dimensions: 2,
            approximateNeighborsCount: 150,
            shardSize: "SHARD_SIZE_SMALL",
            distanceMeasureType: "DOT_PRODUCT_DISTANCE",
            algorithmConfig: {
                treeAhConfig: {
                    leafNodeEmbeddingCount: 500,
                    leafNodesToSearchPercent: 7,
                },
            },
        },
    },
    indexUpdateMethod: "BATCH_UPDATE",
});
Copy
import pulumi
import pulumi_gcp as gcp

bucket = gcp.storage.Bucket("bucket",
    name="vertex-ai-index-test",
    location="us-central1",
    uniform_bucket_level_access=True)
# The sample data comes from the following link:
# https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
data = gcp.storage.BucketObject("data",
    name="contents/data.json",
    bucket=bucket.name,
    content="""{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
""")
index = gcp.vertex.AiIndex("index",
    labels={
        "foo": "bar",
    },
    region="us-central1",
    display_name="test-index",
    description="index for test",
    metadata={
        "contents_delta_uri": bucket.name.apply(lambda name: f"gs://{name}/contents"),
        "config": {
            "dimensions": 2,
            "approximate_neighbors_count": 150,
            "shard_size": "SHARD_SIZE_SMALL",
            "distance_measure_type": "DOT_PRODUCT_DISTANCE",
            "algorithm_config": {
                "tree_ah_config": {
                    "leaf_node_embedding_count": 500,
                    "leaf_nodes_to_search_percent": 7,
                },
            },
        },
    },
    index_update_method="BATCH_UPDATE")
Copy
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/storage"
	"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 {
		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
			Name:                     pulumi.String("vertex-ai-index-test"),
			Location:                 pulumi.String("us-central1"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		// The sample data comes from the following link:
		// https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
		_, err = storage.NewBucketObject(ctx, "data", &storage.BucketObjectArgs{
			Name:    pulumi.String("contents/data.json"),
			Bucket:  bucket.Name,
			Content: pulumi.String("{\"id\": \"42\", \"embedding\": [0.5, 1.0], \"restricts\": [{\"namespace\": \"class\", \"allow\": [\"cat\", \"pet\"]},{\"namespace\": \"category\", \"allow\": [\"feline\"]}]}\n{\"id\": \"43\", \"embedding\": [0.6, 1.0], \"restricts\": [{\"namespace\": \"class\", \"allow\": [\"dog\", \"pet\"]},{\"namespace\": \"category\", \"allow\": [\"canine\"]}]}\n"),
		})
		if err != nil {
			return err
		}
		_, err = vertex.NewAiIndex(ctx, "index", &vertex.AiIndexArgs{
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Region:      pulumi.String("us-central1"),
			DisplayName: pulumi.String("test-index"),
			Description: pulumi.String("index for test"),
			Metadata: &vertex.AiIndexMetadataArgs{
				ContentsDeltaUri: bucket.Name.ApplyT(func(name string) (string, error) {
					return fmt.Sprintf("gs://%v/contents", name), nil
				}).(pulumi.StringOutput),
				Config: &vertex.AiIndexMetadataConfigArgs{
					Dimensions:                pulumi.Int(2),
					ApproximateNeighborsCount: pulumi.Int(150),
					ShardSize:                 pulumi.String("SHARD_SIZE_SMALL"),
					DistanceMeasureType:       pulumi.String("DOT_PRODUCT_DISTANCE"),
					AlgorithmConfig: &vertex.AiIndexMetadataConfigAlgorithmConfigArgs{
						TreeAhConfig: &vertex.AiIndexMetadataConfigAlgorithmConfigTreeAhConfigArgs{
							LeafNodeEmbeddingCount:   pulumi.Int(500),
							LeafNodesToSearchPercent: pulumi.Int(7),
						},
					},
				},
			},
			IndexUpdateMethod: pulumi.String("BATCH_UPDATE"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var bucket = new Gcp.Storage.Bucket("bucket", new()
    {
        Name = "vertex-ai-index-test",
        Location = "us-central1",
        UniformBucketLevelAccess = true,
    });

    // The sample data comes from the following link:
    // https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
    var data = new Gcp.Storage.BucketObject("data", new()
    {
        Name = "contents/data.json",
        Bucket = bucket.Name,
        Content = @"{""id"": ""42"", ""embedding"": [0.5, 1.0], ""restricts"": [{""namespace"": ""class"", ""allow"": [""cat"", ""pet""]},{""namespace"": ""category"", ""allow"": [""feline""]}]}
{""id"": ""43"", ""embedding"": [0.6, 1.0], ""restricts"": [{""namespace"": ""class"", ""allow"": [""dog"", ""pet""]},{""namespace"": ""category"", ""allow"": [""canine""]}]}
",
    });

    var index = new Gcp.Vertex.AiIndex("index", new()
    {
        Labels = 
        {
            { "foo", "bar" },
        },
        Region = "us-central1",
        DisplayName = "test-index",
        Description = "index for test",
        Metadata = new Gcp.Vertex.Inputs.AiIndexMetadataArgs
        {
            ContentsDeltaUri = bucket.Name.Apply(name => $"gs://{name}/contents"),
            Config = new Gcp.Vertex.Inputs.AiIndexMetadataConfigArgs
            {
                Dimensions = 2,
                ApproximateNeighborsCount = 150,
                ShardSize = "SHARD_SIZE_SMALL",
                DistanceMeasureType = "DOT_PRODUCT_DISTANCE",
                AlgorithmConfig = new Gcp.Vertex.Inputs.AiIndexMetadataConfigAlgorithmConfigArgs
                {
                    TreeAhConfig = new Gcp.Vertex.Inputs.AiIndexMetadataConfigAlgorithmConfigTreeAhConfigArgs
                    {
                        LeafNodeEmbeddingCount = 500,
                        LeafNodesToSearchPercent = 7,
                    },
                },
            },
        },
        IndexUpdateMethod = "BATCH_UPDATE",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.storage.BucketObject;
import com.pulumi.gcp.storage.BucketObjectArgs;
import com.pulumi.gcp.vertex.AiIndex;
import com.pulumi.gcp.vertex.AiIndexArgs;
import com.pulumi.gcp.vertex.inputs.AiIndexMetadataArgs;
import com.pulumi.gcp.vertex.inputs.AiIndexMetadataConfigArgs;
import com.pulumi.gcp.vertex.inputs.AiIndexMetadataConfigAlgorithmConfigArgs;
import com.pulumi.gcp.vertex.inputs.AiIndexMetadataConfigAlgorithmConfigTreeAhConfigArgs;
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 bucket = new Bucket("bucket", BucketArgs.builder()
            .name("vertex-ai-index-test")
            .location("us-central1")
            .uniformBucketLevelAccess(true)
            .build());

        // The sample data comes from the following link:
        // https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
        var data = new BucketObject("data", BucketObjectArgs.builder()
            .name("contents/data.json")
            .bucket(bucket.name())
            .content("""
{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
            """)
            .build());

        var index = new AiIndex("index", AiIndexArgs.builder()
            .labels(Map.of("foo", "bar"))
            .region("us-central1")
            .displayName("test-index")
            .description("index for test")
            .metadata(AiIndexMetadataArgs.builder()
                .contentsDeltaUri(bucket.name().applyValue(name -> String.format("gs://%s/contents", name)))
                .config(AiIndexMetadataConfigArgs.builder()
                    .dimensions(2)
                    .approximateNeighborsCount(150)
                    .shardSize("SHARD_SIZE_SMALL")
                    .distanceMeasureType("DOT_PRODUCT_DISTANCE")
                    .algorithmConfig(AiIndexMetadataConfigAlgorithmConfigArgs.builder()
                        .treeAhConfig(AiIndexMetadataConfigAlgorithmConfigTreeAhConfigArgs.builder()
                            .leafNodeEmbeddingCount(500)
                            .leafNodesToSearchPercent(7)
                            .build())
                        .build())
                    .build())
                .build())
            .indexUpdateMethod("BATCH_UPDATE")
            .build());

    }
}
Copy
resources:
  bucket:
    type: gcp:storage:Bucket
    properties:
      name: vertex-ai-index-test
      location: us-central1
      uniformBucketLevelAccess: true
  # The sample data comes from the following link:
  # https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
  data:
    type: gcp:storage:BucketObject
    properties:
      name: contents/data.json
      bucket: ${bucket.name}
      content: |
        {"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
        {"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}        
  index:
    type: gcp:vertex:AiIndex
    properties:
      labels:
        foo: bar
      region: us-central1
      displayName: test-index
      description: index for test
      metadata:
        contentsDeltaUri: gs://${bucket.name}/contents
        config:
          dimensions: 2
          approximateNeighborsCount: 150
          shardSize: SHARD_SIZE_SMALL
          distanceMeasureType: DOT_PRODUCT_DISTANCE
          algorithmConfig:
            treeAhConfig:
              leafNodeEmbeddingCount: 500
              leafNodesToSearchPercent: 7
      indexUpdateMethod: BATCH_UPDATE
Copy

Vertex Ai Index Streaming

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

const bucket = new gcp.storage.Bucket("bucket", {
    name: "vertex-ai-index-test",
    location: "us-central1",
    uniformBucketLevelAccess: true,
});
// The sample data comes from the following link:
// https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
const data = new gcp.storage.BucketObject("data", {
    name: "contents/data.json",
    bucket: bucket.name,
    content: `{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
`,
});
const index = new gcp.vertex.AiIndex("index", {
    labels: {
        foo: "bar",
    },
    region: "us-central1",
    displayName: "test-index",
    description: "index for test",
    metadata: {
        contentsDeltaUri: pulumi.interpolate`gs://${bucket.name}/contents`,
        config: {
            dimensions: 2,
            shardSize: "SHARD_SIZE_LARGE",
            distanceMeasureType: "COSINE_DISTANCE",
            featureNormType: "UNIT_L2_NORM",
            algorithmConfig: {
                bruteForceConfig: {},
            },
        },
    },
    indexUpdateMethod: "STREAM_UPDATE",
});
Copy
import pulumi
import pulumi_gcp as gcp

bucket = gcp.storage.Bucket("bucket",
    name="vertex-ai-index-test",
    location="us-central1",
    uniform_bucket_level_access=True)
# The sample data comes from the following link:
# https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
data = gcp.storage.BucketObject("data",
    name="contents/data.json",
    bucket=bucket.name,
    content="""{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
""")
index = gcp.vertex.AiIndex("index",
    labels={
        "foo": "bar",
    },
    region="us-central1",
    display_name="test-index",
    description="index for test",
    metadata={
        "contents_delta_uri": bucket.name.apply(lambda name: f"gs://{name}/contents"),
        "config": {
            "dimensions": 2,
            "shard_size": "SHARD_SIZE_LARGE",
            "distance_measure_type": "COSINE_DISTANCE",
            "feature_norm_type": "UNIT_L2_NORM",
            "algorithm_config": {
                "brute_force_config": {},
            },
        },
    },
    index_update_method="STREAM_UPDATE")
Copy
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/storage"
	"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 {
		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
			Name:                     pulumi.String("vertex-ai-index-test"),
			Location:                 pulumi.String("us-central1"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		// The sample data comes from the following link:
		// https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
		_, err = storage.NewBucketObject(ctx, "data", &storage.BucketObjectArgs{
			Name:    pulumi.String("contents/data.json"),
			Bucket:  bucket.Name,
			Content: pulumi.String("{\"id\": \"42\", \"embedding\": [0.5, 1.0], \"restricts\": [{\"namespace\": \"class\", \"allow\": [\"cat\", \"pet\"]},{\"namespace\": \"category\", \"allow\": [\"feline\"]}]}\n{\"id\": \"43\", \"embedding\": [0.6, 1.0], \"restricts\": [{\"namespace\": \"class\", \"allow\": [\"dog\", \"pet\"]},{\"namespace\": \"category\", \"allow\": [\"canine\"]}]}\n"),
		})
		if err != nil {
			return err
		}
		_, err = vertex.NewAiIndex(ctx, "index", &vertex.AiIndexArgs{
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Region:      pulumi.String("us-central1"),
			DisplayName: pulumi.String("test-index"),
			Description: pulumi.String("index for test"),
			Metadata: &vertex.AiIndexMetadataArgs{
				ContentsDeltaUri: bucket.Name.ApplyT(func(name string) (string, error) {
					return fmt.Sprintf("gs://%v/contents", name), nil
				}).(pulumi.StringOutput),
				Config: &vertex.AiIndexMetadataConfigArgs{
					Dimensions:          pulumi.Int(2),
					ShardSize:           pulumi.String("SHARD_SIZE_LARGE"),
					DistanceMeasureType: pulumi.String("COSINE_DISTANCE"),
					FeatureNormType:     pulumi.String("UNIT_L2_NORM"),
					AlgorithmConfig: &vertex.AiIndexMetadataConfigAlgorithmConfigArgs{
						BruteForceConfig: &vertex.AiIndexMetadataConfigAlgorithmConfigBruteForceConfigArgs{},
					},
				},
			},
			IndexUpdateMethod: pulumi.String("STREAM_UPDATE"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var bucket = new Gcp.Storage.Bucket("bucket", new()
    {
        Name = "vertex-ai-index-test",
        Location = "us-central1",
        UniformBucketLevelAccess = true,
    });

    // The sample data comes from the following link:
    // https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
    var data = new Gcp.Storage.BucketObject("data", new()
    {
        Name = "contents/data.json",
        Bucket = bucket.Name,
        Content = @"{""id"": ""42"", ""embedding"": [0.5, 1.0], ""restricts"": [{""namespace"": ""class"", ""allow"": [""cat"", ""pet""]},{""namespace"": ""category"", ""allow"": [""feline""]}]}
{""id"": ""43"", ""embedding"": [0.6, 1.0], ""restricts"": [{""namespace"": ""class"", ""allow"": [""dog"", ""pet""]},{""namespace"": ""category"", ""allow"": [""canine""]}]}
",
    });

    var index = new Gcp.Vertex.AiIndex("index", new()
    {
        Labels = 
        {
            { "foo", "bar" },
        },
        Region = "us-central1",
        DisplayName = "test-index",
        Description = "index for test",
        Metadata = new Gcp.Vertex.Inputs.AiIndexMetadataArgs
        {
            ContentsDeltaUri = bucket.Name.Apply(name => $"gs://{name}/contents"),
            Config = new Gcp.Vertex.Inputs.AiIndexMetadataConfigArgs
            {
                Dimensions = 2,
                ShardSize = "SHARD_SIZE_LARGE",
                DistanceMeasureType = "COSINE_DISTANCE",
                FeatureNormType = "UNIT_L2_NORM",
                AlgorithmConfig = new Gcp.Vertex.Inputs.AiIndexMetadataConfigAlgorithmConfigArgs
                {
                    BruteForceConfig = null,
                },
            },
        },
        IndexUpdateMethod = "STREAM_UPDATE",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.storage.BucketObject;
import com.pulumi.gcp.storage.BucketObjectArgs;
import com.pulumi.gcp.vertex.AiIndex;
import com.pulumi.gcp.vertex.AiIndexArgs;
import com.pulumi.gcp.vertex.inputs.AiIndexMetadataArgs;
import com.pulumi.gcp.vertex.inputs.AiIndexMetadataConfigArgs;
import com.pulumi.gcp.vertex.inputs.AiIndexMetadataConfigAlgorithmConfigArgs;
import com.pulumi.gcp.vertex.inputs.AiIndexMetadataConfigAlgorithmConfigBruteForceConfigArgs;
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 bucket = new Bucket("bucket", BucketArgs.builder()
            .name("vertex-ai-index-test")
            .location("us-central1")
            .uniformBucketLevelAccess(true)
            .build());

        // The sample data comes from the following link:
        // https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
        var data = new BucketObject("data", BucketObjectArgs.builder()
            .name("contents/data.json")
            .bucket(bucket.name())
            .content("""
{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
            """)
            .build());

        var index = new AiIndex("index", AiIndexArgs.builder()
            .labels(Map.of("foo", "bar"))
            .region("us-central1")
            .displayName("test-index")
            .description("index for test")
            .metadata(AiIndexMetadataArgs.builder()
                .contentsDeltaUri(bucket.name().applyValue(name -> String.format("gs://%s/contents", name)))
                .config(AiIndexMetadataConfigArgs.builder()
                    .dimensions(2)
                    .shardSize("SHARD_SIZE_LARGE")
                    .distanceMeasureType("COSINE_DISTANCE")
                    .featureNormType("UNIT_L2_NORM")
                    .algorithmConfig(AiIndexMetadataConfigAlgorithmConfigArgs.builder()
                        .bruteForceConfig()
                        .build())
                    .build())
                .build())
            .indexUpdateMethod("STREAM_UPDATE")
            .build());

    }
}
Copy
resources:
  bucket:
    type: gcp:storage:Bucket
    properties:
      name: vertex-ai-index-test
      location: us-central1
      uniformBucketLevelAccess: true
  # The sample data comes from the following link:
  # https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
  data:
    type: gcp:storage:BucketObject
    properties:
      name: contents/data.json
      bucket: ${bucket.name}
      content: |
        {"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
        {"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}        
  index:
    type: gcp:vertex:AiIndex
    properties:
      labels:
        foo: bar
      region: us-central1
      displayName: test-index
      description: index for test
      metadata:
        contentsDeltaUri: gs://${bucket.name}/contents
        config:
          dimensions: 2
          shardSize: SHARD_SIZE_LARGE
          distanceMeasureType: COSINE_DISTANCE
          featureNormType: UNIT_L2_NORM
          algorithmConfig:
            bruteForceConfig: {}
      indexUpdateMethod: STREAM_UPDATE
Copy

Create AiIndex Resource

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

Constructor syntax

new AiIndex(name: string, args: AiIndexArgs, opts?: CustomResourceOptions);
@overload
def AiIndex(resource_name: str,
            args: AiIndexArgs,
            opts: Optional[ResourceOptions] = None)

@overload
def AiIndex(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            display_name: Optional[str] = None,
            description: Optional[str] = None,
            index_update_method: Optional[str] = None,
            labels: Optional[Mapping[str, str]] = None,
            metadata: Optional[AiIndexMetadataArgs] = None,
            project: Optional[str] = None,
            region: Optional[str] = None)
func NewAiIndex(ctx *Context, name string, args AiIndexArgs, opts ...ResourceOption) (*AiIndex, error)
public AiIndex(string name, AiIndexArgs args, CustomResourceOptions? opts = null)
public AiIndex(String name, AiIndexArgs args)
public AiIndex(String name, AiIndexArgs args, CustomResourceOptions options)
type: gcp:vertex:AiIndex
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. AiIndexArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. AiIndexArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. AiIndexArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. AiIndexArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. AiIndexArgs
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 aiIndexResource = new Gcp.Vertex.AiIndex("aiIndexResource", new()
{
    DisplayName = "string",
    Description = "string",
    IndexUpdateMethod = "string",
    Labels = 
    {
        { "string", "string" },
    },
    Metadata = new Gcp.Vertex.Inputs.AiIndexMetadataArgs
    {
        Config = new Gcp.Vertex.Inputs.AiIndexMetadataConfigArgs
        {
            Dimensions = 0,
            AlgorithmConfig = new Gcp.Vertex.Inputs.AiIndexMetadataConfigAlgorithmConfigArgs
            {
                BruteForceConfig = null,
                TreeAhConfig = new Gcp.Vertex.Inputs.AiIndexMetadataConfigAlgorithmConfigTreeAhConfigArgs
                {
                    LeafNodeEmbeddingCount = 0,
                    LeafNodesToSearchPercent = 0,
                },
            },
            ApproximateNeighborsCount = 0,
            DistanceMeasureType = "string",
            FeatureNormType = "string",
            ShardSize = "string",
        },
        ContentsDeltaUri = "string",
        IsCompleteOverwrite = false,
    },
    Project = "string",
    Region = "string",
});
Copy
example, err := vertex.NewAiIndex(ctx, "aiIndexResource", &vertex.AiIndexArgs{
	DisplayName:       pulumi.String("string"),
	Description:       pulumi.String("string"),
	IndexUpdateMethod: pulumi.String("string"),
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Metadata: &vertex.AiIndexMetadataArgs{
		Config: &vertex.AiIndexMetadataConfigArgs{
			Dimensions: pulumi.Int(0),
			AlgorithmConfig: &vertex.AiIndexMetadataConfigAlgorithmConfigArgs{
				BruteForceConfig: &vertex.AiIndexMetadataConfigAlgorithmConfigBruteForceConfigArgs{},
				TreeAhConfig: &vertex.AiIndexMetadataConfigAlgorithmConfigTreeAhConfigArgs{
					LeafNodeEmbeddingCount:   pulumi.Int(0),
					LeafNodesToSearchPercent: pulumi.Int(0),
				},
			},
			ApproximateNeighborsCount: pulumi.Int(0),
			DistanceMeasureType:       pulumi.String("string"),
			FeatureNormType:           pulumi.String("string"),
			ShardSize:                 pulumi.String("string"),
		},
		ContentsDeltaUri:    pulumi.String("string"),
		IsCompleteOverwrite: pulumi.Bool(false),
	},
	Project: pulumi.String("string"),
	Region:  pulumi.String("string"),
})
Copy
var aiIndexResource = new AiIndex("aiIndexResource", AiIndexArgs.builder()
    .displayName("string")
    .description("string")
    .indexUpdateMethod("string")
    .labels(Map.of("string", "string"))
    .metadata(AiIndexMetadataArgs.builder()
        .config(AiIndexMetadataConfigArgs.builder()
            .dimensions(0)
            .algorithmConfig(AiIndexMetadataConfigAlgorithmConfigArgs.builder()
                .bruteForceConfig()
                .treeAhConfig(AiIndexMetadataConfigAlgorithmConfigTreeAhConfigArgs.builder()
                    .leafNodeEmbeddingCount(0)
                    .leafNodesToSearchPercent(0)
                    .build())
                .build())
            .approximateNeighborsCount(0)
            .distanceMeasureType("string")
            .featureNormType("string")
            .shardSize("string")
            .build())
        .contentsDeltaUri("string")
        .isCompleteOverwrite(false)
        .build())
    .project("string")
    .region("string")
    .build());
Copy
ai_index_resource = gcp.vertex.AiIndex("aiIndexResource",
    display_name="string",
    description="string",
    index_update_method="string",
    labels={
        "string": "string",
    },
    metadata={
        "config": {
            "dimensions": 0,
            "algorithm_config": {
                "brute_force_config": {},
                "tree_ah_config": {
                    "leaf_node_embedding_count": 0,
                    "leaf_nodes_to_search_percent": 0,
                },
            },
            "approximate_neighbors_count": 0,
            "distance_measure_type": "string",
            "feature_norm_type": "string",
            "shard_size": "string",
        },
        "contents_delta_uri": "string",
        "is_complete_overwrite": False,
    },
    project="string",
    region="string")
Copy
const aiIndexResource = new gcp.vertex.AiIndex("aiIndexResource", {
    displayName: "string",
    description: "string",
    indexUpdateMethod: "string",
    labels: {
        string: "string",
    },
    metadata: {
        config: {
            dimensions: 0,
            algorithmConfig: {
                bruteForceConfig: {},
                treeAhConfig: {
                    leafNodeEmbeddingCount: 0,
                    leafNodesToSearchPercent: 0,
                },
            },
            approximateNeighborsCount: 0,
            distanceMeasureType: "string",
            featureNormType: "string",
            shardSize: "string",
        },
        contentsDeltaUri: "string",
        isCompleteOverwrite: false,
    },
    project: "string",
    region: "string",
});
Copy
type: gcp:vertex:AiIndex
properties:
    description: string
    displayName: string
    indexUpdateMethod: string
    labels:
        string: string
    metadata:
        config:
            algorithmConfig:
                bruteForceConfig: {}
                treeAhConfig:
                    leafNodeEmbeddingCount: 0
                    leafNodesToSearchPercent: 0
            approximateNeighborsCount: 0
            dimensions: 0
            distanceMeasureType: string
            featureNormType: string
            shardSize: string
        contentsDeltaUri: string
        isCompleteOverwrite: false
    project: string
    region: string
Copy

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

DisplayName This property is required. string
The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.


Description string
The description of the Index.
IndexUpdateMethod Changes to this property will trigger replacement. string
The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.

  • BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.
  • STREAM_UPDATE: user can call indexes.upsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time.
Labels Dictionary<string, string>
The labels with user-defined metadata to organize your Indexes. 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.
Metadata AiIndexMetadata
An additional information about the Index Structure is documented below.
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
Region Changes to this property will trigger replacement. string
The region of the index. eg us-central1
DisplayName This property is required. string
The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.


Description string
The description of the Index.
IndexUpdateMethod Changes to this property will trigger replacement. string
The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.

  • BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.
  • STREAM_UPDATE: user can call indexes.upsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time.
Labels map[string]string
The labels with user-defined metadata to organize your Indexes. 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.
Metadata AiIndexMetadataArgs
An additional information about the Index Structure is documented below.
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
Region Changes to this property will trigger replacement. string
The region of the index. eg us-central1
displayName This property is required. String
The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.


description String
The description of the Index.
indexUpdateMethod Changes to this property will trigger replacement. String
The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.

  • BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.
  • STREAM_UPDATE: user can call indexes.upsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time.
labels Map<String,String>
The labels with user-defined metadata to organize your Indexes. 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.
metadata AiIndexMetadata
An additional information about the Index Structure is documented below.
project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
region Changes to this property will trigger replacement. String
The region of the index. eg us-central1
displayName This property is required. string
The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.


description string
The description of the Index.
indexUpdateMethod Changes to this property will trigger replacement. string
The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.

  • BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.
  • STREAM_UPDATE: user can call indexes.upsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time.
labels {[key: string]: string}
The labels with user-defined metadata to organize your Indexes. 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.
metadata AiIndexMetadata
An additional information about the Index Structure is documented below.
project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
region Changes to this property will trigger replacement. string
The region of the index. eg us-central1
display_name This property is required. str
The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.


description str
The description of the Index.
index_update_method Changes to this property will trigger replacement. str
The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.

  • BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.
  • STREAM_UPDATE: user can call indexes.upsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time.
labels Mapping[str, str]
The labels with user-defined metadata to organize your Indexes. 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.
metadata AiIndexMetadataArgs
An additional information about the Index Structure is documented below.
project Changes to this property will trigger replacement. str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
region Changes to this property will trigger replacement. str
The region of the index. eg us-central1
displayName This property is required. String
The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.


description String
The description of the Index.
indexUpdateMethod Changes to this property will trigger replacement. String
The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.

  • BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.
  • STREAM_UPDATE: user can call indexes.upsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time.
labels Map<String>
The labels with user-defined metadata to organize your Indexes. 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.
metadata Property Map
An additional information about the Index Structure is documented below.
project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
region Changes to this property will trigger replacement. String
The region of the index. eg us-central1

Outputs

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

CreateTime string
The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
DeployedIndexes List<AiIndexDeployedIndex>
The pointers to DeployedIndexes created from this Index. An Index can be only deleted if all its DeployedIndexes had been undeployed first. Structure is documented below.
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.
Etag string
Used to perform consistent read-modify-write updates.
Id string
The provider-assigned unique ID for this managed resource.
IndexStats List<AiIndexIndexStat>
Stats of the index resource. Structure is documented below.
MetadataSchemaUri string
Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information.
Name string
The resource name of the Index.
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 Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
CreateTime string
The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
DeployedIndexes []AiIndexDeployedIndex
The pointers to DeployedIndexes created from this Index. An Index can be only deleted if all its DeployedIndexes had been undeployed first. Structure is documented below.
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.
Etag string
Used to perform consistent read-modify-write updates.
Id string
The provider-assigned unique ID for this managed resource.
IndexStats []AiIndexIndexStat
Stats of the index resource. Structure is documented below.
MetadataSchemaUri string
Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information.
Name string
The resource name of the Index.
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 Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
createTime String
The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
deployedIndexes List<AiIndexDeployedIndex>
The pointers to DeployedIndexes created from this Index. An Index can be only deleted if all its DeployedIndexes had been undeployed first. Structure is documented below.
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.
etag String
Used to perform consistent read-modify-write updates.
id String
The provider-assigned unique ID for this managed resource.
indexStats List<AiIndexIndexStat>
Stats of the index resource. Structure is documented below.
metadataSchemaUri String
Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information.
name String
The resource name of the Index.
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 Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
createTime string
The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
deployedIndexes AiIndexDeployedIndex[]
The pointers to DeployedIndexes created from this Index. An Index can be only deleted if all its DeployedIndexes had been undeployed first. Structure is documented below.
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.
etag string
Used to perform consistent read-modify-write updates.
id string
The provider-assigned unique ID for this managed resource.
indexStats AiIndexIndexStat[]
Stats of the index resource. Structure is documented below.
metadataSchemaUri string
Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information.
name string
The resource name of the Index.
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 Index 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 Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
deployed_indexes Sequence[AiIndexDeployedIndex]
The pointers to DeployedIndexes created from this Index. An Index can be only deleted if all its DeployedIndexes had been undeployed first. Structure is documented below.
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.
etag str
Used to perform consistent read-modify-write updates.
id str
The provider-assigned unique ID for this managed resource.
index_stats Sequence[AiIndexIndexStat]
Stats of the index resource. Structure is documented below.
metadata_schema_uri str
Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information.
name str
The resource name of the Index.
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 Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
createTime String
The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
deployedIndexes List<Property Map>
The pointers to DeployedIndexes created from this Index. An Index can be only deleted if all its DeployedIndexes had been undeployed first. Structure is documented below.
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.
etag String
Used to perform consistent read-modify-write updates.
id String
The provider-assigned unique ID for this managed resource.
indexStats List<Property Map>
Stats of the index resource. Structure is documented below.
metadataSchemaUri String
Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information.
name String
The resource name of the Index.
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 Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.

Look up Existing AiIndex Resource

Get an existing AiIndex 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?: AiIndexState, opts?: CustomResourceOptions): AiIndex
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        create_time: Optional[str] = None,
        deployed_indexes: Optional[Sequence[AiIndexDeployedIndexArgs]] = None,
        description: Optional[str] = None,
        display_name: Optional[str] = None,
        effective_labels: Optional[Mapping[str, str]] = None,
        etag: Optional[str] = None,
        index_stats: Optional[Sequence[AiIndexIndexStatArgs]] = None,
        index_update_method: Optional[str] = None,
        labels: Optional[Mapping[str, str]] = None,
        metadata: Optional[AiIndexMetadataArgs] = None,
        metadata_schema_uri: Optional[str] = None,
        name: Optional[str] = None,
        project: Optional[str] = None,
        pulumi_labels: Optional[Mapping[str, str]] = None,
        region: Optional[str] = None,
        update_time: Optional[str] = None) -> AiIndex
func GetAiIndex(ctx *Context, name string, id IDInput, state *AiIndexState, opts ...ResourceOption) (*AiIndex, error)
public static AiIndex Get(string name, Input<string> id, AiIndexState? state, CustomResourceOptions? opts = null)
public static AiIndex get(String name, Output<String> id, AiIndexState state, CustomResourceOptions options)
resources:  _:    type: gcp:vertex:AiIndex    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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:
CreateTime string
The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
DeployedIndexes List<AiIndexDeployedIndex>
The pointers to DeployedIndexes created from this Index. An Index can be only deleted if all its DeployedIndexes had been undeployed first. Structure is documented below.
Description string
The description of the Index.
DisplayName string
The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.


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.
Etag string
Used to perform consistent read-modify-write updates.
IndexStats List<AiIndexIndexStat>
Stats of the index resource. Structure is documented below.
IndexUpdateMethod Changes to this property will trigger replacement. string
The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.

  • BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.
  • STREAM_UPDATE: user can call indexes.upsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time.
Labels Dictionary<string, string>
The labels with user-defined metadata to organize your Indexes. 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.
Metadata AiIndexMetadata
An additional information about the Index Structure is documented below.
MetadataSchemaUri string
Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information.
Name string
The resource name of the Index.
Project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
The region of the index. eg us-central1
UpdateTime string
The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
CreateTime string
The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
DeployedIndexes []AiIndexDeployedIndexArgs
The pointers to DeployedIndexes created from this Index. An Index can be only deleted if all its DeployedIndexes had been undeployed first. Structure is documented below.
Description string
The description of the Index.
DisplayName string
The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.


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.
Etag string
Used to perform consistent read-modify-write updates.
IndexStats []AiIndexIndexStatArgs
Stats of the index resource. Structure is documented below.
IndexUpdateMethod Changes to this property will trigger replacement. string
The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.

  • BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.
  • STREAM_UPDATE: user can call indexes.upsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time.
Labels map[string]string
The labels with user-defined metadata to organize your Indexes. 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.
Metadata AiIndexMetadataArgs
An additional information about the Index Structure is documented below.
MetadataSchemaUri string
Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information.
Name string
The resource name of the Index.
Project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
The region of the index. eg us-central1
UpdateTime string
The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
createTime String
The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
deployedIndexes List<AiIndexDeployedIndex>
The pointers to DeployedIndexes created from this Index. An Index can be only deleted if all its DeployedIndexes had been undeployed first. Structure is documented below.
description String
The description of the Index.
displayName String
The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.


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.
etag String
Used to perform consistent read-modify-write updates.
indexStats List<AiIndexIndexStat>
Stats of the index resource. Structure is documented below.
indexUpdateMethod Changes to this property will trigger replacement. String
The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.

  • BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.
  • STREAM_UPDATE: user can call indexes.upsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time.
labels Map<String,String>
The labels with user-defined metadata to organize your Indexes. 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.
metadata AiIndexMetadata
An additional information about the Index Structure is documented below.
metadataSchemaUri String
Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information.
name String
The resource name of the Index.
project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
The region of the index. eg us-central1
updateTime String
The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
createTime string
The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
deployedIndexes AiIndexDeployedIndex[]
The pointers to DeployedIndexes created from this Index. An Index can be only deleted if all its DeployedIndexes had been undeployed first. Structure is documented below.
description string
The description of the Index.
displayName string
The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.


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.
etag string
Used to perform consistent read-modify-write updates.
indexStats AiIndexIndexStat[]
Stats of the index resource. Structure is documented below.
indexUpdateMethod Changes to this property will trigger replacement. string
The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.

  • BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.
  • STREAM_UPDATE: user can call indexes.upsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time.
labels {[key: string]: string}
The labels with user-defined metadata to organize your Indexes. 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.
metadata AiIndexMetadata
An additional information about the Index Structure is documented below.
metadataSchemaUri string
Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information.
name string
The resource name of the Index.
project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
The region of the index. eg us-central1
updateTime string
The timestamp of when the Index 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 Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
deployed_indexes Sequence[AiIndexDeployedIndexArgs]
The pointers to DeployedIndexes created from this Index. An Index can be only deleted if all its DeployedIndexes had been undeployed first. Structure is documented below.
description str
The description of the Index.
display_name str
The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.


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.
etag str
Used to perform consistent read-modify-write updates.
index_stats Sequence[AiIndexIndexStatArgs]
Stats of the index resource. Structure is documented below.
index_update_method Changes to this property will trigger replacement. str
The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.

  • BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.
  • STREAM_UPDATE: user can call indexes.upsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time.
labels Mapping[str, str]
The labels with user-defined metadata to organize your Indexes. 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.
metadata AiIndexMetadataArgs
An additional information about the Index Structure is documented below.
metadata_schema_uri str
Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information.
name str
The resource name of the Index.
project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. str
The region of the index. eg us-central1
update_time str
The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
createTime String
The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
deployedIndexes List<Property Map>
The pointers to DeployedIndexes created from this Index. An Index can be only deleted if all its DeployedIndexes had been undeployed first. Structure is documented below.
description String
The description of the Index.
displayName String
The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.


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.
etag String
Used to perform consistent read-modify-write updates.
indexStats List<Property Map>
Stats of the index resource. Structure is documented below.
indexUpdateMethod Changes to this property will trigger replacement. String
The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.

  • BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.
  • STREAM_UPDATE: user can call indexes.upsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time.
labels Map<String>
The labels with user-defined metadata to organize your Indexes. 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.
metadata Property Map
An additional information about the Index Structure is documented below.
metadataSchemaUri String
Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information.
name String
The resource name of the Index.
project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
The region of the index. eg us-central1
updateTime String
The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.

Supporting Types

AiIndexDeployedIndex
, AiIndexDeployedIndexArgs

DeployedIndexId string
(Output) The ID of the DeployedIndex in the above IndexEndpoint.
IndexEndpoint string
(Output) A resource name of the IndexEndpoint.
DeployedIndexId string
(Output) The ID of the DeployedIndex in the above IndexEndpoint.
IndexEndpoint string
(Output) A resource name of the IndexEndpoint.
deployedIndexId String
(Output) The ID of the DeployedIndex in the above IndexEndpoint.
indexEndpoint String
(Output) A resource name of the IndexEndpoint.
deployedIndexId string
(Output) The ID of the DeployedIndex in the above IndexEndpoint.
indexEndpoint string
(Output) A resource name of the IndexEndpoint.
deployed_index_id str
(Output) The ID of the DeployedIndex in the above IndexEndpoint.
index_endpoint str
(Output) A resource name of the IndexEndpoint.
deployedIndexId String
(Output) The ID of the DeployedIndex in the above IndexEndpoint.
indexEndpoint String
(Output) A resource name of the IndexEndpoint.

AiIndexIndexStat
, AiIndexIndexStatArgs

ShardsCount int
(Output) The number of shards in the Index.
VectorsCount string
(Output) The number of vectors in the Index.
ShardsCount int
(Output) The number of shards in the Index.
VectorsCount string
(Output) The number of vectors in the Index.
shardsCount Integer
(Output) The number of shards in the Index.
vectorsCount String
(Output) The number of vectors in the Index.
shardsCount number
(Output) The number of shards in the Index.
vectorsCount string
(Output) The number of vectors in the Index.
shards_count int
(Output) The number of shards in the Index.
vectors_count str
(Output) The number of vectors in the Index.
shardsCount Number
(Output) The number of shards in the Index.
vectorsCount String
(Output) The number of vectors in the Index.

AiIndexMetadata
, AiIndexMetadataArgs

Config Changes to this property will trigger replacement. AiIndexMetadataConfig
The configuration of the Matching Engine Index. Structure is documented below.
ContentsDeltaUri string
Allows inserting, updating or deleting the contents of the Matching Engine Index. The string must be a valid Cloud Storage directory path. If this field is set when calling IndexService.UpdateIndex, then no other Index field can be also updated as part of the same call. The expected structure and format of the files this URI points to is described at https://cloud.google.com/vertex-ai/docs/matching-engine/using-matching-engine#input-data-format
IsCompleteOverwrite bool
If this field is set together with contentsDeltaUri when calling IndexService.UpdateIndex, then existing content of the Index will be replaced by the data from the contentsDeltaUri.
Config Changes to this property will trigger replacement. AiIndexMetadataConfig
The configuration of the Matching Engine Index. Structure is documented below.
ContentsDeltaUri string
Allows inserting, updating or deleting the contents of the Matching Engine Index. The string must be a valid Cloud Storage directory path. If this field is set when calling IndexService.UpdateIndex, then no other Index field can be also updated as part of the same call. The expected structure and format of the files this URI points to is described at https://cloud.google.com/vertex-ai/docs/matching-engine/using-matching-engine#input-data-format
IsCompleteOverwrite bool
If this field is set together with contentsDeltaUri when calling IndexService.UpdateIndex, then existing content of the Index will be replaced by the data from the contentsDeltaUri.
config Changes to this property will trigger replacement. AiIndexMetadataConfig
The configuration of the Matching Engine Index. Structure is documented below.
contentsDeltaUri String
Allows inserting, updating or deleting the contents of the Matching Engine Index. The string must be a valid Cloud Storage directory path. If this field is set when calling IndexService.UpdateIndex, then no other Index field can be also updated as part of the same call. The expected structure and format of the files this URI points to is described at https://cloud.google.com/vertex-ai/docs/matching-engine/using-matching-engine#input-data-format
isCompleteOverwrite Boolean
If this field is set together with contentsDeltaUri when calling IndexService.UpdateIndex, then existing content of the Index will be replaced by the data from the contentsDeltaUri.
config Changes to this property will trigger replacement. AiIndexMetadataConfig
The configuration of the Matching Engine Index. Structure is documented below.
contentsDeltaUri string
Allows inserting, updating or deleting the contents of the Matching Engine Index. The string must be a valid Cloud Storage directory path. If this field is set when calling IndexService.UpdateIndex, then no other Index field can be also updated as part of the same call. The expected structure and format of the files this URI points to is described at https://cloud.google.com/vertex-ai/docs/matching-engine/using-matching-engine#input-data-format
isCompleteOverwrite boolean
If this field is set together with contentsDeltaUri when calling IndexService.UpdateIndex, then existing content of the Index will be replaced by the data from the contentsDeltaUri.
config Changes to this property will trigger replacement. AiIndexMetadataConfig
The configuration of the Matching Engine Index. Structure is documented below.
contents_delta_uri str
Allows inserting, updating or deleting the contents of the Matching Engine Index. The string must be a valid Cloud Storage directory path. If this field is set when calling IndexService.UpdateIndex, then no other Index field can be also updated as part of the same call. The expected structure and format of the files this URI points to is described at https://cloud.google.com/vertex-ai/docs/matching-engine/using-matching-engine#input-data-format
is_complete_overwrite bool
If this field is set together with contentsDeltaUri when calling IndexService.UpdateIndex, then existing content of the Index will be replaced by the data from the contentsDeltaUri.
config Changes to this property will trigger replacement. Property Map
The configuration of the Matching Engine Index. Structure is documented below.
contentsDeltaUri String
Allows inserting, updating or deleting the contents of the Matching Engine Index. The string must be a valid Cloud Storage directory path. If this field is set when calling IndexService.UpdateIndex, then no other Index field can be also updated as part of the same call. The expected structure and format of the files this URI points to is described at https://cloud.google.com/vertex-ai/docs/matching-engine/using-matching-engine#input-data-format
isCompleteOverwrite Boolean
If this field is set together with contentsDeltaUri when calling IndexService.UpdateIndex, then existing content of the Index will be replaced by the data from the contentsDeltaUri.

AiIndexMetadataConfig
, AiIndexMetadataConfigArgs

Dimensions This property is required. int
The number of dimensions of the input vectors.
AlgorithmConfig AiIndexMetadataConfigAlgorithmConfig
The configuration with regard to the algorithms used for efficient search. Structure is documented below.
ApproximateNeighborsCount int
The default number of neighbors to find via approximate search before exact reordering is performed. Exact reordering is a procedure where results returned by an approximate search algorithm are reordered via a more expensive distance computation. Required if tree-AH algorithm is used.
DistanceMeasureType string
The distance measure used in nearest neighbor search. The value must be one of the followings:

  • SQUARED_L2_DISTANCE: Euclidean (L_2) Distance
  • L1_DISTANCE: Manhattan (L_1) Distance
  • COSINE_DISTANCE: Cosine Distance. Defined as 1 - cosine similarity.
  • DOT_PRODUCT_DISTANCE: Dot Product Distance. Defined as a negative of the dot product
FeatureNormType string
Type of normalization to be carried out on each vector. The value must be one of the followings:

  • UNIT_L2_NORM: Unit L2 normalization type
  • NONE: No normalization type is specified.
ShardSize Changes to this property will trigger replacement. string
Index data is split into equal parts to be processed. These are called "shards". The shard size must be specified when creating an index. The value must be one of the followings:

  • SHARD_SIZE_SMALL: Small (2GB)
  • SHARD_SIZE_MEDIUM: Medium (20GB)
  • SHARD_SIZE_LARGE: Large (50GB)
Dimensions This property is required. int
The number of dimensions of the input vectors.
AlgorithmConfig AiIndexMetadataConfigAlgorithmConfig
The configuration with regard to the algorithms used for efficient search. Structure is documented below.
ApproximateNeighborsCount int
The default number of neighbors to find via approximate search before exact reordering is performed. Exact reordering is a procedure where results returned by an approximate search algorithm are reordered via a more expensive distance computation. Required if tree-AH algorithm is used.
DistanceMeasureType string
The distance measure used in nearest neighbor search. The value must be one of the followings:

  • SQUARED_L2_DISTANCE: Euclidean (L_2) Distance
  • L1_DISTANCE: Manhattan (L_1) Distance
  • COSINE_DISTANCE: Cosine Distance. Defined as 1 - cosine similarity.
  • DOT_PRODUCT_DISTANCE: Dot Product Distance. Defined as a negative of the dot product
FeatureNormType string
Type of normalization to be carried out on each vector. The value must be one of the followings:

  • UNIT_L2_NORM: Unit L2 normalization type
  • NONE: No normalization type is specified.
ShardSize Changes to this property will trigger replacement. string
Index data is split into equal parts to be processed. These are called "shards". The shard size must be specified when creating an index. The value must be one of the followings:

  • SHARD_SIZE_SMALL: Small (2GB)
  • SHARD_SIZE_MEDIUM: Medium (20GB)
  • SHARD_SIZE_LARGE: Large (50GB)
dimensions This property is required. Integer
The number of dimensions of the input vectors.
algorithmConfig AiIndexMetadataConfigAlgorithmConfig
The configuration with regard to the algorithms used for efficient search. Structure is documented below.
approximateNeighborsCount Integer
The default number of neighbors to find via approximate search before exact reordering is performed. Exact reordering is a procedure where results returned by an approximate search algorithm are reordered via a more expensive distance computation. Required if tree-AH algorithm is used.
distanceMeasureType String
The distance measure used in nearest neighbor search. The value must be one of the followings:

  • SQUARED_L2_DISTANCE: Euclidean (L_2) Distance
  • L1_DISTANCE: Manhattan (L_1) Distance
  • COSINE_DISTANCE: Cosine Distance. Defined as 1 - cosine similarity.
  • DOT_PRODUCT_DISTANCE: Dot Product Distance. Defined as a negative of the dot product
featureNormType String
Type of normalization to be carried out on each vector. The value must be one of the followings:

  • UNIT_L2_NORM: Unit L2 normalization type
  • NONE: No normalization type is specified.
shardSize Changes to this property will trigger replacement. String
Index data is split into equal parts to be processed. These are called "shards". The shard size must be specified when creating an index. The value must be one of the followings:

  • SHARD_SIZE_SMALL: Small (2GB)
  • SHARD_SIZE_MEDIUM: Medium (20GB)
  • SHARD_SIZE_LARGE: Large (50GB)
dimensions This property is required. number
The number of dimensions of the input vectors.
algorithmConfig AiIndexMetadataConfigAlgorithmConfig
The configuration with regard to the algorithms used for efficient search. Structure is documented below.
approximateNeighborsCount number
The default number of neighbors to find via approximate search before exact reordering is performed. Exact reordering is a procedure where results returned by an approximate search algorithm are reordered via a more expensive distance computation. Required if tree-AH algorithm is used.
distanceMeasureType string
The distance measure used in nearest neighbor search. The value must be one of the followings:

  • SQUARED_L2_DISTANCE: Euclidean (L_2) Distance
  • L1_DISTANCE: Manhattan (L_1) Distance
  • COSINE_DISTANCE: Cosine Distance. Defined as 1 - cosine similarity.
  • DOT_PRODUCT_DISTANCE: Dot Product Distance. Defined as a negative of the dot product
featureNormType string
Type of normalization to be carried out on each vector. The value must be one of the followings:

  • UNIT_L2_NORM: Unit L2 normalization type
  • NONE: No normalization type is specified.
shardSize Changes to this property will trigger replacement. string
Index data is split into equal parts to be processed. These are called "shards". The shard size must be specified when creating an index. The value must be one of the followings:

  • SHARD_SIZE_SMALL: Small (2GB)
  • SHARD_SIZE_MEDIUM: Medium (20GB)
  • SHARD_SIZE_LARGE: Large (50GB)
dimensions This property is required. int
The number of dimensions of the input vectors.
algorithm_config AiIndexMetadataConfigAlgorithmConfig
The configuration with regard to the algorithms used for efficient search. Structure is documented below.
approximate_neighbors_count int
The default number of neighbors to find via approximate search before exact reordering is performed. Exact reordering is a procedure where results returned by an approximate search algorithm are reordered via a more expensive distance computation. Required if tree-AH algorithm is used.
distance_measure_type str
The distance measure used in nearest neighbor search. The value must be one of the followings:

  • SQUARED_L2_DISTANCE: Euclidean (L_2) Distance
  • L1_DISTANCE: Manhattan (L_1) Distance
  • COSINE_DISTANCE: Cosine Distance. Defined as 1 - cosine similarity.
  • DOT_PRODUCT_DISTANCE: Dot Product Distance. Defined as a negative of the dot product
feature_norm_type str
Type of normalization to be carried out on each vector. The value must be one of the followings:

  • UNIT_L2_NORM: Unit L2 normalization type
  • NONE: No normalization type is specified.
shard_size Changes to this property will trigger replacement. str
Index data is split into equal parts to be processed. These are called "shards". The shard size must be specified when creating an index. The value must be one of the followings:

  • SHARD_SIZE_SMALL: Small (2GB)
  • SHARD_SIZE_MEDIUM: Medium (20GB)
  • SHARD_SIZE_LARGE: Large (50GB)
dimensions This property is required. Number
The number of dimensions of the input vectors.
algorithmConfig Property Map
The configuration with regard to the algorithms used for efficient search. Structure is documented below.
approximateNeighborsCount Number
The default number of neighbors to find via approximate search before exact reordering is performed. Exact reordering is a procedure where results returned by an approximate search algorithm are reordered via a more expensive distance computation. Required if tree-AH algorithm is used.
distanceMeasureType String
The distance measure used in nearest neighbor search. The value must be one of the followings:

  • SQUARED_L2_DISTANCE: Euclidean (L_2) Distance
  • L1_DISTANCE: Manhattan (L_1) Distance
  • COSINE_DISTANCE: Cosine Distance. Defined as 1 - cosine similarity.
  • DOT_PRODUCT_DISTANCE: Dot Product Distance. Defined as a negative of the dot product
featureNormType String
Type of normalization to be carried out on each vector. The value must be one of the followings:

  • UNIT_L2_NORM: Unit L2 normalization type
  • NONE: No normalization type is specified.
shardSize Changes to this property will trigger replacement. String
Index data is split into equal parts to be processed. These are called "shards". The shard size must be specified when creating an index. The value must be one of the followings:

  • SHARD_SIZE_SMALL: Small (2GB)
  • SHARD_SIZE_MEDIUM: Medium (20GB)
  • SHARD_SIZE_LARGE: Large (50GB)

AiIndexMetadataConfigAlgorithmConfig
, AiIndexMetadataConfigAlgorithmConfigArgs

BruteForceConfig AiIndexMetadataConfigAlgorithmConfigBruteForceConfig
Configuration options for using brute force search, which simply implements the standard linear search in the database for each query.
TreeAhConfig AiIndexMetadataConfigAlgorithmConfigTreeAhConfig
Configuration options for using 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.
BruteForceConfig AiIndexMetadataConfigAlgorithmConfigBruteForceConfig
Configuration options for using brute force search, which simply implements the standard linear search in the database for each query.
TreeAhConfig AiIndexMetadataConfigAlgorithmConfigTreeAhConfig
Configuration options for using 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.
bruteForceConfig AiIndexMetadataConfigAlgorithmConfigBruteForceConfig
Configuration options for using brute force search, which simply implements the standard linear search in the database for each query.
treeAhConfig AiIndexMetadataConfigAlgorithmConfigTreeAhConfig
Configuration options for using 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.
bruteForceConfig AiIndexMetadataConfigAlgorithmConfigBruteForceConfig
Configuration options for using brute force search, which simply implements the standard linear search in the database for each query.
treeAhConfig AiIndexMetadataConfigAlgorithmConfigTreeAhConfig
Configuration options for using 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.
brute_force_config AiIndexMetadataConfigAlgorithmConfigBruteForceConfig
Configuration options for using brute force search, which simply implements the standard linear search in the database for each query.
tree_ah_config AiIndexMetadataConfigAlgorithmConfigTreeAhConfig
Configuration options for using 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.
bruteForceConfig Property Map
Configuration options for using brute force search, which simply implements the standard linear search in the database for each query.
treeAhConfig Property Map
Configuration options for using 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.

AiIndexMetadataConfigAlgorithmConfigTreeAhConfig
, AiIndexMetadataConfigAlgorithmConfigTreeAhConfigArgs

LeafNodeEmbeddingCount int
Number of embeddings on each leaf node. The default value is 1000 if not set.
LeafNodesToSearchPercent int
The default percentage of leaf nodes that any query may be searched. Must be in range 1-100, inclusive. The default value is 10 (means 10%) if not set.
LeafNodeEmbeddingCount int
Number of embeddings on each leaf node. The default value is 1000 if not set.
LeafNodesToSearchPercent int
The default percentage of leaf nodes that any query may be searched. Must be in range 1-100, inclusive. The default value is 10 (means 10%) if not set.
leafNodeEmbeddingCount Integer
Number of embeddings on each leaf node. The default value is 1000 if not set.
leafNodesToSearchPercent Integer
The default percentage of leaf nodes that any query may be searched. Must be in range 1-100, inclusive. The default value is 10 (means 10%) if not set.
leafNodeEmbeddingCount number
Number of embeddings on each leaf node. The default value is 1000 if not set.
leafNodesToSearchPercent number
The default percentage of leaf nodes that any query may be searched. Must be in range 1-100, inclusive. The default value is 10 (means 10%) if not set.
leaf_node_embedding_count int
Number of embeddings on each leaf node. The default value is 1000 if not set.
leaf_nodes_to_search_percent int
The default percentage of leaf nodes that any query may be searched. Must be in range 1-100, inclusive. The default value is 10 (means 10%) if not set.
leafNodeEmbeddingCount Number
Number of embeddings on each leaf node. The default value is 1000 if not set.
leafNodesToSearchPercent Number
The default percentage of leaf nodes that any query may be searched. Must be in range 1-100, inclusive. The default value is 10 (means 10%) if not set.

Import

Index can be imported using any of these accepted formats:

  • projects/{{project}}/locations/{{region}}/indexes/{{name}}

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

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

  • {{name}}

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

$ pulumi import gcp:vertex/aiIndex:AiIndex default projects/{{project}}/locations/{{region}}/indexes/{{name}}
Copy
$ pulumi import gcp:vertex/aiIndex:AiIndex default {{project}}/{{region}}/{{name}}
Copy
$ pulumi import gcp:vertex/aiIndex:AiIndex default {{region}}/{{name}}
Copy
$ pulumi import gcp:vertex/aiIndex:AiIndex default {{name}}
Copy

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.