1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. vertex
  5. AiIndex
Google Cloud Classic v6.66.0 published on Monday, Sep 18, 2023 by Pulumi

gcp.vertex.AiIndex

Explore with Pulumi AI

gcp logo
Google Cloud Classic v6.66.0 published on Monday, Sep 18, 2023 by Pulumi

    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 System.Linq;
    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,
                    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",
        });
    
    });
    
    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("{\"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
    	})
    }
    
    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)
                        .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());
    
        }
    }
    
    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,
                shard_size="SHARD_SIZE_SMALL",
                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,
                shardSize: "SHARD_SIZE_SMALL",
                distanceMeasureType: "DOT_PRODUCT_DISTANCE",
                algorithmConfig: {
                    treeAhConfig: {
                        leafNodeEmbeddingCount: 500,
                        leafNodesToSearchPercent: 7,
                    },
                },
            },
        },
        indexUpdateMethod: "BATCH_UPDATE",
    });
    
    resources:
      bucket:
        type: gcp:storage:Bucket
        properties:
          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
              shardSize: SHARD_SIZE_SMALL
              distanceMeasureType: DOT_PRODUCT_DISTANCE
              algorithmConfig:
                treeAhConfig:
                  leafNodeEmbeddingCount: 500
                  leafNodesToSearchPercent: 7
          indexUpdateMethod: BATCH_UPDATE
    

    Vertex Ai Index Streaming

    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()
        {
            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,
                    ShardSize = "SHARD_SIZE_LARGE",
                    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("{\"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: 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)
                        .shardSize("SHARD_SIZE_LARGE")
                        .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,
                shard_size="SHARD_SIZE_LARGE",
                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,
                shardSize: "SHARD_SIZE_LARGE",
                distanceMeasureType: "COSINE_DISTANCE",
                featureNormType: "UNIT_L2_NORM",
                algorithmConfig: {
                    bruteForceConfig: {},
                },
            },
        },
        indexUpdateMethod: "STREAM_UPDATE",
    });
    
    resources:
      bucket:
        type: gcp:storage:Bucket
        properties:
          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
              shardSize: SHARD_SIZE_LARGE
              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 AiIndexMetadata

    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 AiIndexMetadata

    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 AiIndexMetadata

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


    Etag string

    Used to perform consistent read-modify-write updates.

    IndexStats List<AiIndexIndexStat>

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


    etag String

    Used to perform consistent read-modify-write updates.

    indexStats List<AiIndexIndexStat>

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


    etag string

    Used to perform consistent read-modify-write updates.

    indexStats AiIndexIndexStat[]

    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 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 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, 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 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, AiIndexMetadataConfigArgs

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

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

    gcp logo
    Google Cloud Classic v6.66.0 published on Monday, Sep 18, 2023 by Pulumi