public sealed class UpdateProductRequest : IMessage<UpdateProductRequest>, IEquatable<UpdateProductRequest>, IDeepCloneable<UpdateProductRequest>, IBufferMessage, IMessage
Request message for
[ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
method.
If set to true, and the [Product][google.cloud.retail.v2.Product] is not
found, a new [Product][google.cloud.retail.v2.Product] will be created. In
this situation, update_mask is ignored.
If the caller does not have permission to update the
[Product][google.cloud.retail.v2.Product], regardless of whether or not it
exists, a PERMISSION_DENIED error is returned.
If the [Product][google.cloud.retail.v2.Product] to update does not exist
and
[allow_missing][google.cloud.retail.v2.UpdateProductRequest.allow_missing]
is not set, a NOT_FOUND error is returned.
Indicates which fields in the provided
[Product][google.cloud.retail.v2.Product] to update. The immutable and
output only fields are NOT supported. If not set, all supported fields (the
fields that are neither immutable nor output only) are updated.
If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
is returned.
The attribute key can be updated by setting the mask path as
"attributes.${key_name}". If a key name is present in the mask but not in
the patching product from the request, this key will be deleted after the
update.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis document outlines the \u003ccode\u003eUpdateProductRequest\u003c/code\u003e class within the \u003ccode\u003eGoogle.Cloud.Retail.V2\u003c/code\u003e namespace, used for updating product information via the \u003ccode\u003eProductService.UpdateProduct\u003c/code\u003e method.\u003c/p\u003e\n"],["\u003cp\u003eThe document lists available versions, ranging from 1.0.0 to the latest 2.12.0, of the \u003ccode\u003eUpdateProductRequest\u003c/code\u003e class for the \u003ccode\u003eGoogle.Cloud.Retail.V2\u003c/code\u003e package.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eUpdateProductRequest\u003c/code\u003e class inherits from \u003ccode\u003eObject\u003c/code\u003e and implements several interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of the \u003ccode\u003eUpdateProductRequest\u003c/code\u003e include \u003ccode\u003eAllowMissing\u003c/code\u003e, \u003ccode\u003eProduct\u003c/code\u003e, and \u003ccode\u003eUpdateMask\u003c/code\u003e, which control behavior like creating a new product if it doesn't exist, the product data to update, and specific fields to be modified.\u003c/p\u003e\n"],["\u003cp\u003eThe class provides two constructors, a default constructor and one that accepts another \u003ccode\u003eUpdateProductRequest\u003c/code\u003e object to create a copy.\u003c/p\u003e\n"]]],[],null,[]]