Closed shotarok closed 3 months ago
Hey,
Is there any schedule on when it will be available?
I can create indexes and endpoints now by google_vertex_ai_index
and google_vertex_ai_index_endpoint
But deploying index require now to implement custom code.
I'm afraid I don't have any ongoing PR right now. I've been using the following gcloud commands for the deploy and undeploy operations.
Is it possible to add support for the Private service connect options, as documented https://cloud.google.com/vertex-ai/docs/matching-engine/match-eng-setup/private-service-connect
Understand its still in pre-GA.
Thanks!
Thanks for letting me know about the new feature. It looks like both v1 and v1beta1 support privateServiceConnectConfig
in a request body like below. After figuring out how to test a private service connect in an acceptance test of magic-modules, I can work on it.
Thank you! Yes that's what we're using at the moment. The feature isn't supported in the python client library - at either creation or query time.
It looks like privateServiceConnect is deprecated on model Endpoints - is that likely to happen to index endpoints as well?
It looks like enablePrivateServiceConnect
is deprecated in the endpoint. The index endpoint also has the deprecated field. I believe privateServiceConnectConfig
is the new alternative field to the deprecated field, although I can't know about any internal roadmap π
I'm afraid I don't have any ongoing PR right now. I've been using the following gcloud commands for the deploy and undeploy operations.
Is the deploy and undeploy endpoint functionality within scope for resources associated with Vertex AI Matching Engine? Would be keen to collaborate on it.
@ruanspies Yes, I put the endpoints for CRUD on the issue description. Because of the API endpoint design, I anticipate a lot of custom resource codes are necessary for implementing a resource like google_vertex_ai_index_endpoint_deployed_index
. Please take a look at the description for the details.
As a side note, an index-related operations can take a few hours as their timeouts are set to 180. I'd recommend using the data resource: google_vertex_ai_index when running a test locally.
Definitely interested in support for modifying the deployed_index
.
Remaining work here: Adding support for google_vertex_ai_index_endpoint_deployed_index or google_vertex_ai_deployed_index (or determining that they don't make sense in Terraform)
Need definitely the capability to deploy an index on an endpoint with terraform.
any updates for this?
@mikeedjones The PR to support PSC was merged yesterday. The PSC will be available after a new version is released!
Great, then the only issue that remains is the google_vertex_ai_index_endpoint_deployed_index resource
Are there any updates on when the google_vertex_ai_index_endpoint_deployed_index
is planned to be ready?
In the meantime, here's a workaround using gcloud
to deploy and undeploy the index.
resource "google_vertex_ai_index" "my_index" {
...
}
resource "google_vertex_ai_index_endpoint" "my_endpoint" {
...
}
module "gcloud_ai_index_endpoints_deploy_index" {
source = "terraform-google-modules/gcloud/google"
version = "~> 3.0"
create_cmd_body = "ai index-endpoints deploy-index ${google_vertex_ai_index_endpoint.my_endpoint.id} --deployed-index-id=deployed_index --display-name=deployed_index --index=${google_vertex_ai_index.my_index.id} --project=${module.project_services.project_id} --region=${var.region}"
destroy_cmd_body = "ai index-endpoints undeploy-index ${google_vertex_ai_index_endpoint.my_endpoint.id} --deployed-index-id=deployed_index --project=${module.project_services.project_id} --region=${var.region}"
}
Any luck that someone might pick this up?
Thanks @davidcavazos Any news about including this natively?
Is there any update?
Any update on this?
Hey folks, this ticket has been forwarded to engineering for resolution. Customers working with a Google Technical Account Manager or Customer Engineer can ask them to reach out internally to expedite investigation and resolution of this issue.
In the meantime, here's a workaround using
gcloud
to deploy and undeploy the index.resource "google_vertex_ai_index" "my_index" { ... } resource "google_vertex_ai_index_endpoint" "my_endpoint" { ... } module "gcloud_ai_index_endpoints_deploy_index" { source = "terraform-google-modules/gcloud/google" version = "~> 3.0" create_cmd_body = "ai index-endpoints deploy-index ${google_vertex_ai_index_endpoint.my_endpoint.id} --deployed-index-id=deployed_index --display-name=deployed_index --index=${google_vertex_ai_index.my_index.id} --project=${module.project_services.project_id} --region=${var.region}" destroy_cmd_body = "ai index-endpoints undeploy-index ${google_vertex_ai_index_endpoint.my_endpoint.id} --deployed-index-id=deployed_index --project=${module.project_services.project_id} --region=${var.region}" }
Thank you, Your workaround works in order to deploy the index, but I'm having an hard time retrieving the id of the deployed index, because being an asynchronous I should wait in any case after the gcloud command and then retrieve the final Id.
I hope the resource will be supported soon on the terraform provider so it will go smooth in terms of integrations
Would also be interested in gcloud_ai_index_endpoints_deploy_index
I'm going to lock this issue because it has been closed for 30 days β³. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.
Community Note
Description
Add new resources for Vertex AI Matching Engine. The
index
andindexEndpoint
API endpoints havecreate
,patch
,get
, anddelete
methods. Therefore, they would be straightforward to implement.On the other hand, the following API endpoints correspond to CRUD operations to deploy an index to an endpoint. Therefore, I put another new resource as an implementation idea in "New or Affected Resource(s)".
IndexEndpoint
has a list ofDeployedIndex
asdeployedIndexes
As a side note, Vertex AI Endpoints (projects.locations.endpoints) has similar methods:
deployModel
,undeployModel
. That'd be great if both Matching Engine and Endpoint resources could have similar resources to deploy index or model to an endpoint.New or Affected Resource(s)
google_vertex_ai_index
~google_vertex_ai_index_endpoint
~google_vertex_ai_index_endpoint_deployed_index
orgoogle_vertex_ai_deployed_index
Potential Terraform Configuration
References
b/309602461