1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. vertex
  5. AiIndexEndpointDeployedIndex
Google Cloud Classic v8.3.1 published on Wednesday, Sep 25, 2024 by Pulumi

gcp.vertex.AiIndexEndpointDeployedIndex

Explore with Pulumi AI

gcp logo
Google Cloud Classic v8.3.1 published on Wednesday, Sep 25, 2024 by Pulumi

    An endpoint indexes are deployed into. An index endpoint can have multiple deployed indexes.

    To get more information about IndexEndpointDeployedIndex, see:

    Example Usage

    Vertex Ai Index Endpoint Deployed Index Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const sa = new gcp.serviceaccount.Account("sa", {accountId: "vertex-sa"});
    const bucket = new gcp.storage.Bucket("bucket", {
        name: "bucket-name",
        location: "us-central1",
        uniformBucketLevelAccess: true,
    });
    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",
    });
    const vertexNetwork = gcp.compute.getNetwork({
        name: "network-name",
    });
    const project = gcp.organizations.getProject({});
    const vertexIndexEndpointDeployed = new gcp.vertex.AiIndexEndpoint("vertex_index_endpoint_deployed", {
        displayName: "sample-endpoint",
        description: "A sample vertex endpoint",
        region: "us-central1",
        labels: {
            "label-one": "value-one",
        },
        network: Promise.all([project, vertexNetwork]).then(([project, vertexNetwork]) => `projects/${project.number}/global/networks/${vertexNetwork.name}`),
    });
    const basicDeployedIndex = new gcp.vertex.AiIndexEndpointDeployedIndex("basic_deployed_index", {
        indexEndpoint: vertexIndexEndpointDeployed.id,
        index: index.id,
        deployedIndexId: "deployed_index_id",
        reservedIpRanges: ["vertex-ai-range"],
        enableAccessLogging: false,
        displayName: "vertex-deployed-index",
        deployedIndexAuthConfig: {
            authProvider: {
                audiences: ["123456-my-app"],
                allowedIssuers: [sa.email],
            },
        },
    }, {
        dependsOn: [
            vertexIndexEndpointDeployed,
            sa,
        ],
    });
    // 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"]}]}
    `,
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    sa = gcp.serviceaccount.Account("sa", account_id="vertex-sa")
    bucket = gcp.storage.Bucket("bucket",
        name="bucket-name",
        location="us-central1",
        uniform_bucket_level_access=True)
    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")
    vertex_network = gcp.compute.get_network(name="network-name")
    project = gcp.organizations.get_project()
    vertex_index_endpoint_deployed = gcp.vertex.AiIndexEndpoint("vertex_index_endpoint_deployed",
        display_name="sample-endpoint",
        description="A sample vertex endpoint",
        region="us-central1",
        labels={
            "label-one": "value-one",
        },
        network=f"projects/{project.number}/global/networks/{vertex_network.name}")
    basic_deployed_index = gcp.vertex.AiIndexEndpointDeployedIndex("basic_deployed_index",
        index_endpoint=vertex_index_endpoint_deployed.id,
        index=index.id,
        deployed_index_id="deployed_index_id",
        reserved_ip_ranges=["vertex-ai-range"],
        enable_access_logging=False,
        display_name="vertex-deployed-index",
        deployed_index_auth_config={
            "auth_provider": {
                "audiences": ["123456-my-app"],
                "allowed_issuers": [sa.email],
            },
        },
        opts = pulumi.ResourceOptions(depends_on=[
                vertex_index_endpoint_deployed,
                sa,
            ]))
    # 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"]}]}
    """)
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/serviceaccount"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/storage"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/vertex"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		sa, err := serviceaccount.NewAccount(ctx, "sa", &serviceaccount.AccountArgs{
    			AccountId: pulumi.String("vertex-sa"),
    		})
    		if err != nil {
    			return err
    		}
    		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
    			Name:                     pulumi.String("bucket-name"),
    			Location:                 pulumi.String("us-central1"),
    			UniformBucketLevelAccess: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		index, 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
    		}
    		vertexNetwork, err := compute.LookupNetwork(ctx, &compute.LookupNetworkArgs{
    			Name: "network-name",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		project, err := organizations.LookupProject(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		vertexIndexEndpointDeployed, err := vertex.NewAiIndexEndpoint(ctx, "vertex_index_endpoint_deployed", &vertex.AiIndexEndpointArgs{
    			DisplayName: pulumi.String("sample-endpoint"),
    			Description: pulumi.String("A sample vertex endpoint"),
    			Region:      pulumi.String("us-central1"),
    			Labels: pulumi.StringMap{
    				"label-one": pulumi.String("value-one"),
    			},
    			Network: pulumi.Sprintf("projects/%v/global/networks/%v", project.Number, vertexNetwork.Name),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = vertex.NewAiIndexEndpointDeployedIndex(ctx, "basic_deployed_index", &vertex.AiIndexEndpointDeployedIndexArgs{
    			IndexEndpoint:   vertexIndexEndpointDeployed.ID(),
    			Index:           index.ID(),
    			DeployedIndexId: pulumi.String("deployed_index_id"),
    			ReservedIpRanges: pulumi.StringArray{
    				pulumi.String("vertex-ai-range"),
    			},
    			EnableAccessLogging: pulumi.Bool(false),
    			DisplayName:         pulumi.String("vertex-deployed-index"),
    			DeployedIndexAuthConfig: &vertex.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs{
    				AuthProvider: &vertex.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs{
    					Audiences: pulumi.StringArray{
    						pulumi.String("123456-my-app"),
    					},
    					AllowedIssuers: pulumi.StringArray{
    						sa.Email,
    					},
    				},
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			vertexIndexEndpointDeployed,
    			sa,
    		}))
    		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
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var sa = new Gcp.ServiceAccount.Account("sa", new()
        {
            AccountId = "vertex-sa",
        });
    
        var bucket = new Gcp.Storage.Bucket("bucket", new()
        {
            Name = "bucket-name",
            Location = "us-central1",
            UniformBucketLevelAccess = true,
        });
    
        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",
        });
    
        var vertexNetwork = Gcp.Compute.GetNetwork.Invoke(new()
        {
            Name = "network-name",
        });
    
        var project = Gcp.Organizations.GetProject.Invoke();
    
        var vertexIndexEndpointDeployed = new Gcp.Vertex.AiIndexEndpoint("vertex_index_endpoint_deployed", new()
        {
            DisplayName = "sample-endpoint",
            Description = "A sample vertex endpoint",
            Region = "us-central1",
            Labels = 
            {
                { "label-one", "value-one" },
            },
            Network = Output.Tuple(project, vertexNetwork).Apply(values =>
            {
                var project = values.Item1;
                var vertexNetwork = values.Item2;
                return $"projects/{project.Apply(getProjectResult => getProjectResult.Number)}/global/networks/{vertexNetwork.Apply(getNetworkResult => getNetworkResult.Name)}";
            }),
        });
    
        var basicDeployedIndex = new Gcp.Vertex.AiIndexEndpointDeployedIndex("basic_deployed_index", new()
        {
            IndexEndpoint = vertexIndexEndpointDeployed.Id,
            Index = index.Id,
            DeployedIndexId = "deployed_index_id",
            ReservedIpRanges = new[]
            {
                "vertex-ai-range",
            },
            EnableAccessLogging = false,
            DisplayName = "vertex-deployed-index",
            DeployedIndexAuthConfig = new Gcp.Vertex.Inputs.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs
            {
                AuthProvider = new Gcp.Vertex.Inputs.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs
                {
                    Audiences = new[]
                    {
                        "123456-my-app",
                    },
                    AllowedIssuers = new[]
                    {
                        sa.Email,
                    },
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                vertexIndexEndpointDeployed,
                sa,
            },
        });
    
        // 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""]}]}
    ",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.serviceaccount.Account;
    import com.pulumi.gcp.serviceaccount.AccountArgs;
    import com.pulumi.gcp.storage.Bucket;
    import com.pulumi.gcp.storage.BucketArgs;
    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 com.pulumi.gcp.compute.ComputeFunctions;
    import com.pulumi.gcp.compute.inputs.GetNetworkArgs;
    import com.pulumi.gcp.organizations.OrganizationsFunctions;
    import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
    import com.pulumi.gcp.vertex.AiIndexEndpoint;
    import com.pulumi.gcp.vertex.AiIndexEndpointArgs;
    import com.pulumi.gcp.vertex.AiIndexEndpointDeployedIndex;
    import com.pulumi.gcp.vertex.AiIndexEndpointDeployedIndexArgs;
    import com.pulumi.gcp.vertex.inputs.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs;
    import com.pulumi.gcp.vertex.inputs.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs;
    import com.pulumi.gcp.storage.BucketObject;
    import com.pulumi.gcp.storage.BucketObjectArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var sa = new Account("sa", AccountArgs.builder()
                .accountId("vertex-sa")
                .build());
    
            var bucket = new Bucket("bucket", BucketArgs.builder()
                .name("bucket-name")
                .location("us-central1")
                .uniformBucketLevelAccess(true)
                .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());
    
            final var vertexNetwork = ComputeFunctions.getNetwork(GetNetworkArgs.builder()
                .name("network-name")
                .build());
    
            final var project = OrganizationsFunctions.getProject();
    
            var vertexIndexEndpointDeployed = new AiIndexEndpoint("vertexIndexEndpointDeployed", AiIndexEndpointArgs.builder()
                .displayName("sample-endpoint")
                .description("A sample vertex endpoint")
                .region("us-central1")
                .labels(Map.of("label-one", "value-one"))
                .network(String.format("projects/%s/global/networks/%s", project.applyValue(getProjectResult -> getProjectResult.number()),vertexNetwork.applyValue(getNetworkResult -> getNetworkResult.name())))
                .build());
    
            var basicDeployedIndex = new AiIndexEndpointDeployedIndex("basicDeployedIndex", AiIndexEndpointDeployedIndexArgs.builder()
                .indexEndpoint(vertexIndexEndpointDeployed.id())
                .index(index.id())
                .deployedIndexId("deployed_index_id")
                .reservedIpRanges("vertex-ai-range")
                .enableAccessLogging(false)
                .displayName("vertex-deployed-index")
                .deployedIndexAuthConfig(AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs.builder()
                    .authProvider(AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs.builder()
                        .audiences("123456-my-app")
                        .allowedIssuers(sa.email())
                        .build())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        vertexIndexEndpointDeployed,
                        sa)
                    .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());
    
        }
    }
    
    resources:
      sa:
        type: gcp:serviceaccount:Account
        properties:
          accountId: vertex-sa
      basicDeployedIndex:
        type: gcp:vertex:AiIndexEndpointDeployedIndex
        name: basic_deployed_index
        properties:
          indexEndpoint: ${vertexIndexEndpointDeployed.id}
          index: ${index.id}
          deployedIndexId: deployed_index_id
          reservedIpRanges:
            - vertex-ai-range
          enableAccessLogging: false
          displayName: vertex-deployed-index
          deployedIndexAuthConfig:
            authProvider:
              audiences:
                - 123456-my-app
              allowedIssuers:
                - ${sa.email}
        options:
          dependson:
            - ${vertexIndexEndpointDeployed}
            - ${sa}
      bucket:
        type: gcp:storage:Bucket
        properties:
          name: bucket-name
          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
      vertexIndexEndpointDeployed:
        type: gcp:vertex:AiIndexEndpoint
        name: vertex_index_endpoint_deployed
        properties:
          displayName: sample-endpoint
          description: A sample vertex endpoint
          region: us-central1
          labels:
            label-one: value-one
          network: projects/${project.number}/global/networks/${vertexNetwork.name}
    variables:
      vertexNetwork:
        fn::invoke:
          Function: gcp:compute:getNetwork
          Arguments:
            name: network-name
      project:
        fn::invoke:
          Function: gcp:organizations:getProject
          Arguments: {}
    

    Vertex Ai Index Endpoint Deployed Index Basic Two

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const sa = new gcp.serviceaccount.Account("sa", {accountId: "vertex-sa"});
    const bucket = new gcp.storage.Bucket("bucket", {
        name: "bucket-name",
        location: "us-central1",
        uniformBucketLevelAccess: true,
    });
    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",
    });
    const vertexNetwork = gcp.compute.getNetwork({
        name: "network-name",
    });
    const project = gcp.organizations.getProject({});
    const vertexIndexEndpointDeployed = new gcp.vertex.AiIndexEndpoint("vertex_index_endpoint_deployed", {
        displayName: "sample-endpoint",
        description: "A sample vertex endpoint",
        region: "us-central1",
        labels: {
            "label-one": "value-one",
        },
        network: Promise.all([project, vertexNetwork]).then(([project, vertexNetwork]) => `projects/${project.number}/global/networks/${vertexNetwork.name}`),
    });
    const basicDeployedIndex = new gcp.vertex.AiIndexEndpointDeployedIndex("basic_deployed_index", {
        indexEndpoint: vertexIndexEndpointDeployed.id,
        index: index.id,
        deployedIndexId: "deployed_index_id",
        reservedIpRanges: ["vertex-ai-range"],
        enableAccessLogging: false,
        displayName: "vertex-deployed-index",
        deployedIndexAuthConfig: {
            authProvider: {
                audiences: ["123456-my-app"],
                allowedIssuers: [sa.email],
            },
        },
        automaticResources: {
            maxReplicaCount: 4,
        },
    }, {
        dependsOn: [
            vertexIndexEndpointDeployed,
            sa,
        ],
    });
    // 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"]}]}
    `,
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    sa = gcp.serviceaccount.Account("sa", account_id="vertex-sa")
    bucket = gcp.storage.Bucket("bucket",
        name="bucket-name",
        location="us-central1",
        uniform_bucket_level_access=True)
    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")
    vertex_network = gcp.compute.get_network(name="network-name")
    project = gcp.organizations.get_project()
    vertex_index_endpoint_deployed = gcp.vertex.AiIndexEndpoint("vertex_index_endpoint_deployed",
        display_name="sample-endpoint",
        description="A sample vertex endpoint",
        region="us-central1",
        labels={
            "label-one": "value-one",
        },
        network=f"projects/{project.number}/global/networks/{vertex_network.name}")
    basic_deployed_index = gcp.vertex.AiIndexEndpointDeployedIndex("basic_deployed_index",
        index_endpoint=vertex_index_endpoint_deployed.id,
        index=index.id,
        deployed_index_id="deployed_index_id",
        reserved_ip_ranges=["vertex-ai-range"],
        enable_access_logging=False,
        display_name="vertex-deployed-index",
        deployed_index_auth_config={
            "auth_provider": {
                "audiences": ["123456-my-app"],
                "allowed_issuers": [sa.email],
            },
        },
        automatic_resources={
            "max_replica_count": 4,
        },
        opts = pulumi.ResourceOptions(depends_on=[
                vertex_index_endpoint_deployed,
                sa,
            ]))
    # 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"]}]}
    """)
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/serviceaccount"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/storage"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/vertex"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		sa, err := serviceaccount.NewAccount(ctx, "sa", &serviceaccount.AccountArgs{
    			AccountId: pulumi.String("vertex-sa"),
    		})
    		if err != nil {
    			return err
    		}
    		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
    			Name:                     pulumi.String("bucket-name"),
    			Location:                 pulumi.String("us-central1"),
    			UniformBucketLevelAccess: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		index, 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
    		}
    		vertexNetwork, err := compute.LookupNetwork(ctx, &compute.LookupNetworkArgs{
    			Name: "network-name",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		project, err := organizations.LookupProject(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		vertexIndexEndpointDeployed, err := vertex.NewAiIndexEndpoint(ctx, "vertex_index_endpoint_deployed", &vertex.AiIndexEndpointArgs{
    			DisplayName: pulumi.String("sample-endpoint"),
    			Description: pulumi.String("A sample vertex endpoint"),
    			Region:      pulumi.String("us-central1"),
    			Labels: pulumi.StringMap{
    				"label-one": pulumi.String("value-one"),
    			},
    			Network: pulumi.Sprintf("projects/%v/global/networks/%v", project.Number, vertexNetwork.Name),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = vertex.NewAiIndexEndpointDeployedIndex(ctx, "basic_deployed_index", &vertex.AiIndexEndpointDeployedIndexArgs{
    			IndexEndpoint:   vertexIndexEndpointDeployed.ID(),
    			Index:           index.ID(),
    			DeployedIndexId: pulumi.String("deployed_index_id"),
    			ReservedIpRanges: pulumi.StringArray{
    				pulumi.String("vertex-ai-range"),
    			},
    			EnableAccessLogging: pulumi.Bool(false),
    			DisplayName:         pulumi.String("vertex-deployed-index"),
    			DeployedIndexAuthConfig: &vertex.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs{
    				AuthProvider: &vertex.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs{
    					Audiences: pulumi.StringArray{
    						pulumi.String("123456-my-app"),
    					},
    					AllowedIssuers: pulumi.StringArray{
    						sa.Email,
    					},
    				},
    			},
    			AutomaticResources: &vertex.AiIndexEndpointDeployedIndexAutomaticResourcesArgs{
    				MaxReplicaCount: pulumi.Int(4),
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			vertexIndexEndpointDeployed,
    			sa,
    		}))
    		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
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var sa = new Gcp.ServiceAccount.Account("sa", new()
        {
            AccountId = "vertex-sa",
        });
    
        var bucket = new Gcp.Storage.Bucket("bucket", new()
        {
            Name = "bucket-name",
            Location = "us-central1",
            UniformBucketLevelAccess = true,
        });
    
        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",
        });
    
        var vertexNetwork = Gcp.Compute.GetNetwork.Invoke(new()
        {
            Name = "network-name",
        });
    
        var project = Gcp.Organizations.GetProject.Invoke();
    
        var vertexIndexEndpointDeployed = new Gcp.Vertex.AiIndexEndpoint("vertex_index_endpoint_deployed", new()
        {
            DisplayName = "sample-endpoint",
            Description = "A sample vertex endpoint",
            Region = "us-central1",
            Labels = 
            {
                { "label-one", "value-one" },
            },
            Network = Output.Tuple(project, vertexNetwork).Apply(values =>
            {
                var project = values.Item1;
                var vertexNetwork = values.Item2;
                return $"projects/{project.Apply(getProjectResult => getProjectResult.Number)}/global/networks/{vertexNetwork.Apply(getNetworkResult => getNetworkResult.Name)}";
            }),
        });
    
        var basicDeployedIndex = new Gcp.Vertex.AiIndexEndpointDeployedIndex("basic_deployed_index", new()
        {
            IndexEndpoint = vertexIndexEndpointDeployed.Id,
            Index = index.Id,
            DeployedIndexId = "deployed_index_id",
            ReservedIpRanges = new[]
            {
                "vertex-ai-range",
            },
            EnableAccessLogging = false,
            DisplayName = "vertex-deployed-index",
            DeployedIndexAuthConfig = new Gcp.Vertex.Inputs.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs
            {
                AuthProvider = new Gcp.Vertex.Inputs.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs
                {
                    Audiences = new[]
                    {
                        "123456-my-app",
                    },
                    AllowedIssuers = new[]
                    {
                        sa.Email,
                    },
                },
            },
            AutomaticResources = new Gcp.Vertex.Inputs.AiIndexEndpointDeployedIndexAutomaticResourcesArgs
            {
                MaxReplicaCount = 4,
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                vertexIndexEndpointDeployed,
                sa,
            },
        });
    
        // 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""]}]}
    ",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.serviceaccount.Account;
    import com.pulumi.gcp.serviceaccount.AccountArgs;
    import com.pulumi.gcp.storage.Bucket;
    import com.pulumi.gcp.storage.BucketArgs;
    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 com.pulumi.gcp.compute.ComputeFunctions;
    import com.pulumi.gcp.compute.inputs.GetNetworkArgs;
    import com.pulumi.gcp.organizations.OrganizationsFunctions;
    import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
    import com.pulumi.gcp.vertex.AiIndexEndpoint;
    import com.pulumi.gcp.vertex.AiIndexEndpointArgs;
    import com.pulumi.gcp.vertex.AiIndexEndpointDeployedIndex;
    import com.pulumi.gcp.vertex.AiIndexEndpointDeployedIndexArgs;
    import com.pulumi.gcp.vertex.inputs.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs;
    import com.pulumi.gcp.vertex.inputs.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs;
    import com.pulumi.gcp.vertex.inputs.AiIndexEndpointDeployedIndexAutomaticResourcesArgs;
    import com.pulumi.gcp.storage.BucketObject;
    import com.pulumi.gcp.storage.BucketObjectArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var sa = new Account("sa", AccountArgs.builder()
                .accountId("vertex-sa")
                .build());
    
            var bucket = new Bucket("bucket", BucketArgs.builder()
                .name("bucket-name")
                .location("us-central1")
                .uniformBucketLevelAccess(true)
                .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());
    
            final var vertexNetwork = ComputeFunctions.getNetwork(GetNetworkArgs.builder()
                .name("network-name")
                .build());
    
            final var project = OrganizationsFunctions.getProject();
    
            var vertexIndexEndpointDeployed = new AiIndexEndpoint("vertexIndexEndpointDeployed", AiIndexEndpointArgs.builder()
                .displayName("sample-endpoint")
                .description("A sample vertex endpoint")
                .region("us-central1")
                .labels(Map.of("label-one", "value-one"))
                .network(String.format("projects/%s/global/networks/%s", project.applyValue(getProjectResult -> getProjectResult.number()),vertexNetwork.applyValue(getNetworkResult -> getNetworkResult.name())))
                .build());
    
            var basicDeployedIndex = new AiIndexEndpointDeployedIndex("basicDeployedIndex", AiIndexEndpointDeployedIndexArgs.builder()
                .indexEndpoint(vertexIndexEndpointDeployed.id())
                .index(index.id())
                .deployedIndexId("deployed_index_id")
                .reservedIpRanges("vertex-ai-range")
                .enableAccessLogging(false)
                .displayName("vertex-deployed-index")
                .deployedIndexAuthConfig(AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs.builder()
                    .authProvider(AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs.builder()
                        .audiences("123456-my-app")
                        .allowedIssuers(sa.email())
                        .build())
                    .build())
                .automaticResources(AiIndexEndpointDeployedIndexAutomaticResourcesArgs.builder()
                    .maxReplicaCount(4)
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        vertexIndexEndpointDeployed,
                        sa)
                    .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());
    
        }
    }
    
    resources:
      sa:
        type: gcp:serviceaccount:Account
        properties:
          accountId: vertex-sa
      basicDeployedIndex:
        type: gcp:vertex:AiIndexEndpointDeployedIndex
        name: basic_deployed_index
        properties:
          indexEndpoint: ${vertexIndexEndpointDeployed.id}
          index: ${index.id}
          deployedIndexId: deployed_index_id
          reservedIpRanges:
            - vertex-ai-range
          enableAccessLogging: false
          displayName: vertex-deployed-index
          deployedIndexAuthConfig:
            authProvider:
              audiences:
                - 123456-my-app
              allowedIssuers:
                - ${sa.email}
          automaticResources:
            maxReplicaCount: 4
        options:
          dependson:
            - ${vertexIndexEndpointDeployed}
            - ${sa}
      bucket:
        type: gcp:storage:Bucket
        properties:
          name: bucket-name
          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
      vertexIndexEndpointDeployed:
        type: gcp:vertex:AiIndexEndpoint
        name: vertex_index_endpoint_deployed
        properties:
          displayName: sample-endpoint
          description: A sample vertex endpoint
          region: us-central1
          labels:
            label-one: value-one
          network: projects/${project.number}/global/networks/${vertexNetwork.name}
    variables:
      vertexNetwork:
        fn::invoke:
          Function: gcp:compute:getNetwork
          Arguments:
            name: network-name
      project:
        fn::invoke:
          Function: gcp:organizations:getProject
          Arguments: {}
    

    Create AiIndexEndpointDeployedIndex Resource

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

    Constructor syntax

    new AiIndexEndpointDeployedIndex(name: string, args: AiIndexEndpointDeployedIndexArgs, opts?: CustomResourceOptions);
    @overload
    def AiIndexEndpointDeployedIndex(resource_name: str,
                                     args: AiIndexEndpointDeployedIndexArgs,
                                     opts: Optional[ResourceOptions] = None)
    
    @overload
    def AiIndexEndpointDeployedIndex(resource_name: str,
                                     opts: Optional[ResourceOptions] = None,
                                     deployed_index_id: Optional[str] = None,
                                     index: Optional[str] = None,
                                     index_endpoint: Optional[str] = None,
                                     automatic_resources: Optional[AiIndexEndpointDeployedIndexAutomaticResourcesArgs] = None,
                                     dedicated_resources: Optional[AiIndexEndpointDeployedIndexDedicatedResourcesArgs] = None,
                                     deployed_index_auth_config: Optional[AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs] = None,
                                     deployment_group: Optional[str] = None,
                                     display_name: Optional[str] = None,
                                     enable_access_logging: Optional[bool] = None,
                                     reserved_ip_ranges: Optional[Sequence[str]] = None)
    func NewAiIndexEndpointDeployedIndex(ctx *Context, name string, args AiIndexEndpointDeployedIndexArgs, opts ...ResourceOption) (*AiIndexEndpointDeployedIndex, error)
    public AiIndexEndpointDeployedIndex(string name, AiIndexEndpointDeployedIndexArgs args, CustomResourceOptions? opts = null)
    public AiIndexEndpointDeployedIndex(String name, AiIndexEndpointDeployedIndexArgs args)
    public AiIndexEndpointDeployedIndex(String name, AiIndexEndpointDeployedIndexArgs args, CustomResourceOptions options)
    
    type: gcp:vertex:AiIndexEndpointDeployedIndex
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

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

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var aiIndexEndpointDeployedIndexResource = new Gcp.Vertex.AiIndexEndpointDeployedIndex("aiIndexEndpointDeployedIndexResource", new()
    {
        DeployedIndexId = "string",
        Index = "string",
        IndexEndpoint = "string",
        AutomaticResources = new Gcp.Vertex.Inputs.AiIndexEndpointDeployedIndexAutomaticResourcesArgs
        {
            MaxReplicaCount = 0,
            MinReplicaCount = 0,
        },
        DedicatedResources = new Gcp.Vertex.Inputs.AiIndexEndpointDeployedIndexDedicatedResourcesArgs
        {
            MachineSpec = new Gcp.Vertex.Inputs.AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecArgs
            {
                MachineType = "string",
            },
            MinReplicaCount = 0,
            MaxReplicaCount = 0,
        },
        DeployedIndexAuthConfig = new Gcp.Vertex.Inputs.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs
        {
            AuthProvider = new Gcp.Vertex.Inputs.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs
            {
                AllowedIssuers = new[]
                {
                    "string",
                },
                Audiences = new[]
                {
                    "string",
                },
            },
        },
        DeploymentGroup = "string",
        DisplayName = "string",
        EnableAccessLogging = false,
        ReservedIpRanges = new[]
        {
            "string",
        },
    });
    
    example, err := vertex.NewAiIndexEndpointDeployedIndex(ctx, "aiIndexEndpointDeployedIndexResource", &vertex.AiIndexEndpointDeployedIndexArgs{
    	DeployedIndexId: pulumi.String("string"),
    	Index:           pulumi.String("string"),
    	IndexEndpoint:   pulumi.String("string"),
    	AutomaticResources: &vertex.AiIndexEndpointDeployedIndexAutomaticResourcesArgs{
    		MaxReplicaCount: pulumi.Int(0),
    		MinReplicaCount: pulumi.Int(0),
    	},
    	DedicatedResources: &vertex.AiIndexEndpointDeployedIndexDedicatedResourcesArgs{
    		MachineSpec: &vertex.AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecArgs{
    			MachineType: pulumi.String("string"),
    		},
    		MinReplicaCount: pulumi.Int(0),
    		MaxReplicaCount: pulumi.Int(0),
    	},
    	DeployedIndexAuthConfig: &vertex.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs{
    		AuthProvider: &vertex.AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs{
    			AllowedIssuers: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Audiences: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	DeploymentGroup:     pulumi.String("string"),
    	DisplayName:         pulumi.String("string"),
    	EnableAccessLogging: pulumi.Bool(false),
    	ReservedIpRanges: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var aiIndexEndpointDeployedIndexResource = new AiIndexEndpointDeployedIndex("aiIndexEndpointDeployedIndexResource", AiIndexEndpointDeployedIndexArgs.builder()
        .deployedIndexId("string")
        .index("string")
        .indexEndpoint("string")
        .automaticResources(AiIndexEndpointDeployedIndexAutomaticResourcesArgs.builder()
            .maxReplicaCount(0)
            .minReplicaCount(0)
            .build())
        .dedicatedResources(AiIndexEndpointDeployedIndexDedicatedResourcesArgs.builder()
            .machineSpec(AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecArgs.builder()
                .machineType("string")
                .build())
            .minReplicaCount(0)
            .maxReplicaCount(0)
            .build())
        .deployedIndexAuthConfig(AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs.builder()
            .authProvider(AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs.builder()
                .allowedIssuers("string")
                .audiences("string")
                .build())
            .build())
        .deploymentGroup("string")
        .displayName("string")
        .enableAccessLogging(false)
        .reservedIpRanges("string")
        .build());
    
    ai_index_endpoint_deployed_index_resource = gcp.vertex.AiIndexEndpointDeployedIndex("aiIndexEndpointDeployedIndexResource",
        deployed_index_id="string",
        index="string",
        index_endpoint="string",
        automatic_resources={
            "maxReplicaCount": 0,
            "minReplicaCount": 0,
        },
        dedicated_resources={
            "machineSpec": {
                "machineType": "string",
            },
            "minReplicaCount": 0,
            "maxReplicaCount": 0,
        },
        deployed_index_auth_config={
            "authProvider": {
                "allowedIssuers": ["string"],
                "audiences": ["string"],
            },
        },
        deployment_group="string",
        display_name="string",
        enable_access_logging=False,
        reserved_ip_ranges=["string"])
    
    const aiIndexEndpointDeployedIndexResource = new gcp.vertex.AiIndexEndpointDeployedIndex("aiIndexEndpointDeployedIndexResource", {
        deployedIndexId: "string",
        index: "string",
        indexEndpoint: "string",
        automaticResources: {
            maxReplicaCount: 0,
            minReplicaCount: 0,
        },
        dedicatedResources: {
            machineSpec: {
                machineType: "string",
            },
            minReplicaCount: 0,
            maxReplicaCount: 0,
        },
        deployedIndexAuthConfig: {
            authProvider: {
                allowedIssuers: ["string"],
                audiences: ["string"],
            },
        },
        deploymentGroup: "string",
        displayName: "string",
        enableAccessLogging: false,
        reservedIpRanges: ["string"],
    });
    
    type: gcp:vertex:AiIndexEndpointDeployedIndex
    properties:
        automaticResources:
            maxReplicaCount: 0
            minReplicaCount: 0
        dedicatedResources:
            machineSpec:
                machineType: string
            maxReplicaCount: 0
            minReplicaCount: 0
        deployedIndexAuthConfig:
            authProvider:
                allowedIssuers:
                    - string
                audiences:
                    - string
        deployedIndexId: string
        deploymentGroup: string
        displayName: string
        enableAccessLogging: false
        index: string
        indexEndpoint: string
        reservedIpRanges:
            - string
    

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

    DeployedIndexId string
    The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
    Index string
    The name of the Index this is the deployment of.
    IndexEndpoint string
    Identifies the index endpoint. Must be in the format 'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'


    AutomaticResources AiIndexEndpointDeployedIndexAutomaticResources
    A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. Structure is documented below.
    DedicatedResources AiIndexEndpointDeployedIndexDedicatedResources
    A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard. Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard. Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency. Structure is documented below.
    DeployedIndexAuthConfig AiIndexEndpointDeployedIndexDeployedIndexAuthConfig
    If set, the authentication is enabled for the private endpoint. Structure is documented below.
    DeploymentGroup string
    The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. See the official documentation here. Note: we only support up to 5 deployment groups (not including 'default').
    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.
    EnableAccessLogging bool
    If true, private endpoint's access logs are sent to Cloud Logging.
    ReservedIpRanges List<string>
    A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex. If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network. The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range']. For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
    DeployedIndexId string
    The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
    Index string
    The name of the Index this is the deployment of.
    IndexEndpoint string
    Identifies the index endpoint. Must be in the format 'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'


    AutomaticResources AiIndexEndpointDeployedIndexAutomaticResourcesArgs
    A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. Structure is documented below.
    DedicatedResources AiIndexEndpointDeployedIndexDedicatedResourcesArgs
    A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard. Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard. Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency. Structure is documented below.
    DeployedIndexAuthConfig AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs
    If set, the authentication is enabled for the private endpoint. Structure is documented below.
    DeploymentGroup string
    The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. See the official documentation here. Note: we only support up to 5 deployment groups (not including 'default').
    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.
    EnableAccessLogging bool
    If true, private endpoint's access logs are sent to Cloud Logging.
    ReservedIpRanges []string
    A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex. If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network. The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range']. For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
    deployedIndexId String
    The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
    index String
    The name of the Index this is the deployment of.
    indexEndpoint String
    Identifies the index endpoint. Must be in the format 'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'


    automaticResources AiIndexEndpointDeployedIndexAutomaticResources
    A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. Structure is documented below.
    dedicatedResources AiIndexEndpointDeployedIndexDedicatedResources
    A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard. Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard. Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency. Structure is documented below.
    deployedIndexAuthConfig AiIndexEndpointDeployedIndexDeployedIndexAuthConfig
    If set, the authentication is enabled for the private endpoint. Structure is documented below.
    deploymentGroup String
    The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. See the official documentation here. Note: we only support up to 5 deployment groups (not including 'default').
    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.
    enableAccessLogging Boolean
    If true, private endpoint's access logs are sent to Cloud Logging.
    reservedIpRanges List<String>
    A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex. If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network. The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range']. For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
    deployedIndexId string
    The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
    index string
    The name of the Index this is the deployment of.
    indexEndpoint string
    Identifies the index endpoint. Must be in the format 'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'


    automaticResources AiIndexEndpointDeployedIndexAutomaticResources
    A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. Structure is documented below.
    dedicatedResources AiIndexEndpointDeployedIndexDedicatedResources
    A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard. Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard. Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency. Structure is documented below.
    deployedIndexAuthConfig AiIndexEndpointDeployedIndexDeployedIndexAuthConfig
    If set, the authentication is enabled for the private endpoint. Structure is documented below.
    deploymentGroup string
    The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. See the official documentation here. Note: we only support up to 5 deployment groups (not including 'default').
    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.
    enableAccessLogging boolean
    If true, private endpoint's access logs are sent to Cloud Logging.
    reservedIpRanges string[]
    A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex. If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network. The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range']. For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
    deployed_index_id str
    The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
    index str
    The name of the Index this is the deployment of.
    index_endpoint str
    Identifies the index endpoint. Must be in the format 'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'


    automatic_resources AiIndexEndpointDeployedIndexAutomaticResourcesArgs
    A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. Structure is documented below.
    dedicated_resources AiIndexEndpointDeployedIndexDedicatedResourcesArgs
    A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard. Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard. Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency. Structure is documented below.
    deployed_index_auth_config AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs
    If set, the authentication is enabled for the private endpoint. Structure is documented below.
    deployment_group str
    The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. See the official documentation here. Note: we only support up to 5 deployment groups (not including 'default').
    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.
    enable_access_logging bool
    If true, private endpoint's access logs are sent to Cloud Logging.
    reserved_ip_ranges Sequence[str]
    A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex. If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network. The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range']. For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
    deployedIndexId String
    The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
    index String
    The name of the Index this is the deployment of.
    indexEndpoint String
    Identifies the index endpoint. Must be in the format 'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'


    automaticResources Property Map
    A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. Structure is documented below.
    dedicatedResources Property Map
    A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard. Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard. Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency. Structure is documented below.
    deployedIndexAuthConfig Property Map
    If set, the authentication is enabled for the private endpoint. Structure is documented below.
    deploymentGroup String
    The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. See the official documentation here. Note: we only support up to 5 deployment groups (not including 'default').
    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.
    enableAccessLogging Boolean
    If true, private endpoint's access logs are sent to Cloud Logging.
    reservedIpRanges List<String>
    A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex. If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network. The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range']. For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the AiIndexEndpointDeployedIndex 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.
    Id string
    The provider-assigned unique ID for this managed resource.
    IndexSyncTime string
    The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the Index.update_time of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must list the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    Name string
    The name of the DeployedIndex resource.
    PrivateEndpoints List<AiIndexEndpointDeployedIndexPrivateEndpoint>
    Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if network is configured. Structure is documented below.
    CreateTime string
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    Id string
    The provider-assigned unique ID for this managed resource.
    IndexSyncTime string
    The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the Index.update_time of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must list the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    Name string
    The name of the DeployedIndex resource.
    PrivateEndpoints []AiIndexEndpointDeployedIndexPrivateEndpoint
    Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if network is configured. Structure is documented below.
    createTime String
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    id String
    The provider-assigned unique ID for this managed resource.
    indexSyncTime String
    The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the Index.update_time of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must list the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    name String
    The name of the DeployedIndex resource.
    privateEndpoints List<AiIndexEndpointDeployedIndexPrivateEndpoint>
    Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if network is configured. Structure is documented below.
    createTime string
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    id string
    The provider-assigned unique ID for this managed resource.
    indexSyncTime string
    The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the Index.update_time of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must list the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    name string
    The name of the DeployedIndex resource.
    privateEndpoints AiIndexEndpointDeployedIndexPrivateEndpoint[]
    Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if network is configured. Structure is documented below.
    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.
    id str
    The provider-assigned unique ID for this managed resource.
    index_sync_time str
    The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the Index.update_time of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must list the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    name str
    The name of the DeployedIndex resource.
    private_endpoints Sequence[AiIndexEndpointDeployedIndexPrivateEndpoint]
    Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if network is configured. Structure is documented below.
    createTime String
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    id String
    The provider-assigned unique ID for this managed resource.
    indexSyncTime String
    The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the Index.update_time of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must list the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    name String
    The name of the DeployedIndex resource.
    privateEndpoints List<Property Map>
    Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if network is configured. Structure is documented below.

    Look up Existing AiIndexEndpointDeployedIndex Resource

    Get an existing AiIndexEndpointDeployedIndex 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?: AiIndexEndpointDeployedIndexState, opts?: CustomResourceOptions): AiIndexEndpointDeployedIndex
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            automatic_resources: Optional[AiIndexEndpointDeployedIndexAutomaticResourcesArgs] = None,
            create_time: Optional[str] = None,
            dedicated_resources: Optional[AiIndexEndpointDeployedIndexDedicatedResourcesArgs] = None,
            deployed_index_auth_config: Optional[AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs] = None,
            deployed_index_id: Optional[str] = None,
            deployment_group: Optional[str] = None,
            display_name: Optional[str] = None,
            enable_access_logging: Optional[bool] = None,
            index: Optional[str] = None,
            index_endpoint: Optional[str] = None,
            index_sync_time: Optional[str] = None,
            name: Optional[str] = None,
            private_endpoints: Optional[Sequence[AiIndexEndpointDeployedIndexPrivateEndpointArgs]] = None,
            reserved_ip_ranges: Optional[Sequence[str]] = None) -> AiIndexEndpointDeployedIndex
    func GetAiIndexEndpointDeployedIndex(ctx *Context, name string, id IDInput, state *AiIndexEndpointDeployedIndexState, opts ...ResourceOption) (*AiIndexEndpointDeployedIndex, error)
    public static AiIndexEndpointDeployedIndex Get(string name, Input<string> id, AiIndexEndpointDeployedIndexState? state, CustomResourceOptions? opts = null)
    public static AiIndexEndpointDeployedIndex get(String name, Output<String> id, AiIndexEndpointDeployedIndexState 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:
    AutomaticResources AiIndexEndpointDeployedIndexAutomaticResources
    A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. Structure is documented below.
    CreateTime string
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    DedicatedResources AiIndexEndpointDeployedIndexDedicatedResources
    A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard. Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard. Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency. Structure is documented below.
    DeployedIndexAuthConfig AiIndexEndpointDeployedIndexDeployedIndexAuthConfig
    If set, the authentication is enabled for the private endpoint. Structure is documented below.
    DeployedIndexId string
    The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
    DeploymentGroup string
    The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. See the official documentation here. Note: we only support up to 5 deployment groups (not including 'default').
    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.
    EnableAccessLogging bool
    If true, private endpoint's access logs are sent to Cloud Logging.
    Index string
    The name of the Index this is the deployment of.
    IndexEndpoint string
    Identifies the index endpoint. Must be in the format 'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'


    IndexSyncTime string
    The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the Index.update_time of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must list the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    Name string
    The name of the DeployedIndex resource.
    PrivateEndpoints List<AiIndexEndpointDeployedIndexPrivateEndpoint>
    Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if network is configured. Structure is documented below.
    ReservedIpRanges List<string>
    A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex. If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network. The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range']. For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
    AutomaticResources AiIndexEndpointDeployedIndexAutomaticResourcesArgs
    A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. Structure is documented below.
    CreateTime string
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    DedicatedResources AiIndexEndpointDeployedIndexDedicatedResourcesArgs
    A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard. Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard. Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency. Structure is documented below.
    DeployedIndexAuthConfig AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs
    If set, the authentication is enabled for the private endpoint. Structure is documented below.
    DeployedIndexId string
    The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
    DeploymentGroup string
    The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. See the official documentation here. Note: we only support up to 5 deployment groups (not including 'default').
    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.
    EnableAccessLogging bool
    If true, private endpoint's access logs are sent to Cloud Logging.
    Index string
    The name of the Index this is the deployment of.
    IndexEndpoint string
    Identifies the index endpoint. Must be in the format 'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'


    IndexSyncTime string
    The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the Index.update_time of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must list the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    Name string
    The name of the DeployedIndex resource.
    PrivateEndpoints []AiIndexEndpointDeployedIndexPrivateEndpointArgs
    Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if network is configured. Structure is documented below.
    ReservedIpRanges []string
    A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex. If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network. The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range']. For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
    automaticResources AiIndexEndpointDeployedIndexAutomaticResources
    A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. Structure is documented below.
    createTime String
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    dedicatedResources AiIndexEndpointDeployedIndexDedicatedResources
    A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard. Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard. Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency. Structure is documented below.
    deployedIndexAuthConfig AiIndexEndpointDeployedIndexDeployedIndexAuthConfig
    If set, the authentication is enabled for the private endpoint. Structure is documented below.
    deployedIndexId String
    The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
    deploymentGroup String
    The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. See the official documentation here. Note: we only support up to 5 deployment groups (not including 'default').
    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.
    enableAccessLogging Boolean
    If true, private endpoint's access logs are sent to Cloud Logging.
    index String
    The name of the Index this is the deployment of.
    indexEndpoint String
    Identifies the index endpoint. Must be in the format 'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'


    indexSyncTime String
    The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the Index.update_time of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must list the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    name String
    The name of the DeployedIndex resource.
    privateEndpoints List<AiIndexEndpointDeployedIndexPrivateEndpoint>
    Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if network is configured. Structure is documented below.
    reservedIpRanges List<String>
    A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex. If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network. The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range']. For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
    automaticResources AiIndexEndpointDeployedIndexAutomaticResources
    A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. Structure is documented below.
    createTime string
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    dedicatedResources AiIndexEndpointDeployedIndexDedicatedResources
    A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard. Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard. Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency. Structure is documented below.
    deployedIndexAuthConfig AiIndexEndpointDeployedIndexDeployedIndexAuthConfig
    If set, the authentication is enabled for the private endpoint. Structure is documented below.
    deployedIndexId string
    The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
    deploymentGroup string
    The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. See the official documentation here. Note: we only support up to 5 deployment groups (not including 'default').
    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.
    enableAccessLogging boolean
    If true, private endpoint's access logs are sent to Cloud Logging.
    index string
    The name of the Index this is the deployment of.
    indexEndpoint string
    Identifies the index endpoint. Must be in the format 'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'


    indexSyncTime string
    The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the Index.update_time of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must list the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    name string
    The name of the DeployedIndex resource.
    privateEndpoints AiIndexEndpointDeployedIndexPrivateEndpoint[]
    Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if network is configured. Structure is documented below.
    reservedIpRanges string[]
    A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex. If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network. The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range']. For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
    automatic_resources AiIndexEndpointDeployedIndexAutomaticResourcesArgs
    A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. Structure is documented below.
    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.
    dedicated_resources AiIndexEndpointDeployedIndexDedicatedResourcesArgs
    A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard. Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard. Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency. Structure is documented below.
    deployed_index_auth_config AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs
    If set, the authentication is enabled for the private endpoint. Structure is documented below.
    deployed_index_id str
    The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
    deployment_group str
    The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. See the official documentation here. Note: we only support up to 5 deployment groups (not including 'default').
    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.
    enable_access_logging bool
    If true, private endpoint's access logs are sent to Cloud Logging.
    index str
    The name of the Index this is the deployment of.
    index_endpoint str
    Identifies the index endpoint. Must be in the format 'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'


    index_sync_time str
    The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the Index.update_time of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must list the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    name str
    The name of the DeployedIndex resource.
    private_endpoints Sequence[AiIndexEndpointDeployedIndexPrivateEndpointArgs]
    Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if network is configured. Structure is documented below.
    reserved_ip_ranges Sequence[str]
    A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex. If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network. The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range']. For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
    automaticResources Property Map
    A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. Structure is documented below.
    createTime String
    The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
    dedicatedResources Property Map
    A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard. Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard. Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency. Structure is documented below.
    deployedIndexAuthConfig Property Map
    If set, the authentication is enabled for the private endpoint. Structure is documented below.
    deployedIndexId String
    The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
    deploymentGroup String
    The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. See the official documentation here. Note: we only support up to 5 deployment groups (not including 'default').
    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.
    enableAccessLogging Boolean
    If true, private endpoint's access logs are sent to Cloud Logging.
    index String
    The name of the Index this is the deployment of.
    indexEndpoint String
    Identifies the index endpoint. Must be in the format 'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'


    indexSyncTime String
    The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the Index.update_time of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must list the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    name String
    The name of the DeployedIndex resource.
    privateEndpoints List<Property Map>
    Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if network is configured. Structure is documented below.
    reservedIpRanges List<String>
    A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex. If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network. The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range']. For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.

    Supporting Types

    AiIndexEndpointDeployedIndexAutomaticResources, AiIndexEndpointDeployedIndexAutomaticResourcesArgs

    MaxReplicaCount int
    The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.
    MinReplicaCount int
    The minimum number of replicas this DeployedModel will be always deployed on. If minReplicaCount is not set, the default value is 2 (we don't provide SLA when minReplicaCount=1). If traffic against it increases, it may dynamically be deployed onto more replicas up to maxReplicaCount, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error.
    MaxReplicaCount int
    The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.
    MinReplicaCount int
    The minimum number of replicas this DeployedModel will be always deployed on. If minReplicaCount is not set, the default value is 2 (we don't provide SLA when minReplicaCount=1). If traffic against it increases, it may dynamically be deployed onto more replicas up to maxReplicaCount, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error.
    maxReplicaCount Integer
    The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.
    minReplicaCount Integer
    The minimum number of replicas this DeployedModel will be always deployed on. If minReplicaCount is not set, the default value is 2 (we don't provide SLA when minReplicaCount=1). If traffic against it increases, it may dynamically be deployed onto more replicas up to maxReplicaCount, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error.
    maxReplicaCount number
    The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.
    minReplicaCount number
    The minimum number of replicas this DeployedModel will be always deployed on. If minReplicaCount is not set, the default value is 2 (we don't provide SLA when minReplicaCount=1). If traffic against it increases, it may dynamically be deployed onto more replicas up to maxReplicaCount, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error.
    max_replica_count int
    The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.
    min_replica_count int
    The minimum number of replicas this DeployedModel will be always deployed on. If minReplicaCount is not set, the default value is 2 (we don't provide SLA when minReplicaCount=1). If traffic against it increases, it may dynamically be deployed onto more replicas up to maxReplicaCount, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error.
    maxReplicaCount Number
    The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000. The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.
    minReplicaCount Number
    The minimum number of replicas this DeployedModel will be always deployed on. If minReplicaCount is not set, the default value is 2 (we don't provide SLA when minReplicaCount=1). If traffic against it increases, it may dynamically be deployed onto more replicas up to maxReplicaCount, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error.

    AiIndexEndpointDeployedIndexDedicatedResources, AiIndexEndpointDeployedIndexDedicatedResourcesArgs

    MachineSpec AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpec
    The minimum number of replicas this DeployedModel will be always deployed on. Structure is documented below.
    MinReplicaCount int
    The minimum number of machine replicas this DeployedModel will be always deployed on. This value must be greater than or equal to 1.
    MaxReplicaCount int
    The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount
    MachineSpec AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpec
    The minimum number of replicas this DeployedModel will be always deployed on. Structure is documented below.
    MinReplicaCount int
    The minimum number of machine replicas this DeployedModel will be always deployed on. This value must be greater than or equal to 1.
    MaxReplicaCount int
    The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount
    machineSpec AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpec
    The minimum number of replicas this DeployedModel will be always deployed on. Structure is documented below.
    minReplicaCount Integer
    The minimum number of machine replicas this DeployedModel will be always deployed on. This value must be greater than or equal to 1.
    maxReplicaCount Integer
    The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount
    machineSpec AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpec
    The minimum number of replicas this DeployedModel will be always deployed on. Structure is documented below.
    minReplicaCount number
    The minimum number of machine replicas this DeployedModel will be always deployed on. This value must be greater than or equal to 1.
    maxReplicaCount number
    The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount
    machine_spec AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpec
    The minimum number of replicas this DeployedModel will be always deployed on. Structure is documented below.
    min_replica_count int
    The minimum number of machine replicas this DeployedModel will be always deployed on. This value must be greater than or equal to 1.
    max_replica_count int
    The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount
    machineSpec Property Map
    The minimum number of replicas this DeployedModel will be always deployed on. Structure is documented below.
    minReplicaCount Number
    The minimum number of machine replicas this DeployedModel will be always deployed on. This value must be greater than or equal to 1.
    maxReplicaCount Number
    The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount

    AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpec, AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecArgs

    MachineType string
    The type of the machine. See the list of machine types supported for prediction See the list of machine types supported for custom training. For DeployedModel this field is optional, and the default value is n1-standard-2. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.
    MachineType string
    The type of the machine. See the list of machine types supported for prediction See the list of machine types supported for custom training. For DeployedModel this field is optional, and the default value is n1-standard-2. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.
    machineType String
    The type of the machine. See the list of machine types supported for prediction See the list of machine types supported for custom training. For DeployedModel this field is optional, and the default value is n1-standard-2. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.
    machineType string
    The type of the machine. See the list of machine types supported for prediction See the list of machine types supported for custom training. For DeployedModel this field is optional, and the default value is n1-standard-2. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.
    machine_type str
    The type of the machine. See the list of machine types supported for prediction See the list of machine types supported for custom training. For DeployedModel this field is optional, and the default value is n1-standard-2. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.
    machineType String
    The type of the machine. See the list of machine types supported for prediction See the list of machine types supported for custom training. For DeployedModel this field is optional, and the default value is n1-standard-2. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.

    AiIndexEndpointDeployedIndexDeployedIndexAuthConfig, AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs

    AuthProvider AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProvider
    Defines the authentication provider that the DeployedIndex uses. Structure is documented below.
    AuthProvider AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProvider
    Defines the authentication provider that the DeployedIndex uses. Structure is documented below.
    authProvider AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProvider
    Defines the authentication provider that the DeployedIndex uses. Structure is documented below.
    authProvider AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProvider
    Defines the authentication provider that the DeployedIndex uses. Structure is documented below.
    auth_provider AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProvider
    Defines the authentication provider that the DeployedIndex uses. Structure is documented below.
    authProvider Property Map
    Defines the authentication provider that the DeployedIndex uses. Structure is documented below.

    AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProvider, AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs

    AllowedIssuers List<string>
    A list of allowed JWT issuers. Each entry must be a valid Google service account, in the following format: service-account-name@project-id.iam.gserviceaccount.com
    Audiences List<string>
    The list of JWT audiences. that are allowed to access. A JWT containing any of these audiences will be accepted.
    AllowedIssuers []string
    A list of allowed JWT issuers. Each entry must be a valid Google service account, in the following format: service-account-name@project-id.iam.gserviceaccount.com
    Audiences []string
    The list of JWT audiences. that are allowed to access. A JWT containing any of these audiences will be accepted.
    allowedIssuers List<String>
    A list of allowed JWT issuers. Each entry must be a valid Google service account, in the following format: service-account-name@project-id.iam.gserviceaccount.com
    audiences List<String>
    The list of JWT audiences. that are allowed to access. A JWT containing any of these audiences will be accepted.
    allowedIssuers string[]
    A list of allowed JWT issuers. Each entry must be a valid Google service account, in the following format: service-account-name@project-id.iam.gserviceaccount.com
    audiences string[]
    The list of JWT audiences. that are allowed to access. A JWT containing any of these audiences will be accepted.
    allowed_issuers Sequence[str]
    A list of allowed JWT issuers. Each entry must be a valid Google service account, in the following format: service-account-name@project-id.iam.gserviceaccount.com
    audiences Sequence[str]
    The list of JWT audiences. that are allowed to access. A JWT containing any of these audiences will be accepted.
    allowedIssuers List<String>
    A list of allowed JWT issuers. Each entry must be a valid Google service account, in the following format: service-account-name@project-id.iam.gserviceaccount.com
    audiences List<String>
    The list of JWT audiences. that are allowed to access. A JWT containing any of these audiences will be accepted.

    AiIndexEndpointDeployedIndexPrivateEndpoint, AiIndexEndpointDeployedIndexPrivateEndpointArgs

    MatchGrpcAddress string
    (Output) The ip address used to send match gRPC requests.
    PscAutomatedEndpoints List<AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpoint>
    (Output) PscAutomatedEndpoints is populated if private service connect is enabled if PscAutomatedConfig is set. Structure is documented below.
    ServiceAttachment string
    (Output) The name of the service attachment resource. Populated if private service connect is enabled.
    MatchGrpcAddress string
    (Output) The ip address used to send match gRPC requests.
    PscAutomatedEndpoints []AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpoint
    (Output) PscAutomatedEndpoints is populated if private service connect is enabled if PscAutomatedConfig is set. Structure is documented below.
    ServiceAttachment string
    (Output) The name of the service attachment resource. Populated if private service connect is enabled.
    matchGrpcAddress String
    (Output) The ip address used to send match gRPC requests.
    pscAutomatedEndpoints List<AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpoint>
    (Output) PscAutomatedEndpoints is populated if private service connect is enabled if PscAutomatedConfig is set. Structure is documented below.
    serviceAttachment String
    (Output) The name of the service attachment resource. Populated if private service connect is enabled.
    matchGrpcAddress string
    (Output) The ip address used to send match gRPC requests.
    pscAutomatedEndpoints AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpoint[]
    (Output) PscAutomatedEndpoints is populated if private service connect is enabled if PscAutomatedConfig is set. Structure is documented below.
    serviceAttachment string
    (Output) The name of the service attachment resource. Populated if private service connect is enabled.
    match_grpc_address str
    (Output) The ip address used to send match gRPC requests.
    psc_automated_endpoints Sequence[AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpoint]
    (Output) PscAutomatedEndpoints is populated if private service connect is enabled if PscAutomatedConfig is set. Structure is documented below.
    service_attachment str
    (Output) The name of the service attachment resource. Populated if private service connect is enabled.
    matchGrpcAddress String
    (Output) The ip address used to send match gRPC requests.
    pscAutomatedEndpoints List<Property Map>
    (Output) PscAutomatedEndpoints is populated if private service connect is enabled if PscAutomatedConfig is set. Structure is documented below.
    serviceAttachment String
    (Output) The name of the service attachment resource. Populated if private service connect is enabled.

    AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpoint, AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpointArgs

    MatchAddress string
    (Output) ip Address created by the automated forwarding rule.
    Network string
    (Output) Corresponding network in pscAutomationConfigs.
    ProjectId string
    (Output) Corresponding projectId in pscAutomationConfigs
    MatchAddress string
    (Output) ip Address created by the automated forwarding rule.
    Network string
    (Output) Corresponding network in pscAutomationConfigs.
    ProjectId string
    (Output) Corresponding projectId in pscAutomationConfigs
    matchAddress String
    (Output) ip Address created by the automated forwarding rule.
    network String
    (Output) Corresponding network in pscAutomationConfigs.
    projectId String
    (Output) Corresponding projectId in pscAutomationConfigs
    matchAddress string
    (Output) ip Address created by the automated forwarding rule.
    network string
    (Output) Corresponding network in pscAutomationConfigs.
    projectId string
    (Output) Corresponding projectId in pscAutomationConfigs
    match_address str
    (Output) ip Address created by the automated forwarding rule.
    network str
    (Output) Corresponding network in pscAutomationConfigs.
    project_id str
    (Output) Corresponding projectId in pscAutomationConfigs
    matchAddress String
    (Output) ip Address created by the automated forwarding rule.
    network String
    (Output) Corresponding network in pscAutomationConfigs.
    projectId String
    (Output) Corresponding projectId in pscAutomationConfigs

    Import

    IndexEndpointDeployedIndex can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{region}}/indexEndpoints/{{index_endpoint}}/deployedIndex/{{deployed_index_id}}

    • {{project}}/{{region}}/{{index_endpoint}}/{{deployed_index_id}}

    • {{region}}/{{index_endpoint}}/{{deployed_index_id}}

    • {{index_endpoint}}/{{deployed_index_id}}

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

    $ pulumi import gcp:vertex/aiIndexEndpointDeployedIndex:AiIndexEndpointDeployedIndex default projects/{{project}}/locations/{{region}}/indexEndpoints/{{index_endpoint}}/deployedIndex/{{deployed_index_id}}
    
    $ pulumi import gcp:vertex/aiIndexEndpointDeployedIndex:AiIndexEndpointDeployedIndex default {{project}}/{{region}}/{{index_endpoint}}/{{deployed_index_id}}
    
    $ pulumi import gcp:vertex/aiIndexEndpointDeployedIndex:AiIndexEndpointDeployedIndex default {{region}}/{{index_endpoint}}/{{deployed_index_id}}
    
    $ pulumi import gcp:vertex/aiIndexEndpointDeployedIndex:AiIndexEndpointDeployedIndex default {{index_endpoint}}/{{deployed_index_id}}
    

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

    Package Details

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