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, which is used to update or create a product through the \u003ccode\u003eProductService.UpdateProduct\u003c/code\u003e method in Google Cloud Retail V2.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eUpdateProductRequest\u003c/code\u003e class implements interfaces like \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, and inherits from \u003ccode\u003eObject\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of \u003ccode\u003eUpdateProductRequest\u003c/code\u003e include \u003ccode\u003eAllowMissing\u003c/code\u003e, which determines whether to create a new product if one is not found, \u003ccode\u003eProduct\u003c/code\u003e, the product to update or create, and \u003ccode\u003eUpdateMask\u003c/code\u003e, which specifies which product fields to update.\u003c/p\u003e\n"],["\u003cp\u003eThe document provides a list of available versions for the Google.Cloud.Retail.V2 library, ranging from version 1.0.0 to the latest version 2.12.0, with links to each version's documentation for the \u003ccode\u003eUpdateProductRequest\u003c/code\u003e class.\u003c/p\u003e\n"],["\u003cp\u003eThere are two constructors for the \u003ccode\u003eUpdateProductRequest\u003c/code\u003e, one with no parameter, and another which takes in another \u003ccode\u003eUpdateProductRequest\u003c/code\u003e as a parameter.\u003c/p\u003e\n"]]],[],null,[]]