public sealed class UpdateProductRequest : IMessage<UpdateProductRequest>, IEquatable<UpdateProductRequest>, IDeepCloneable<UpdateProductRequest>, IBufferMessage, IMessage
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 webpage details the \u003ccode\u003eUpdateProductRequest\u003c/code\u003e class within the \u003ccode\u003eGoogle.Cloud.Retail.V2\u003c/code\u003e namespace, used for updating product information in the Retail API.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version available is 2.12.0, with a history of versions provided, dating back to version 1.0.0, and the current documentation is for version 2.0.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eUpdateProductRequest\u003c/code\u003e class includes properties like \u003ccode\u003eAllowMissing\u003c/code\u003e, \u003ccode\u003eProduct\u003c/code\u003e, and \u003ccode\u003eUpdateMask\u003c/code\u003e to manage the product update or creation process, and these are its essential parameters.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eUpdateProductRequest\u003c/code\u003e class allows for conditional creation of a product if it does not already exist by using the \u003ccode\u003eAllowMissing\u003c/code\u003e property, along with providing a masking operation with \u003ccode\u003eUpdateMask\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt inherits from \u003ccode\u003eObject\u003c/code\u003e and implements \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e interfaces, making it a component within the Google.Protobuf framework.\u003c/p\u003e\n"]]],[],null,[]]