gcp logo
Google Cloud Classic v6.48.0, Jan 24 23

gcp.vertex.AiIndex

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

using System.Collections.Generic;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var bucket = new Gcp.Storage.Bucket("bucket", new()
    {
        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()
    {
        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,
                DistanceMeasureType = "DOT_PRODUCT_DISTANCE",
                AlgorithmConfig = new Gcp.Vertex.Inputs.AiIndexMetadataConfigAlgorithmConfigArgs
                {
                    TreeAhConfig = new Gcp.Vertex.Inputs.AiIndexMetadataConfigAlgorithmConfigTreeAhConfigArgs
                    {
                        LeafNodeEmbeddingCount = 500,
                        LeafNodesToSearchPercent = 7,
                    },
                },
            },
        },
        IndexUpdateMethod = "BATCH_UPDATE",
    });

});
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/storage"
	"github.com/pulumi/pulumi-gcp/sdk/v6/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{
			Location:                 pulumi.String("us-central1"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewBucketObject(ctx, "data", &storage.BucketObjectArgs{
			Bucket:  bucket.Name,
			Content: pulumi.String(fmt.Sprintf("{\"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),
					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
	})
}
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()        
            .location("us-central1")
            .uniformBucketLevelAccess(true)
            .build());

        var data = new BucketObject("data", BucketObjectArgs.builder()        
            .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)
                    .distanceMeasureType("DOT_PRODUCT_DISTANCE")
                    .algorithmConfig(AiIndexMetadataConfigAlgorithmConfigArgs.builder()
                        .treeAhConfig(AiIndexMetadataConfigAlgorithmConfigTreeAhConfigArgs.builder()
                            .leafNodeEmbeddingCount(500)
                            .leafNodesToSearchPercent(7)
                            .build())
                        .build())
                    .build())
                .build())
            .indexUpdateMethod("BATCH_UPDATE")
            .build());

    }
}
import pulumi
import pulumi_gcp as gcp

bucket = gcp.storage.Bucket("bucket",
    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",
    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=gcp.vertex.AiIndexMetadataArgs(
        contents_delta_uri=bucket.name.apply(lambda name: f"gs://{name}/contents"),
        config=gcp.vertex.AiIndexMetadataConfigArgs(
            dimensions=2,
            approximate_neighbors_count=150,
            distance_measure_type="DOT_PRODUCT_DISTANCE",
            algorithm_config=gcp.vertex.AiIndexMetadataConfigAlgorithmConfigArgs(
                tree_ah_config=gcp.vertex.AiIndexMetadataConfigAlgorithmConfigTreeAhConfigArgs(
                    leaf_node_embedding_count=500,
                    leaf_nodes_to_search_percent=7,
                ),
            ),
        ),
    ),
    index_update_method="BATCH_UPDATE")
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const bucket = new gcp.storage.Bucket("bucket", {
    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", {
    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,
            distanceMeasureType: "DOT_PRODUCT_DISTANCE",
            algorithmConfig: {
                treeAhConfig: {
                    leafNodeEmbeddingCount: 500,
                    leafNodesToSearchPercent: 7,
                },
            },
        },
    },
    indexUpdateMethod: "BATCH_UPDATE",
});
resources:
  bucket:
    type: gcp:storage:Bucket
    properties:
      # Every bucket name must be globally unique
      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:
      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
          distanceMeasureType: DOT_PRODUCT_DISTANCE
          algorithmConfig:
            treeAhConfig:
              leafNodeEmbeddingCount: 500
              leafNodesToSearchPercent: 7
      indexUpdateMethod: BATCH_UPDATE

Vertex Ai Index Streaming

using System.Collections.Generic;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var bucket = new Gcp.Storage.Bucket("bucket", new()
    {
        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()
    {
        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,
                DistanceMeasureType = "COSINE_DISTANCE",
                FeatureNormType = "UNIT_L2_NORM",
                AlgorithmConfig = new Gcp.Vertex.Inputs.AiIndexMetadataConfigAlgorithmConfigArgs
                {
                    BruteForceConfig = null,
                },
            },
        },
        IndexUpdateMethod = "STREAM_UPDATE",
    });

});
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/storage"
	"github.com/pulumi/pulumi-gcp/sdk/v6/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{
			Location:                 pulumi.String("us-central1"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewBucketObject(ctx, "data", &storage.BucketObjectArgs{
			Bucket:  bucket.Name,
			Content: pulumi.String(fmt.Sprintf("{\"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),
					DistanceMeasureType: pulumi.String("COSINE_DISTANCE"),
					FeatureNormType:     pulumi.String("UNIT_L2_NORM"),
					AlgorithmConfig: &vertex.AiIndexMetadataConfigAlgorithmConfigArgs{
						BruteForceConfig: nil,
					},
				},
			},
			IndexUpdateMethod: pulumi.String("STREAM_UPDATE"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
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()        
            .location("us-central1")
            .uniformBucketLevelAccess(true)
            .build());

        var data = new BucketObject("data", BucketObjectArgs.builder()        
            .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)
                    .distanceMeasureType("COSINE_DISTANCE")
                    .featureNormType("UNIT_L2_NORM")
                    .algorithmConfig(AiIndexMetadataConfigAlgorithmConfigArgs.builder()
                        .bruteForceConfig()
                        .build())
                    .build())
                .build())
            .indexUpdateMethod("STREAM_UPDATE")
            .build());

    }
}
import pulumi
import pulumi_gcp as gcp

bucket = gcp.storage.Bucket("bucket",
    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",
    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=gcp.vertex.AiIndexMetadataArgs(
        contents_delta_uri=bucket.name.apply(lambda name: f"gs://{name}/contents"),
        config=gcp.vertex.AiIndexMetadataConfigArgs(
            dimensions=2,
            distance_measure_type="COSINE_DISTANCE",
            feature_norm_type="UNIT_L2_NORM",
            algorithm_config=gcp.vertex.AiIndexMetadataConfigAlgorithmConfigArgs(
                brute_force_config=gcp.vertex.AiIndexMetadataConfigAlgorithmConfigBruteForceConfigArgs(),
            ),
        ),
    ),
    index_update_method="STREAM_UPDATE")
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const bucket = new gcp.storage.Bucket("bucket", {
    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", {
    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,
            distanceMeasureType: "COSINE_DISTANCE",
            featureNormType: "UNIT_L2_NORM",
            algorithmConfig: {
                bruteForceConfig: {},
            },
        },
    },
    indexUpdateMethod: "STREAM_UPDATE",
});
resources:
  bucket:
    type: gcp:storage:Bucket
    properties:
      # Every bucket name must be globally unique
      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:
      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
          distanceMeasureType: COSINE_DISTANCE
          featureNormType: UNIT_L2_NORM
          algorithmConfig:
            bruteForceConfig: {}
      indexUpdateMethod: STREAM_UPDATE

Create AiIndex Resource

new AiIndex(name: string, args: AiIndexArgs, opts?: CustomResourceOptions);
@overload
def AiIndex(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            description: Optional[str] = None,
            display_name: 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)
@overload
def AiIndex(resource_name: str,
            args: AiIndexArgs,
            opts: Optional[ResourceOptions] = 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.

name string
The unique name of the resource.
args AiIndexArgs
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 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 string
The unique name of the resource.
args AiIndexArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args AiIndexArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args AiIndexArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

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

The AiIndex resource accepts the following input properties:

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.

Description string

The description of the Index.

IndexUpdateMethod 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.

Metadata AiIndexMetadataArgs

An additional information about the Index Structure is documented below.

Project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Region string

The region of the index. eg us-central1

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.

Description string

The description of the Index.

IndexUpdateMethod 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.

Metadata AiIndexMetadataArgs

An additional information about the Index Structure is documented below.

Project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Region string

The region of the index. eg us-central1

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.

description String

The description of the Index.

indexUpdateMethod 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.

metadata AiIndexMetadataArgs

An additional information about the Index Structure is documented below.

project String

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

region String

The region of the index. eg us-central1

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.

description string

The description of the Index.

indexUpdateMethod 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.

metadata AiIndexMetadataArgs

An additional information about the Index Structure is documented below.

project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

region string

The region of the index. eg us-central1

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.

description str

The description of the Index.

index_update_method 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.

metadata AiIndexMetadataArgs

An additional information about the Index Structure is documented below.

project str

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

region str

The region of the index. eg us-central1

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.

description String

The description of the Index.

indexUpdateMethod 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.

metadata Property Map

An additional information about the Index Structure is documented below.

project String

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

region 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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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,
        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,
        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)
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:
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<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.

Etag string

Used to perform consistent read-modify-write updates.

IndexStats List<AiIndexIndexStatArgs>

Stats of the index resource. Structure is documented below.

IndexUpdateMethod 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.

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 string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Region 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.

Etag string

Used to perform consistent read-modify-write updates.

IndexStats []AiIndexIndexStatArgs

Stats of the index resource. Structure is documented below.

IndexUpdateMethod 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.

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 string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Region 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<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.

etag String

Used to perform consistent read-modify-write updates.

indexStats List<AiIndexIndexStatArgs>

Stats of the index resource. Structure is documented below.

indexUpdateMethod 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.

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 String

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

region 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.

etag string

Used to perform consistent read-modify-write updates.

indexStats AiIndexIndexStatArgs[]

Stats of the index resource. Structure is documented below.

indexUpdateMethod 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.

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 string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

region 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.

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 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.

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 str

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

region 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.

etag String

Used to perform consistent read-modify-write updates.

indexStats List<Property Map>

Stats of the index resource. Structure is documented below.

indexUpdateMethod 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.

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 String

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

region 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

DeployedIndexId string

The ID of the DeployedIndex in the above IndexEndpoint.

IndexEndpoint string

A resource name of the IndexEndpoint.

DeployedIndexId string

The ID of the DeployedIndex in the above IndexEndpoint.

IndexEndpoint string

A resource name of the IndexEndpoint.

deployedIndexId String

The ID of the DeployedIndex in the above IndexEndpoint.

indexEndpoint String

A resource name of the IndexEndpoint.

deployedIndexId string

The ID of the DeployedIndex in the above IndexEndpoint.

indexEndpoint string

A resource name of the IndexEndpoint.

deployed_index_id str

The ID of the DeployedIndex in the above IndexEndpoint.

index_endpoint str

A resource name of the IndexEndpoint.

deployedIndexId String

The ID of the DeployedIndex in the above IndexEndpoint.

indexEndpoint String

A resource name of the IndexEndpoint.

AiIndexIndexStat

ShardsCount int

The number of shards in the Index.

VectorsCount string

The number of vectors in the Index.

ShardsCount int

The number of shards in the Index.

VectorsCount string

The number of vectors in the Index.

shardsCount Integer

The number of shards in the Index.

vectorsCount String

The number of vectors in the Index.

shardsCount number

The number of shards in the Index.

vectorsCount string

The number of vectors in the Index.

shards_count int

The number of shards in the Index.

vectors_count str

The number of vectors in the Index.

shardsCount Number

The number of shards in the Index.

vectorsCount String

The number of vectors in the Index.

AiIndexMetadata

Config 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 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 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 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 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 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

Dimensions 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.
Dimensions 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.
dimensions 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.
dimensions 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.
dimensions 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.
dimensions 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.

AiIndexMetadataConfigAlgorithmConfig

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

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

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

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.