class documentation

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 __OneOfClass__is_required__ Undocumented
Class __OneOfClass__is_required_is_required__ Undocumented
Method __dir__ Undocumented
Method __init__ Create a wrapper around a protobuf message instance.
Method field_path.setter Undocumented
Method is_required.setter Undocumented
Method nid.setter Undocumented
Constant __PB2_DESCRIPTOR__ Undocumented
Constant __PY_TO_PB2__ Undocumented
Class Variable __mask_functions__ Undocumented
Property field_path 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_required 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_required Undocumented

Inherited from Message:

Class Method get_descriptor Return the protobuf descriptor for this message class.
Class Method is_credentials Return True if the field contains credentials.
Class Method is_sensitive Return True if the field is marked as sensitive.
Method __repr__ Return a human-readable representation of the message, sanitizing sensitive fields.
Method check_presence Check explicit presence for a field in the protobuf message.
Method get_full_update_reset_mask Build a reset mask for a full update of this message.
Method get_mask Return the tracked reset mask.
Method is_default Return True if a field equals its default value.
Method set_mask Replace the tracked reset mask.
Method which_field_in_oneof Return the set field name for a given oneof.
Instance Variable __PB2_CLASS__ Protobuf message class associated with this wrapper.
Instance Variable __pb2_message__ Underlying protobuf message instance.
Method _clear_field Clear a field and record it in the reset mask.
Method _get_field Return a field value with optional wrapping and presence handling.
Method _set_field Set a field value and update the reset mask.
Class Variable __credentials_fields Undocumented
Class Variable __default Undocumented
Class Variable __sensitive_fields Undocumented
Instance Variable __recorded_reset_mask Mask tracking fields cleared or set to default.
def __dir__(self) -> abc.Iterable[builtins.str]: (source)

Undocumented

def __init__(self, initial_message: message.Message | None = None, *, field_path: builtins.str | None | unset.UnsetType = unset.Unset, nid: NIDFieldSettings | annotations_pb2.NIDFieldSettings | None | unset.UnsetType = unset.Unset, is_required: builtins.bool | None | unset.UnsetType = unset.Unset): (source)

Create a wrapper around a protobuf message instance.

Raises
AttributeErrorIf the wrapper is missing required class metadata.
@field_path.setter
def field_path(self, value: builtins.str | None): (source)

Undocumented

@is_required.setter
def is_required(self, value: builtins.bool | None): (source)

Undocumented

@nid.setter
def nid(self, value: NIDFieldSettings | annotations_pb2.NIDFieldSettings | None): (source)

Undocumented

__PB2_DESCRIPTOR__ = (source)

Undocumented

Value
descriptor.DescriptorWrap[descriptor_1.Descriptor]('.nebius.SubfieldSettings',
                                                   annotations_pb2.DESCRIPTOR,
                                                   descriptor_1.Descriptor)
__PY_TO_PB2__: builtins.dict[builtins.str, builtins.str] = (source)

Undocumented

Value
{'field_path': 'field_path',
 'nid': 'nid',
 'is_required': 'is_required',
 '_is_required': '_is_required'}
@builtins.property
field_path: builtins.str = (source)

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).

@builtins.property
is_required: builtins.bool | None = (source)

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.

@builtins.property
nid: NIDFieldSettings = (source)

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.

@builtins.property
_is_required: __OneOfClass__is_required_is_required__ | None = (source)

Undocumented