google.cloud.gcp_vertexai_index_info module – List VertexAI.Index resources

Note

This module is part of the google.cloud collection (version 1.15.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install google.cloud. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: google.cloud.gcp_vertexai_index_info.

Synopsis

  • A representation of a collection of database items organized in a way that allows for approximate nearest neighbor (a.k.a ANN) algorithms search.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 3.8

  • requests >= 2.18.4

  • google-auth >= 2.25.1

Parameters

Parameter

Comments

access_token

string

The access token used to authenticate.

auth_kind

string / required

The type of credential used.

Choices:

  • "accesstoken"

  • "application"

  • "machineaccount"

  • "serviceaccount"

env_type

string

Specifies which Ansible environment you’re running this module within.

This should not be set unless you know what you’re doing.

This only alters the User Agent string for any API requests.

filters

list / elements=string

A list of filter expression strings used to filter the resources returned by the API.

Each string is a filter expression (e.g. some_field = "SOME_VALUE").

Multiple expressions are combined with a logical AND.

Refer to the filter topic documentation https://cloud.google.com/sdk/gcloud/reference/topic/filters.

Refer to the AIP-160 filter syntax documentation https://google.aip.dev/160.

project

string

The Google Cloud Platform project to use.

region

string

The region of the index.

eg us-central1.

scopes

list / elements=string

Array of scopes to be used.

service_account_contents

jsonarg

The contents of a Service Account JSON file,

either in a dictionary or as a JSON string that represents it.

service_account_email

string

An optional service account email address if machineaccount is

selected and the user does not wish to use the default email.

service_account_file

path

The path of a Service Account JSON file if serviceaccount

is selected as type.

Notes

Note

  • API Reference: https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexes/

  • For authentication, you can set auth_kind using the GCP_AUTH_KIND env variable.

  • For authentication, you can set service_account_file using the GCP_SERVICE_ACCOUNT_FILE env variable.

  • For authentication, you can set service_account_contents using the GCP_SERVICE_ACCOUNT_CONTENTS env variable.

  • For authentication, you can set service_account_email using the GCP_SERVICE_ACCOUNT_EMAIL env variable.

  • For authentication, you can set access_token using the GCP_ACCESS_TOKEN env variable.

  • For authentication, you can set scopes using the GCP_SCOPES env variable.

  • Environment variables values will only be used if the playbook values are not set.

  • The service_account_email, service_account_file, service_account_file and access_token options are mutually exclusive.

Examples

- name: List all gcp_vertexai_index_info resources
  google.cloud.gcp_vertexai_index_info:
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
  register: result

- name: List gcp_vertexai_index_info resources matching given filters
  google.cloud.gcp_vertexai_index_info:
    filters:
      - display_name = "my-resource"
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
  register: result

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

changed

boolean

Whether any changes were made (always false for info modules).

Returned: always

resources

list / elements=dictionary

List of VertexAI.Index resources matching the supplied filters. May be empty, contain a single resource, or multiple resources.

Returned: always

createTime

string

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

Returned: success

deployedIndexes

list / elements=dictionary

The pointers to DeployedIndexes created from this Index.

An Index can be only deleted if all its DeployedIndexes had been undeployed first.

Returned: success

deployedIndexId

string

The ID of the DeployedIndex in the above IndexEndpoint.

Returned: success

indexEndpoint

string

A resource name of the IndexEndpoint.

Returned: success

description

string

The description of the Index.

Returned: when set

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.

Returned: always

encryptionSpec

dictionary

Customer-managed encryption key spec for an Index.

If set, this Index and all sub-resources of this Index will be secured by this key.

Returned: when set

kmsKeyName

string

The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource.

Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`.

The key needs to be in the same region as where the compute resource is created.

Returned: always

indexStats

dictionary

Stats of the index resource.

Returned: success

shardsCount

integer

The number of shards in the Index.

Returned: success

vectorsCount

string

The number of vectors in the Index.

Returned: success

indexUpdateMethod

string

The update method to use with this Index.

The value must be the followings.

If not set, BATCH_UPDATE will be used by default.

* BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.

* STREAM_UPDATE: user can call indexes.upsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time.

Returned: when set

labels

dictionary

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

**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.

Returned: when set

metadata

dictionary

Additional information about the Index.

Although this field is not marked as required in the API specification, it is currently required when creating an Index and must be provided.

Attempts to create an Index without this field will result in an API error.

Returned: always

config

dictionary

The configuration of the Matching Engine Index.

Returned: always

algorithmConfig

dictionary

The configuration with regard to the algorithms used for efficient search.

This field may be required based on your configuration.

Returned: when set

bruteForceConfig

dictionary

Configuration options for using brute force search, which simply implements the standard linear search in the database for each query.

Returned: when set

treeAhConfig

dictionary

Configuration options for using the tree-AH algorithm (Shallow tree + Asymmetric Hashing).

Please refer to this paper for more details: https://arxiv.org/abs/1908.10396.

Returned: when set

leafNodeEmbeddingCount

integer

Number of embeddings on each leaf node.

The default value is 1000 if not set.

Returned: when set

leafNodesToSearchPercent

integer

The default percentage of leaf nodes that any query may be searched.

Must be in range 1-100, inclusive.

The default value is 10 (means 10%) if not set.

Returned: when set

approximateNeighborsCount

integer

The default number of neighbors to find via approximate search before exact reordering is performed.

Exact reordering is a procedure where results returned by an approximate search algorithm are reordered via a more expensive distance computation.

Required if tree-AH algorithm is used.

Returned: when set

dimensions

integer

The number of dimensions of the input vectors.

Returned: always

distanceMeasureType

string

The distance measure used in nearest neighbor search.

The value must be one of the followings: * SQUARED_L2_DISTANCE: Euclidean (L_2) Distance * L1_DISTANCE: Manhattan (L_1) Distance * COSINE_DISTANCE: Cosine Distance.

Defined as 1 - cosine similarity.

* DOT_PRODUCT_DISTANCE: Dot Product Distance.

Defined as a negative of the dot product.

Returned: when set

featureNormType

string

Type of normalization to be carried out on each vector.

The value must be one of the followings: * UNIT_L2_NORM: Unit L2 normalization type * NONE: No normalization type is specified.

Returned: when set

shardSize

string

Index data is split into equal parts to be processed.

These are called “shards”.

The shard size must be specified when creating an index.

The value must be one of the followings: * SHARD_SIZE_SMALL: Small (2GB) * SHARD_SIZE_MEDIUM: Medium (20GB) * SHARD_SIZE_LARGE: Large (50GB).

Returned: when set

contentsDeltaUri

string

Allows inserting, updating or deleting the contents of the Matching Engine Index.

The string must be a valid Cloud Storage directory path.

If this field is set when calling IndexService.UpdateIndex, then no other Index field can be also updated as part of the same call.

The expected structure and format of the files this URI points to is described at https://cloud.google.com/vertex-ai/docs/matching-engine/using-matching-engine#input-data-format.

Returned: when set

isCompleteOverwrite

boolean

If this field is set together with contentsDeltaUri when calling IndexService.UpdateIndex, then existing content of the Index will be replaced by the data from the contentsDeltaUri.

Returned: when set

metadataSchemaUri

string

Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it.

Unset if the Index does not have any additional information.

Returned: success

name

string

The resource name of the Index.

Returned: success

updateTime

string

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

Returned: success

Authors

  • Google Inc. (@googlecloudplatform)