public final OperationFuture<Index, UpdateIndexMetadata> updateIndexAsync(
      Index index, FieldMask updateMask) {
    UpdateIndexRequest request =
        UpdateIndexRequest.newBuilder().setIndex(index).setUpdateMask(updateMask).build();
    return updateIndexAsync(request);
  }
Updates an Index under the corpus. Users can perform a metadata-only update or trigger a full
index rebuild with different update_mask values.

<p>Sample code:

<pre>{@code
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (WarehouseClient warehouseClient = WarehouseClient.create()) {
  Index index = Index.newBuilder().build();
  FieldMask updateMask = FieldMask.newBuilder().build();
  Index response = warehouseClient.updateIndexAsync(index, updateMask).get();
}
}</pre>

@param index Required. The resource being updated.
@param updateMask Required. Field mask is used to specify the fields to be overwritten in the
    Index resource by the update. The fields specified in the update_mask are relative to the
    resource, not the full request. A field of the resource will be overwritten if it is in the
    mask. Empty field mask is not allowed. If the mask is "&#42;", it triggers a full update of
    the index, and also a whole rebuild of index data.
@throws com.google.api.gax.rpc.ApiException if the remote call fails
java-visionai/google-cloud-visionai/src/main/java/com/google/cloud/visionai/v1/WarehouseClient.java