public sealed class CustomAttribute : IMessage<CustomAttribute>, IEquatable<CustomAttribute>, IDeepCloneable<CustomAttribute>, IBufferMessage, IMessage
A custom attribute that is not explicitly modeled in
[Product][google.cloud.retail.v2.Product]].
The numerical values of this custom attribute. For example, [2.3, 15.4]
when the key is "lengths_cm".
At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is
returned.
Exactly one of [text][google.cloud.retail.v2.CustomAttribute.text] or
[numbers][google.cloud.retail.v2.CustomAttribute.numbers] should be set.
Otherwise, an INVALID_ARGUMENT error is returned.
The textual values of this custom attribute. For example, ["yellow",
"green"] when the key is "color".
At most 400 values are allowed. Empty values are not allowed. Each value
must be a UTF-8 encoded string with a length limit of 256 characters.
Otherwise, an INVALID_ARGUMENT error is returned.
Exactly one of [text][google.cloud.retail.v2.CustomAttribute.text] or
[numbers][google.cloud.retail.v2.CustomAttribute.numbers] should be set.
Otherwise, an INVALID_ARGUMENT error is returned.
[[["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 details for the \u003ccode\u003eCustomAttribute\u003c/code\u003e class within the \u003ccode\u003eGoogle.Cloud.Retail.V2\u003c/code\u003e namespace, highlighting its structure and functionality.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCustomAttribute\u003c/code\u003e class, used to model non-explicit product attributes, implements interfaces such as \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\u003eThe latest available version of this document is \u003ccode\u003e2.12.0\u003c/code\u003e, while also listing previous versions ranging from \u003ccode\u003e1.0.0\u003c/code\u003e to \u003ccode\u003e2.11.0\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCustomAttribute\u003c/code\u003e class has two properties, \u003ccode\u003eNumbers\u003c/code\u003e and \u003ccode\u003eText\u003c/code\u003e, each of which allows for a maximum of 400 values and must have one of the two properties set, containing either numerical values or textual descriptions respectively.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCustomAttribute\u003c/code\u003e class has two constructors: one default and one that accepts another \u003ccode\u003eCustomAttribute\u003c/code\u003e object for deep cloning.\u003c/p\u003e\n"]]],[],null,[]]