Get desktop application:
View/edit binary Protocol Buffers messages
Used in: ,
Requires the input value be exactly equal to the value provided.
Requires the input value length be exactly equal to the value provided.
Requires the input value length be greater then or equal to the value provided.
Requires the input value length be less then or equal to the value provided.
Used in: , , , , ,
The message to use when the validation fails. You can template cel expressions using the `{<cel-expr>}` syntax
The expression itself. Note: This expression's result will be converted into a bool.
Json Scheamas that should be used when this expression is applied. This is also a cel-expression which is evaluated at compile time and should return a map object in the json schema format.
Used in: ,
Requires the input value is greater than the value provided.
Requires the input value is greater than or equal to the value provided.
Requires the input value is less than the value provided.
Requires the input value is less than or equal to the value provided.
Requires the input value be one of the values in the list
Requires the input value not be one of the values in the list.
Requires the input value be exactly equal to the value provided.
If true, NaN values are not allowed.
If true, pos/neg Infinity values are not allowed.
Used in: ,
Requires the input value to be equal to the enum value where the tag is the value provided.
Requires the input to be a valid value for this enum.
Requires the input to be one of the enum's provided.
Requires the input to not be one of the enums provided.
Treat this enum as a number enum instead of string
Rename all the fields on the enum
Rename this variant
Change the visibility for this variant.
Used in:
for float fields.
for double fields.
for int32 fields.
for int64 fields.
for uint32 fields.
for uint64 fields.
for string fields.
for bytes fields.
for enum fields.
for repeated fields.
for map fields.
A list of custom expressions to apply to the field.
Rename this specific field to another name.
Deserialization: This flag dictates how we handle fields which are not provided in the json representation of the message. If this is true, then no error will be returned if the field is not provided. If this is false then not providing a value for this field will result in an error. Serialization: This flag dictates if we should skip serializing the field in the json representation of the message if the field is equal to the default value for its type. By default if the value depends on the type of field. If the field is an option then the default value is `TRUE_BUT_SERIALIZE` which means that the option does not need to be provided but a `null` value will always be serialized. If the field is not an option then it will be required so `FALSE`.
Flatten this field into the parent message. This only works on messages.
Change the visibility of the field. By Default all fields are visible.
Add some constraints to the field.
Used in: ,
Requires the input value is greater than the value provided.
Requires the input value is greater than or equal to the value provided.
Requires the input value is less than the value provided.
Requires the input value is less than or equal to the value provided.
Requires the input value be one of the values in the list
Requires the input value not be one of the values in the list.
Requires the input value be exactly equal to the value provided.
If true, NaN values are not allowed.
If true, pos/neg Infinity values are not allowed.
Used in:
HTTP method - Path parameters can be specified using `{param}` syntax.
GET method
POST method
PUT method
DELETE method
PATCH method
Response options, by default the entire message will be sent as a response with the content type being `application/json`
The default input for `GET` and `DELETE` methods is `query` Otherwise the default is `body`.
Used in:
Used in:
Specify the field to take the content-type from.
This field is purely used by the openapi spec to denote the set of valid output formats.
Used in:
Used in:
The field to parse the query parameters into. By Default this is empty and therefore its parsed into the root message.
Used in:
Used in:
Used in:
Specify a sub field to return as the response If this field is bytes or string it will be returned as is without decoding.
Specify the field to take the content-type from.
This field is purely used by the openapi spec to denote the set of valid output formats.
Used in:
Specify a sub field to return as the response If this field is bytes or string it will be returned as is without decoding.
Used in:
Specify a sub field to return as the response If this field is bytes or string it will be returned as is without decoding.
Used in: , ,
Requires the input value is greater than the value provided.
Requires the input value is greater than or equal to the value provided.
Requires the input value is less than the value provided.
Requires the input value is less than or equal to the value provided.
Requires the input value be one of the values in the list
Requires the input value not be one of the values in the list.
Requires the input value be exactly equal to the value provided.
Used in: , ,
Requires the input value is greater than the value provided.
Requires the input value is greater than or equal to the value provided.
Requires the input value is less than the value provided.
Requires the input value is less than or equal to the value provided.
Requires the input value be one of the values in the list
Requires the input value not be one of the values in the list.
Requires the input value be exactly equal to the value provided.
JsonOmittable is the notion of leaving out fields, and how we behave when a field is missing.
Used in: ,
If true the field will just be defaulted if not provided. The field will also not be serialized if its the default value.
If false we will raise an error when the field is not provided.
Same as true, except always serialize the field even if its a default value.
Used in:
Requires the length of the map be greater than or equal to the value provided.
Requires the length of the map be less than or equal to the value provided.
Requires the length of the map be equal to the value provided.
Apply a constraints to the keys in the list.
Apply a constraints to the values in the list.
Used in:
for int32 keys
for int64 keys
for uint32 keys
for uint64 keys
for string keys
A list of custom expressions to apply to map keys.
If false, this message will not be generated even if its depended on by a method. If true, this message will always be generated. By default: this message is only generated if its depended on by a method.
Rename all fields in the message.
Disable cel-validation generation.
A list of custom cel expressions that apply to the message in its entirety You can use this to create expressions that depend on multiple field values.
A list of endpoints to be built from this method.
A list of cel expressions to apply to the input of this message.
Rename this oneof's name
Rename all the fields in the oneof.
Deserialization: This flag dictates how we handle fields which are not provided in the json representation of the message. If this is true, then no error will be returned if the field is not provided. If this is false then not providing a value for this field will result in an error. Serialization: This flag dictates if we should skip serializing the field in the json representation of the message if the field is equal to the default value for its type. By default if the value depends on the type of field. If the field is an option then the default value is `TRUE_BUT_SERIALIZE` which means that the option does not need to be provided but a `null` value will always be serialized. If the field is not an option then it will be required so `FALSE`.
This specifies the visibility for oneof fields.
If you want to use tagged notation this allows you to configure that.
You can also flatten the oneof directly into the containing message.
Tagging a oneof causes the ser/de to represent it like such { "tag": "tag", "content": content }
Used in:
Predefined constraints allow us to extend the validation system by defining our own custom message extensions with validation constraints.
The set of constraints that should be applied.
The type of the target of the expression
Used in:
Only apply all sub items to repeated items
Only apply all sub items to map keys
Only apply all sub items to map values
Unlike the others, this can only be applied to lists of `CelExpression`
Used in: ,
for float values
for double values
for int32 values
for int64 values
for uint32 values
for uint64 values
for string values
for bytes values
for enum values
A list of custom expressions to apply to the value
Enum to define how to rename fields or enum variants.
Used in: , ,
protolint:disable ENUM_FIELD_NAMES_PREFIX
Rename to lowercase.
Rename to UPPERCASE.
Rename to PascalCase.
Rename to camelCase.
Rename to snake_case.
Rename to SCREAMING_SNAKE_CASE.
Rename to kebab-case.
Rename to SCREAMING-KEBAB-CASE.
Used in:
Requires the length of the list be greater than or equal to the value provided.
Requires the length of the list be less than or equal to the value provided.
Requires the length of the list be equal to the value provided.
Apply a constraints to the items in the list.
By default service routes are defined in the method, however if you want all routes in this service to be prefixed this is how you would apply such a prefix.
Used in: , ,
Requires the input value be exactly equal to the value provided.
Requires the input value length be exactly equal to the value provided.
Requires the input value length be greater then or equal to the value provided.
Requires the input value length be less then or equal to the value provided.
Requires the input value to match against regex provided.
Requires the input value not match against the regex provided.
Requires the input value to start with the value provided.
Requires the input value to end with the value provided.
Requires the input value to contain this sub string.
Requires the input value to not contain this sub string.
Requires the input value to be one of the values in the list.
Requires the input value to not be in the list.
Ensure the value is a valid email address format
Requires the input value to be a valid ipv4 or ipv6 address.
Requires the input value to be a valid ipv4 address.
Requires the input value to be a valid ipv6 address.
Requires the input value to be a valid uuid.
Requires the input value to be a valid hostname.
Requires the input value to be a valid uri.
Used in: , ,
Requires the input value is greater than the value provided.
Requires the input value is greater than or equal to the value provided.
Requires the input value is less than the value provided.
Requires the input value is less than or equal to the value provided.
Requires the input value be one of the values in the list
Requires the input value not be one of the values in the list.
Requires the input value be exactly equal to the value provided.
Used in: , ,
Requires the input value is greater than the value provided.
Requires the input value is greater than or equal to the value provided.
Requires the input value is less than the value provided.
Requires the input value is less than or equal to the value provided.
Requires the input value be one of the values in the list
Requires the input value not be one of the values in the list.
Requires the input value be exactly equal to the value provided.
Change the visibility of a field or enum variant
Used in: , ,
Skipped fields will not be deserialized or serialized.
Fields marked as input only will only be deserialized and will not be serialized.
Fields marked as output only will not be deserialized and only will be serialized.