public final Product createProduct(String parent, Product product, String productId) {
    CreateProductRequest request =
        CreateProductRequest.newBuilder()
            .setParent(parent)
            .setProduct(product)
            .setProductId(productId)
            .build();
    return createProduct(request);
  }
Creates and returns a new product resource.

<p>Possible errors:

<ul>
  <li>Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 characters.
  <li>Returns INVALID_ARGUMENT if description is longer than 4096 characters.
  <li>Returns INVALID_ARGUMENT if product_category is missing or invalid.
</ul>

<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 (ProductSearchClient productSearchClient = ProductSearchClient.create()) {
  String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
  Product product = Product.newBuilder().build();
  String productId = "productId-1051830678";
  Product response = productSearchClient.createProduct(parent, product, productId);
}
}</pre>

@param parent Required. The project in which the Product should be created.
    <p>Format is `projects/PROJECT_ID/locations/LOC_ID`.
@param product Required. The product to create.
@param productId A user-supplied resource id for this Product. If set, the server will attempt
    to use this value as the resource id. If it is already in use, an error is returned with
    code ALREADY_EXISTS. Must be at most 128 characters long. It cannot contain the character
    `/`.
@throws com.google.api.gax.rpc.ApiException if the remote call fails
java-vision/google-cloud-vision/src/main/java/com/google/cloud/vision/v1/ProductSearchClient.java