REST Resource: projects.locations.indexEndpoints

Resource: IndexEndpoint

Indexes are deployed into it. An IndexEndpoint can have multiple DeployedIndexes.

JSON representation
{
  "name": string,
  "displayName": string,
  "description": string,
  "deployedIndexes": [
    {
      object (DeployedIndex)
    }
  ],
  "etag": string,
  "labels": {
    string: string,
    ...
  },
  "createTime": string,
  "updateTime": string,
  "network": string
}
Fields
name

string

Output only. The resource name of the IndexEndpoint.

displayName

string

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

description

string

The description of the IndexEndpoint.

deployedIndexes[]

object (DeployedIndex)

Output only. The indexes deployed in this endpoint.

etag

string

Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

labels

map (key: string, value: string)

The labels with user-defined metadata to organize your IndexEndpoints.

Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed.

See https://goo.gl/xmQnxf for more information and examples of labels.

createTime

string (Timestamp format)

Output only. Timestamp when this IndexEndpoint was created.

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

updateTime

string (Timestamp format)

Output only. Timestamp when this IndexEndpoint was last updated. This timestamp is not updated when the endpoint's DeployedIndexes are updated, e.g. due to updates of the original Indexes they are the deployments of.

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

network

string

Required. Immutable. The full name of the Google Compute Engine network to which the IndexEndpoint should be peered.

Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network.

Format: projects/{project}/global/networks/{network}. Where {project} is a project number, as in '12345', and {network} is network name.

DeployedIndex

A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes.

JSON representation
{
  "id": string,
  "index": string,
  "displayName": string,
  "createTime": string,
  "privateEndpoints": {
    object (IndexPrivateEndpoints)
  },
  "indexSyncTime": string,
  "automaticResources": {
    object (AutomaticResources)
  },
  "enableAccessLogging": boolean,
  "deployedIndexAuthConfig": {
    object (DeployedIndexAuthConfig)
  },
  "reservedIpRanges": [
    string
  ],
  "deploymentGroup": string
}
Fields
id

string

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

Required. The name of the Index this is the deployment of. We may refer to this Index as the DeployedIndex's "original" Index.

displayName

string

The display name of the DeployedIndex. If not provided upon creation, the Index's displayName is used.

createTime

string (Timestamp format)

Output only. Timestamp when the DeployedIndex was created.

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

privateEndpoints

object (IndexPrivateEndpoints)

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

indexSyncTime

string (Timestamp format)

Output only. 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 this 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 not), one must [list][Operations.ListOperations] [Operations][Operation] [working][Operation.name] on the original Index. Only the successfully completed Operations with Operations.metadata.generic_metadata.update_time 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".

automaticResources

object (AutomaticResources)

Optional. 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. If minReplicaCount is not set, the default value is 1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000.

The user is billed for the resources (at least their minimal amount) even if the DeployedIndex receives no traffic.

enableAccessLogging

boolean

Optional. If true, private endpoint's access logs are sent to StackDriver Logging.

These logs are like standard server access logs, containing information like timestamp and latency for each MatchRequest.

Note that Stackdriver logs may incur a cost, especially if the deployed index receives a high queries per second rate (QPS). Estimate your costs before enabling this option.

deployedIndexAuthConfig

object (DeployedIndexAuthConfig)

Optional. If set, the authentication is enabled for the private endpoint.

reservedIpRanges[]

string

Optional. 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 sohuld be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: 'vertex-ai-ip-range'.

deploymentGroup

string

Optional. 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 reservedIpRanges 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 deploymentGroup (except 'default') can only be used with the same reservedIpRanges which means if the deploymentGroup has been used with reservedIpRanges: [a, b, c], using it with [a, b] or [d, e] is disallowed.

Note: we only support up to 5 deployment groups(not including 'default').

IndexPrivateEndpoints

IndexPrivateEndpoints proto is used to provide paths for users to send requests via private services access.

JSON representation
{
  "matchGrpcAddress": string
}
Fields
matchGrpcAddress

string

Output only. The ip address used to send match gRPC requests.

DeployedIndexAuthConfig

Used to set up the auth on the DeployedIndex's private endpoint.

JSON representation
{
  "authProvider": {
    object (AuthProvider)
  }
}
Fields
authProvider

object (AuthProvider)

Defines the authentication provider that the DeployedIndex uses.

AuthProvider

Configuration for an authentication provider, including support for JSON Web Token (JWT).

JSON representation
{
  "audiences": [
    string
  ],
  "allowedIssuers": [
    string
  ]
}
Fields
audiences[]

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

Methods

create

Creates an IndexEndpoint.

delete

Deletes an IndexEndpoint.

deployIndex

Deploys an Index into this IndexEndpoint, creating a DeployedIndex within it.

get

Gets an IndexEndpoint.

list

Lists IndexEndpoints in a Location.

patch

Updates an IndexEndpoint.

undeployIndex

Undeploys an Index from an IndexEndpoint, removing a DeployedIndex from it, and freeing all resources it's using.