AiIndex

class AiIndex : KotlinCustomResource

A representation of a collection of database items organized in a way that allows for approximate nearest neighbor (a.k.a ANN) algorithms search. To get more information about Index, see:

Example Usage

Vertex Ai Index

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const bucket = new gcp.storage.Bucket("bucket", {
name: "vertex-ai-index-test",
location: "us-central1",
uniformBucketLevelAccess: true,
});
// The sample data comes from the following link:
// https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
const data = new gcp.storage.BucketObject("data", {
name: "contents/data.json",
bucket: bucket.name,
content: `{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
`,
});
const index = new gcp.vertex.AiIndex("index", {
labels: {
foo: "bar",
},
region: "us-central1",
displayName: "test-index",
description: "index for test",
metadata: {
contentsDeltaUri: pulumi.interpolate`gs://${bucket.name}/contents`,
config: {
dimensions: 2,
approximateNeighborsCount: 150,
shardSize: "SHARD_SIZE_SMALL",
distanceMeasureType: "DOT_PRODUCT_DISTANCE",
algorithmConfig: {
treeAhConfig: {
leafNodeEmbeddingCount: 500,
leafNodesToSearchPercent: 7,
},
},
},
},
indexUpdateMethod: "BATCH_UPDATE",
});
import pulumi
import pulumi_gcp as gcp
bucket = gcp.storage.Bucket("bucket",
name="vertex-ai-index-test",
location="us-central1",
uniform_bucket_level_access=True)
# The sample data comes from the following link:
# https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
data = gcp.storage.BucketObject("data",
name="contents/data.json",
bucket=bucket.name,
content="""{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
""")
index = gcp.vertex.AiIndex("index",
labels={
"foo": "bar",
},
region="us-central1",
display_name="test-index",
description="index for test",
metadata={
"contents_delta_uri": bucket.name.apply(lambda name: f"gs://{name}/contents"),
"config": {
"dimensions": 2,
"approximate_neighbors_count": 150,
"shard_size": "SHARD_SIZE_SMALL",
"distance_measure_type": "DOT_PRODUCT_DISTANCE",
"algorithm_config": {
"tree_ah_config": {
"leaf_node_embedding_count": 500,
"leaf_nodes_to_search_percent": 7,
},
},
},
},
index_update_method="BATCH_UPDATE")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var bucket = new Gcp.Storage.Bucket("bucket", new()
{
Name = "vertex-ai-index-test",
Location = "us-central1",
UniformBucketLevelAccess = true,
});
// The sample data comes from the following link:
// https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
var data = new Gcp.Storage.BucketObject("data", new()
{
Name = "contents/data.json",
Bucket = bucket.Name,
Content = @"{""id"": ""42"", ""embedding"": [0.5, 1.0], ""restricts"": [{""namespace"": ""class"", ""allow"": [""cat"", ""pet""]},{""namespace"": ""category"", ""allow"": [""feline""]}]}
{""id"": ""43"", ""embedding"": [0.6, 1.0], ""restricts"": [{""namespace"": ""class"", ""allow"": [""dog"", ""pet""]},{""namespace"": ""category"", ""allow"": [""canine""]}]}
",
});
var index = new Gcp.Vertex.AiIndex("index", new()
{
Labels =
{
{ "foo", "bar" },
},
Region = "us-central1",
DisplayName = "test-index",
Description = "index for test",
Metadata = new Gcp.Vertex.Inputs.AiIndexMetadataArgs
{
ContentsDeltaUri = bucket.Name.Apply(name => $"gs://{name}/contents"),
Config = new Gcp.Vertex.Inputs.AiIndexMetadataConfigArgs
{
Dimensions = 2,
ApproximateNeighborsCount = 150,
ShardSize = "SHARD_SIZE_SMALL",
DistanceMeasureType = "DOT_PRODUCT_DISTANCE",
AlgorithmConfig = new Gcp.Vertex.Inputs.AiIndexMetadataConfigAlgorithmConfigArgs
{
TreeAhConfig = new Gcp.Vertex.Inputs.AiIndexMetadataConfigAlgorithmConfigTreeAhConfigArgs
{
LeafNodeEmbeddingCount = 500,
LeafNodesToSearchPercent = 7,
},
},
},
},
IndexUpdateMethod = "BATCH_UPDATE",
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/storage"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/vertex"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
Name: pulumi.String("vertex-ai-index-test"),
Location: pulumi.String("us-central1"),
UniformBucketLevelAccess: pulumi.Bool(true),
})
if err != nil {
return err
}
// The sample data comes from the following link:
// https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
_, err = storage.NewBucketObject(ctx, "data", &storage.BucketObjectArgs{
Name: pulumi.String("contents/data.json"),
Bucket: bucket.Name,
Content: pulumi.String("{\"id\": \"42\", \"embedding\": [0.5, 1.0], \"restricts\": [{\"namespace\": \"class\", \"allow\": [\"cat\", \"pet\"]},{\"namespace\": \"category\", \"allow\": [\"feline\"]}]}\n{\"id\": \"43\", \"embedding\": [0.6, 1.0], \"restricts\": [{\"namespace\": \"class\", \"allow\": [\"dog\", \"pet\"]},{\"namespace\": \"category\", \"allow\": [\"canine\"]}]}\n"),
})
if err != nil {
return err
}
_, err = vertex.NewAiIndex(ctx, "index", &vertex.AiIndexArgs{
Labels: pulumi.StringMap{
"foo": pulumi.String("bar"),
},
Region: pulumi.String("us-central1"),
DisplayName: pulumi.String("test-index"),
Description: pulumi.String("index for test"),
Metadata: &vertex.AiIndexMetadataArgs{
ContentsDeltaUri: bucket.Name.ApplyT(func(name string) (string, error) {
return fmt.Sprintf("gs://%v/contents", name), nil
}).(pulumi.StringOutput),
Config: &vertex.AiIndexMetadataConfigArgs{
Dimensions: pulumi.Int(2),
ApproximateNeighborsCount: pulumi.Int(150),
ShardSize: pulumi.String("SHARD_SIZE_SMALL"),
DistanceMeasureType: pulumi.String("DOT_PRODUCT_DISTANCE"),
AlgorithmConfig: &vertex.AiIndexMetadataConfigAlgorithmConfigArgs{
TreeAhConfig: &vertex.AiIndexMetadataConfigAlgorithmConfigTreeAhConfigArgs{
LeafNodeEmbeddingCount: pulumi.Int(500),
LeafNodesToSearchPercent: pulumi.Int(7),
},
},
},
},
IndexUpdateMethod: pulumi.String("BATCH_UPDATE"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.storage.BucketObject;
import com.pulumi.gcp.storage.BucketObjectArgs;
import com.pulumi.gcp.vertex.AiIndex;
import com.pulumi.gcp.vertex.AiIndexArgs;
import com.pulumi.gcp.vertex.inputs.AiIndexMetadataArgs;
import com.pulumi.gcp.vertex.inputs.AiIndexMetadataConfigArgs;
import com.pulumi.gcp.vertex.inputs.AiIndexMetadataConfigAlgorithmConfigArgs;
import com.pulumi.gcp.vertex.inputs.AiIndexMetadataConfigAlgorithmConfigTreeAhConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var bucket = new Bucket("bucket", BucketArgs.builder()
.name("vertex-ai-index-test")
.location("us-central1")
.uniformBucketLevelAccess(true)
.build());
// The sample data comes from the following link:
// https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
var data = new BucketObject("data", BucketObjectArgs.builder()
.name("contents/data.json")
.bucket(bucket.name())
.content("""
{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
""")
.build());
var index = new AiIndex("index", AiIndexArgs.builder()
.labels(Map.of("foo", "bar"))
.region("us-central1")
.displayName("test-index")
.description("index for test")
.metadata(AiIndexMetadataArgs.builder()
.contentsDeltaUri(bucket.name().applyValue(name -> String.format("gs://%s/contents", name)))
.config(AiIndexMetadataConfigArgs.builder()
.dimensions(2)
.approximateNeighborsCount(150)
.shardSize("SHARD_SIZE_SMALL")
.distanceMeasureType("DOT_PRODUCT_DISTANCE")
.algorithmConfig(AiIndexMetadataConfigAlgorithmConfigArgs.builder()
.treeAhConfig(AiIndexMetadataConfigAlgorithmConfigTreeAhConfigArgs.builder()
.leafNodeEmbeddingCount(500)
.leafNodesToSearchPercent(7)
.build())
.build())
.build())
.build())
.indexUpdateMethod("BATCH_UPDATE")
.build());
}
}
resources:
bucket:
type: gcp:storage:Bucket
properties:
name: vertex-ai-index-test
location: us-central1
uniformBucketLevelAccess: true
# The sample data comes from the following link:
# https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
data:
type: gcp:storage:BucketObject
properties:
name: contents/data.json
bucket: ${bucket.name}
content: |
{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
index:
type: gcp:vertex:AiIndex
properties:
labels:
foo: bar
region: us-central1
displayName: test-index
description: index for test
metadata:
contentsDeltaUri: gs://${bucket.name}/contents
config:
dimensions: 2
approximateNeighborsCount: 150
shardSize: SHARD_SIZE_SMALL
distanceMeasureType: DOT_PRODUCT_DISTANCE
algorithmConfig:
treeAhConfig:
leafNodeEmbeddingCount: 500
leafNodesToSearchPercent: 7
indexUpdateMethod: BATCH_UPDATE

Vertex Ai Index Streaming

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const bucket = new gcp.storage.Bucket("bucket", {
name: "vertex-ai-index-test",
location: "us-central1",
uniformBucketLevelAccess: true,
});
// The sample data comes from the following link:
// https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
const data = new gcp.storage.BucketObject("data", {
name: "contents/data.json",
bucket: bucket.name,
content: `{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
`,
});
const index = new gcp.vertex.AiIndex("index", {
labels: {
foo: "bar",
},
region: "us-central1",
displayName: "test-index",
description: "index for test",
metadata: {
contentsDeltaUri: pulumi.interpolate`gs://${bucket.name}/contents`,
config: {
dimensions: 2,
shardSize: "SHARD_SIZE_LARGE",
distanceMeasureType: "COSINE_DISTANCE",
featureNormType: "UNIT_L2_NORM",
algorithmConfig: {
bruteForceConfig: {},
},
},
},
indexUpdateMethod: "STREAM_UPDATE",
});
import pulumi
import pulumi_gcp as gcp
bucket = gcp.storage.Bucket("bucket",
name="vertex-ai-index-test",
location="us-central1",
uniform_bucket_level_access=True)
# The sample data comes from the following link:
# https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
data = gcp.storage.BucketObject("data",
name="contents/data.json",
bucket=bucket.name,
content="""{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
""")
index = gcp.vertex.AiIndex("index",
labels={
"foo": "bar",
},
region="us-central1",
display_name="test-index",
description="index for test",
metadata={
"contents_delta_uri": bucket.name.apply(lambda name: f"gs://{name}/contents"),
"config": {
"dimensions": 2,
"shard_size": "SHARD_SIZE_LARGE",
"distance_measure_type": "COSINE_DISTANCE",
"feature_norm_type": "UNIT_L2_NORM",
"algorithm_config": {
"brute_force_config": {},
},
},
},
index_update_method="STREAM_UPDATE")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var bucket = new Gcp.Storage.Bucket("bucket", new()
{
Name = "vertex-ai-index-test",
Location = "us-central1",
UniformBucketLevelAccess = true,
});
// The sample data comes from the following link:
// https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
var data = new Gcp.Storage.BucketObject("data", new()
{
Name = "contents/data.json",
Bucket = bucket.Name,
Content = @"{""id"": ""42"", ""embedding"": [0.5, 1.0], ""restricts"": [{""namespace"": ""class"", ""allow"": [""cat"", ""pet""]},{""namespace"": ""category"", ""allow"": [""feline""]}]}
{""id"": ""43"", ""embedding"": [0.6, 1.0], ""restricts"": [{""namespace"": ""class"", ""allow"": [""dog"", ""pet""]},{""namespace"": ""category"", ""allow"": [""canine""]}]}
",
});
var index = new Gcp.Vertex.AiIndex("index", new()
{
Labels =
{
{ "foo", "bar" },
},
Region = "us-central1",
DisplayName = "test-index",
Description = "index for test",
Metadata = new Gcp.Vertex.Inputs.AiIndexMetadataArgs
{
ContentsDeltaUri = bucket.Name.Apply(name => $"gs://{name}/contents"),
Config = new Gcp.Vertex.Inputs.AiIndexMetadataConfigArgs
{
Dimensions = 2,
ShardSize = "SHARD_SIZE_LARGE",
DistanceMeasureType = "COSINE_DISTANCE",
FeatureNormType = "UNIT_L2_NORM",
AlgorithmConfig = new Gcp.Vertex.Inputs.AiIndexMetadataConfigAlgorithmConfigArgs
{
BruteForceConfig = null,
},
},
},
IndexUpdateMethod = "STREAM_UPDATE",
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/storage"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/vertex"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
Name: pulumi.String("vertex-ai-index-test"),
Location: pulumi.String("us-central1"),
UniformBucketLevelAccess: pulumi.Bool(true),
})
if err != nil {
return err
}
// The sample data comes from the following link:
// https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
_, err = storage.NewBucketObject(ctx, "data", &storage.BucketObjectArgs{
Name: pulumi.String("contents/data.json"),
Bucket: bucket.Name,
Content: pulumi.String("{\"id\": \"42\", \"embedding\": [0.5, 1.0], \"restricts\": [{\"namespace\": \"class\", \"allow\": [\"cat\", \"pet\"]},{\"namespace\": \"category\", \"allow\": [\"feline\"]}]}\n{\"id\": \"43\", \"embedding\": [0.6, 1.0], \"restricts\": [{\"namespace\": \"class\", \"allow\": [\"dog\", \"pet\"]},{\"namespace\": \"category\", \"allow\": [\"canine\"]}]}\n"),
})
if err != nil {
return err
}
_, err = vertex.NewAiIndex(ctx, "index", &vertex.AiIndexArgs{
Labels: pulumi.StringMap{
"foo": pulumi.String("bar"),
},
Region: pulumi.String("us-central1"),
DisplayName: pulumi.String("test-index"),
Description: pulumi.String("index for test"),
Metadata: &vertex.AiIndexMetadataArgs{
ContentsDeltaUri: bucket.Name.ApplyT(func(name string) (string, error) {
return fmt.Sprintf("gs://%v/contents", name), nil
}).(pulumi.StringOutput),
Config: &vertex.AiIndexMetadataConfigArgs{
Dimensions: pulumi.Int(2),
ShardSize: pulumi.String("SHARD_SIZE_LARGE"),
DistanceMeasureType: pulumi.String("COSINE_DISTANCE"),
FeatureNormType: pulumi.String("UNIT_L2_NORM"),
AlgorithmConfig: &vertex.AiIndexMetadataConfigAlgorithmConfigArgs{
BruteForceConfig: 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()
.name("vertex-ai-index-test")
.location("us-central1")
.uniformBucketLevelAccess(true)
.build());
// The sample data comes from the following link:
// https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
var data = new BucketObject("data", BucketObjectArgs.builder()
.name("contents/data.json")
.bucket(bucket.name())
.content("""
{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
""")
.build());
var index = new AiIndex("index", AiIndexArgs.builder()
.labels(Map.of("foo", "bar"))
.region("us-central1")
.displayName("test-index")
.description("index for test")
.metadata(AiIndexMetadataArgs.builder()
.contentsDeltaUri(bucket.name().applyValue(name -> String.format("gs://%s/contents", name)))
.config(AiIndexMetadataConfigArgs.builder()
.dimensions(2)
.shardSize("SHARD_SIZE_LARGE")
.distanceMeasureType("COSINE_DISTANCE")
.featureNormType("UNIT_L2_NORM")
.algorithmConfig(AiIndexMetadataConfigAlgorithmConfigArgs.builder()
.bruteForceConfig()
.build())
.build())
.build())
.indexUpdateMethod("STREAM_UPDATE")
.build());
}
}
resources:
bucket:
type: gcp:storage:Bucket
properties:
name: vertex-ai-index-test
location: us-central1
uniformBucketLevelAccess: true
# The sample data comes from the following link:
# https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
data:
type: gcp:storage:BucketObject
properties:
name: contents/data.json
bucket: ${bucket.name}
content: |
{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
index:
type: gcp:vertex:AiIndex
properties:
labels:
foo: bar
region: us-central1
displayName: test-index
description: index for test
metadata:
contentsDeltaUri: gs://${bucket.name}/contents
config:
dimensions: 2
shardSize: SHARD_SIZE_LARGE
distanceMeasureType: COSINE_DISTANCE
featureNormType: UNIT_L2_NORM
algorithmConfig:
bruteForceConfig: {}
indexUpdateMethod: STREAM_UPDATE

Import

Index can be imported using any of these accepted formats:

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

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

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

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

$ pulumi import gcp:vertex/aiIndex:AiIndex default projects/{{project}}/locations/{{region}}/indexes/{{name}}
$ 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}}

Properties

Link copied to clipboard
val createTime: Output<String>

The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.

Link copied to clipboard

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.

Link copied to clipboard
val description: Output<String>?

The description of the Index.

Link copied to clipboard
val displayName: Output<String>

The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.

Link copied to clipboard

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

Link copied to clipboard
val etag: Output<String>

Used to perform consistent read-modify-write updates.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

Stats of the index resource. Structure is documented below.

Link copied to clipboard

The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.

Link copied to clipboard
val labels: Output<Map<String, String>>?

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

Link copied to clipboard

An additional information about the Index Structure is documented below.

Link copied to clipboard

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.

Link copied to clipboard
val name: Output<String>

The resource name of the Index.

Link copied to clipboard
val project: Output<String>

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

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
val pulumiLabels: Output<Map<String, String>>

The combination of labels configured directly on the resource and default labels configured on the provider.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val region: Output<String>?

The region of the index. eg us-central1

Link copied to clipboard
val updateTime: Output<String>

The timestamp of when the Index was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.

Link copied to clipboard
val urn: Output<String>