roboto.experimental.ingestion_rules.record#
Module Contents#
- class roboto.experimental.ingestion_rules.record.DefaultIngestionRuleRecord(/, **data)#
Bases:
pydantic.BaseModelWire format of a rule Roboto offers every org as a starting point for a new rule, and whether the caller’s org already has it.
POST /v1/ingestion-rules/defaultscreates those withfor_new_orgsset that are notalready_present.- Parameters:
data (Any)
- already_present: bool#
Whether the org has a rule with this name, or a rule with one of these include patterns.
- category: str = 'Other'#
The group the rule is listed under, such as
ROSorTabular.
- exclude_patterns: list[str]#
- for_new_orgs: bool = True#
Whether sign-up offers this rule and
POST /v1/ingestion-rules/defaultscreates it. When false, the rule is only offered as a starting point for a new rule.
- include_patterns: list[str]#
- invocation: roboto.domain.triggers.ActionInvocationSpec#
- name: str#
- needs_settings: bool = False#
Whether the rule’s action likely needs settings for the org’s files, such as which column holds the timestamps, before it ingests them.
- class roboto.experimental.ingestion_rules.record.ExistingFilesPreview(/, **data)#
Bases:
pydantic.BaseModelFiles already uploaded that a rule matches, that are not ingested, and whose current upload no rule’s trigger has run on: ones uploaded, or uploaded again, before the rule existed or while its auto-ingest was off. Editing a file’s metadata or tags does not make it one of these.
Response of
GET /v1/ingestion-rules/<rule_id>/existing-files.- Parameters:
data (Any)
- complete_session_count: int = 0#
Complete sessions holding any of these files. After a session’s files are ingested, it is announced as fully ingested again, and the triggers on
session.ingestedstart for it.
- count: int#
- count_is_lower_bound: bool = False#
Whether there may be more than
count; counting stops after a fixed number of files.
- sample_paths: list[str]#
Up to 10 of the files’ paths. Empty for a caller who is not an org admin.
- class roboto.experimental.ingestion_rules.record.IngestFileOutcome#
Bases:
roboto.compat.StrEnumWhat
POST /v1/ingestion-rules/ingestdid with one file.- AlreadyRunning = 'already_running'#
An ingestion run on the file is still queued or running, so no new one was started.
- AutoIngestOff = 'auto_ingest_off'#
Rules match the file, but none of them auto-ingests.
- NoMatchingRule = 'no_matching_rule'#
No rule in the file’s org matches its path.
- NotFound = 'not_found'#
No such file in the caller’s org, the caller may not edit it, or it is not in a dataset (rules apply only to dataset files).
- NotStarted = 'not_started'#
A matching rule’s trigger declined the file (it is disabled, say).
- Started = 'started'#
A matching rule’s trigger started ingesting the file.
- class roboto.experimental.ingestion_rules.record.IngestFileResult(/, **data)#
Bases:
pydantic.BaseModel- !!! abstract “Usage Documentation”
[Models](../concepts/models.md)
A base class for creating Pydantic models.
- Parameters:
data (Any)
- __class_vars__#
The names of the class variables defined on the model.
- __private_attributes__#
Metadata about the private attributes of the model.
- __signature__#
The synthesized __init__ [Signature][inspect.Signature] of the model.
- __pydantic_complete__#
Whether model building is completed, or if there are still undefined fields.
- __pydantic_core_schema__#
The core schema of the model.
- __pydantic_custom_init__#
Whether the model has a custom __init__ function.
- __pydantic_decorators__#
Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.
- __pydantic_generic_metadata__#
A dictionary containing metadata about generic Pydantic models. The origin and args items map to the [__origin__][genericalias.__origin__] and [__args__][genericalias.__args__] attributes of [generic aliases][types-genericalias], and the parameter item maps to the __parameter__ attribute of generic classes.
- __pydantic_parent_namespace__#
Parent namespace of the model, used for automatic rebuilding of models.
- __pydantic_post_init__#
The name of the post-init method for the model, if defined.
- __pydantic_root_model__#
Whether the model is a [RootModel][pydantic.root_model.RootModel].
- __pydantic_serializer__#
The pydantic-core SchemaSerializer used to dump instances of the model.
- __pydantic_validator__#
The pydantic-core SchemaValidator used to validate instances of the model.
- __pydantic_fields__#
A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects.
- __pydantic_computed_fields__#
A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.
- __pydantic_extra__#
A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.
- __pydantic_fields_set__#
The names of fields explicitly set during instantiation.
- __pydantic_private__#
Values of private attributes set on the model instance.
- file_id: str#
- outcome: IngestFileOutcome#
- rule_id: str | None = None#
The rule whose trigger ran, or would have.
- class roboto.experimental.ingestion_rules.record.IngestionRuleRecord(/, **data)#
Bases:
pydantic.BaseModelWire format of an ingestion rule: which file paths in an org are ingestable, and how they are ingested.
A file whose path matches any of
include_patternsand none ofexclude_patternsis marked ingestable when it is created. The rule owns one trigger (trigger_id) that runsinvocationon each matching upload whileauto_ingestis on.- Parameters:
data (Any)
- auto_ingest: bool#
whether the rule’s trigger is enabled. Turning this off disables the trigger and leaves matching files ingestable.
- Type:
Whether matching uploads are ingested automatically
- created: datetime.datetime#
- created_by: str#
- description: str | None = None#
- exclude_patterns: list[str]#
Git wildmatch patterns. A file matching any of them is not ingestable by this rule.
- include_patterns: list[str]#
Git wildmatch patterns, e.g.
**/*.mcap. A file matching any of them is ingestable.
- invocation: roboto.domain.triggers.ActionInvocationSpec | None = None#
How each matching upload is ingested. The trigger passes the uploaded file as the first input, followed by whatever
invocation.invocation_inputselects.Noneonly on a rule that does not auto-ingest.
- modified: datetime.datetime#
- modified_by: str#
- name: str#
- org_id: str#
- rule_id: str#
- trigger_id: str | None = None#
The trigger that runs
invocationon matching uploads, enabled whileauto_ingestis on. Only the rule can enable, disable, edit or delete it.Nonewhile the rule has no invocation.