class SubfieldSettings(Message): (source)
Constructor: SubfieldSettings(initial_message, field_path, nid, is_required)
SubfieldSettings describes overrides for some settings for subfields of a field. Overrides are applied to fields in order of appearance, so the first matching override is applied, and the rest are ignored.
Example:
message MyMessage {
string field1 = 1;
}
message MyMessage2 {
MyMessage field2 = 1 [(subfield_settings) = { field_path: "field1", is_required: true }];
}In this example, field1 in MyMessage2 is required, even if it is not required in MyMessage. The following example will override the setting again:
service MyService {
rpc MyMethod(MyMessage2) returns (MyMessage2) {
option (method_behavior) = METHOD_UPDATER;
option (request_fields) = { field_path: "field2.field1", is_required: false };
}
}In this example, field1 in MyMessage2 is not required for the MyMethod, even if it is required in MyMessage2.
| Class | __ |
Undocumented |
| Class | __ |
Undocumented |
| Method | __init__ |
Create a message from a source message and field values. |
| Method | field |
Set or clear the generated field_path field. |
| Method | is |
Set or clear the generated is_required field. |
| Method | nid |
Set or clear the generated nid field. |
| Constant | __PROTO |
Protobuf message descriptor from the registry. |
| Constant | __PROTO |
Fully qualified protobuf message name. |
| Constant | __PY |
Mapping from Python member names to protobuf names. |
| Property | field |
Subfield path in the message, for example metadata.parent_id or metadata.name. Must be a valid SelectMask. May match several fields, if necessary. For example, some.*.subfield or some.(subfield,another_field)... |
| Property | is |
Mark a field as required, even if it is not required in the message it contains. Unlike cel expressions, this setting can be reflected in tools documentation and help messages. |
| Property | nid |
For fields annotated with this option, values are treated as NIDs and warnings are emitted when they are not valid. These warnings are separate from server-side validation. |
| Property | _is |
Undocumented |
Inherited from Message:
| Class Method | from |
Create a message from protobuf JSON mapping. |
| Class Method | |
Create a message by parsing protobuf wire-format bytes. |
| Class Method | get |
Return the message descriptor from the registry. |
| Class Method | is |
Return True if a Python field contains credentials. |
| Class Method | is |
Return True if a Python field has the sensitive annotation. |
| Method | __dir__ |
List generated fields, oneofs, and nested declarations. |
| Method | __repr__ |
Render non-default fields without disclosing annotated secrets. |
| Method | |
Return the serialized protobuf wire size in bytes. |
| Method | check |
Check presence using a generated Python field name. |
| Method | |
Clear all fields, extensions, unknown fields, and the reset mask. |
| Method | clear |
Clear an extension value. |
| Method | |
Clear a protobuf field or oneof and record it in the reset mask. |
| Method | |
Replace this message with an independent copy of another message. |
| Method | |
Return paths of missing required fields. |
| Method | get |
Return an extension value. |
| Method | get |
Create a reset mask from the current protobuf state. |
| Method | get |
Return the reset mask for field changes. |
| Method | has |
Return True if an extension has explicit presence. |
| Method | |
Return True if a protobuf field or oneof has explicit presence. |
| Method | is |
Return True if a generated field has its default value. |
| Method | |
Return True if every required field is initialized. |
| Method | |
Merge fields from another message of the same generated type. |
| Method | |
Merge protobuf wire-format bytes into this message. |
| Method | |
Parse protobuf wire-format bytes and replace this message. |
| Method | |
Serialize the message using protobuf wire format. |
| Method | set |
Set an extension value. |
| Method | set |
Set the reset mask for this message. |
| Method | to |
Serialize this message using protobuf JSON mapping. |
| Method | which |
Return the selected Python field name for a protobuf oneof. |
| Method | |
Return the selected protobuf field name for a oneof. |
| Constant | __EXTENSION |
Registry that decodes protobuf extensions. |
| Constant | __FIELDS__ |
Runtime field data that the generator creates. |
| Constant | __MAX |
Maximum protobuf nesting depth for serialization, parsing, and initialization checks. |
| Constant | __PB2 |
Alias for code that expects a protobuf descriptor. |
| Constant | __REGISTRY__ |
Registry for the message and its descriptor. |
| Property | |
Provide protobuf-compatible mapping access to extension values. |
| Class Method | _fields |
Undocumented |
| Class Method | _fields |
Undocumented |
| Class Method | _fields |
Undocumented |
| Class Method | _from |
Deserialize internally without invoking generated user warnings. |
| Class Method | _oneof |
Undocumented |
| Class Method | _public |
Undocumented |
| Class Method | _public |
Undocumented |
| Static Method | _format |
Undocumented |
| Static Method | _repr |
Undocumented |
| Method | _bind |
Undocumented |
| Method | _bind |
Undocumented |
| Method | _check |
Undocumented |
| Method | _child |
Undocumented |
| Method | _clear |
Undocumented |
| Method | _closed |
Undocumented |
| Method | _converted |
Undocumented |
| Method | _decode |
Undocumented |
| Method | _detach |
Undocumented |
| Method | _field |
Undocumented |
| Method | _field |
Undocumented |
| Method | _find |
Undocumented |
| Method | _get |
Undocumented |
| Method | _map |
Undocumented |
| Method | _merge |
Undocumented |
| Method | _nesting |
Undocumented |
| Method | _notify |
Undocumented |
| Method | _record |
Undocumented |
| Method | _repeated |
Undocumented |
| Method | _select |
Undocumented |
| Method | _serialize |
Undocumented |
| Method | _set |
Undocumented |
| Method | _suspend |
Undocumented |
| Method | _suspend |
Undocumented |
| Method | _try |
Undocumented |
| Method | _write |
Undocumented |
| Instance Variable | _extensions |
Undocumented |
| Instance Variable | _mutation |
Undocumented |
| Instance Variable | _on |
Undocumented |
| Instance Variable | _oneofs |
Undocumented |
| Instance Variable | _present |
Undocumented |
| Instance Variable | _reset |
Undocumented |
| Instance Variable | _reset |
Undocumented |
| Instance Variable | _unknown |
Undocumented |
| Instance Variable | _values |
Undocumented |
| Instance Variable | _views |
Undocumented |
SerializableMessage | None = None, *, field_path: str | None | UnsetType = _NEBIUS_UNSET, nid: NIDFieldSettings | None | UnsetType = _NEBIUS_UNSET, is_required: bool | None | UnsetType = _NEBIUS_UNSET):
(source)
¶
Create a message from a source message and field values.
Protobuf message descriptor from the registry.
| Value |
|
Mapping from Python member names to protobuf names.
| Value |
|
Subfield path in the message, for example metadata.parent_id or metadata.name. Must be a valid SelectMask. May match several fields, if necessary. For example, some.*.subfield or some.(subfield,another_field).
Mark a field as required, even if it is not required in the message it contains. Unlike cel expressions, this setting can be reflected in tools documentation and help messages.
For fields annotated with this option, values are treated as NIDs and warnings are emitted when they are not valid. These warnings are separate from server-side validation.